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>)));
&& 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();
}
}
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)
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);
}