@@ -300,6 +300,7 @@ QWidget* DSCTriageView::initImageTable()
300300 m_imageTable->setSelectionBehavior (QAbstractItemView::SelectRows);
301301 m_imageTable->setSelectionMode (QAbstractItemView::ExtendedSelection);
302302
303+ m_imageTable->sortByColumn (0 , Qt::AscendingOrder);
303304 m_imageTable->setSortingEnabled (true );
304305
305306 m_imageTable->verticalHeader ()->setVisible (false );
@@ -421,32 +422,34 @@ void DSCTriageView::initCacheInfoTables()
421422 m_mappingTable->setSelectionBehavior (QAbstractItemView::SelectRows);
422423 m_mappingTable->setSelectionMode (QAbstractItemView::ExtendedSelection);
423424
425+ m_mappingTable->sortByColumn (0 , Qt::AscendingOrder);
424426 m_mappingTable->setSortingEnabled (true );
425427
426428 m_mappingTable->verticalHeader ()->setVisible (false );
427429
428- auto regionTable = new FilterableTableView (cacheInfoSubwidget);
429- m_regionModel = new QStandardItemModel (0 , 4 , regionTable );
430+ m_regionTable = new FilterableTableView (cacheInfoSubwidget);
431+ m_regionModel = new QStandardItemModel (0 , 4 , m_regionTable );
430432 m_regionModel->setHorizontalHeaderLabels ({" Address" , " Size" , " Type" , " Name" });
431433
432434 // Apply custom column styling
433- regionTable ->setItemDelegateForColumn (0 , new AddressColorDelegate (regionTable ));
435+ m_regionTable ->setItemDelegateForColumn (0 , new AddressColorDelegate (m_regionTable ));
434436
435- regionTable ->setModel (m_regionModel);
437+ m_regionTable ->setModel (m_regionModel);
436438
437- regionTable ->horizontalHeader ()->setSectionResizeMode (0 , QHeaderView::ResizeToContents);
438- regionTable ->horizontalHeader ()->setSectionResizeMode (1 , QHeaderView::ResizeToContents);
439- regionTable ->horizontalHeader ()->setSectionResizeMode (2 , QHeaderView::ResizeToContents);
440- regionTable ->horizontalHeader ()->setSectionResizeMode (3 , QHeaderView::Stretch);
439+ m_regionTable ->horizontalHeader ()->setSectionResizeMode (0 , QHeaderView::ResizeToContents);
440+ m_regionTable ->horizontalHeader ()->setSectionResizeMode (1 , QHeaderView::ResizeToContents);
441+ m_regionTable ->horizontalHeader ()->setSectionResizeMode (2 , QHeaderView::ResizeToContents);
442+ m_regionTable ->horizontalHeader ()->setSectionResizeMode (3 , QHeaderView::Stretch);
441443
442- regionTable ->setEditTriggers (QAbstractItemView::NoEditTriggers);
444+ m_regionTable ->setEditTriggers (QAbstractItemView::NoEditTriggers);
443445
444- regionTable ->setSelectionBehavior (QAbstractItemView::SelectRows);
445- regionTable ->setSelectionMode (QAbstractItemView::ExtendedSelection);
446+ m_regionTable ->setSelectionBehavior (QAbstractItemView::SelectRows);
447+ m_regionTable ->setSelectionMode (QAbstractItemView::ExtendedSelection);
446448
447- regionTable->setSortingEnabled (true );
449+ m_regionTable->sortByColumn (0 , Qt::AscendingOrder);
450+ m_regionTable->setSortingEnabled (true );
448451
449- regionTable ->verticalHeader ()->setVisible (false );
452+ m_regionTable ->verticalHeader ()->setVisible (false );
450453
451454 auto mappingLabel = new QLabel (" Mappings" );
452455 auto mappingFilterEdit = new FilterEdit (m_mappingTable);
@@ -462,10 +465,10 @@ void DSCTriageView::initCacheInfoTables()
462465 mappingHeaderLayout->setSpacing (30 );
463466
464467 auto regionLabel = new QLabel (" Regions" );
465- auto regionFilterEdit = new FilterEdit (regionTable );
468+ auto regionFilterEdit = new FilterEdit (m_regionTable );
466469 regionFilterEdit->setPlaceholderText (" Filter regions" );
467- connect (regionFilterEdit, &FilterEdit::textChanged, [regionTable ](const QString& filter) {
468- regionTable ->setFilter (filter.toStdString ());
470+ connect (regionFilterEdit, &FilterEdit::textChanged, [this ](const QString& filter) {
471+ m_regionTable ->setFilter (filter.toStdString ());
469472 });
470473
471474 auto regionHeaderLayout = new QHBoxLayout;
@@ -480,7 +483,7 @@ void DSCTriageView::initCacheInfoTables()
480483
481484 auto regionLayout = new QVBoxLayout;
482485 regionLayout->addLayout (regionHeaderLayout);
483- regionLayout->addWidget (regionTable );
486+ regionLayout->addWidget (m_regionTable );
484487
485488 cacheInfoLayout->addLayout (mappingLayout);
486489 cacheInfoLayout->addLayout (regionLayout);
@@ -552,6 +555,10 @@ void DSCTriageView::RefreshData()
552555 for (const auto & loadedImg : controller->GetLoadedImages ())
553556 setImageLoaded (loadedImg.headerAddress );
554557
558+ // Reapply the current sort after repopulating the model
559+ // TODO: This should use `QSortFilterProxyModel`, but that's a bigger change.
560+ m_imageTable->setSortingEnabled (true );
561+
555562 m_regionModel->setRowCount (0 );
556563 for (const auto & region : controller->GetRegions ())
557564 {
@@ -563,6 +570,10 @@ void DSCTriageView::RefreshData()
563570 });
564571 }
565572
573+ // Reapply the current sort after repopulating the model
574+ // TODO: This should use `QSortFilterProxyModel`, but that's a bigger change.
575+ m_regionTable->setSortingEnabled (true );
576+
566577 m_mappingModel->setRowCount (0 );
567578 for (const auto & entry : controller->GetEntries ())
568579 {
@@ -578,5 +589,10 @@ void DSCTriageView::RefreshData()
578589 }
579590 }
580591
592+ // Reapply the current sort after repopulating the model
593+ // TODO: This should use `QSortFilterProxyModel`, but that's a bigger change.
594+ m_mappingTable->setSortingEnabled (true );
595+
596+
581597 m_symbolTable->populateSymbols (*m_data);
582598}
0 commit comments