if (id == Kdenlive::projectMonitor) {
m_effectWidget = new MonitorEditWidget(render, videoBox);
- connect(m_effectWidget, SIGNAL(showEdit(bool)), this, SLOT(slotShowEffectScene(bool)));
+ connect(m_effectWidget, SIGNAL(showEdit(bool, bool)), this, SLOT(slotShowEffectScene(bool, bool)));
m_toolbar->addAction(m_effectWidget->getVisibilityAction());
videoBox->layout()->addWidget(m_effectWidget);
m_effectWidget->hide();
}
-void Monitor::slotShowEffectScene(bool show)
+void Monitor::slotShowEffectScene(bool show, bool manuallyTriggered)
{
if (m_id == Kdenlive::projectMonitor) {
- if (!m_effectWidget->getVisibilityAction()->isChecked()) show = false;
- if (m_effectWidget->isVisible() == show) return;
- setUpdatesEnabled(false);
- if (show) {
- if (videoSurface) {
- videoSurface->setVisible(!show);
- // Preview is handeled internally through the Render::showFrame method
- render->disablePreview(show);
- } else {
+ if (!m_effectWidget->getVisibilityAction()->isChecked())
+ show = false;
+ if (m_effectWidget->isVisible() == show)
+ return;
+ setUpdatesEnabled(false);
+ if (show) {
+ if (videoSurface) {
+ videoSurface->setVisible(false);
+ // Preview is handeled internally through the Render::showFrame method
+ render->disablePreview(true);
#ifdef USE_OPENGL
- m_glWidget->setVisible(!show);
+ } else {
+ m_glWidget->setVisible(false);
#endif
- }
- m_effectWidget->setVisible(show);
+ }
+ m_effectWidget->setVisible(true);
m_effectWidget->getScene()->slotZoomFit();
- emit requestFrameForAnalysis(show);
- }
- else {
- m_effectWidget->setVisible(show);
- emit requestFrameForAnalysis(show);
- if (videoSurface) {
- videoSurface->setVisible(!show);
- // Preview is handeled internally through the Render::showFrame method
- render->disablePreview(show);
- } else {
+ emit requestFrameForAnalysis(true);
+ } else {
+ m_effectWidget->setVisible(false);
+ emit requestFrameForAnalysis(false);
+ if (videoSurface) {
+ videoSurface->setVisible(true);
+ // Preview is handeled internally through the Render::showFrame method
+ render->disablePreview(false);
+
#ifdef USE_OPENGL
- m_glWidget->setVisible(!show);
+ } else {
+ m_glWidget->setVisible(true);
#endif
- }
- }
- m_effectWidget->showVisibilityButton(show);
+ }
+ }
+ if (!manuallyTriggered)
+ m_effectWidget->showVisibilityButton(show);
setUpdatesEnabled(true);
videoBox->setEnabled(show);
//render->doRefresh();