subsurface/profile-widget/divepixmapitem.h
Jan Mulder 34bc4fc0af Pictures tied to profile are not supported on mobile
Move divepicturemodel.cpp to the desktop only category and deal
with the (limited) fallout. We, currently, do not support dive
pictures tied to the profile on mobile, so there is no use
including this code.

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2018-01-10 21:28:02 +01:00

60 lines
1.4 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#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);
virtual ~DivePictureItem();
void setPixmap(const QPixmap& pix);
public slots:
void settingsChanged();
#ifndef SUBSURFACE_MOBILE
void removePicture();
#endif
void setFileUrl(const QString& s);
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
QString fileUrl;
QGraphicsRectItem *canvas;
QGraphicsRectItem *shadow;
};
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