diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-02-10 17:37:06 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-12 18:19:07 +0300 |
commit | c82f4487f985a2d3fd832a1acce60fa052f9f246 (patch) | |
tree | 56c573892c607ebf1feef3ca7b4c46158decfbb3 /desktop-widgets/command_edit.h | |
parent | 02d572226df82ccbdfff3c455c9e5b20a7992bc4 (diff) | |
download | subsurface-c82f4487f985a2d3fd832a1acce60fa052f9f246.tar.gz |
Undo: implement undo of depth and duration editing
This was a bit different from the other editing commands:
1) Only the current dive is edited not all selected dives.
Therefore, create a function that turns the current dive
into a one-element list.
2) The profile has to be replot. Here, likewise, create a
function to do that.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/command_edit.h')
-rw-r--r-- | desktop-widgets/command_edit.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/desktop-widgets/command_edit.h b/desktop-widgets/command_edit.h index d10da4325..081ea11bb 100644 --- a/desktop-widgets/command_edit.h +++ b/desktop-widgets/command_edit.h @@ -102,6 +102,24 @@ public: DiveField fieldId() const override; }; +class EditDuration : public EditBase<int> { +public: + using EditBase<int>::EditBase; // Use constructor of base class. + void set(struct dive *d, int value) const override; + int data(struct dive *d) const override; + QString fieldName() const override; + DiveField fieldId() const override; +}; + +class EditDepth : public EditBase<int> { +public: + using EditBase<int>::EditBase; // Use constructor of base class. + void set(struct dive *d, int value) const override; + int data(struct dive *d) const override; + QString fieldName() const override; + DiveField fieldId() const override; +}; + class EditDiveSite : public EditBase<struct dive_site *> { public: using EditBase<struct dive_site *>::EditBase; // Use constructor of base class. |