mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive list: move dive-selection code from filter to list
After invalidating the filter, the dive-selection was modified to ensure that at least one dive is selected. This was done in the filter code, but it seems preferrable to do this in the dive-list code, which has direct access to the selection-model. Therefore, move the code from MultiFilterSortModel to DiveListView. While doing so, split the code in DiveListView into more functions to: 1) Get the index of the first dive (if any). 2) Select the first dive (if any). This allows a distinct size reduction of conditional compilation in MultiFilterSortModel (accesses to MainWindow are not possible in mobile code). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
2f81890f49
commit
9829e49815
3 changed files with 62 additions and 47 deletions
|
@ -29,8 +29,11 @@ public:
|
|||
bool eventFilter(QObject *, QEvent *);
|
||||
void unselectDives();
|
||||
void clearTripSelection();
|
||||
void selectDive(QModelIndex index, bool scrollto = false, bool toggle = false);
|
||||
void selectDive(int dive_table_idx, bool scrollto = false, bool toggle = false);
|
||||
void selectDives(const QList<int> &newDiveSelection);
|
||||
void selectFirstDive();
|
||||
QModelIndex indexOfFirstDive();
|
||||
void rememberSelection();
|
||||
void restoreSelection();
|
||||
void contextMenuEvent(QContextMenuEvent *event);
|
||||
|
@ -60,6 +63,7 @@ slots:
|
|||
void loadWebImages();
|
||||
void diveSelectionChanged(const QVector<QModelIndex> &indexes, bool select);
|
||||
void currentDiveChanged(QModelIndex index);
|
||||
void filterFinished();
|
||||
private:
|
||||
bool mouseClickSelection;
|
||||
QList<int> expandedRows;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue