From 166bcc9f67827ac012c26e39621714516ccc1ac3 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Wed, 12 Dec 2012 01:29:44 +0100 Subject: [PATCH] Fix the jkl keys for forward/backwards/pause monitor: http://www.kdenlive.org/mantis/view.php?id=2869 --- src/mainwindow.cpp | 6 ++---- src/monitor.cpp | 32 ++++++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d636135a..1cd2f9a0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1254,14 +1254,12 @@ void MainWindow::setupActions() connect(projectAdjust, SIGNAL(triggered(bool)), m_projectList, SLOT(adjustProjectProfileToItem())); KAction* monitorPlay = new KAction(KIcon("media-playback-start"), i18n("Play"), this); - KShortcut playShortcut; - playShortcut.setPrimary(Qt::Key_Space); - playShortcut.setAlternate(Qt::Key_K); - monitorPlay->setShortcut(playShortcut); + monitorPlay->setShortcut(Qt::Key_Space); collection.addAction("monitor_play", monitorPlay); connect(monitorPlay, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotPlay())); KAction* monitorPause = new KAction(KIcon("media-playback-stop"), i18n("Pause"), this); + monitorPause->setShortcut(Qt::Key_K); collection.addAction("monitor_pause", monitorPause); connect(monitorPause, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotPause())); diff --git a/src/monitor.cpp b/src/monitor.cpp index 9a08767e..3242e71e 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -673,8 +673,20 @@ void Monitor::slotRewind(double speed) slotActivateMonitor(); if (speed == 0) { double currentspeed = render->playSpeed(); - if (currentspeed >= 0) render->play(-2); - else render->play(currentspeed * 2); + if (currentspeed >= 0) render->play(-1); + else switch((int) currentspeed) { + case -1: + render->play(-2); + break; + case -2: + render->play(-3); + break; + case -3: + render->play(-5); + break; + default: + render->play(-8); + } } else render->play(speed); //m_playAction->setChecked(true); m_playAction->setIcon(m_pauseIcon); @@ -685,8 +697,20 @@ void Monitor::slotForward(double speed) slotActivateMonitor(); if (speed == 0) { double currentspeed = render->playSpeed(); - if (currentspeed <= 1) render->play(2); - else render->play(currentspeed * 2); + if (currentspeed <= 0) render->play(1); + else switch((int) currentspeed) { + case 1: + render->play(2); + break; + case 2: + render->play(3); + break; + case 3: + render->play(5); + break; + default: + render->play(8); + } } else render->play(speed); //m_playAction->setChecked(true); m_playAction->setIcon(m_pauseIcon); -- 2.39.2