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>)));
actionWidget->setStyleSheet(styleBorderless);
connect(m_zoomSlider, SIGNAL(valueChanged(int)), this, SLOT(slotSetZoom(int)));
- connect(m_zoomSlider, SIGNAL(sliderMoved(int)), this, SLOT(slotShowZoomSliderToolTip(int)));
+ connect(m_zoomSlider, SIGNAL(sliderMoved(int)), this, SLOT(slotShowZoomSliderToolTip(int)));
connect(m_buttonFitZoom, SIGNAL(triggered()), this, SLOT(slotFitZoom()));
connect(m_zoomIn, SIGNAL(triggered(bool)), this, SLOT(slotZoomIn()));
connect(m_zoomOut, SIGNAL(triggered(bool)), this, SLOT(slotZoomOut()));
&& 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();
}
}
m_zoomOut->setEnabled(value < m_zoomSlider->maximum());
m_zoomIn->setEnabled(value > m_zoomSlider->minimum());
- slotUpdateZoomSliderToolTip(value);
+ slotUpdateZoomSliderToolTip(value);
m_zoomSlider->blockSignals(true);
m_zoomSlider->setValue(value);
QPoint global = m_zoomSlider->rect().topLeft();
global.ry() += m_zoomSlider->height() / 2;
QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), m_zoomSlider->mapToGlobal(global));
- QApplication::sendEvent(m_zoomSlider, &toolTipEvent);
+ QApplication::sendEvent(m_zoomSlider, &toolTipEvent);
}
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)
{
- for (int i = 0; i < ids.size(); ++i) {
- m_activeTimeline->slotDeleteClip(ids.at(i));
+ if (m_activeDocument && m_activeTimeline) {
+ if (!ids.isEmpty()) {
+ 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);
+ m_activeDocument->setModified(true);
}
- m_activeDocument->clipManager()->slotDeleteClips(ids);
- if (!folderids.isEmpty()) m_projectList->deleteProjectFolder(folderids);
-
}
void MainWindow::slotShowTitleBars(bool show)