diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-04-17 23:18:58 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-05-06 13:58:09 -0700 |
commit | 434644b381cb1dc8d2080b19a9725bfe2660a217 (patch) | |
tree | 5c3ff5833d701e8528b79fb59e1a2e650925767a /commands/command_pictures.h | |
parent | 9962d47b56eb15aba9339b22845566535c168483 (diff) | |
download | subsurface-434644b381cb1dc8d2080b19a9725bfe2660a217.tar.gz |
undo: make picture (media) deletion undoable
The code is rather complex. Firstly, we have different representations
of pictures throughout the code. Secondly, this tries to do add the
pictures in batches to the divepicture model and that is always rather
tricky.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'commands/command_pictures.h')
-rw-r--r-- | commands/command_pictures.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/commands/command_pictures.h b/commands/command_pictures.h index f2381d111..802c63c6c 100644 --- a/commands/command_pictures.h +++ b/commands/command_pictures.h @@ -5,6 +5,7 @@ #define COMMAND_PICTURES_H #include "command_base.h" +#include "command.h" // for PictureListForDeletion/Addition // We put everything in a namespace, so that we can shorten names without polluting the global namespace namespace Command { @@ -22,5 +23,17 @@ private: bool workToBeDone() override; }; +class RemovePictures final : public Base { +public: + RemovePictures(const std::vector<PictureListForDeletion> &pictures); +private: + std::vector<PictureListForDeletion> picturesToRemove; // for redo + std::vector<PictureListForAddition> picturesToAdd; // for undo + + void undo() override; + void redo() override; + bool workToBeDone() override; +}; + } // namespace Command #endif |