From 0c73a4bd59d86cc277774bed64f9b23affc0385e Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 15 Mar 2021 18:29:03 +1100 Subject: [PATCH] made slider value/string conversions abstract --- app/widget/slider/floatslider.cpp | 2 ++ app/widget/slider/integerslider.cpp | 2 ++ app/widget/slider/sliderbase.cpp | 2 -- app/widget/slider/sliderbase.h | 4 ++-- app/widget/slider/stringslider.cpp | 2 ++ app/widget/slider/timeslider.cpp | 1 + 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/widget/slider/floatslider.cpp b/app/widget/slider/floatslider.cpp index 4edce6185..181221670 100644 --- a/app/widget/slider/floatslider.cpp +++ b/app/widget/slider/floatslider.cpp @@ -32,6 +32,8 @@ FloatSlider::FloatSlider(QWidget *parent) : decimal_places_(1), autotrim_decimal_places_(false) { + SetValue(0.0); + connect(this, SIGNAL(ValueChanged(QVariant)), this, SLOT(ConvertValue(QVariant))); } diff --git a/app/widget/slider/integerslider.cpp b/app/widget/slider/integerslider.cpp index 30476e20a..ce1bfea54 100644 --- a/app/widget/slider/integerslider.cpp +++ b/app/widget/slider/integerslider.cpp @@ -25,6 +25,8 @@ namespace olive { IntegerSlider::IntegerSlider(QWidget* parent) : SliderBase(kInteger, parent) { + SetValue(0); + connect(this, SIGNAL(ValueChanged(QVariant)), this, SLOT(ConvertValue(QVariant))); } diff --git a/app/widget/slider/sliderbase.cpp b/app/widget/slider/sliderbase.cpp index 4515b1335..f46d1b149 100644 --- a/app/widget/slider/sliderbase.cpp +++ b/app/widget/slider/sliderbase.cpp @@ -62,12 +62,10 @@ SliderBase::SliderBase(Mode mode, QWidget *parent) : switch (mode_) { case kString: setCursor(Qt::PointingHandCursor); - SetValue(QString()); break; case kInteger: case kFloat: setCursor(Qt::SizeHorCursor); - SetValue(0); break; } } diff --git a/app/widget/slider/sliderbase.h b/app/widget/slider/sliderbase.h index 971229500..6a4b83ddc 100644 --- a/app/widget/slider/sliderbase.h +++ b/app/widget/slider/sliderbase.h @@ -84,9 +84,9 @@ protected: virtual double AdjustDragDistanceInternal(const double& start, const double& drag); - virtual QString ValueToString(const QVariant &v); + virtual QString ValueToString(const QVariant &v) = 0; - virtual QVariant StringToValue(const QString& s, bool* ok); + virtual QVariant StringToValue(const QString& s, bool* ok) = 0; virtual void changeEvent(QEvent* e) override; diff --git a/app/widget/slider/stringslider.cpp b/app/widget/slider/stringslider.cpp index 33db4d8f5..4568e285e 100644 --- a/app/widget/slider/stringslider.cpp +++ b/app/widget/slider/stringslider.cpp @@ -25,6 +25,8 @@ namespace olive { StringSlider::StringSlider(QWidget* parent) : SliderBase(kString, parent) { + SetValue(QString()); + connect(this, SIGNAL(ValueChanged(QVariant)), this, SLOT(ConvertValue(QVariant))); } diff --git a/app/widget/slider/timeslider.cpp b/app/widget/slider/timeslider.cpp index 60fd2b40f..9bee7ce61 100644 --- a/app/widget/slider/timeslider.cpp +++ b/app/widget/slider/timeslider.cpp @@ -29,6 +29,7 @@ TimeSlider::TimeSlider(QWidget *parent) : IntegerSlider(parent) { SetMinimum(0); + SetValue(0); connect(Core::instance(), &Core::TimecodeDisplayChanged, this, &TimeSlider::TimecodeDisplayChanged); }