mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
1e6986d870
Since the idea is to remove the picture in the future, we need to not hold the row on the model, as when we delete one, the other pictures will change the row. but the QUrl is unique. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#ifndef DIVEPIXMAPITEM_H
|
|
#define DIVEPIXMAPITEM_H
|
|
|
|
#include <QObject>
|
|
#include <QGraphicsPixmapItem>
|
|
|
|
class DivePixmapItem : public QObject, public QGraphicsPixmapItem {
|
|
Q_OBJECT
|
|
Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity)
|
|
Q_PROPERTY(QPointF pos WRITE setPos READ pos)
|
|
Q_PROPERTY(qreal x WRITE setX READ x)
|
|
Q_PROPERTY(qreal y WRITE setY READ y)
|
|
public:
|
|
DivePixmapItem(QObject *parent = 0);
|
|
};
|
|
|
|
class DivePictureItem : public DivePixmapItem {
|
|
Q_OBJECT
|
|
Q_PROPERTY(qreal scale WRITE setScale READ scale)
|
|
public:
|
|
DivePictureItem(QObject *parent = 0);
|
|
void setPixmap(const QPixmap& pix);
|
|
public slots:
|
|
void settingsChanged();
|
|
void removePicture();
|
|
void setFileUrl(const QString& s);
|
|
protected:
|
|
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
|
|
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
|
|
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
private:
|
|
QString fileUrl;
|
|
};
|
|
|
|
class DiveButtonItem : public DivePixmapItem {
|
|
Q_OBJECT
|
|
public:
|
|
DiveButtonItem(QObject *parent = 0);
|
|
protected:
|
|
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
|
signals:
|
|
void clicked();
|
|
};
|
|
|
|
class CloseButtonItem : public DiveButtonItem {
|
|
Q_OBJECT
|
|
public:
|
|
CloseButtonItem(QObject *parent = 0);
|
|
public slots:
|
|
void hide();
|
|
void show();
|
|
};
|
|
|
|
#endif // DIVEPIXMAPITEM_H
|