From 19c95e56d8632b24eb7ecb14f542d684eac5f6cb Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 17 Apr 2012 23:03:31 +0200 Subject: [PATCH] Cleanup effect stack (part 2) - show monitor scene when required --- src/cornerswidget.cpp | 2 -- src/cornerswidget.h | 5 +-- src/effectstack/collapsibleeffect.cpp | 2 +- src/effectstack/collapsibleeffect.h | 2 +- src/effectstack/effectstackview2.cpp | 48 ++++++++++++++++++-------- src/effectstack/effectstackview2.h | 2 ++ src/effectstack/parametercontainer.cpp | 13 +++---- src/effectstack/parametercontainer.h | 3 +- src/effectstackedit.cpp | 11 +++--- src/effectstackedit.h | 4 +-- src/geometrywidget.cpp | 2 -- src/geometrywidget.h | 4 +-- src/monitor.cpp | 2 ++ src/rotoscoping/rotowidget.cpp | 1 - src/transitionsettings.cpp | 30 ++++++++++------ 15 files changed, 81 insertions(+), 50 deletions(-) diff --git a/src/cornerswidget.cpp b/src/cornerswidget.cpp index 1b9fd5dd..6454a7c0 100644 --- a/src/cornerswidget.cpp +++ b/src/cornerswidget.cpp @@ -58,7 +58,6 @@ CornersWidget::CornersWidget(Monitor *monitor, QDomElement e, int minFrame, int true, KdenliveSettings::onmonitoreffects_cornersshowlines()); connect(edit, SIGNAL(showEdit(bool)), this, SLOT(slotShowScene(bool))); - connect(m_monitor, SIGNAL(renderPosition(int)), this, SLOT(slotCheckMonitorPosition(int))); connect(m_item, SIGNAL(changed()), this, SLOT(slotUpdateProperties())); connect(m_scene, SIGNAL(addKeyframe()), this, SLOT(slotInsertKeyframe())); @@ -74,7 +73,6 @@ CornersWidget::~CornersWidget() MonitorEditWidget *edit = m_monitor->getEffectEdit(); edit->showVisibilityButton(false); edit->removeCustomControls(); - m_monitor->slotShowEffectScene(false); } } diff --git a/src/cornerswidget.h b/src/cornerswidget.h index d71f656c..9b8351ad 100644 --- a/src/cornerswidget.h +++ b/src/cornerswidget.h @@ -46,8 +46,6 @@ public: virtual void addParameter(QDomElement e, int activeKeyframe = -1); public slots: - /** @brief Switches from normal monitor to monitor scene according to @param show. */ - void slotShowScene(bool show = true); /** @brief Updates the on-monitor item. */ void slotSyncPosition(int relTimelinePos); @@ -79,6 +77,9 @@ private slots: /** @brief Shows/Hides additional controls on the monitor according to @param show. */ void slotShowControls(bool show = true); + + /** @brief Switches from normal monitor to monitor scene according to @param show. */ + void slotShowScene(bool show = true); signals: void checkMonitorPosition(int); diff --git a/src/effectstack/collapsibleeffect.cpp b/src/effectstack/collapsibleeffect.cpp index 8495d546..85b36c4a 100644 --- a/src/effectstack/collapsibleeffect.cpp +++ b/src/effectstack/collapsibleeffect.cpp @@ -576,7 +576,7 @@ void CollapsibleEffect::adjustButtons(int ix, int max) buttonDown->setVisible(ix < max - 1); } -bool CollapsibleEffect::needsMonitorEffectScene() +bool CollapsibleEffect::needsMonitorEffectScene() const { return m_paramWidget->needsMonitorEffectScene(); } diff --git a/src/effectstack/collapsibleeffect.h b/src/effectstack/collapsibleeffect.h index e9a5ec9f..0572f7e1 100644 --- a/src/effectstack/collapsibleeffect.h +++ b/src/effectstack/collapsibleeffect.h @@ -72,7 +72,7 @@ public: /** @brief Show / hide up / down buttons. */ void adjustButtons(int ix, int max); /** @brief Returns true of this effect requires an on monitor adjustable effect scene. */ - bool needsMonitorEffectScene(); + bool needsMonitorEffectScene() const; public slots: void slotSyncEffectsPos(int pos); diff --git a/src/effectstack/effectstackview2.cpp b/src/effectstack/effectstackview2.cpp index b2aa5de2..a7d21662 100644 --- a/src/effectstack/effectstackview2.cpp +++ b/src/effectstack/effectstackview2.cpp @@ -85,6 +85,7 @@ void EffectStackView2::updatePalette() void EffectStackView2::slotRenderPos(int pos) { if (m_effects.isEmpty()) return; + slotCheckMonitorPosition(pos); if (!m_effectMetaInfo.trackMode && m_clipref) pos = pos - m_clipref->startPos().frames(KdenliveSettings::project_fps()); for (int i = 0; i< m_effects.count(); i++) @@ -160,8 +161,6 @@ void EffectStackView2::setupListView() QVBoxLayout *vbox1 = new QVBoxLayout(view); vbox1->setContentsMargins(0, 0, 0, 0); vbox1->setSpacing(0); - - if (m_currentEffectList.isEmpty()) m_ui.labelComment->setHidden(true); for (int i = 0; i < m_currentEffectList.count(); i++) { QDomElement d = m_currentEffectList.at(i).cloneNode().toElement(); @@ -226,15 +225,20 @@ void EffectStackView2::setupListView() connectEffect(currentEffect); } - // Adjust group effects (up / down buttons) - QList allGroups = m_ui.container->widget()->findChildren(); - for (int i = 0; i < allGroups.count(); i++) { - allGroups.at(i)->adjustEffects(); + if (m_currentEffectList.isEmpty()) { + m_ui.labelComment->setHidden(true); + } + else { + // Adjust group effects (up / down buttons) + QList allGroups = m_ui.container->widget()->findChildren(); + for (int i = 0; i < allGroups.count(); i++) { + allGroups.at(i)->adjustEffects(); + } + connect(m_effectMetaInfo.monitor, SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int))); } vbox1->addStretch(10); slotUpdateCheckAllButton(); - connect(m_effectMetaInfo.monitor, SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int))); // Wait a little bit for the new layout to be ready, then check if we have a scrollbar QTimer::singleShot(200, this, SLOT(slotCheckWheelEventFilter())); @@ -252,7 +256,6 @@ void EffectStackView2::connectEffect(CollapsibleEffect *currentEffect) connect(currentEffect, SIGNAL(changeEffectPosition(QList ,bool)), this , SLOT(slotMoveEffectUp(QList ,bool))); connect(currentEffect, SIGNAL(effectStateChanged(bool,int,bool)), this, SLOT(slotUpdateEffectState(bool,int,bool))); connect(currentEffect, SIGNAL(activateEffect(int)), this, SLOT(slotSetCurrentEffect(int))); - connect(currentEffect, SIGNAL(checkMonitorPosition(int)), this, SLOT(slotCheckMonitorPosition(int))); connect(currentEffect, SIGNAL(seekTimeline(int)), this , SLOT(slotSeekTimeline(int))); connect(currentEffect, SIGNAL(createGroup(int)), this , SLOT(slotCreateGroup(int))); connect(currentEffect, SIGNAL(moveEffect(QList,int,int,QString)), this , SLOT(slotMoveEffect(QList,int,int,QString))); @@ -406,12 +409,18 @@ void EffectStackView2::slotSeekTimeline(int pos) void EffectStackView2::slotCheckMonitorPosition(int renderPos) { - if (m_effectMetaInfo.trackMode || (m_clipref && renderPos >= m_clipref->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_clipref->endPos().frames(KdenliveSettings::project_fps()))) { - if (!m_effectMetaInfo.monitor->effectSceneDisplayed()) - //if (!m_effectMetaInfo.monitor->getEffectEdit()->getScene()->views().at(0)->isVisible()) - m_effectMetaInfo.monitor->slotShowEffectScene(true); - } else { - m_effectMetaInfo.monitor->slotShowEffectScene(false); + CollapsibleEffect *current = currentEffect(); + if (current && current->needsMonitorEffectScene()) { + if (m_effectMetaInfo.trackMode || (m_clipref && renderPos >= m_clipref->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_clipref->endPos().frames(KdenliveSettings::project_fps()))) { + if (!m_effectMetaInfo.monitor->effectSceneDisplayed()) { + m_effectMetaInfo.monitor->slotShowEffectScene(true); + } + } else { + m_effectMetaInfo.monitor->slotShowEffectScene(false); + } + } + else { + m_effectMetaInfo.monitor->slotShowEffectScene(false); } } @@ -522,8 +531,9 @@ void EffectStackView2::slotSetCurrentEffect(int ix) m_clipref->setSelectedEffect(ix); for (int i = 0; i < m_effects.count(); i++) { if (m_effects.at(i)->effectIndex() == ix) { + if (m_effects.at(i)->isActive()) return; m_effects.at(i)->setActive(true); - m_effectMetaInfo.monitor->slotShowEffectScene(m_effects.at(i)->needsMonitorEffectScene()); + slotCheckMonitorPosition(m_effectMetaInfo.monitor->render->seekFramePosition()); m_ui.labelComment->setText(i18n(m_effects.at(i)->effect().firstChildElement("description").firstChildElement("full").text().toUtf8().data())); m_ui.labelComment->setHidden(!m_ui.buttonShowComments->isChecked() || m_ui.labelComment->text().isEmpty()); } @@ -532,6 +542,14 @@ void EffectStackView2::slotSetCurrentEffect(int ix) } } +CollapsibleEffect *EffectStackView2::currentEffect() const +{ + for (int i = 0; i < m_effects.count(); i++) { + if (m_effects.at(i)->isActive()) return m_effects.at(i); + } + return NULL; +} + void EffectStackView2::slotDeleteGroup(QDomDocument doc) { QDomNodeList effects = doc.elementsByTagName("effect"); diff --git a/src/effectstack/effectstackview2.h b/src/effectstack/effectstackview2.h index d6e0e9b1..1166fa8d 100644 --- a/src/effectstack/effectstackview2.h +++ b/src/effectstack/effectstackview2.h @@ -119,6 +119,8 @@ private: void connectEffect(CollapsibleEffect *currentEffect); /** @brief Connect a group to its signals. */ void connectGroup(CollapsibleGroup *group); + /** @brief Returns the currentl active effect. */ + CollapsibleEffect *currentEffect() const; public slots: /** @brief Sets the clip whose effect list should be managed. diff --git a/src/effectstack/parametercontainer.cpp b/src/effectstack/parametercontainer.cpp index 97e1cfbe..40d617f1 100644 --- a/src/effectstack/parametercontainer.cpp +++ b/src/effectstack/parametercontainer.cpp @@ -98,7 +98,8 @@ ParameterContainer::ParameterContainer(QDomElement effect, ItemInfo info, Effect m_keyframeEditor(NULL), m_geometryWidget(NULL), m_metaInfo(metaInfo), - m_effect(effect) + m_effect(effect), + m_needsMonitorEffectScene(false) { m_in = info.cropStart.frames(KdenliveSettings::project_fps()); m_out = (info.cropStart + info.cropDuration).frames(KdenliveSettings::project_fps()) - 1; @@ -214,9 +215,9 @@ ParameterContainer::ParameterContainer(QDomElement effect, ItemInfo info, Effect connect(pl, SIGNAL(parameterChanged()), this, SLOT(slotCollectAllParameters())); } else if (type == "geometry") { if (KdenliveSettings::on_monitor_effects()) { + m_needsMonitorEffectScene = true; m_geometryWidget = new GeometryWidget(m_metaInfo->monitor, m_metaInfo->timecode, 0, true, effect.hasAttribute("showrotation"), parent); m_geometryWidget->setFrameSize(m_metaInfo->frameSize); - m_geometryWidget->slotShowScene(!disable); // connect this before setupParam to make sure the monitor scene shows up at startup connect(m_geometryWidget, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int))); connect(m_geometryWidget, SIGNAL(parameterChanged()), this, SLOT(slotCollectAllParameters())); @@ -251,7 +252,7 @@ ParameterContainer::ParameterContainer(QDomElement effect, ItemInfo info, Effect if (pa.attribute("widget") == "corners") { // we want a corners-keyframe-widget CornersWidget *corners = new CornersWidget(m_metaInfo->monitor, pa, m_in, m_out, m_metaInfo->timecode, e.attribute("active_keyframe", "-1").toInt(), parent); - corners->slotShowScene(!disable); + m_needsMonitorEffectScene = true; connect(corners, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int))); connect(this, SIGNAL(effectStateChanged(bool)), corners, SLOT(slotShowScene(bool))); connect(this, SIGNAL(syncEffectsPos(int)), corners, SLOT(slotSyncPosition(int))); @@ -340,8 +341,8 @@ ParameterContainer::ParameterContainer(QDomElement effect, ItemInfo info, Effect meetDependency(paramName, type, EffectsList::parameter(e, depends)); #ifdef USE_QJSON } else if (type == "roto-spline") { + m_needsMonitorEffectScene = true; RotoWidget *roto = new RotoWidget(value, m_metaInfo->monitor, info, m_metaInfo->timecode, parent); - roto->slotShowScene(!disable); connect(roto, SIGNAL(valueChanged()), this, SLOT(slotCollectAllParameters())); connect(roto, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int))); connect(roto, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int))); @@ -836,7 +837,7 @@ void ParameterContainer::clearLayout(QLayout *layout) } } -bool ParameterContainer::needsMonitorEffectScene() +bool ParameterContainer::needsMonitorEffectScene() const { - return true; + return m_needsMonitorEffectScene; } diff --git a/src/effectstack/parametercontainer.h b/src/effectstack/parametercontainer.h index b428f0d4..c41c9da8 100644 --- a/src/effectstack/parametercontainer.h +++ b/src/effectstack/parametercontainer.h @@ -65,7 +65,7 @@ public: void updateProjectFormat(MltVideoProfile profile, Timecode t); void updateParameter(const QString &key, const QString &value); /** @brief Returns true of this effect requires an on monitor adjustable effect scene. */ - bool needsMonitorEffectScene(); + bool needsMonitorEffectScene() const; private slots: void slotCollectAllParameters(); @@ -92,6 +92,7 @@ private: EffectMetaInfo *m_metaInfo; QDomElement m_effect; QVBoxLayout *m_vbox; + bool m_needsMonitorEffectScene; signals: void parameterChanged(const QDomElement, const QDomElement, int); diff --git a/src/effectstackedit.cpp b/src/effectstackedit.cpp index 85f6a2b1..168486d9 100644 --- a/src/effectstackedit.cpp +++ b/src/effectstackedit.cpp @@ -18,6 +18,7 @@ #include "effectstackedit.h" #include "effectstack/effectstackview2.h" #include "effectslist.h" +#include "monitor.h" #include "kdenlivesettings.h" #include @@ -40,8 +41,6 @@ EffectStackEdit::EffectStackEdit(Monitor *monitor, QWidget *parent) : QScrollArea(parent), - m_in(0), - m_out(0), m_paramWidget(NULL) { m_baseWidget = new QWidget(this); @@ -159,7 +158,6 @@ void EffectStackEdit::transferParamDesc(const QDomElement &d, ItemInfo info, boo connect (m_paramWidget, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int))); connect (m_paramWidget, SIGNAL(seekTimeline(int)), this, SIGNAL(seekTimeline(int))); - Q_FOREACH( QSpinBox * sp, m_baseWidget->findChildren() ) { sp->installEventFilter( this ); sp->setFocusPolicy( Qt::StrongFocus ); @@ -172,8 +170,6 @@ void EffectStackEdit::transferParamDesc(const QDomElement &d, ItemInfo info, boo cb->installEventFilter( this ); cb->setFocusPolicy( Qt::StrongFocus ); } - - return; } void EffectStackEdit::slotSyncEffectsPos(int pos) @@ -181,5 +177,10 @@ void EffectStackEdit::slotSyncEffectsPos(int pos) emit syncEffectsPos(pos); } +bool EffectStackEdit::needsMonitorEffectScene() const +{ + if (!m_paramWidget) return false; + return m_paramWidget->needsMonitorEffectScene(); +} diff --git a/src/effectstackedit.h b/src/effectstackedit.h index e6b5efbd..6e73aaf9 100644 --- a/src/effectstackedit.h +++ b/src/effectstackedit.h @@ -54,10 +54,10 @@ public: Monitor *monitor(); /** @brief Install event filter so that scrolling with mouse wheel does not change parameter value. */ virtual bool eventFilter( QObject * o, QEvent * e ); + /** @brief Returns true if this transition requires an on monitor scene. */ + bool needsMonitorEffectScene() const; private: - int m_in; - int m_out; Monitor *m_monitor; EffectMetaInfo m_metaInfo; QWidget *m_baseWidget; diff --git a/src/geometrywidget.cpp b/src/geometrywidget.cpp index d654a799..f526a79f 100644 --- a/src/geometrywidget.cpp +++ b/src/geometrywidget.cpp @@ -229,7 +229,6 @@ GeometryWidget::GeometryWidget(Monitor* monitor, Timecode timecode, int clipPos, connect(edit, SIGNAL(showEdit(bool)), this, SLOT(slotShowScene(bool))); connect(m_scene, SIGNAL(addKeyframe()), this, SLOT(slotAddKeyframe())); - connect(m_monitor, SIGNAL(renderPosition(int)), this, SLOT(slotCheckMonitorPosition(int))); connect(this, SIGNAL(parameterChanged()), this, SLOT(slotUpdateProperties())); } @@ -255,7 +254,6 @@ GeometryWidget::~GeometryWidget() } if (m_monitor) { m_monitor->getEffectEdit()->showVisibilityButton(false); - m_monitor->slotShowEffectScene(false); } } diff --git a/src/geometrywidget.h b/src/geometrywidget.h index 65681b31..d22171bf 100644 --- a/src/geometrywidget.h +++ b/src/geometrywidget.h @@ -67,8 +67,6 @@ public slots: void setupParam(const QDomElement elem, int minframe, int maxframe); /** @brief Updates position of the local timeline to @param relTimelinePos. */ void slotSyncPosition(int relTimelinePos); - /** @brief Switches from normal monitor to monitor scene according to @param show. */ - void slotShowScene(bool show = true); private: Ui::GeometryWidget_UI m_ui; @@ -172,6 +170,8 @@ private slots: void slotFitToHeight(); /** @brief Show / hide previous keyframe in monitor scene. */ void slotShowPreviousKeyFrame(bool show); + /** @brief Switches from normal monitor to monitor scene according to @param show. */ + void slotShowScene(bool show = true); signals: void parameterChanged(); diff --git a/src/monitor.cpp b/src/monitor.cpp index f97d4915..2c9e6f2c 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -989,6 +989,8 @@ void Monitor::slotSetSelectedClip(Transition* item) void Monitor::slotShowEffectScene(bool show) { if (m_id == Kdenlive::projectMonitor) { + kDebug()<<"// SHOWING SCENE: "<isVisible(); + if (m_effectWidget->isVisible() == show) return; if (videoSurface) { videoSurface->setVisible(!show); } else { diff --git a/src/rotoscoping/rotowidget.cpp b/src/rotoscoping/rotowidget.cpp index 0116fd2f..5210b7ea 100644 --- a/src/rotoscoping/rotowidget.cpp +++ b/src/rotoscoping/rotowidget.cpp @@ -65,7 +65,6 @@ RotoWidget::RotoWidget(QString data, Monitor *monitor, ItemInfo info, Timecode t connect(m_item, SIGNAL(changed(bool)), this, SLOT(slotUpdateData(bool))); connect(edit, SIGNAL(showEdit(bool)), this, SLOT(slotShowScene(bool))); - connect(m_monitor, SIGNAL(renderPosition(int)), this, SLOT(slotCheckMonitorPosition(int))); connect(m_keyframeWidget, SIGNAL(positionChanged(int)), this, SLOT(slotPositionChanged(int))); connect(m_keyframeWidget, SIGNAL(keyframeAdded(int)), this, SLOT(slotAddKeyframe(int))); connect(m_keyframeWidget, SIGNAL(keyframeRemoved(int)), this, SLOT(slotRemoveKeyframe(int))); diff --git a/src/transitionsettings.cpp b/src/transitionsettings.cpp index f89fafc2..f38d7c63 100644 --- a/src/transitionsettings.cpp +++ b/src/transitionsettings.cpp @@ -65,8 +65,6 @@ TransitionSettings::TransitionSettings(Monitor *monitor, QWidget* parent) : connect(transitionList, SIGNAL(activated(int)), this, SLOT(slotTransitionChanged())); connect(transitionTrack, SIGNAL(activated(int)), this, SLOT(slotTransitionTrackChanged())); connect(m_effectEdit, SIGNAL(parameterChanged(const QDomElement, const QDomElement, int)), this , SLOT(slotUpdateEffectParams(const QDomElement, const QDomElement))); - connect(m_effectEdit, SIGNAL(checkMonitorPosition(int)), this, SLOT(slotCheckMonitorPosition(int))); - connect(monitor, SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int))); } void TransitionSettings::updateProjectFormat(MltVideoProfile profile, Timecode t, const QList info) @@ -123,6 +121,7 @@ void TransitionSettings::slotTransitionChanged(bool reinit, bool updateCurrent) if (m_usedTransition->hasGeometry()) m_effectEdit->transferParamDesc(m_usedTransition->toXML(), m_usedTransition->info(), false); } + slotCheckMonitorPosition(m_effectEdit->monitor()->render->seekFramePosition()); } void TransitionSettings::slotTransitionTrackChanged() @@ -148,6 +147,7 @@ void TransitionSettings::slotTransitionItemSelected(Transition* t, int nextTrack setEnabled(t != NULL); m_effectEdit->setFrameSize(p); m_autoTrackTransition = nextTrack; + disconnect(m_effectEdit->monitor(), SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int))); if (t == m_usedTransition) { if (t == NULL) return; if (update) { @@ -182,13 +182,15 @@ void TransitionSettings::slotTransitionItemSelected(Transition* t, int nextTrack slotTransitionChanged(false, false); transitionList->blockSignals(false); } + if (m_effectEdit->needsMonitorEffectScene()) { + connect(m_effectEdit->monitor(), SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int))); + } } else { // null transition selected m_usedTransition = NULL; ItemInfo info; m_effectEdit->transferParamDesc(QDomElement(), info, false); } - } void TransitionSettings::slotUpdateEffectParams(const QDomElement oldparam, const QDomElement param) @@ -211,8 +213,10 @@ void TransitionSettings::raiseWindow(QWidget* dock) void TransitionSettings::slotRenderPos(int pos) { - if (m_usedTransition) + if (m_usedTransition) { m_effectEdit->slotSyncEffectsPos(pos - m_usedTransition->startPos().frames(KdenliveSettings::project_fps())); + if (isEnabled()) slotCheckMonitorPosition(pos); + } } void TransitionSettings::slotSeekTimeline(int pos) @@ -223,12 +227,18 @@ void TransitionSettings::slotSeekTimeline(int pos) void TransitionSettings::slotCheckMonitorPosition(int renderPos) { - if (renderPos >= m_usedTransition->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_usedTransition->endPos().frames(KdenliveSettings::project_fps())) { - if (!m_effectEdit->monitor()->effectSceneDisplayed()) - //m_effectEdit->monitor()->getEffectEdit()->getScene()->views().at(0)->isVisible()) - m_effectEdit->monitor()->slotShowEffectScene(true); - } else { - m_effectEdit->monitor()->slotShowEffectScene(false); + if (!isEnabled()) return; + if (m_effectEdit->needsMonitorEffectScene()) { + if (renderPos >= m_usedTransition->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_usedTransition->endPos().frames(KdenliveSettings::project_fps())) { + if (!m_effectEdit->monitor()->effectSceneDisplayed()) { + m_effectEdit->monitor()->slotShowEffectScene(true); + } + } else { + m_effectEdit->monitor()->slotShowEffectScene(false); + } + } + else { + m_effectEdit->monitor()->slotShowEffectScene(false); } } -- 2.39.2