]> git.sesse.net Git - kdenlive/blobdiff - src/positionedit.cpp
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / positionedit.cpp
index 51ac2dfb98c011628fc565f7573ede9627c625e7..f96ebae967e4adcd4e12719db462b990a4534ac8 100644 (file)
 
 #include <QLabel>
 #include <QSlider>
+#include <QHBoxLayout>
 
-PositionEdit::PositionEdit(const QString name, int pos, int min, int max, const Timecode tc, QWidget* parent) :
-        QWidget(parent)
+PositionEdit::PositionEdit(const QString &name, int pos, int min, int max, const Timecode&tc, QWidget* parent) :
+    QWidget(parent)
 {
     QHBoxLayout *layout = new QHBoxLayout(this);
 
@@ -45,7 +46,7 @@ PositionEdit::PositionEdit(const QString name, int pos, int min, int max, const
 
     connect(m_slider, SIGNAL(valueChanged(int)), m_display, SLOT(setValue(int)));
     connect(m_slider, SIGNAL(valueChanged(int)), this, SIGNAL(parameterChanged(int)));
-    connect(m_display, SIGNAL(editingFinished()), this, SLOT(slotUpdatePosition()));
+    connect(m_display, SIGNAL(timeCodeEditingFinished()), this, SLOT(slotUpdatePosition()));
     m_slider->setValue(pos);
 }
 
@@ -80,10 +81,15 @@ void PositionEdit::slotUpdatePosition()
     emit parameterChanged(m_display->getValue());
 }
 
-void PositionEdit::setRange(int min, int max)
+void PositionEdit::setRange(int min, int max, bool absolute)
 {
-    m_slider->setRange(min, max);
-    m_display->setRange(min, max);
+    if (absolute) {
+        m_slider->setRange(min, max);
+        m_display->setRange(min, max);
+    } else {
+        m_slider->setRange(0, max - min);
+        m_display->setRange(0, max - min);
+    }
 }
 
 #include "positionedit.moc"