mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
This commit is contained in:
parent
636c932dfe
commit
fceb3691d9
4 changed files with 23 additions and 22 deletions
|
@ -19,6 +19,8 @@ class CloseButtonItem : public DivePixmapItem {
|
|||
Q_OBJECT
|
||||
public:
|
||||
CloseButtonItem(QGraphicsItem *parent = 0);
|
||||
signals:
|
||||
void clicked();
|
||||
private:
|
||||
void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
|
||||
};
|
||||
|
@ -30,10 +32,11 @@ public:
|
|||
DivePictureItem(QGraphicsItem *parent = 0);
|
||||
void setPixmap(const QPixmap& pix);
|
||||
void setBaseZValue(double z);
|
||||
void setFileUrl(const QString& s);
|
||||
signals:
|
||||
void removePicture(const QString &fileUrl);
|
||||
public slots:
|
||||
void settingsChanged();
|
||||
void removePicture();
|
||||
void setFileUrl(const QString& s);
|
||||
private:
|
||||
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
|
||||
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue