From 1457e9542f2398a058881f926d9f4d650e2d9f42 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Thu, 3 Apr 2025 15:42:41 -0400 Subject: [SharedCache] Misc triage view bug fixes - Fix the inconsistent column sizing - Stop trying to show cross reference at 0 --- view/sharedcache/ui/dsctriage.cpp | 16 ++++++++++++---- view/sharedcache/ui/dsctriage.h | 2 ++ view/sharedcache/ui/symboltable.cpp | 6 ++++-- 3 files changed, 18 insertions(+), 6 deletions(-) (limited to 'view/sharedcache') diff --git a/view/sharedcache/ui/dsctriage.cpp b/view/sharedcache/ui/dsctriage.cpp index 642fc5df..09b075f0 100644 --- a/view/sharedcache/ui/dsctriage.cpp +++ b/view/sharedcache/ui/dsctriage.cpp @@ -335,8 +335,8 @@ DSCTriageView::DSCTriageView(QWidget* parent, BinaryViewRef data) : QWidget(pare mappingTable->setModel(m_mappingModel); - mappingTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); - mappingTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); + mappingTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed); + mappingTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed); mappingTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents); mappingTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch); @@ -358,8 +358,8 @@ DSCTriageView::DSCTriageView(QWidget* parent, BinaryViewRef data) : QWidget(pare regionTable->setModel(m_regionModel); - regionTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); - regionTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); + regionTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed); + regionTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed); regionTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Interactive); regionTable->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch); @@ -453,6 +453,14 @@ uint64_t DSCTriageView::getCurrentOffset() return 0; } +SelectionInfoForXref DSCTriageView::getSelectionForXref() +{ + // TODO: If we are in the symbols view we _can_ actually show a useful xref to the selected symbols. + SelectionInfoForXref selection = {}; + selection.addrValid = false; + return selection; +} + void DSCTriageView::OnAfterOpenFile(UIContext *context, FileContext *file, ViewFrame *frame) { RefreshData(); diff --git a/view/sharedcache/ui/dsctriage.h b/view/sharedcache/ui/dsctriage.h index ae49bc8e..b1e98f6d 100644 --- a/view/sharedcache/ui/dsctriage.h +++ b/view/sharedcache/ui/dsctriage.h @@ -31,6 +31,7 @@ public: initStyleOption(&opt, index); opt.palette.setColor(QPalette::Text, getThemeColor(BNThemeColor::AddressColor)); + opt.displayAlignment = Qt::AlignCenter | Qt::AlignVCenter; QStyledItemDelegate::paint(painter, opt, index); } @@ -142,6 +143,7 @@ public: QFont getFont() override; bool navigate(uint64_t offset) override; uint64_t getCurrentOffset() override; + SelectionInfoForXref getSelectionForXref() override; void OnAfterOpenFile(UIContext* context, FileContext* file, ViewFrame* frame) override; void RefreshData(); diff --git a/view/sharedcache/ui/symboltable.cpp b/view/sharedcache/ui/symboltable.cpp index c96ce086..0b006fbc 100644 --- a/view/sharedcache/ui/symboltable.cpp +++ b/view/sharedcache/ui/symboltable.cpp @@ -118,11 +118,13 @@ SymbolTableView::SymbolTableView(QWidget* parent) setModel(m_model); // Configure view settings - horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); - horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); + horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed); + horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed); horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch); + setEditTriggers(QAbstractItemView::NoEditTriggers); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::SingleSelection); + verticalHeader()->setVisible(false); setSortingEnabled(true); } -- cgit v1.3.1