m_effectEdit->transferParamDesc(e, m_usedTransition->info(), false);
} else {
// Same transition, we just want to update the parameters value
- slotUpdateEffectParams(e, e);
- if (m_usedTransition->hasGeometry())
- m_effectEdit->transferParamDesc(m_usedTransition->toXML(), m_usedTransition->info(), false);
+ int ix = transitionList->findData(m_usedTransition->transitionInfo(), Qt::UserRole, Qt::MatchExactly);
+ if (ix != transitionList->currentIndex()) {
+ // Transition type changed, reload params
+ transitionList->blockSignals(true);
+ transitionList->setCurrentIndex(ix);
+ transitionList->blockSignals(false);
+ m_effectEdit->transferParamDesc(e, m_usedTransition->info(), false);
+ }
+ else {
+ slotUpdateEffectParams(e, e);
+ if (m_usedTransition->hasGeometry())
+ m_effectEdit->transferParamDesc(m_usedTransition->toXML(), m_usedTransition->info(), false);
+ }
+ if (m_effectEdit->needsMonitorEffectScene())
+ connect(m_effectEdit->monitor(), SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int)));
}
slotCheckMonitorPosition(m_effectEdit->monitor()->render->seekFramePosition());
}
m_effectEdit->setFrameSize(p);
m_autoTrackTransition = nextTrack;
disconnect(m_effectEdit->monitor(), SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int)));
- if (t == m_usedTransition) {
+ if (t == m_usedTransition) {
if (t == NULL) return;
if (update) {
transitionTrack->blockSignals(true);
}
}
-void TransitionSettings::setKeyframes(const QString data)
+void TransitionSettings::setKeyframes(const QString data, int maximum)
{
- m_effectEdit->setKeyframes(data);
+ m_effectEdit->setKeyframes(data, maximum);
}
#include "transitionsettings.moc"