]> git.sesse.net Git - kdenlive/blobdiff - src/spacerdialog.cpp
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / spacerdialog.cpp
index b9f20e78e76597c8e14e9a408022c6fd009708e8..19ff4f8596ec23957e374ff5fb8f8c36f8ca07cb 100644 (file)
 #include <KDebug>
 
 
-SpacerDialog::SpacerDialog(const GenTime duration, Timecode tc, int track, int trackNumber, QWidget * parent) :
-        QDialog(parent),
-        m_tc(tc)
+SpacerDialog::SpacerDialog(const GenTime &duration, const Timecode &tc, int track, const QList<TrackInfo> &tracks, QWidget * parent) :
+    QDialog(parent),
+    m_in(tc)
 {
     setFont(KGlobalSettings::toolBarFont());
-    m_fps = m_tc.fps();
-    m_view.setupUi(this);
-    m_view.space_duration->setText(tc.getTimecode(duration));
-    QStringList tracks;
-    tracks << i18n("All tracks");
-    for (int i = 0; i < trackNumber - 1; i++) {
-        tracks << QString::number(i);
+    setupUi(this);
+    inputLayout->addWidget(&m_in);
+    m_in.setValue(duration);
+
+    QStringList trackItems;
+    trackItems << i18n("All tracks");
+    for (int i = tracks.count() - 1; i >= 0; --i) {
+        if (!tracks.at(i).trackName.isEmpty())
+            trackItems << tracks.at(i).trackName + " (" + QString::number(i) + ')';
+        else
+            trackItems << QString::number(i);
     }
-    m_view.track_number->addItems(tracks);
-    m_view.track_number->setCurrentIndex(track);
-
-    connect(m_view.position_up, SIGNAL(clicked()), this, SLOT(slotTimeUp()));
-    connect(m_view.position_down, SIGNAL(clicked()), this, SLOT(slotTimeDown()));
+    track_number->addItems(trackItems);
+    track_number->setCurrentIndex(track);
 
     adjustSize();
 }
 
-SpacerDialog::~SpacerDialog()
-{
-}
-
-void SpacerDialog::slotTimeUp()
-{
-    int duration = m_tc.getFrameCount(m_view.space_duration->text());
-    duration ++;
-    m_view.space_duration->setText(m_tc.getTimecode(GenTime(duration, m_fps)));
-}
-
-void SpacerDialog::slotTimeDown()
+GenTime SpacerDialog::selectedDuration() const
 {
-    int duration = m_tc.getFrameCount(m_view.space_duration->text());
-    if (duration <= 0) return;
-    duration --;
-    m_view.space_duration->setText(m_tc.getTimecode(GenTime(duration, m_fps)));
-}
-
-GenTime SpacerDialog::selectedDuration()
-{
-    return GenTime(m_tc.getFrameCount(m_view.space_duration->text()), m_fps);
-}
-
-void SpacerDialog::wheelEvent(QWheelEvent * event)
-{
-    if (m_view.space_duration->underMouse()) {
-        if (event->delta() > 0)
-            slotTimeUp();
-        else
-            slotTimeDown();
-    }
+    return m_in.gentime();
 }
 
-int SpacerDialog::selectedTrack()
+int SpacerDialog::selectedTrack() const
 {
-    return m_view.track_number->currentIndex() - 1;
+    return track_number->currentIndex() - 1;
 }
 
 #include "spacerdialog.moc"