From fe3c155b9815390b43be9f1018edda48513519e6 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 27 Dec 2019 04:15:27 +1100 Subject: [PATCH] sliders now have feedback on whether they're being dragged or not --- app/widget/slider/sliderbase.cpp | 14 ++++++++++---- app/widget/slider/sliderbase.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/widget/slider/sliderbase.cpp b/app/widget/slider/sliderbase.cpp index d6ae769b1..828a32737 100644 --- a/app/widget/slider/sliderbase.cpp +++ b/app/widget/slider/sliderbase.cpp @@ -91,6 +91,11 @@ void SliderBase::SetTristate() UpdateLabel(0); } +bool SliderBase::IsDragging() const +{ + return dragged_; +} + const QVariant &SliderBase::Value() { if (dragged_) { @@ -205,6 +210,9 @@ void SliderBase::LabelClicked() SetValue(drag_val); break; } + + dragged_ = false; + emit ValueChanged(value_); } else { // This was a simple click @@ -218,12 +226,12 @@ void SliderBase::LabelClicked() editor_->setFocus(); editor_->selectAll(); } - - dragged_ = false; } void SliderBase::LabelDragged(int i) { + dragged_ = true; + switch (mode_) { case kString: // No dragging supported for strings @@ -251,8 +259,6 @@ void SliderBase::LabelDragged(int i) break; } } - - dragged_ = true; } void SliderBase::LineEditConfirmed() diff --git a/app/widget/slider/sliderbase.h b/app/widget/slider/sliderbase.h index 85daf9106..fe24b0be0 100644 --- a/app/widget/slider/sliderbase.h +++ b/app/widget/slider/sliderbase.h @@ -47,6 +47,8 @@ public: bool IsTristate() const; void SetTristate(); + bool IsDragging() const; + signals: void ValueChanged(QVariant v);