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 /profile-widget/divepixmapitem.cpp | |
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 'profile-widget/divepixmapitem.cpp')
-rw-r--r-- | profile-widget/divepixmapitem.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/profile-widget/divepixmapitem.cpp b/profile-widget/divepixmapitem.cpp index 611f3f76a..7b2c9cc87 100644 --- a/profile-widget/divepixmapitem.cpp +++ b/profile-widget/divepixmapitem.cpp @@ -1,12 +1,13 @@ // SPDX-License-Identifier: GPL-2.0 #include "profile-widget/divepixmapitem.h" #include "profile-widget/animationfunctions.h" -#include "qt-models/divepicturemodel.h" #include "core/pref.h" #include "core/qthelper.h" #include "core/settings/qPrefDisplay.h" #ifndef SUBSURFACE_MOBILE #include "desktop-widgets/preferences/preferencesdialog.h" +#include "core/dive.h" // for displayed_dive +#include "commands/command.h" #endif #include <QDesktopServices> @@ -123,6 +124,8 @@ void DivePictureItem::mousePressEvent(QGraphicsSceneMouseEvent *event) void DivePictureItem::removePicture() { #ifndef SUBSURFACE_MOBILE - DivePictureModel::instance()->removePictures({ fileUrl }); + struct dive *d = get_dive_by_uniq_id(displayed_dive.id); + if (d) + Command::removePictures({ { d, { fileUrl.toStdString() } } }); #endif } |