+QString SlideshowClip::animation() const
+{
+ if (m_view.animation->itemData(m_view.animation->currentIndex()).isNull()) return QString();
+ return m_view.animation->itemData(m_view.animation->currentIndex()).toString();
+}
+
+void SlideshowClip::slotUpdateDurationFormat(int ix)
+{
+ bool framesFormat = ix == 1;
+ if (framesFormat) {
+ // switching to frames count, update widget
+ m_view.clip_duration_frames->setValue(m_timecode.getFrameCount(m_view.clip_duration->text()));
+ m_view.luma_duration_frames->setValue(m_timecode.getFrameCount(m_view.luma_duration->text()));
+ } else {
+ // switching to timecode format
+ m_view.clip_duration->setText(m_timecode.getTimecodeFromFrames(m_view.clip_duration_frames->value()));
+ m_view.luma_duration->setText(m_timecode.getTimecodeFromFrames(m_view.luma_duration_frames->value()));
+ }
+ m_view.clip_duration_frames->setHidden(!framesFormat);
+ m_view.clip_duration->setHidden(framesFormat);
+ m_view.luma_duration_frames->setHidden(!framesFormat);
+ m_view.luma_duration->setHidden(framesFormat);
+}
+
+void SlideshowClip::slotMethodChanged(bool active)
+{
+ if (active) {
+ // User wants mimetype image sequence
+ m_view.clip_duration->setText(m_timecode.reformatSeparators(KdenliveSettings::image_duration()));
+ m_view.stackedWidget->setCurrentIndex(0);
+ KdenliveSettings::setSlideshowbymime(true);
+ } else {
+ // User wants pattern image sequence
+ m_view.clip_duration->setText(m_timecode.reformatSeparators(KdenliveSettings::sequence_duration()));
+ m_view.stackedWidget->setCurrentIndex(1);
+ KdenliveSettings::setSlideshowbymime(false);
+ }
+ parseFolder();
+}
+
+// static
+QString SlideshowClip::animationToGeometry(const QString &animation, int &ttl)
+{
+ QString geometry;
+ if (animation.startsWith("Pan and zoom")) {
+ geometry = QString().sprintf("0=0/0:100%%x100%%;%d=-14%%/-14%%:120%%x120%%;%d=-5%%/-5%%:110%%x110%%;%d=0/0:110%%x110%%;%d=0/-5%%:110%%x110%%;%d=-5%%/0:110%%x110%%",
+ ttl - 1, ttl, ttl * 2 - 1, ttl * 2, ttl * 3 - 1);
+ ttl *= 3;
+ } else if (animation.startsWith("Pan")) {
+ geometry = QString().sprintf("0=-5%%/-5%%:110%%x110%%;%d=0/0:110%%x110%%;%d=0/0:110%%x110%%;%d=0/-5%%:110%%x110%%;%d=0/-5%%:110%%x110%%;%d=-5%%/-5%%:110%%x110%%;%d=0/-5%%:110%%x110%%;%d=-5%%/0:110%%x110%%",
+ ttl - 1, ttl, ttl * 2 - 1, ttl * 2, ttl * 3 - 1, ttl * 3, ttl * 4 - 1);
+ ttl *= 4;
+ } else if (animation.startsWith("Zoom")) {
+ geometry = QString().sprintf("0=0/0:100%%x100%%;%d=-14%%/-14%%:120%%x120%%", ttl - 1);
+ }
+ return geometry;
+}
+
+