summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/profile/divepixmapitem.cpp33
-rw-r--r--qt-ui/profile/divepixmapitem.h2
2 files changed, 18 insertions, 17 deletions
diff --git a/qt-ui/profile/divepixmapitem.cpp b/qt-ui/profile/divepixmapitem.cpp
index ce5d3c404..8aff5315d 100644
--- a/qt-ui/profile/divepixmapitem.cpp
+++ b/qt-ui/profile/divepixmapitem.cpp
@@ -45,17 +45,26 @@ void CloseButtonItem::show()
DiveButtonItem::show();
}
-DivePictureItem::DivePictureItem(QObject *parent): DivePixmapItem(parent)
+DivePictureItem::DivePictureItem(QObject *parent): DivePixmapItem(parent),
+ canvas(new QGraphicsRectItem(this)),
+ shadow(new QGraphicsRectItem(this))
{
setFlag(ItemIgnoresTransformations);
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- setAcceptsHoverEvents(true);
-#else
setAcceptHoverEvents(true);
-#endif
setScale(0.2);
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(settingsChanged()));
setVisible(prefs.show_pictures_in_profile);
+
+ canvas->setPen(Qt::NoPen);
+ canvas->setBrush(QColor(Qt::white));
+ canvas->setFlag(ItemStacksBehindParent);
+ canvas->setZValue(-1);
+
+ shadow->setPos(5,5);
+ shadow->setPen(Qt::NoPen);
+ shadow->setBrush(QColor(Qt::lightGray));
+ shadow->setFlag(ItemStacksBehindParent);
+ shadow->setZValue(-2);
}
void DivePictureItem::settingsChanged()
@@ -67,18 +76,8 @@ void DivePictureItem::setPixmap(const QPixmap &pix)
{
DivePixmapItem::setPixmap(pix);
QRectF r = boundingRect();
- QGraphicsRectItem *rect = new QGraphicsRectItem(0 - 10, 0 -10, r.width() + 20, r.height() + 20, this);
- rect->setPen(Qt::NoPen);
- rect->setBrush(QColor(Qt::white));
- rect->setFlag(ItemStacksBehindParent);
- rect->setZValue(-1);
-
- QGraphicsRectItem *shadow = new QGraphicsRectItem(rect->boundingRect(), this);
- shadow->setPos(5,5);
- shadow->setPen(Qt::NoPen);
- shadow->setBrush(QColor(Qt::lightGray));
- shadow->setFlag(ItemStacksBehindParent);
- shadow->setZValue(-2);
+ canvas->setRect(0 - 10, 0 -10, r.width() + 20, r.height() + 20);
+ shadow->setRect(canvas->rect());
}
CloseButtonItem *button = NULL;
diff --git a/qt-ui/profile/divepixmapitem.h b/qt-ui/profile/divepixmapitem.h
index 963e641e8..02c1523f7 100644
--- a/qt-ui/profile/divepixmapitem.h
+++ b/qt-ui/profile/divepixmapitem.h
@@ -31,6 +31,8 @@ protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
QString fileUrl;
+ QGraphicsRectItem *canvas;
+ QGraphicsRectItem *shadow;
};
class DiveButtonItem : public DivePixmapItem {