]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
Fix project tree butons update when adding/removing clips
[kdenlive] / src / mainwindow.cpp
index 8dc36617608d20851ae19deb06d9d7dc3fde9e60..82843be02ad1acf5f3f999dc04acc6eef99585da 100644 (file)
@@ -426,7 +426,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
 
     m_monitorManager->initMonitors(m_clipMonitor, m_projectMonitor);
     slotConnectMonitors();
-    
+
     // Disable drop B frames, see Kdenlive issue #1330, see also kdenlivesettingsdialog.cpp
     KdenliveSettings::setDropbframes(false);
 
@@ -705,6 +705,7 @@ void MainWindow::slotConnectMonitors()
 
     m_projectList->setRenderer(m_projectMonitor->render);
     //connect(m_projectList, SIGNAL(receivedClipDuration(const QString &)), this, SLOT(slotUpdateClip(const QString &)));
+    connect(m_projectList, SIGNAL(deleteProjectClips(QStringList, QMap<QString, QString>)), this, SLOT(slotDeleteProjectClips(QStringList, QMap<QString, QString>)));
     connect(m_projectList, SIGNAL(showClipProperties(DocClipBase *)), this, SLOT(slotShowClipProperties(DocClipBase *)));
     connect(m_projectList, SIGNAL(showClipProperties(QList <DocClipBase *>, QMap<QString, QString>)), this, SLOT(slotShowClipProperties(QList <DocClipBase *>, QMap<QString, QString>)));
     connect(m_projectList, SIGNAL(getFileProperties(const QDomElement, const QString &, int, bool)), m_projectMonitor->render, SLOT(getFileProperties(const QDomElement, const QString &, int, bool)));
@@ -3164,6 +3165,7 @@ void MainWindow::slotUpdateTimecodeFormat(int ix)
     KdenliveSettings::setFrametimecode(ix == 1);
     m_clipMonitor->updateTimecodeFormat();
     m_projectMonitor->updateTimecodeFormat();
+    m_activeTimeline->projectView()->clearSelection();
 }
 
 void MainWindow::slotRemoveFocus()
@@ -3290,5 +3292,16 @@ void MainWindow::slotInsertZoneToTimeline()
     m_activeTimeline->projectView()->insertClipCut(m_clipMonitor->activeClip(), info.at(1).toInt(), info.at(2).toInt());
 }
 
+
+void MainWindow::slotDeleteProjectClips(QStringList ids, QMap<QString, QString> folderids)
+{
+    for (int i = 0; i < ids.size(); ++i) {
+        m_activeTimeline->slotDeleteClip(ids.at(i));
+    }
+    m_activeDocument->clipManager()->slotDeleteClips(ids);
+    if (!folderids.isEmpty()) m_projectList->deleteProjectFolder(folderids);
+
+}
+
 #include "mainwindow.moc"