From 8391434d0cdba5bc4c00afea00eb426d1f8a3e22 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Fri, 28 Dec 2012 14:07:09 +0100 Subject: [PATCH] Don't send several seek requests for same frame when seeking with monitor ruler --- src/jogshuttle.cpp | 2 +- src/smallruler.cpp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/jogshuttle.cpp b/src/jogshuttle.cpp index 6ffdf3e4..36288636 100644 --- a/src/jogshuttle.cpp +++ b/src/jogshuttle.cpp @@ -199,7 +199,7 @@ void ShuttleThread::key(unsigned short code, unsigned int value) if (code > 16) return; - kDebug() << "Button PRESSED: " << code; + //kDebug() << "Button PRESSED: " << code; QApplication::postEvent(m_parent, new QEvent((QEvent::Type)(KEY_EVENT_OFFSET + code))); } diff --git a/src/smallruler.cpp b/src/smallruler.cpp index 0e035bc0..3673cbb1 100644 --- a/src/smallruler.cpp +++ b/src/smallruler.cpp @@ -129,7 +129,7 @@ void SmallRuler::mousePressEvent(QMouseEvent * event) emit zoneChanged(QPoint(m_zoneStart, m_zoneEnd)); updatePixmap(); - } else { + } else if (pos != m_lastSeekPosition && pos != m_cursorFramePosition) { m_render->seekToFrame(pos); m_lastSeekPosition = pos; update(); @@ -159,9 +159,11 @@ void SmallRuler::mouseMoveEvent(QMouseEvent * event) { const int pos = event->x() / m_scale; if (event->buttons() & Qt::LeftButton) { - m_render->seekToFrame(pos); - m_lastSeekPosition = pos; - update(); + if (pos != m_lastSeekPosition && pos != m_cursorFramePosition) { + m_render->seekToFrame(pos); + m_lastSeekPosition = pos; + update(); + } } else { if (m_cursorColor == palette().text() && qAbs(pos - m_cursorFramePosition) * m_scale < 7) { -- 2.39.2