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 <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-11-06 07:27:00 +01:00
parent 8b0f4e65d3
commit 2c9bf775b7

View file

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