From 64a1a50e10c4ec8432de9d7cc08921b1b5b490a5 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 4 Nov 2018 18:11:30 +0100 Subject: [PATCH] Dive list: remove sortColumn and currentOrder members Since the QHeaderView of DiveListView is now the authority over sort-column and sort-order, it makes little sense to keep these as member variables. That would only risk inconsistencies. Remove them and query the QHeaderView instead. We still need to keep track of currentLayout, as we have to detect if it changes to change the underlying model from tree to list or vice-versa. Signed-off-by: Berthold Stoeger --- desktop-widgets/divelistview.cpp | 8 +++----- desktop-widgets/divelistview.h | 2 -- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp index 227ae502e..149682345 100644 --- a/desktop-widgets/divelistview.cpp +++ b/desktop-widgets/divelistview.cpp @@ -26,8 +26,8 @@ #include "core/metrics.h" #include "core/subsurface-qt/DiveListNotifier.h" -DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelection(false), sortColumn(DiveTripModel::NR), - currentOrder(Qt::AscendingOrder), currentLayout(DiveTripModel::TREE), dontEmitDiveChangedSignal(false), selectionSaved(false), +DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelection(false), + currentLayout(DiveTripModel::TREE), dontEmitDiveChangedSignal(false), selectionSaved(false), initialColumnWidths(DiveTripModel::COLUMNS, 50) // Set up with default length 50 { setItemDelegate(new DiveListDelegate(this)); @@ -478,9 +478,6 @@ void DiveListView::sortIndicatorChanged(int i, Qt::SortOrder order) restoreExpandedRows(); restoreSelection(); } - // remember the new sort column - sortColumn = i; - currentOrder = order; } void DiveListView::setSortOrder(int i, Qt::SortOrder order) @@ -890,6 +887,7 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event) if (!d->divetrip) { struct dive *top = d; struct dive *bottom = d; + Qt::SortOrder currentOrder = header()->sortIndicatorOrder(); if (d->selected) { if (currentOrder == Qt::AscendingOrder) { top = first_selected_dive(); diff --git a/desktop-widgets/divelistview.h b/desktop-widgets/divelistview.h index 79049d754..85d8bd21c 100644 --- a/desktop-widgets/divelistview.h +++ b/desktop-widgets/divelistview.h @@ -68,8 +68,6 @@ slots: private: bool mouseClickSelection; QList expandedRows; - int sortColumn; - Qt::SortOrder currentOrder; DiveTripModel::Layout currentLayout; QModelIndex contextMenuIndex; bool dontEmitDiveChangedSignal;