]> git.sesse.net Git - kdenlive/commitdiff
on-monitor editing: use ctrl + mouse drag to move the scene
authorTill Theato <root@ttill.de>
Sun, 30 Jan 2011 10:19:55 +0000 (10:19 +0000)
committerTill Theato <root@ttill.de>
Sun, 30 Jan 2011 10:19:55 +0000 (10:19 +0000)
svn path=/trunk/kdenlive/; revision=5365

src/monitorscene.cpp
src/monitorscene.h

index fe13181cba3675ae6fef42195f8e972b0ad3bb2f..ebf248f7c372fa210f45cdcc787d268159343eb7 100644 (file)
@@ -26,6 +26,7 @@
 #include <QGraphicsPixmapItem>
 #include <QGraphicsSceneMouseEvent>
 
+
 MonitorScene::MonitorScene(Render *renderer, QObject* parent) :
         QGraphicsScene(parent),
         m_renderer(renderer),
@@ -136,11 +137,24 @@ void MonitorScene::slotZoomIn(int by)
     slotZoom(qMin(300, (int)(m_zoom * 100 + by + 0.5)));
 }
 
+void MonitorScene::mousePressEvent(QGraphicsSceneMouseEvent* event)
+{
+    QGraphicsScene::mousePressEvent(event);
+
+    if (!event->isAccepted() && event->buttons() & Qt::LeftButton && event->modifiers() == Qt::ControlModifier)
+        m_view->setDragMode(QGraphicsView::ScrollHandDrag);
+}
+
 void MonitorScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 {
     QGraphicsScene::mouseMoveEvent(event);
 }
 
+void MonitorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
+{
+    QGraphicsScene::mouseReleaseEvent(event);
+    m_view->setDragMode(QGraphicsView::NoDrag);
+}
 void MonitorScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event)
 {
     Q_UNUSED(event);
index c0f75bc49460d7f5d95dd67a6c3e867d2b89fa9a..aeb60dcc2fc854d75b8e9869a9eb4ff52d64ae6b 100644 (file)
@@ -44,7 +44,9 @@ public:
     void resetProfile();
 
 protected:
+    virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
     virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
     /** @brief Adds a keyframe if scene is disabled. */
     virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
     /** @brief Reimplemented to allow zooming using ctrl + mouse wheel. */