From 43e85c45ab971e01716675a50d5a65717b830c4e Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Thu, 25 Sep 2025 11:46:09 -0700 Subject: Sort table views in the shared cache / kernel cache triage views by address by default The table views previously visually suggested they were being sorted by address, but in practice they were not sorted until the user set an explicit sort order by clicking on a column header. --- view/kernelcache/ui/kctriage.cpp | 5 +++++ view/kernelcache/ui/symboltable.cpp | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'view/kernelcache') diff --git a/view/kernelcache/ui/kctriage.cpp b/view/kernelcache/ui/kctriage.cpp index 57392e19..baae517c 100644 --- a/view/kernelcache/ui/kctriage.cpp +++ b/view/kernelcache/ui/kctriage.cpp @@ -298,6 +298,7 @@ QWidget* KCTriageView::initImageTable() m_imageTable->setSelectionBehavior(QAbstractItemView::SelectRows); m_imageTable->setSelectionMode(QAbstractItemView::ExtendedSelection); + m_imageTable->sortByColumn(0, Qt::AscendingOrder); m_imageTable->setSortingEnabled(true); m_imageTable->verticalHeader()->setVisible(false); @@ -454,4 +455,8 @@ void KCTriageView::RefreshData() setImageLoaded(loadedImg.headerVirtualAddress); m_symbolTable->populateSymbols(*m_data); + + // Reapply the current sort after repopulating the model + // TODO: This should use `QSortFilterProxyModel`, but that's a bigger change. + m_imageTable->setSortingEnabled(true); } diff --git a/view/kernelcache/ui/symboltable.cpp b/view/kernelcache/ui/symboltable.cpp index 5c86b3b4..90d0d18b 100644 --- a/view/kernelcache/ui/symboltable.cpp +++ b/view/kernelcache/ui/symboltable.cpp @@ -196,6 +196,10 @@ void SymbolTableView::populateSymbols(BinaryView &view) { auto symbols = watcher->result(); m_model->updateSymbols(std::move(symbols)); + + // Reapply the current sort after repopulating the model + // TODO: The model should use `QSortFilterProxyModel`, but that's a bigger change. + setSortingEnabled(true); } }); QFuture future = QtConcurrent::run([controller]() { -- cgit v1.3.1