diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-03-10 16:03:39 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-12 18:19:07 +0300 |
commit | 8dcc33d8ab4081310d2e18b2c3d6c95141999698 (patch) | |
tree | 019c74009720b7164f0a6c5edaaf98a780130897 /core | |
parent | dd12bdaf94c1ebc5d32598151aa96da12e61c146 (diff) | |
download | subsurface-8dcc33d8ab4081310d2e18b2c3d6c95141999698.tar.gz |
Undo: keep frontend informed of changes to dive site count
Add a new signal to DiveListNotifier. Send signal if dives are
added or removed and therefore the dive count of a dive site
changes. The dive sites are collected and the signal is sent
at the end of the command.
Add code to update the table view.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r-- | core/divesite.c | 1 | ||||
-rw-r--r-- | core/subsurface-qt/DiveListNotifier.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/core/divesite.c b/core/divesite.c index 5f6275027..23ef62070 100644 --- a/core/divesite.c +++ b/core/divesite.c @@ -23,6 +23,7 @@ int get_divesite_idx(const struct dive_site *ds, struct dive_site_table *ds_tabl return -1; } +// TODO: keep table sorted by UUID and do a binary search? struct dive_site *get_dive_site_by_uuid(uint32_t uuid, struct dive_site_table *ds_table) { int i; diff --git a/core/subsurface-qt/DiveListNotifier.h b/core/subsurface-qt/DiveListNotifier.h index 35ecf108d..124bde127 100644 --- a/core/subsurface-qt/DiveListNotifier.h +++ b/core/subsurface-qt/DiveListNotifier.h @@ -42,6 +42,9 @@ signals: void divesDeselected(dive_trip *trip, const QVector<dive *> &dives); void currentDiveChanged(); void selectionChanged(); + + // Dive site signals + void diveSiteDiveCountChanged(dive_site *ds); public: // Desktop uses the QTreeView class to present the list of dives. The layout // of this class gives us a very fundamental problem, as we can not easily |