summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-02-24 21:22:33 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-12 18:19:07 +0300
commitd7d408a99e7459ec1a5fc2d9953e72924054b834 (patch)
tree2f283ef63c4e5c0352b648374f99043530b4520c /core
parent9fd87fa08081116ba12812ddea0a43be61019cbb (diff)
downloadsubsurface-d7d408a99e7459ec1a5fc2d9953e72924054b834.tar.gz
Undo: implement undo of dive trip editing
This is copying the dive editing code. It uses an OO design with virtual functions for getting and setting the values. It doesn't use templates though, as both fields of strig type. This feels a bit over-engineered, but it is 1) consistent with the dive edit code and 2) the number / types of dive trip fields might increase. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r--core/subsurface-qt/DiveListNotifier.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/subsurface-qt/DiveListNotifier.h b/core/subsurface-qt/DiveListNotifier.h
index 46e160208..b57595aa6 100644
--- a/core/subsurface-qt/DiveListNotifier.h
+++ b/core/subsurface-qt/DiveListNotifier.h
@@ -10,7 +10,7 @@
#include <QObject>
-// Dive fields that can be edited.
+// Dive and trip fields that can be edited.
// Use "enum class" to not polute the global name space.
enum class DiveField {
NR,
@@ -29,6 +29,10 @@ enum class DiveField {
MODE,
NOTES,
};
+enum class TripField {
+ LOCATION,
+ NOTES
+};
class DiveListNotifier : public QObject {
Q_OBJECT
@@ -54,6 +58,9 @@ signals:
void cylindersReset(dive_trip *trip, const QVector<dive *> &dives);
void weightsystemsReset(dive_trip *trip, const QVector<dive *> &dives);
+ // Trip edited signal
+ void tripChanged(dive_trip *trip, TripField field);
+
// 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