From 9d9a91cda64f9bd86d8dbcf5542c87b4a2b86fed Mon Sep 17 00:00:00 2001 From: FarmRadio Hangar Date: Thu, 12 May 2016 11:53:33 +0300 Subject: [PATCH] move SliderPrivate::init() code to constructor --- components/slider.cpp | 1 - components/slider_p.h | 10 +++------- components/sliderstatemachine.cpp | 2 -- components/sliderthumb.cpp | 3 ++- examples/sliderexamples.cpp | 2 +- 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/components/slider.cpp b/components/slider.cpp index 38659e2..917f3dd 100644 --- a/components/slider.cpp +++ b/components/slider.cpp @@ -12,7 +12,6 @@ Slider::Slider(QWidget *parent) : QAbstractSlider(parent), d_ptr(new SliderPrivate(this)) { - d_func()->init(); } Slider::~Slider() diff --git a/components/slider_p.h b/components/slider_p.h index a1adcd3..bd921ab 100644 --- a/components/slider_p.h +++ b/components/slider_p.h @@ -19,8 +19,6 @@ class SliderPrivate public: SliderPrivate(Slider *parent); - void init(); - QRectF trackGeometry() const; QRectF thumbGeometry() const; @@ -54,14 +52,10 @@ SliderPrivate::SliderPrivate(Slider *parent) stepTo(0), oldValue(parent->value()), trackWidth(2) -{ - parent->setMouseTracking(true); -} - -void SliderPrivate::init() { Q_Q(Slider); + q->setMouseTracking(true); q->setFocusPolicy(Qt::StrongFocus); QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -70,6 +64,8 @@ void SliderPrivate::init() q->setSizePolicy(sp); q->setAttribute(Qt::WA_WState_OwnSizePolicy, false); + machine->start(); + QCoreApplication::processEvents(); } diff --git a/components/sliderstatemachine.cpp b/components/sliderstatemachine.cpp index e7c52af..9749cdf 100644 --- a/components/sliderstatemachine.cpp +++ b/components/sliderstatemachine.cpp @@ -214,8 +214,6 @@ SliderStateMachine::SliderStateMachine(Slider *parent, SliderThumb *thumb) transition->addAnimation(animation); normalState->addTransition(transition); - - start(); } SliderStateMachine::~SliderStateMachine() diff --git a/components/sliderthumb.cpp b/components/sliderthumb.cpp index 4e53fa3..5f68a16 100644 --- a/components/sliderthumb.cpp +++ b/components/sliderthumb.cpp @@ -59,7 +59,8 @@ void SliderThumb::paintEvent(QPaintEvent *event) brush.setStyle(Qt::SolidPattern); brush.setColor(slider->value() > slider->minimum() - ? _fillColor : _minFillColor); + ? (slider->isEnabled() ? _fillColor : Style::instance().themeColor("disabled")) + : _minFillColor); painter.setBrush(brush); if (_borderWidth > 0) { diff --git a/examples/sliderexamples.cpp b/examples/sliderexamples.cpp index 11302fb..862dc77 100644 --- a/examples/sliderexamples.cpp +++ b/examples/sliderexamples.cpp @@ -178,7 +178,7 @@ SliderExamples::SliderExamples(QWidget *parent) } { Slider *slider = new Slider; - //slider->setValue(20); + slider->setValue(20); slider->setDisabled(true); slider->setMinimumWidth(250);