mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive list: let sort arrows reflect sort order for NR and DATE
The old code always sorted by "ascending" by default. But because users typically want their new dives top, "ascending" was defined for NR and DATE, such that it is actually descending. Turn these around and intitialize these two fields as default-descending. This is possible using the Qt::InitialSortOrderRole role in DiveTripModel::headerData(). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
64a1a50e10
commit
da3ea59a25
2 changed files with 10 additions and 3 deletions
|
@ -705,7 +705,7 @@ void MainWindow::cleanUpEmpty()
|
|||
mainTab->updateDiveInfo(true);
|
||||
graphics->setEmptyState();
|
||||
diveList->reload();
|
||||
diveList->setSortOrder(DiveTripModel::NR, Qt::AscendingOrder);
|
||||
diveList->setSortOrder(DiveTripModel::NR, Qt::DescendingOrder);
|
||||
MapWidget::instance()->reload();
|
||||
if (!existing_filename)
|
||||
setTitle();
|
||||
|
|
|
@ -350,6 +350,9 @@ QVariant DiveTripModel::headerData(int section, Qt::Orientation orientation, int
|
|||
return dive_table_alignment(section);
|
||||
case Qt::FontRole:
|
||||
return defaultModelFont();
|
||||
case Qt::InitialSortOrderRole:
|
||||
// By default, sort NR and DATE descending, everything else ascending.
|
||||
return section == NR || section == DATE ? Qt::DescendingOrder : Qt::AscendingOrder;
|
||||
case Qt::DisplayRole:
|
||||
switch (section) {
|
||||
case NR:
|
||||
|
@ -1084,7 +1087,9 @@ bool DiveTripModel::lessThan(const QModelIndex &i1, const QModelIndex &i2) const
|
|||
if (currentLayout != LIST) {
|
||||
// In tree mode we don't support any sorting!
|
||||
// Simply keep the original position.
|
||||
return i1.row() < i2.row();
|
||||
// Note that the model is filled in reverse order, therefore
|
||||
// ascending means sorting in descending order. TODO: fix.
|
||||
return i1.row() > i2.row();
|
||||
}
|
||||
|
||||
// We assume that i1.column() == i2.column().
|
||||
|
@ -1100,7 +1105,9 @@ bool DiveTripModel::lessThan(const QModelIndex &i1, const QModelIndex &i2) const
|
|||
case NR:
|
||||
case DATE:
|
||||
default:
|
||||
return row1 < row2;
|
||||
// Note that the model is filled in reverse order, therefore
|
||||
// ascending means sorting in descending order. TODO: fix.
|
||||
return row1 > row2;
|
||||
case RATING:
|
||||
return lessThanHelper(d1->rating - d2->rating, row_diff);
|
||||
case DEPTH:
|
||||
|
|
Loading…
Add table
Reference in a new issue