summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2018-04-10 01:53:59 -0500
committerSilarn <jrim@rimpo.org>2018-04-10 01:53:59 -0500
commit5a24d2b60cbe93cabb8070ddbdccb17801bee8eb (patch)
tree483a2e4f7b49fa7245b4e25cf544ff381ed07d93
parent9465966b2c782a3b86ed933e868b306194289bbd (diff)
Minor improvements to download hiding
-rw-r--r--src/downloadmanager.cpp20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp
index 161656b2..8977492c 100644
--- a/src/downloadmanager.cpp
+++ b/src/downloadmanager.cpp
@@ -580,36 +580,20 @@ void DownloadManager::removeDownload(int index, bool deleteFile)
emit aboutToUpdate();
if (index < 0) {
- if (index == -1) {
- DownloadState minState = STATE_READY;
+ DownloadState minState = index == -1 ? STATE_READY : STATE_INSTALLED;
index = 0;
for (QVector<DownloadInfo*>::iterator iter = m_ActiveDownloads.begin(); iter != m_ActiveDownloads.end();) {
if ((*iter)->m_State >= minState) {
removeFile(index, deleteFile);
delete *iter;
iter = m_ActiveDownloads.erase(iter);
+ QCoreApplication::processEvents();
}
else {
++iter;
++index;
}
}
- }
- else {
- DownloadState minState = STATE_INSTALLED;
- index = 0;
- for (QVector<DownloadInfo*>::iterator iter = m_ActiveDownloads.begin(); iter != m_ActiveDownloads.end();) {
- if ((*iter)->m_State == minState) {
- removeFile(index, deleteFile);
- delete *iter;
- iter = m_ActiveDownloads.erase(iter);
- }
- else {
- ++iter;
- ++index;
- }
- }
- }
} else {
if (index >= m_ActiveDownloads.size()) {
reportError(tr("remove: invalid download index %1").arg(index));