mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
This commit is contained in:
parent
9962d47b56
commit
434644b381
13 changed files with 286 additions and 54 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue