]> git.sesse.net Git - kdenlive/blobdiff - src/doubleparameterwidget.cpp
Fix crash when enabling a proxy clip
[kdenlive] / src / doubleparameterwidget.cpp
index 0925ce2228b8b921f88e9c1835f7b9544551d56c..7b5eb724afeefd6b97efa1b522b5e6a5d50842a3 100644 (file)
 #include <QSpinBox>
 #include <QToolButton>
 
+#include <KDebug>
 #include <KIcon>
 #include <KLocalizedString>
 
 
-DoubleParameterWidget::DoubleParameterWidget(const QString &name, int value, int min, int max, int defaultValue, const QString &comment, int id, const QString suffix, QWidget *parent) :
+DoubleParameterWidget::DoubleParameterWidget(const QString &name, double value, double min, double max, double defaultValue, const QString &comment, int id, const QString suffix, int decimals, QWidget *parent) :
         QWidget(parent),
         m_commentLabel(NULL)
 {
@@ -39,9 +40,7 @@ DoubleParameterWidget::DoubleParameterWidget(const QString &name, int value, int
     layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     
-    m_dragVal = new DragValue(name, defaultValue, 0, id, suffix, this);
-    m_dragVal->setRange(min, max);
-    m_dragVal->setPrecision(0);
+    m_dragVal = new DragValue(name, defaultValue, decimals, min, max, id, suffix, this);
     layout->addWidget(m_dragVal, 0, 1);
 
     if (!comment.isEmpty()) {
@@ -54,9 +53,9 @@ DoubleParameterWidget::DoubleParameterWidget(const QString &name, int value, int
         m_commentLabel->setHidden(true);
         layout->addWidget(m_commentLabel, 1, 0, 1, -1);
     }
-    connect(m_dragVal, SIGNAL(valueChanged(int, bool)), this, SLOT(slotSetValue(int, bool)));
-    connect(m_dragVal, SIGNAL(inTimeline(int)), this, SIGNAL(setInTimeline(int)));
     m_dragVal->setValue(value);
+    connect(m_dragVal, SIGNAL(valueChanged(double, bool)), this, SLOT(slotSetValue(double, bool)));
+    connect(m_dragVal, SIGNAL(inTimeline(int)), this, SIGNAL(setInTimeline(int)));
 }
 
 int DoubleParameterWidget::spinSize()
@@ -69,22 +68,21 @@ void DoubleParameterWidget::setSpinSize(int width)
     m_dragVal->setSpinSize(width);
 }
 
-void DoubleParameterWidget::setValue(int value)
+void DoubleParameterWidget::setValue(double value)
 {
     m_dragVal->blockSignals(true);
     m_dragVal->setValue(value);
     m_dragVal->blockSignals(false);
-    //emit valueChanged(value);
 }
 
-void DoubleParameterWidget::slotSetValue(int value, bool final)
+void DoubleParameterWidget::slotSetValue(double value, bool final)
 {
     if (final) {
         emit valueChanged(value);
     }
 }
 
-int DoubleParameterWidget::getValue()
+double DoubleParameterWidget::getValue()
 {
     return m_dragVal->value();
 }