summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2015-08-27 02:14:37 +0200
committerArno <arno@disconnect.de>2015-08-27 02:14:37 +0200
commitb12a9282cd236e5ecab8fda57cec379624457650 (patch)
tree1cc99c5b192bb2baaee054f85dfa5b3d53fff283
parentbc21f0ed338040497f1755331d5fc6a824a4de25 (diff)
downloadSheMov-b12a9282cd236e5ecab8fda57cec379624457650.tar.gz
SheMov-b12a9282cd236e5ecab8fda57cec379624457650.tar.bz2
SheMov-b12a9282cd236e5ecab8fda57cec379624457650.zip
Custom QGraphicsScene for PictureViewer2
Introduce PictureViewerGraphicsScene for upcoming control items in the scene.
-rw-r--r--pictureviewer2.cpp10
-rw-r--r--pictureviewer2.h12
2 files changed, 19 insertions, 3 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 6568128..f57cab6 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -17,6 +17,7 @@
#include <QDateTime>
#include <QPainter>
#include <QStyleOptionGraphicsItem>
+#include <QGraphicsSceneMouseEvent>
#include <QSettings>
#include <QTextDocument>
#include <QTextCursor>
@@ -68,7 +69,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
mNewPicsDlg = new NewPicsDialog(this);
//setup gui
- mScene = new QGraphicsScene(this);
+ mScene = new PictureViewerGraphicsScene(this);
setScene(mScene);
readSettings();
setMinimumSize(QSize(800, 600));
@@ -743,3 +744,10 @@ void PictureViewer2Item::paint(QPainter *painter, const QStyleOptionGraphicsItem
painter->restore();
}
+void PictureViewerGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e){
+ QGraphicsScene::mousePressEvent(e);
+ QGraphicsItem *item = itemAt(e->scenePos(), QTransform());
+ if(item){
+ //do something!
+ }
+}
diff --git a/pictureviewer2.h b/pictureviewer2.h
index c9a1f2a..5b78982 100644
--- a/pictureviewer2.h
+++ b/pictureviewer2.h
@@ -14,7 +14,7 @@
#include <QGraphicsItem>
#include <QStaticText>
-class QGraphicsScene;
+class PictureViewerGraphicsScene;
class QGraphicsPixmapItem;
class QWheelEvent;
class QContextMenuEvent;
@@ -95,7 +95,7 @@ class PictureViewer2 : public QGraphicsView {
QString constructWindowTitle() const;
PicDataList mFiles;
PicDataList mMarkedFiles;
- QGraphicsScene *mScene;
+ PictureViewerGraphicsScene *mScene;
QGraphicsPixmapItem *mCur;
int mCurPos;
int mConfigInfoPos;
@@ -143,4 +143,12 @@ class PictureViewer2Item : public QGraphicsItem {
QTextDocument *mDoc;
};
+class PictureViewerGraphicsScene : public QGraphicsScene {
+ public:
+ explicit PictureViewerGraphicsScene(QObject *parent = 0) : QGraphicsScene(parent) {}
+
+ protected:
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent *e);
+};
+
#endif // PICTUREVIEWER2_H