From f92c66cc0e693bb3367bc98470d2b144bac6b8b5 Mon Sep 17 00:00:00 2001 From: laserpants Date: Tue, 21 Jun 2016 15:23:10 +0300 Subject: [PATCH] move object construction to initialization list --- components/slider.cpp | 19 +++++++++++++++++-- components/slider_p.h | 43 ++++++++++++++++--------------------------- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/components/slider.cpp b/components/slider.cpp index 45d9205..5fbfac6 100644 --- a/components/slider.cpp +++ b/components/slider.cpp @@ -6,12 +6,27 @@ #include #include +SliderPrivate::SliderPrivate(Slider *q) + : q_ptr(q), + thumb(new SliderThumb(q)), + track(new SliderTrack(q)), + machine(0), + hoverTrack(false), + hoverThumb(false), + hover(false), + step(false), + pageStepMode(true), + stepTo(0), + oldValue(0), + trackWidth(2), + useThemeColors(true) +{ +} + void SliderPrivate::init() { Q_Q(Slider); - thumb = new SliderThumb(q); - track = new SliderTrack(q); machine = new SliderStateMachine(q, thumb, track); oldValue = q->value(); diff --git a/components/slider_p.h b/components/slider_p.h index 46dc241..0328409 100644 --- a/components/slider_p.h +++ b/components/slider_p.h @@ -13,18 +13,7 @@ class SliderPrivate Q_DECLARE_PUBLIC(Slider) public: - SliderPrivate(Slider *q) - : q_ptr(q), - hoverTrack(false), - hoverThumb(false), - hover(false), - step(false), - pageStepMode(true), - stepTo(0), - oldValue(0), - trackWidth(2), - useThemeColors(true) - {} + SliderPrivate(Slider *q); void init(); @@ -35,22 +24,22 @@ public: void setHovered(bool status); - Slider *const q_ptr; - SliderThumb *thumb; - SliderTrack *track; + Slider *const q_ptr; + SliderThumb *const thumb; + SliderTrack *const track; SliderStateMachine *machine; - bool hoverTrack; - bool hoverThumb; - bool hover; - bool step; - bool pageStepMode; - int stepTo; - int oldValue; - int trackWidth; - QColor thumbColor; - QColor trackColor; - QColor disabledColor; - bool useThemeColors; + bool hoverTrack; + bool hoverThumb; + bool hover; + bool step; + bool pageStepMode; + int stepTo; + int oldValue; + int trackWidth; + QColor thumbColor; + QColor trackColor; + QColor disabledColor; + bool useThemeColors; }; #endif // SLIDER_P_H