move object construction to initialization list

This commit is contained in:
laserpants 2016-06-21 16:21:44 +03:00
parent e33478ad49
commit 9cdc5c42f5
2 changed files with 26 additions and 27 deletions

View File

@ -5,7 +5,6 @@
#include <QStateMachine> #include <QStateMachine>
#include <QSignalTransition> #include <QSignalTransition>
#include <QEventTransition> #include <QEventTransition>
#include <QPropertyAnimation>
#include <QApplication> #include <QApplication>
#include <QDebug> #include <QDebug>
#include "lib/rippleoverlay.h" #include "lib/rippleoverlay.h"
@ -14,8 +13,16 @@
CheckablePrivate::CheckablePrivate(Checkable *q) CheckablePrivate::CheckablePrivate(Checkable *q)
: q_ptr(q), : q_ptr(q),
ripple(new RippleOverlay),
checkedIcon(new CheckableIcon(QIcon("../qt-material-widgets/ic_check_box_black_24px.svg"))), checkedIcon(new CheckableIcon(QIcon("../qt-material-widgets/ic_check_box_black_24px.svg"))),
uncheckedIcon(new CheckableIcon(QIcon("../qt-material-widgets/ic_check_box_outline_blank_black_24px.svg"))), uncheckedIcon(new CheckableIcon(QIcon("../qt-material-widgets/ic_check_box_outline_blank_black_24px.svg"))),
machine(new QStateMachine),
uncheckedState(new QState),
checkedState(new QState),
disabledUncheckedState(new QState),
disabledCheckedState(new QState),
uncheckedTransition(new QSignalTransition(q, SIGNAL(toggled(bool)))),
checkedTransition(new QSignalTransition(q, SIGNAL(toggled(bool)))),
useThemeColors(true) useThemeColors(true)
{ {
} }
@ -33,20 +40,14 @@ void CheckablePrivate::init()
uncheckedIcon->setParent(q); uncheckedIcon->setParent(q);
checkedIcon->setParent(q); checkedIcon->setParent(q);
ripple = new RippleOverlay(q->parentWidget());
QFont f(q->font()); QFont f(q->font());
f.setPointSizeF(11); f.setPointSizeF(11);
q->setFont(f); q->setFont(f);
// //
machine = new QStateMachine(q); ripple->setParent(q->parentWidget());
machine->setParent(q);
uncheckedState = new QState;
checkedState = new QState;
disabledUncheckedState = new QState;
disabledCheckedState = new QState;
machine->addState(uncheckedState); machine->addState(uncheckedState);
machine->addState(checkedState); machine->addState(checkedState);
@ -57,13 +58,11 @@ void CheckablePrivate::init()
// Transition to checked // Transition to checked
uncheckedTransition = new QSignalTransition(q, SIGNAL(toggled(bool)));
uncheckedTransition->setTargetState(checkedState); uncheckedTransition->setTargetState(checkedState);
uncheckedState->addTransition(uncheckedTransition); uncheckedState->addTransition(uncheckedTransition);
// Transition to unchecked // Transition to unchecked
checkedTransition = new QSignalTransition(q, SIGNAL(toggled(bool)));
checkedTransition->setTargetState(uncheckedState); checkedTransition->setTargetState(uncheckedState);
checkedState->addTransition(checkedTransition); checkedState->addTransition(checkedTransition);

View File

@ -21,22 +21,22 @@ public:
void init(); void init();
Checkable *const q_ptr; Checkable *const q_ptr;
RippleOverlay *ripple; RippleOverlay *const ripple;
CheckableIcon *checkedIcon; CheckableIcon *const checkedIcon;
CheckableIcon *uncheckedIcon; CheckableIcon *const uncheckedIcon;
QStateMachine *machine; QStateMachine *const machine;
QState *uncheckedState; QState *const uncheckedState;
QState *checkedState; QState *const checkedState;
QState *disabledUncheckedState; QState *const disabledUncheckedState;
QState *disabledCheckedState; QState *const disabledCheckedState;
QSignalTransition *uncheckedTransition; QSignalTransition *const uncheckedTransition;
QSignalTransition *checkedTransition; QSignalTransition *const checkedTransition;
QColor checkedColor; QColor checkedColor;
QColor uncheckedColor; QColor uncheckedColor;
QColor textColor; QColor textColor;
QColor disabledColor; QColor disabledColor;
bool useThemeColors; bool useThemeColors;
}; };
#endif // CHECKABLE_P_H #endif // CHECKABLE_P_H