From 8dcc33d8ab4081310d2e18b2c3d6c95141999698 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 10 Mar 2019 16:03:39 +0100 Subject: 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 --- core/divesite.c | 1 + core/subsurface-qt/DiveListNotifier.h | 3 +++ 2 files changed, 4 insertions(+) (limited to 'core') 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 &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 -- cgit v1.2.3-70-g09d2