From 3f12af5323a26b9835c09cc27ab447edb4777618 Mon Sep 17 00:00:00 2001 From: shotor Date: Sat, 8 Mar 2025 02:04:38 +0100 Subject: [PATCH] Maintain selected sort option when toggling filters --- src/gui/reports/ReportsWidgetHealthcheck.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gui/reports/ReportsWidgetHealthcheck.cpp b/src/gui/reports/ReportsWidgetHealthcheck.cpp index f6151dda4..7cfb47027 100644 --- a/src/gui/reports/ReportsWidgetHealthcheck.cpp +++ b/src/gui/reports/ReportsWidgetHealthcheck.cpp @@ -253,6 +253,11 @@ void ReportsWidgetHealthcheck::showEvent(QShowEvent* event) void ReportsWidgetHealthcheck::calculateHealth() { + // Save current sort order before clearing the model so we can restore it later + int sortColumn = m_ui->healthcheckTableView->horizontalHeader()->sortIndicatorSection(); + Qt::SortOrder sortOrder = m_ui->healthcheckTableView->horizontalHeader()->sortIndicatorOrder(); + + // Safe to clear m_referencesModel->clear(); // Perform the health check @@ -277,9 +282,11 @@ void ReportsWidgetHealthcheck::calculateHealth() } else { m_referencesModel->setHorizontalHeaderLabels(QStringList() << tr("") << tr("Title") << tr("Path") << tr("Score") << tr("Reason")); - m_ui->healthcheckTableView->sortByColumn(0, Qt::AscendingOrder); } + // Restore sorting options that was stored before the model was cleared + m_ui->healthcheckTableView->sortByColumn(sortColumn, sortOrder); + m_ui->healthcheckTableView->resizeColumnsToContents(); m_ui->healthcheckTableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);