commit 02f411a8fdb2fe87a7b45defec2dd3fac6186917
parent c7bc5117e424051eab5d6bae8a22f51c43ceeae1
Author: cfillion <cfillion@users.noreply.github.com>
Date: Sat, 26 Aug 2017 21:40:43 -0400
browser: manager: re-sort listview only if sort column is status/enabled
Diffstat:
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/browser.cpp b/src/browser.cpp
@@ -746,7 +746,9 @@ void Browser::updateAction(const int index)
}
else {
m_list->setCell(index, 0, entry->displayState());
- m_list->sort(); // TODO: only re-sort if sorted by status column
+
+ if(m_list->sortColumn() == 0)
+ m_list->sort();
}
if(m_actions.empty())
diff --git a/src/listview.hpp b/src/listview.hpp
@@ -111,6 +111,7 @@ public:
void sort();
void sortByColumn(int index, SortOrder order = AscendingOrder, bool user = false);
+ int sortColumn() const { return m_sort ? m_sort->column : -1; }
void restoreState(Serializer::Data &);
void saveState(Serializer::Data &) const;
diff --git a/src/manager.cpp b/src/manager.cpp
@@ -377,7 +377,7 @@ void Manager::setMods(const ModsCallback &cb, const bool updateRow)
updateEnabledCell(index, remote);
}
- if(updateRow)
+ if(updateRow && m_list->sortColumn() == 2)
m_list->sort();
}