diff options
| author | Silarn <jrim@rimpo.org> | 2018-04-10 01:53:59 -0500 |
|---|---|---|
| committer | Silarn <jrim@rimpo.org> | 2018-04-10 01:53:59 -0500 |
| commit | 5a24d2b60cbe93cabb8070ddbdccb17801bee8eb (patch) | |
| tree | 483a2e4f7b49fa7245b4e25cf544ff381ed07d93 | |
| parent | 9465966b2c782a3b86ed933e868b306194289bbd (diff) | |
Minor improvements to download hiding
| -rw-r--r-- | src/downloadmanager.cpp | 20 |
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));
|
