// virtual void SmallRuler::mouseMoveEvent(QMouseEvent * event) { const int pos = event->x() / m_scale; if (event->button() == Qt::NoButton) { if (qAbs(pos * m_scale - m_cursorPosition) < 6) { if (!m_overCursor) { m_overCursor = true; update(); } } else if (m_overCursor) { m_overCursor = false; update(); } } if (event->buttons() & Qt::LeftButton) { m_overCursor = true; emit seekRenderer((int) pos); } else { if (qAbs((pos - m_zoneStart) * m_scale) < 4) { setToolTip(i18n("Zone start: %1", m_manager->timecode().getTimecodeFromFrames(m_zoneStart))); } else if (qAbs((pos - m_zoneEnd) * m_scale) < 4) { setToolTip(i18n("Zone end: %1", m_manager->timecode().getTimecodeFromFrames(m_zoneEnd))); } else if (pos > m_zoneStart && pos < m_zoneEnd) { setToolTip(i18n("Zone duration: %1", m_manager->timecode().getTimecodeFromFrames(m_zoneEnd - m_zoneStart))); } else setToolTip(i18n("Position: %1", m_manager->timecode().getTimecodeFromFrames(pos))); } }
// virtual void SmallRuler::mousePressEvent(QMouseEvent * event) { const int pos = event->x() / m_scale; if (event->button() == Qt::RightButton) { // Right button clicked, move selection zone if (qAbs(pos - m_zoneStart) < qAbs(pos - m_zoneEnd)) m_zoneStart = pos; else m_zoneEnd = pos; emit zoneChanged(QPoint(m_zoneStart, m_zoneEnd)); update(); } else emit seekRenderer((int) pos); }
// virtual void SmallRuler::mouseMoveEvent(QMouseEvent * event) { const int pos = event->x() / m_scale; if (event->buttons() & Qt::LeftButton) emit seekRenderer((int) pos); }