]> git.sesse.net Git - kdenlive/commitdiff
- Try to fix "del" deleting the clip instead of effect when effectstack is focused...
authorTill Theato <root@ttill.de>
Fri, 14 May 2010 07:48:19 +0000 (07:48 +0000)
committerTill Theato <root@ttill.de>
Fri, 14 May 2010 07:48:19 +0000 (07:48 +0000)
(http://kdenlive.org/mantis/view.php?id=1496)

svn path=/trunk/kdenlive/; revision=4437

src/effectstackview.h
src/mainwindow.cpp
src/mainwindow.h

index b965e492c032168416cc724e3fe142eeef962c73..3b31042d1db7c69bea88f45df5c8e3d4ed2a7e78 100644 (file)
  *                                                                         *
  ***************************************************************************/
 
+/**
+* @class EffectStackView
+* @brief View part of the EffectStack
+* @author Marco Gittler
+*/
+
 #ifndef EFFECTSTACKVIEW_H
 #define EFFECTSTACKVIEW_H
 
@@ -48,12 +54,13 @@ private:
 public slots:
     void slotClipItemSelected(ClipItem*, int ix);
     void slotUpdateEffectParams(const QDomElement, const QDomElement);
+    /** @brief Remove selected effect. */
+    void slotItemDel();
 
 private slots:
     void slotItemSelectionChanged(bool update = true);
     void slotItemUp();
     void slotItemDown();
-    void slotItemDel();
     void slotResetEffect();
     void slotItemChanged(QListWidgetItem *item);
     void slotSaveEffect();
index 7abcf53436aa3ebf39779e5c01f9a868a9410056..7c97a3daa59cd7e4e87713633b6941f421e41784 100644 (file)
@@ -408,7 +408,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
 
     m_timelineContextClipMenu->addAction(actionCollection()->action("clip_in_project_tree"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("edit_item_duration"));
-    m_timelineContextClipMenu->addAction(actionCollection()->action("delete_timeline_clip"));
+    m_timelineContextClipMenu->addAction(actionCollection()->action("delete_item"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("group_clip"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("ungroup_clip"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("cut_timeline_clip"));
@@ -425,7 +425,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
     m_timelineContextClipMenu->addMenu(m_customEffectsMenu);
 
     m_timelineContextTransitionMenu->addAction(actionCollection()->action("edit_item_duration"));
-    m_timelineContextTransitionMenu->addAction(actionCollection()->action("delete_timeline_clip"));
+    m_timelineContextTransitionMenu->addAction(actionCollection()->action("delete_item"));
     m_timelineContextTransitionMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Copy)));
 
     m_timelineContextTransitionMenu->addAction(actionCollection()->action("auto_transition"));
@@ -1119,10 +1119,10 @@ void MainWindow::setupActions()
     collection->addAction("monitor_seek_snap_forward", monitorSeekSnapForward);
     connect(monitorSeekSnapForward, SIGNAL(triggered(bool)), this, SLOT(slotSnapForward()));
 
-    KAction* deleteTimelineClip = new KAction(KIcon("edit-delete"), i18n("Delete Selected Item"), this);
-    deleteTimelineClip->setShortcut(Qt::Key_Delete);
-    collection->addAction("delete_timeline_clip", deleteTimelineClip);
-    connect(deleteTimelineClip, SIGNAL(triggered(bool)), this, SLOT(slotDeleteTimelineClip()));
+    KAction* deleteItem = new KAction(KIcon("edit-delete"), i18n("Delete Selected Item"), this);
+    deleteItem->setShortcut(Qt::Key_Delete);
+    collection->addAction("delete_timeline_clip", deleteItem);
+    connect(deleteItem, SIGNAL(triggered(bool)), this, SLOT(slotDeleteItem()));
 
     /*KAction* editTimelineClipSpeed = new KAction(i18n("Change Clip Speed"), this);
     collection->addAction("change_clip_speed", editTimelineClipSpeed);
@@ -2230,10 +2230,24 @@ void MainWindow::slotSwitchSnap()
 }
 
 
-void MainWindow::slotDeleteTimelineClip()
+void MainWindow::slotDeleteItem()
 {
-    if (QApplication::focusWidget() && QApplication::focusWidget()->parentWidget() && QApplication::focusWidget()->parentWidget()->parentWidget() && QApplication::focusWidget()->parentWidget()->parentWidget() == m_projectListDock) m_projectList->slotRemoveClip();
-    else if (m_activeTimeline) {
+    if (QApplication::focusWidget()
+        && QApplication::focusWidget()->parentWidget()
+        && QApplication::focusWidget()->parentWidget()->parentWidget()
+        && 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 if (m_activeTimeline) {
         m_activeTimeline->projectView()->deleteSelectedClips();
     }
 }
index 27fa7d88d67a265c7311b6a5ebd68ee41b803949..e3ce183523c1e4e87f6b825ca03d32d5e125c04b 100644 (file)
@@ -259,7 +259,8 @@ private slots:
     void slotZoomOut();
     void slotFitZoom();
     void closeCurrentDocument(bool saveChanges = true);
-    void slotDeleteTimelineClip();
+    /** @brief Delete item in timeline, project tree or effect stack depending on focus. */
+    void slotDeleteItem();
     void slotAddClipMarker();
     void slotDeleteClipMarker();
     void slotDeleteAllClipMarkers();