]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
New menu entry to insert monitor zone into timeline
[kdenlive] / src / mainwindow.cpp
index 8ad31a6ff782afa489d50b2e48ad1ddf0679eeab..4a95de14abb492b1f8c532b88713dc00c0210207 100644 (file)
@@ -998,6 +998,16 @@ void MainWindow::setupActions()
     switchMon->setShortcut(Qt::Key_T);
     connect(switchMon, SIGNAL(triggered(bool)), this, SLOT(slotSwitchMonitors()));
 
+    KAction *insertTree = collection->addAction("insert_project_tree");
+    insertTree->setText(i18n("Insert zone in project tree"));
+    insertTree->setShortcut(Qt::CTRL + Qt::Key_I);
+    connect(insertTree, SIGNAL(triggered(bool)), this, SLOT(slotInsertZoneToTree()));
+
+    KAction *insertTimeline = collection->addAction("insert_timeline");
+    insertTimeline->setText(i18n("Insert zone in timeline"));
+    insertTimeline->setShortcut(Qt::SHIFT + Qt::CTRL + Qt::Key_I);
+    connect(insertTimeline, SIGNAL(triggered(bool)), this, SLOT(slotInsertZoneToTimeline()));
+
     KAction *resizeStart =  new KAction(KIcon(), i18n("Resize Item Start"), this);
     collection->addAction("resize_timeline_clip_start", resizeStart);
     resizeStart->setShortcut(Qt::Key_1);
@@ -3221,5 +3231,19 @@ void MainWindow::slotSwitchMonitors()
     else m_projectList->focusTree();
 }
 
+void MainWindow::slotInsertZoneToTree()
+{
+    if (!m_clipMonitor->isActive() || m_clipMonitor->activeClip() == NULL) return;
+    QStringList info = m_clipMonitor->getZoneInfo();
+    m_projectList->slotAddClipCut(info.at(0), info.at(1).toInt(), info.at(2).toInt());
+}
+
+void MainWindow::slotInsertZoneToTimeline()
+{
+    if (m_activeTimeline == NULL || m_clipMonitor->activeClip() == NULL) return;
+    QStringList info = m_clipMonitor->getZoneInfo();
+    m_activeTimeline->projectView()->insertClipCut(m_clipMonitor->activeClip(), info.at(1).toInt(), info.at(2).toInt());
+}
+
 #include "mainwindow.moc"