diff options
| author | Krzysztof Starecki <krzysztof.starecki@gmail.com> | 2018-12-30 15:27:25 +0100 |
|---|---|---|
| committer | Krzysztof Starecki <krzysztof.starecki@gmail.com> | 2018-12-30 15:27:25 +0100 |
| commit | c3ad0349d49d87c3670a6b1e699ace3a8fae29d7 (patch) | |
| tree | bb3fee2d4d79305b332caf67d3ece30104268d33 /src/downloadlistsortproxy.cpp | |
| parent | 7a71a9eb9e1f1c8e0681038105a6bb8ba888077b (diff) | |
Tweak downloadlist status sorting behavior
Diffstat (limited to 'src/downloadlistsortproxy.cpp')
| -rw-r--r-- | src/downloadlistsortproxy.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/downloadlistsortproxy.cpp b/src/downloadlistsortproxy.cpp index ee16860a..1a2606c9 100644 --- a/src/downloadlistsortproxy.cpp +++ b/src/downloadlistsortproxy.cpp @@ -44,7 +44,12 @@ bool DownloadListSortProxy::lessThan(const QModelIndex &left, if (left.column() == DownloadList::COL_NAME) {
return m_Manager->getFileName(left.row()).compare(m_Manager->getFileName(right.row()), Qt::CaseInsensitive) < 0;
} else if (left.column() == DownloadList::COL_STATUS) {
- return m_Manager->getState(left.row()) < m_Manager->getState(right.row());
+ DownloadManager::DownloadState leftState = m_Manager->getState(left.row());
+ DownloadManager::DownloadState rightState = m_Manager->getState(right.row());
+ if (leftState == rightState)
+ return m_Manager->getFileTime(left.row()) > m_Manager->getFileTime(right.row());
+ else
+ return leftState < rightState;
} else if(left.column() == DownloadList::COL_SIZE){
return m_Manager->getFileSize(left.row()) < m_Manager->getFileSize(right.row());
} else {
|
