commit 148063e25de7f5721901d35ac5c7561aacdde888
parent a2f4b389e88edd67b4640e9e97b43d9ab2e0f7e7
Author: cfillion <cfillion@users.noreply.github.com>
Date: Sun, 21 Aug 2016 00:11:25 -0400
browser: don't sort the version column lexicographically
Diffstat:
1 file changed, 21 insertions(+), 0 deletions(-)
diff --git a/src/browser.cpp b/src/browser.cpp
@@ -95,6 +95,27 @@ void Browser::onInit()
this, placeholders::_1, placeholders::_2));
m_list->sortByColumn(1);
+
+ m_list->setSortCallback(3 /* version */, [&] (const int ai, const int bi) {
+ const Entry &a = m_entries[m_visibleEntries[ai]];
+ const Entry &b = m_entries[m_visibleEntries[bi]];
+
+ const Version *l = nullptr;
+ const Version *r = nullptr;
+
+ if(a.test(InstalledFlag))
+ l = &a.regEntry.version;
+ else
+ l = a.latest;
+
+ if(b.test(InstalledFlag))
+ r = &b.regEntry.version;
+ else
+ r = b.latest;
+
+ return l->compare(*r);
+ });
+
m_list->setSortCallback(7 /* last update */, [&] (const int ai, const int bi) {
const Entry &a = m_entries[m_visibleEntries[ai]];
const Entry &b = m_entries[m_visibleEntries[bi]];