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 <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-11-04 18:11:30 +01:00 committed by Dirk Hohndel
parent f2f18b4e16
commit 64a1a50e10
2 changed files with 3 additions and 7 deletions

View file

@ -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();

View file

@ -68,8 +68,6 @@ slots:
private:
bool mouseClickSelection;
QList<int> expandedRows;
int sortColumn;
Qt::SortOrder currentOrder;
DiveTripModel::Layout currentLayout;
QModelIndex contextMenuIndex;
bool dontEmitDiveChangedSignal;