]> git.sesse.net Git - kdenlive/blobdiff - src/monitorscene.cpp
Add option to allow the parameters to stay enabled when the effect is disabled.
[kdenlive] / src / monitorscene.cpp
index eec47da33f49cb73a2b0a96cf6d8295469cbe13b..2d913c546d852a039f9cda3c19bd7f78a212b415 100644 (file)
@@ -92,11 +92,6 @@ void MonitorScene::slotUpdateBackground()
     }
 }
 
-void MonitorScene::slotSetDirectUpdate(bool directUpdate)
-{
-    KdenliveSettings::setMonitorscene_directupdate(directUpdate);
-}
-
 void MonitorScene::slotSetBackgroundImage(const QImage &image)
 {
     if (m_view && m_view->isVisible()) {
@@ -132,30 +127,14 @@ void MonitorScene::slotZoomOriginal()
         m_view->centerOn(m_frameBorder);
 }
 
-void MonitorScene::slotZoomOut()
+void MonitorScene::slotZoomOut(int by)
 {
-    slotZoom(qMax(0, (int)(m_zoom * 100 - 1)));
+    slotZoom(qMax(0, (int)(m_zoom * 100 - by)));
 }
 
-void MonitorScene::slotZoomIn()
+void MonitorScene::slotZoomIn(int by)
 {
-    int newzoom = (100 * m_zoom + 0.5);
-    newzoom++;
-    slotZoom(qMin(300, newzoom));
-}
-
-void MonitorScene::addItem(QGraphicsItem* item)
-{
-    QGraphicsScene::addItem(item);
-
-    OnMonitorRectItem *rect = qgraphicsitem_cast<OnMonitorRectItem*>(item);
-    if (rect) {
-        connect(this, SIGNAL(mousePressed(QGraphicsSceneMouseEvent*)), rect, SLOT(slotMousePressed(QGraphicsSceneMouseEvent*)));
-        connect(this, SIGNAL(mouseReleased(QGraphicsSceneMouseEvent*)), rect, SLOT(slotMouseReleased(QGraphicsSceneMouseEvent*)));
-        connect(this, SIGNAL(mouseMoved(QGraphicsSceneMouseEvent*)), rect, SLOT(slotMouseMoved(QGraphicsSceneMouseEvent*)));
-        connect(rect, SIGNAL(actionFinished()), this, SIGNAL(actionFinished()));
-        connect(rect, SIGNAL(setCursor(const QCursor &)), this, SLOT(slotSetCursor(const QCursor &)));
-    }
+    slotZoom(qMin(300, (int)(m_zoom * 100 + by + 0.5)));
 }
 
 void MonitorScene::slotSetCursor(const QCursor &cursor)
@@ -169,7 +148,7 @@ void MonitorScene::mousePressEvent(QGraphicsSceneMouseEvent *event)
 {
     emit mousePressed(event);
 
-    if (!event->isAccepted() && m_enabled)
+    if (!event->isAccepted())
         QGraphicsScene::mousePressEvent(event);
 }
 
@@ -177,7 +156,7 @@ void MonitorScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 {
     emit mouseMoved(event);
 
-    if (!event->isAccepted() && m_enabled)
+    if (!event->isAccepted())
         QGraphicsScene::mouseMoveEvent(event);
 }
 
@@ -185,7 +164,7 @@ void MonitorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
 {
     emit mouseReleased(event);
 
-    if (!event->isAccepted() && m_enabled)
+    if (!event->isAccepted())
         QGraphicsScene::mouseReleaseEvent(event);
 }
 
@@ -197,5 +176,18 @@ void MonitorScene::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event)
         emit addKeyframe();
 }
 
+void MonitorScene::wheelEvent(QGraphicsSceneWheelEvent* event)
+{
+    if (event->modifiers() == Qt::ControlModifier) {
+        if (event->delta() > 0)
+            slotZoomIn(5);
+        else
+            slotZoomOut(5);
+
+        event->accept();
+    } else {
+        QGraphicsScene::wheelEvent(event);
+    }
+}
 
 #include "monitorscene.moc"