http://www.kdenlive.org:80/mantis/view.php?id=479
svn path=/branches/KDE4/; revision=2798
d.setWindowTitle(i18n("Insert Track"));
if (d.exec() == QDialog::Accepted) {
d.setWindowTitle(i18n("Insert Track"));
if (d.exec() == QDialog::Accepted) {
- ix = view.track_nb->value();
+ ix = view.track_nb->value();
if (view.before_select->currentIndex() == 1) {
ix++;
}
if (view.before_select->currentIndex() == 1) {
ix++;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui name="kdenlive" version="27">
+<gui name="kdenlive" version="28">
<ToolBar name="extraToolBar" >
<text>Extra Toolbar</text>
<Action name="project_render" />
<ToolBar name="extraToolBar" >
<text>Extra Toolbar</text>
<Action name="project_render" />
</Menu>
<Action name="monitor_seek_backward" />
<Action name="monitor_seek_backward-one-frame" />
</Menu>
<Action name="monitor_seek_backward" />
<Action name="monitor_seek_backward-one-frame" />
+ <Action name="monitor_seek_backward-one-second" />
+ <Action name="monitor_seek_forward-one-second" />
<Action name="monitor_seek_forward-one-frame" />
<Action name="monitor_seek_forward" />
<Separator />
<Action name="monitor_seek_forward-one-frame" />
<Action name="monitor_seek_forward" />
<Separator />
collection->addAction("monitor_seek_backward-one-frame", monitorSeekBackwardOneFrame);
connect(monitorSeekBackwardOneFrame, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotRewindOneFrame()));
collection->addAction("monitor_seek_backward-one-frame", monitorSeekBackwardOneFrame);
connect(monitorSeekBackwardOneFrame, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotRewindOneFrame()));
+ KAction* monitorSeekBackwardOneSecond = new KAction(KIcon("media-skip-backward"), i18n("Rewind 1 Second"), this);
+ monitorSeekBackwardOneSecond->setShortcut(Qt::SHIFT + Qt::Key_Left);
+ collection->addAction("monitor_seek_backward-one-second", monitorSeekBackwardOneSecond);
+ connect(monitorSeekBackwardOneSecond, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotRewindOneSecond()));
+
KAction* monitorSeekSnapBackward = new KAction(KIcon("media-seek-backward"), i18n("Go to Previous Snap Point"), this);
monitorSeekSnapBackward->setShortcut(Qt::ALT + Qt::Key_Left);
collection->addAction("monitor_seek_snap_backward", monitorSeekSnapBackward);
KAction* monitorSeekSnapBackward = new KAction(KIcon("media-seek-backward"), i18n("Go to Previous Snap Point"), this);
monitorSeekSnapBackward->setShortcut(Qt::ALT + Qt::Key_Left);
collection->addAction("monitor_seek_snap_backward", monitorSeekSnapBackward);
collection->addAction("monitor_seek_forward-one-frame", monitorSeekForwardOneFrame);
connect(monitorSeekForwardOneFrame, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotForwardOneFrame()));
collection->addAction("monitor_seek_forward-one-frame", monitorSeekForwardOneFrame);
connect(monitorSeekForwardOneFrame, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotForwardOneFrame()));
+ KAction* monitorSeekForwardOneSecond = new KAction(KIcon("media-skip-forward"), i18n("Forward 1 Second"), this);
+ monitorSeekForwardOneSecond->setShortcut(Qt::SHIFT + Qt::Key_Right);
+ collection->addAction("monitor_seek_forward-one-second", monitorSeekForwardOneSecond);
+ connect(monitorSeekForwardOneSecond, SIGNAL(triggered(bool)), m_monitorManager, SLOT(slotForwardOneSecond()));
+
KAction* monitorSeekSnapForward = new KAction(KIcon("media-seek-forward"), i18n("Go to Next Snap Point"), this);
monitorSeekSnapForward->setShortcut(Qt::ALT + Qt::Key_Right);
collection->addAction("monitor_seek_snap_forward", monitorSeekSnapForward);
KAction* monitorSeekSnapForward = new KAction(KIcon("media-seek-forward"), i18n("Go to Next Snap Point"), this);
monitorSeekSnapForward->setShortcut(Qt::ALT + Qt::Key_Right);
collection->addAction("monitor_seek_snap_forward", monitorSeekSnapForward);
m_playAction->setIcon(m_pauseIcon);
}
m_playAction->setIcon(m_pauseIcon);
}
-void Monitor::slotRewindOneFrame() {
+void Monitor::slotRewindOneFrame(int diff) {
activateMonitor();
render->play(0);
if (m_position < 1) return;
activateMonitor();
render->play(0);
if (m_position < 1) return;
+ m_position -= diff;
+ m_position = qMax(m_position, 0);
checkOverlay();
render->seekToFrame(m_position);
emit renderPosition(m_position);
m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
checkOverlay();
render->seekToFrame(m_position);
emit renderPosition(m_position);
m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
-void Monitor::slotForwardOneFrame() {
+void Monitor::slotForwardOneFrame(int diff) {
activateMonitor();
render->play(0);
if (m_position >= m_length) return;
activateMonitor();
render->play(0);
if (m_position >= m_length) return;
+ m_position += diff;
+ m_position = qMin(m_position, m_length);
checkOverlay();
render->seekToFrame(m_position);
emit renderPosition(m_position);
checkOverlay();
render->seekToFrame(m_position);
emit renderPosition(m_position);
void slotLoopZone();
void slotForward(double speed = 0);
void slotRewind(double speed = 0);
void slotLoopZone();
void slotForward(double speed = 0);
void slotRewind(double speed = 0);
- void slotRewindOneFrame();
- void slotForwardOneFrame();
+ void slotRewindOneFrame(int diff = 1);
+ void slotForwardOneFrame(int diff = 1);
void saveSceneList(QString path, QDomElement info = QDomElement());
void slotStart();
void slotEnd();
void saveSceneList(QString path, QDomElement info = QDomElement());
void slotStart();
void slotEnd();
else m_projectMonitor->slotForwardOneFrame();
}
else m_projectMonitor->slotForwardOneFrame();
}
+void MonitorManager::slotRewindOneSecond() {
+ if (m_clipMonitor->isActive()) m_clipMonitor->slotRewindOneFrame(m_timecode.fps());
+ else m_projectMonitor->slotRewindOneFrame(m_timecode.fps());
+}
+
+void MonitorManager::slotForwardOneSecond() {
+ if (m_clipMonitor->isActive()) m_clipMonitor->slotForwardOneFrame(m_timecode.fps());
+ else m_projectMonitor->slotForwardOneFrame(m_timecode.fps());
+}
+
void MonitorManager::slotStart() {
if (m_clipMonitor->isActive()) m_clipMonitor->slotStart();
else m_projectMonitor->slotStart();
void MonitorManager::slotStart() {
if (m_clipMonitor->isActive()) m_clipMonitor->slotStart();
else m_projectMonitor->slotStart();
void slotForward(double speed = 0);
void slotRewindOneFrame();
void slotForwardOneFrame();
void slotForward(double speed = 0);
void slotRewindOneFrame();
void slotForwardOneFrame();
+ void slotRewindOneSecond();
+ void slotForwardOneSecond();
void slotStart();
void slotEnd();
void slotResetProfiles();
void slotStart();
void slotEnd();
void slotResetProfiles();