reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/browser.cpp | 4+++-
Msrc/listview.hpp | 1+
Msrc/manager.cpp | 2+-
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(); }