From 2c9bf775b7b30930513fd4804306559bd90cb76b Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 6 Nov 2019 07:27:00 +0100 Subject: Mobile: ensure the sort order is always set This shouldn't be necessary every time we replace the sort model, but it can't hurt, either (famous last words?). Signed-off-by: Dirk Hohndel --- qt-models/divelistmodel.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'qt-models/divelistmodel.cpp') diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp index c9bcaa2e1..37e48b023 100644 --- a/qt-models/divelistmodel.cpp +++ b/qt-models/divelistmodel.cpp @@ -17,8 +17,6 @@ CollapsedDiveListSortModel::CollapsedDiveListSortModel() { setSourceModel(DiveListSortModel::instance()); - setDynamicSortFilter(true); - updateFilterState(); // make sure that we after changes to the underlying model (and therefore the dive list // we update the filter state connect(DiveListModel::instance(), &DiveListModel::rowsInserted, this, &CollapsedDiveListSortModel::updateFilterState); @@ -35,6 +33,10 @@ CollapsedDiveListSortModel *CollapsedDiveListSortModel::instance() void CollapsedDiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel) { QSortFilterProxyModel::setSourceModel(sourceModel); + // make sure we sort descending and have the filters correct + setDynamicSortFilter(true); + setSortRole(DiveListModel::DiveDateRole); + sort(0, Qt::DescendingOrder); updateFilterState(); } @@ -175,10 +177,6 @@ bool CollapsedDiveListSortModel::filterAcceptsRow(int source_row, const QModelIn DiveListSortModel::DiveListSortModel() { setSourceModel(DiveListModel::instance()); - setDynamicSortFilter(true); - setSortRole(DiveListModel::DiveDateRole); - sort(0, Qt::DescendingOrder); - updateFilterState(); LOG_STP("run_ui diveListModel sorted"); } @@ -212,6 +210,11 @@ void DiveListSortModel::updateFilterState() void DiveListSortModel::setSourceModel(QAbstractItemModel *sourceModel) { QSortFilterProxyModel::setSourceModel(sourceModel); + // make sure we sort descending and have the filters correct + setDynamicSortFilter(true); + setSortRole(DiveListModel::DiveDateRole); + sort(0, Qt::DescendingOrder); + updateFilterState(); } void DiveListSortModel::setFilter(QString f) -- cgit v1.2.3-70-g09d2