diff options
Diffstat (limited to 'core/subsurface-qt/DiveListNotifier.h')
-rw-r--r-- | core/subsurface-qt/DiveListNotifier.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/core/subsurface-qt/DiveListNotifier.h b/core/subsurface-qt/DiveListNotifier.h index fe5ea0e22..35ecf108d 100644 --- a/core/subsurface-qt/DiveListNotifier.h +++ b/core/subsurface-qt/DiveListNotifier.h @@ -17,10 +17,10 @@ signals: // Note that there are no signals for trips being added / created / time-shifted, // because these events never happen without a dive being added / created / time-shifted. - // We send one divesAdded, divesDeleted, divesChanged and divesTimeChanged signal per trip - // (non-associated dives being considered part of the null trip). This is ideal for the - // tree-view, but might be not-so-perfect for the list view, if trips intermingle or - // the deletion spans multiple trips. But most of the time only dives of a single trip + // We send one divesAdded, divesDeleted, divesChanged and divesTimeChanged, divesSelected + // signal per trip (non-associated dives being considered part of the null trip). This is + // ideal for the tree-view, but might be not-so-perfect for the list view, if trips intermingle + // or the deletion spans multiple trips. But most of the time only dives of a single trip // will be affected and trips don't overlap, so these considerations are moot. // Notes: // - The dives are always sorted by start-time. @@ -31,7 +31,16 @@ signals: void divesMovedBetweenTrips(dive_trip *from, dive_trip *to, bool deleteFrom, bool createTo, const QVector<dive *> &dives); void divesTimeChanged(dive_trip *trip, timestamp_t delta, const QVector<dive *> &dives); - // This signal is sent if the selection of dives and/or the current dive changed + // Selection-signals come in two kinds: + // - divesSelected, divesDeselected and currentDiveChanged are finer grained and are + // called batch-wise per trip (except currentDiveChanged, of course). These signals + // are used by the dive-list model and view to correctly highlight the correct dives. + // - selectionChanged() is called once at the end of commands if either the selection + // or the current dive changed. It is used by the main-window / profile to update + // their data. + void divesSelected(dive_trip *trip, const QVector<dive *> &dives); + void divesDeselected(dive_trip *trip, const QVector<dive *> &dives); + void currentDiveChanged(); void selectionChanged(); public: // Desktop uses the QTreeView class to present the list of dives. The layout |