From: Jean-Baptiste Mardelle Date: Tue, 18 Dec 2012 11:23:40 +0000 (+0100) Subject: Fix seeking in monitor ruler sometimes not working X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=8fb1c990f30da000125c48476fc738a84d45e2b2;p=kdenlive Fix seeking in monitor ruler sometimes not working --- diff --git a/src/monitor.cpp b/src/monitor.cpp index 41ef22b6..7c2f5b85 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -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); diff --git a/src/monitor.h b/src/monitor.h index 1ae380f8..d01f5b9f 100644 --- a/src/monitor.h +++ b/src/monitor.h @@ -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;*/ diff --git a/src/smallruler.cpp b/src/smallruler.cpp index 24a016dd..776743b0 100644 --- a/src/smallruler.cpp +++ b/src/smallruler.cpp @@ -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() diff --git a/src/smallruler.h b/src/smallruler.h index 5e0a5736..ac7217e2 100644 --- a/src/smallruler.h +++ b/src/smallruler.h @@ -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();