summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/command_edit.h
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-02-18 21:30:11 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-12 18:19:07 +0300
commit464721b2ecf27e4ecd7e3a29b78e626838ef82b8 (patch)
treef08216dead6f13374681184e9092ff1650fe6181 /desktop-widgets/command_edit.h
parentebfa36682602de1ed5c6ae53aabaf68b0b7f3b24 (diff)
downloadsubsurface-464721b2ecf27e4ecd7e3a29b78e626838ef82b8.tar.gz
Undo: select dives on undo of editing commands
Save selected dives when generating an edit-command. Restore the selection and current dive in undo()/redo(). 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.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/desktop-widgets/command_edit.h b/desktop-widgets/command_edit.h
index 4363cb9bd..9b5923af2 100644
--- a/desktop-widgets/command_edit.h
+++ b/desktop-widgets/command_edit.h
@@ -34,7 +34,9 @@ protected:
bool workToBeDone() override;
std::vector<dive *> dives; // Dives to be edited.
- struct dive *current; // On undo, we set the current dive at the time of the operation.
+ // On undo, we set the selection and current dive at the time of the operation.
+ std::vector<dive *> selectedDives;
+ struct dive *current;
public:
EditBase(T newValue, bool currentDiveOnly);
@@ -162,6 +164,8 @@ class EditTagsBase : public Base {
// the active dive when the user initialized the action. This dive
// will be made the current dive on redo / undo.
std::vector<dive *> dives;
+ // On undo, we set the selection and current dive at the time of the operation.
+ std::vector<dive *> selectedDives;
struct dive *current;
QStringList newList; // Temporary until initialized
public: