]> git.sesse.net Git - kdenlive/commitdiff
Fix seeking in monitor ruler sometimes not working
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 18 Dec 2012 11:23:40 +0000 (12:23 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 18 Dec 2012 11:23:40 +0000 (12:23 +0100)
src/monitor.cpp
src/monitor.h
src/smallruler.cpp
src/smallruler.h

index 41ef22b679a434eb06d32c6aeda5264e5fad670a..7c2f5b8599a265c47a9c2ecfaf5b8eef2e9dc9d6 100644 (file)
@@ -470,8 +470,9 @@ void Monitor::mouseReleaseEvent(QMouseEvent * event)
             if (isActive()) slotPlay();
             else slotActivateMonitor();
         } //else event->ignore(); //QWidget::mouseReleaseEvent(event);
-        m_dragStarted = false;
     }
+    m_dragStarted = false;
+    event->accept();
 }
 
 // virtual
@@ -500,9 +501,9 @@ void Monitor::mouseMoveEvent(QMouseEvent *event)
         drag->setPixmap(pix);
         drag->setHotSpot(QPoint(0, 50));*/
         drag->start(Qt::MoveAction);
-
-        //Qt::DropAction dropAction;
-        //dropAction = drag->start(Qt::CopyAction | Qt::MoveAction);
+       /*Qt::DropAction dropAction = drag->exec(Qt::CopyAction | Qt::MoveAction);
+        Qt::DropAction dropAction;
+        dropAction = drag->start(Qt::CopyAction | Qt::MoveAction);*/
 
         //Qt::DropAction dropAction = drag->exec();
 
@@ -510,6 +511,7 @@ void Monitor::mouseMoveEvent(QMouseEvent *event)
     //event->accept();
 }
 
+
 /*void Monitor::dragMoveEvent(QDragMoveEvent * event) {
     event->setDropAction(Qt::IgnoreAction);
     event->setDropAction(Qt::MoveAction);
index 1ae380f8b1b9534c28f3159cee5e1b00ea19e6c2..d01f5b9f58b4c9af051cbc0056558316670c8e53 100644 (file)
@@ -106,6 +106,7 @@ protected:
     virtual void wheelEvent(QWheelEvent * event);
     virtual void mouseMoveEvent(QMouseEvent *event);
     virtual QStringList mimeTypes() const;
+   
     /*virtual void dragMoveEvent(QDragMoveEvent * event);
     virtual Qt::DropActions supportedDropActions() const;*/
 
index 24a016dd30ee2d2aeac4ef09a3199ca34d7c55ff..776743b01ffb01391ce0e757878463e27aeb413b 100644 (file)
@@ -134,8 +134,16 @@ void SmallRuler::mousePressEvent(QMouseEvent * event)
        m_lastSeekPosition = pos;
        update();
     }
+    event->accept();
 }
 
+// virtual
+void SmallRuler::mouseReleaseEvent(QMouseEvent * event)
+{
+    event->accept();
+}
+
+
 // virtual
 void SmallRuler::leaveEvent(QEvent * event)
 {
@@ -149,7 +157,6 @@ void SmallRuler::leaveEvent(QEvent * event)
 // virtual
 void SmallRuler::mouseMoveEvent(QMouseEvent * event)
 {
-    QWidget::mouseMoveEvent(event);
     const int pos = event->x() / m_scale;
     if (event->buttons() & Qt::LeftButton) {
        m_render->seekToFrame(pos);
@@ -174,6 +181,7 @@ void SmallRuler::mouseMoveEvent(QMouseEvent * event)
             setToolTip(i18n("Zone duration: %1", m_manager->timecode().getTimecodeFromFrames(m_zoneEnd - m_zoneStart)));
         } else setToolTip(i18n("Position: %1", m_manager->timecode().getTimecodeFromFrames(pos)));
     }
+    event->accept();
 }
 
 void SmallRuler::refreshRuler()
index 5e0a5736b1b63540a4cd4d566516b805287aee9e..ac7217e2c19d2f0ff1f05f05a7489386caf9c3c6 100644 (file)
@@ -35,6 +35,7 @@ public:
     explicit SmallRuler(MonitorManager *manager, Render *render, QWidget *parent = 0);
     virtual void mousePressEvent(QMouseEvent * event);
     virtual void mouseMoveEvent(QMouseEvent * event);
+    virtual void mouseReleaseEvent(QMouseEvent * event);
     void adjustScale(int maximum);
     void setZone(int start, int end);
     void setZoneStart();