-void EffectStackView::clear() {
- ui.effectlist->clear();
- ui.buttonDel->setEnabled(false);
- ui.buttonSave->setEnabled(false);
- ui.buttonReset->setEnabled(false);
- ui.buttonUp->setEnabled(false);
- ui.buttonDown->setEnabled(false);
- effectedit->transferParamDesc(QDomElement(), 0, 0);
+void EffectStackView::clear()
+{
+ m_ui.effectlist->blockSignals(true);
+ m_ui.effectlist->clear();
+ m_ui.buttonDel->setEnabled(false);
+ m_ui.buttonSave->setEnabled(false);
+ m_ui.buttonReset->setEnabled(false);
+ m_ui.buttonUp->setEnabled(false);
+ m_ui.buttonDown->setEnabled(false);
+ m_ui.checkAll->setEnabled(false);
+ m_effectedit->transferParamDesc(QDomElement(), 0, 0, 0);
+ m_ui.region_url->clear();
+ m_ui.effectlist->blockSignals(false);
+}
+
+
+void EffectStackView::slotSeekTimeline(int pos)
+{
+ if (!m_trackMode && m_clipref)
+ emit seekTimeline(m_clipref->startPos().frames(KdenliveSettings::project_fps()) + pos);
+}
+
+void EffectStackView::slotUpdateCheckAllButton()
+{
+ bool hasEnabled = false;
+ bool hasDisabled = false;
+ for (int i = 0; i < m_ui.effectlist->count(); ++i) {
+ if (m_ui.effectlist->item(i)->checkState() == Qt::Checked)
+ hasEnabled = true;
+ else
+ hasDisabled = true;
+ }
+
+ m_ui.checkAll->blockSignals(true);
+ if (hasEnabled && hasDisabled)
+ m_ui.checkAll->setCheckState(Qt::PartiallyChecked);
+ else if (hasEnabled)
+ m_ui.checkAll->setCheckState(Qt::Checked);
+ else
+ m_ui.checkAll->setCheckState(Qt::Unchecked);
+ m_ui.checkAll->blockSignals(false);
+}
+
+void EffectStackView::slotCheckAll(int state)
+{
+ if (state == 1) {
+ state = 2;
+ m_ui.checkAll->blockSignals(true);
+ m_ui.checkAll->setCheckState(Qt::Checked);
+ m_ui.checkAll->blockSignals(false);
+ }
+
+ for (int i = 0; i < m_ui.effectlist->count(); ++i)
+ m_ui.effectlist->item(i)->setCheckState((Qt::CheckState)state);
+}
+
+void EffectStackView::slotRegionChanged()
+{
+ if (!m_trackMode) emit updateClipRegion(m_clipref, m_ui.effectlist->currentRow(), m_ui.region_url->text());
+}
+
+void EffectStackView::slotCheckMonitorPosition(int renderPos)
+{
+ if (m_trackMode) return;
+ if (renderPos >= m_clipref->startPos().frames(KdenliveSettings::project_fps()) && renderPos <= m_clipref->endPos().frames(KdenliveSettings::project_fps())) {
+ if (!m_monitor->getEffectScene()->views().at(0)->isVisible())
+ m_monitor->slotEffectScene(true);
+ } else {
+ m_monitor->slotEffectScene(false);
+ }
+}
+
+void EffectStackView::slotRenderPos(int pos)
+{
+ if (m_clipref && m_effectedit)
+ m_effectedit->slotSyncEffectsPos(pos - m_clipref->startPos().frames(KdenliveSettings::project_fps()));