]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
Introduce video thumbnail for each frame when zooming at max level (causes slowdown...
[kdenlive] / src / mainwindow.cpp
index 0bbebd820a9168025f2f0b613f3ee0237d0ecf92..e9a896760c55ab966d5b53ee2cf17cada2e0922a 100644 (file)
@@ -663,7 +663,6 @@ void MainWindow::slotUpdateClip(const QString &id)
 
 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>)));
@@ -2230,17 +2229,19 @@ void MainWindow::slotDeleteItem()
             && QApplication::focusWidget()->parentWidget()->parentWidget() == m_projectListDock) {
         m_projectList->slotRemoveClip();
 
-    } else if (QApplication::focusWidget()
-               && QApplication::focusWidget()->parentWidget()
-               && QApplication::focusWidget()->parentWidget()->parentWidget()
-               && QApplication::focusWidget()->parentWidget()->parentWidget()->parentWidget()
-               && QApplication::focusWidget()->parentWidget()->parentWidget()->parentWidget()->parentWidget()
-               && QApplication::focusWidget()->parentWidget()->parentWidget()->parentWidget()->parentWidget() == m_effectStackDock) {
-        // TODO: also delete effect when an effect widget (slider, geomtryval, ...) has focus
-        m_effectStack->slotItemDel();
+    } else {
+        QWidget *widget = QApplication::focusWidget();
+        while (widget) {
+            if (widget == m_effectStackDock) {
+                m_effectStack->slotItemDel();
+                return;
+            }
+            widget = widget->parentWidget();
+        }
 
-    } else if (m_activeTimeline) {
-        m_activeTimeline->projectView()->deleteSelectedClips();
+        // effect stack has no focus
+        if (m_activeTimeline)
+            m_activeTimeline->projectView()->deleteSelectedClips();
     }
 }
 
@@ -2596,7 +2597,7 @@ void MainWindow::slotShowZoomSliderToolTip(int zoomlevel)
 
 void MainWindow::slotUpdateZoomSliderToolTip(int zoomlevel)
 {
-    m_zoomSlider->setToolTip(i18n("Zoom Level: %1/13", zoomlevel));
+    m_zoomSlider->setToolTip(i18n("Zoom Level: %1/13", (13 - zoomlevel)));
 }
 
 void MainWindow::slotGotProgressInfo(const QString &message, int progress)
@@ -3447,10 +3448,12 @@ void MainWindow::slotInsertZoneToTimeline()
 void MainWindow::slotDeleteProjectClips(QStringList ids, QMap<QString, QString> folderids)
 {
     if (m_activeDocument && m_activeTimeline) {
-        for (int i = 0; i < ids.size(); ++i) {
-            m_activeTimeline->slotDeleteClip(ids.at(i));
+        if (!ids.isEmpty()) {
+            for (int i = 0; i < ids.size(); ++i) {
+                m_activeTimeline->slotDeleteClip(ids.at(i));
+            }
+            m_activeDocument->clipManager()->slotDeleteClips(ids);
         }
-        m_activeDocument->clipManager()->slotDeleteClips(ids);
         if (!folderids.isEmpty()) m_projectList->deleteProjectFolder(folderids);
         m_activeDocument->setModified(true);
     }