- ui.listWidget->addItems(MainWindow::transitions.effectNames());
- kDebug() << MainWindow::transitions.effectNames().size();
- ui.listWidget->setCurrentRow(0);
- connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(slotTransitionChanged()));
- connect(this, SIGNAL(transferParamDesc(const QDomElement&, int , int)), effectEdit , SLOT(transferParamDesc(const QDomElement&, int , int)));
- connect(effectEdit, SIGNAL(parameterChanged(const QDomElement&, const QDomElement&)), this , SLOT(slotUpdateEffectParams(const QDomElement&, const QDomElement&)));
+
+ QList<QStringList> transitionsList;
+ int max = MainWindow::transitions.effectNames().count();
+ QStringList transitionInfo;
+ int ix = 0;
+
+ for (; ix < max; ix++) {
+ transitionInfo = MainWindow::transitions.effectIdInfo(ix);
+ transitionInfo << QString::number(ix);
+ transitionsList.append(transitionInfo);
+ }
+ ix = 0;
+ foreach(const QStringList &value, transitionsList) {
+ QStringList data = value;
+ if (!data.isEmpty()) data.removeLast();
+ transitionList->addItem(value.at(0), data);
+ transitionList->setItemData(ix, MainWindow::transitions.getInfoFromIndex(value.last().toInt()), Qt::ToolTipRole);
+ ix++;
+ }
+
+ 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&)), this , SLOT(slotUpdateEffectParams(const QDomElement&, const QDomElement&)));
+ connect(monitor, SIGNAL(renderPosition(int)), this, SLOT(slotRenderPos(int)));
+}
+
+void TransitionSettings::updateProjectFormat(MltVideoProfile profile, Timecode t, const QList <TrackInfo> info)
+{
+ m_effectEdit->updateProjectFormat(profile, t);
+ m_tracks = info;
+ updateTrackList();
+}
+
+void TransitionSettings::updateTimecodeFormat()
+{
+ m_effectEdit->updateTimecodeFormat();
+}
+
+void TransitionSettings::updateTrackList()
+{
+ transitionTrack->blockSignals(true);
+ int current = transitionTrack->itemData(transitionTrack->currentIndex()).toInt();
+ transitionTrack->clear();
+ transitionTrack->addItem(i18n("Auto"), -1);
+ int limit = 1;
+ if (m_usedTransition)
+ limit = m_usedTransition->track() + 1;
+ kDebug() << "/ / TRANS TRK: " << limit;
+ KIcon videoIcon("kdenlive-show-video");
+ KIcon audioIcon("kdenlive-show-audio");
+ for (int i = limit; i < m_tracks.count(); i++) {
+ int ix = m_tracks.count() - i - 1;
+ transitionTrack->addItem(m_tracks.at(ix).type == VIDEOTRACK ? videoIcon : audioIcon,
+ m_tracks.at(ix).trackName.isEmpty() ? QString::number(i) : m_tracks.at(ix).trackName + " (" + QString::number(i) + ")",
+ m_tracks.count() - i);
+ }
+ transitionTrack->addItem(i18n("Black"), 0);
+ transitionTrack->setCurrentIndex(transitionTrack->findData(current));
+ transitionTrack->blockSignals(false);