From: Till Theato Date: Sat, 22 May 2010 07:45:27 +0000 (+0000) Subject: Delete selected effect instead of clip when effect stack has focus: X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=81e742aa4f679479196723c4aa9f1dd6154bbae6;p=kdenlive Delete selected effect instead of clip when effect stack has focus: http://kdenlive.org/mantis/view.php?id=1496 svn path=/trunk/kdenlive/; revision=4468 --- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 036e98fc..e9a89676 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2229,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 if (m_activeTimeline) { - m_activeTimeline->projectView()->deleteSelectedClips(); + } else { + QWidget *widget = QApplication::focusWidget(); + while (widget) { + if (widget == m_effectStackDock) { + m_effectStack->slotItemDel(); + return; + } + widget = widget->parentWidget(); + } + + // effect stack has no focus + if (m_activeTimeline) + m_activeTimeline->projectView()->deleteSelectedClips(); } }