From c606c0c86a1bdcf195be78583ea2b612ef3d3c4e Mon Sep 17 00:00:00 2001 From: Jeremy Bullock Date: Feb 27 2017 06:44:40 +0000 Subject: Added new scrubbing options (#994) --- diff --git a/toonz/sources/toonz/sceneviewerevents.cpp b/toonz/sources/toonz/sceneviewerevents.cpp index 7a7a924..9d7f76e 100644 --- a/toonz/sources/toonz/sceneviewerevents.cpp +++ b/toonz/sources/toonz/sceneviewerevents.cpp @@ -390,6 +390,14 @@ void SceneViewer::mouseMoveEvent(QMouseEvent *event) { if ((event->buttons() & Qt::MidButton) == 0) m_mouseButton = Qt::NoButton; else + // scrub with shift and middle click + if (event->modifiers() & Qt::ShiftModifier) { + if (curPos.x() > m_pos.x()) { + CommandManager::instance()->execute("MI_NextFrame"); + } else if (curPos.x() < m_pos.x()) { + CommandManager::instance()->execute("MI_PrevFrame"); + } + } else // panning panQt(curPos - m_pos); m_pos = curPos; @@ -592,7 +600,28 @@ void SceneViewer::wheelEvent(QWheelEvent *event) { } // end switch if (abs(delta) > 0) { - zoomQt(event->pos(), exp(0.001 * delta)); + // scrub with mouse wheel + if ((event->modifiers() & Qt::ControlModifier) && + (event->modifiers() & Qt::ShiftModifier)) { + if (delta < 0) { + CommandManager::instance()->execute("MI_NextStep"); + } else if (delta > 0) { + CommandManager::instance()->execute("MI_PrevStep"); + } + } else if (event->modifiers() & Qt::ShiftModifier) { + if (delta < 0) { + CommandManager::instance()->execute("MI_NextFrame"); + } else if (delta > 0) { + CommandManager::instance()->execute("MI_PrevFrame"); + } + } else if (event->modifiers() & Qt::ControlModifier) { + if (delta < 0) { + CommandManager::instance()->execute("MI_NextDrawing"); + } else if (delta > 0) { + CommandManager::instance()->execute("MI_PrevDrawing"); + } + } else + zoomQt(event->pos(), exp(0.001 * delta)); } event->accept(); }