diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-12-19 12:32:32 +0100 |
---|---|---|
committer | bstoeger <32835590+bstoeger@users.noreply.github.com> | 2020-12-19 20:19:51 +0100 |
commit | fceb3691d9b4ccccf1ebb76f83fb7d58067251d7 (patch) | |
tree | d6a145f13bf4fee7676d6874c0bc3e092194fe52 /profile-widget/profilewidget2.h | |
parent | 636c932dfe202c44b6f8d13433dd8fef1c302277 (diff) | |
download | subsurface-fceb3691d9b4ccccf1ebb76f83fb7d58067251d7.tar.gz |
profile: move picture removal from DivePictureItem to ProfileWidget2
On clicking the DivePictureItem "trash" icon, the item would delete
the picture it represents in the currently displayed dive. This needed
an access to the global "displayed_dive" variable, which we want
to get rid of to make the profile more flexible. For example, we
want to render the profile for printing without messing with global
state.
One solution would be to save the dive with every DivePictureItem.
This commit follows a more Qt-ish strategy by handling this via
signals: The close button emits a signal that is recast by the
DivePictureItem and ultimately handled by the ProfileWidget2,
which knows which dive it represents.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'profile-widget/profilewidget2.h')
-rw-r--r-- | profile-widget/profilewidget2.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/profile-widget/profilewidget2.h b/profile-widget/profilewidget2.h index fe54da3d9..272398095 100644 --- a/profile-widget/profilewidget2.h +++ b/profile-widget/profilewidget2.h @@ -118,6 +118,7 @@ slots: // Necessary to call from QAction's signals. void updateThumbnail(QString filename, QImage thumbnail, duration_t duration); void profileChanged(dive *d); void pictureOffsetChanged(dive *d, QString filename, offset_t offset); + void removePicture(const QString &fileUrl); /* this is called for every move on the handlers. maybe we can speed up this a bit? */ void recreatePlannedDive(); @@ -243,7 +244,7 @@ private: std::unique_ptr<DivePictureItem> thumbnail; // For videos with known duration, we represent the duration of the video by a line std::unique_ptr<QGraphicsRectItem> durationLine; - PictureEntry (offset_t offsetIn, const QString &filenameIn, QGraphicsScene *scene, bool synchronous); + PictureEntry (offset_t offsetIn, const QString &filenameIn, ProfileWidget2 *profile, bool synchronous); bool operator< (const PictureEntry &e) const; }; void updateThumbnailXPos(PictureEntry &e); |