From c3ad0349d49d87c3670a6b1e699ace3a8fae29d7 Mon Sep 17 00:00:00 2001 From: Krzysztof Starecki Date: Sun, 30 Dec 2018 15:27:25 +0100 Subject: Tweak downloadlist status sorting behavior --- src/downloadlistsortproxy.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/downloadlistsortproxy.cpp') 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 { -- cgit v1.3.1