From 57e77ecc04f32991902bcb29b5d4ee93ce49e0ea Mon Sep 17 00:00:00 2001 From: laserpants Date: Sun, 12 Jun 2016 22:57:31 +0300 Subject: [PATCH] use switch in event handlers instead of if-then-else clause --- components/fab.cpp | 19 +++++++++++++++---- components/iconbutton.cpp | 26 ++++++++++++++++---------- components/radiobutton.cpp | 5 ++++- components/slider_internal.cpp | 31 +++++++++++++++++++++---------- components/tabs_internal.cpp | 13 +++++++++---- components/toggle.cpp | 21 +++++++++++++++------ 6 files changed, 80 insertions(+), 35 deletions(-) diff --git a/components/fab.cpp b/components/fab.cpp index ff8bcef..32386c0 100644 --- a/components/fab.cpp +++ b/components/fab.cpp @@ -201,18 +201,29 @@ int FloatingActionButton::yOffset() const bool FloatingActionButton::event(QEvent *event) { - QEvent::Type type = event->type(); - - if (QEvent::ParentChange == type && parentWidget()) + switch (event->type()) { + case QEvent::ParentChange: + { + if (!parent()) + break; + Q_D(FloatingActionButton); parent()->installEventFilter(this); setGeometry(d->fabGeometry()); + break; } - else if (QEvent::ParentAboutToChange == type && parentWidget()) + case QEvent::ParentAboutToChange: { + if (!parent()) + break; + parent()->removeEventFilter(this); + break; + } + default: + break; } return RaisedButton::event(event); } diff --git a/components/iconbutton.cpp b/components/iconbutton.cpp index 38a7b1a..9996dd2 100644 --- a/components/iconbutton.cpp +++ b/components/iconbutton.cpp @@ -14,7 +14,7 @@ void IconButtonPrivate::init() { Q_Q(IconButton); - ripple = new RippleOverlay(q); + ripple = new RippleOverlay(q->parentWidget()); QSizePolicy policy; policy.setWidthForHeight(true); @@ -41,19 +41,25 @@ QSize IconButton::sizeHint() const bool IconButton::event(QEvent *event) { - const QEvent::Type type = event->type(); - if (QEvent::Resize == type || QEvent::Move == type) - { - Q_D(IconButton); + Q_D(IconButton); + switch (event->type()) + { + case QEvent::Resize: + case QEvent::Move: { const int s = iconSize().width()/2; d->ripple->setGeometry(geometry().adjusted(-s, -s, s, s)); + break; } - else if (QEvent::ParentChange == type && parentWidget()) - { - Q_D(IconButton); - - d->ripple->setParent(parentWidget()); + case QEvent::ParentChange: { + QWidget *widget; + if ((widget = parentWidget())) { + d->ripple->setParent(parentWidget()); + } + break; + } + default: + break; } return QAbstractButton::event(event); } diff --git a/components/radiobutton.cpp b/components/radiobutton.cpp index a0ebdec..be4716a 100644 --- a/components/radiobutton.cpp +++ b/components/radiobutton.cpp @@ -67,7 +67,10 @@ bool RadioButton::event(QEvent *event) d->iconWidget->setGeometry(geometry()); break; case QEvent::ParentChange: - d->ripple->setParent(parentWidget()); + QWidget *widget; + if ((widget = parentWidget())) { + d->ripple->setParent(widget); + } break; default: break; diff --git a/components/slider_internal.cpp b/components/slider_internal.cpp index 3b5f450..ec31dd4 100644 --- a/components/slider_internal.cpp +++ b/components/slider_internal.cpp @@ -235,15 +235,20 @@ SliderThumb::~SliderThumb() bool SliderThumb::eventFilter(QObject *obj, QEvent *event) { - QEvent::Type type = event->type(); - - if (QEvent::ParentChange == type) { + switch (event->type()) + { + case QEvent::ParentChange: setParent(slider->parentWidget()); - } else if (QEvent::Resize == type || QEvent::Move == type) { + break; + case QEvent::Resize: + case QEvent::Move: QWidget *widget; if ((widget = parentWidget())) { setGeometry(widget->rect()); } + break; + default: + break; } return QWidget::eventFilter(obj, event); } @@ -339,14 +344,20 @@ SliderTrack::~SliderTrack() bool SliderTrack::eventFilter(QObject *obj, QEvent *event) { - QEvent::Type type = event->type(); - - if (QEvent::ParentChange == type) { + switch (event->type()) + { + case QEvent::ParentChange: setParent(slider->parentWidget()); - } else if (QEvent::Resize == type || QEvent::Move == type) { - if (parentWidget()) { - setGeometry(parentWidget()->rect()); + break; + case QEvent::Resize: + case QEvent::Move: + QWidget *widget; + if ((widget = parentWidget())) { + setGeometry(widget->rect()); } + break; + default: + break; } return QWidget::eventFilter(obj, event); } diff --git a/components/tabs_internal.cpp b/components/tabs_internal.cpp index a75c492..0666ccc 100644 --- a/components/tabs_internal.cpp +++ b/components/tabs_internal.cpp @@ -61,15 +61,20 @@ void TabsInkBar::animate() bool TabsInkBar::eventFilter(QObject *obj, QEvent *event) { - QEvent::Type type = event->type(); - - if (QEvent::ParentChange == type) { + switch (event->type()) + { + case QEvent::ParentChange: setParent(tabs->parentWidget()); - } else if (QEvent::Resize == type || QEvent::Move == type) { + break; + case QEvent::Resize: + case QEvent::Move: QWidget *widget; if ((widget = parentWidget())) { setGeometry(widget->rect()); } + break; + default: + break; } return QWidget::eventFilter(obj, event); } diff --git a/components/toggle.cpp b/components/toggle.cpp index 01c050e..9bc340f 100644 --- a/components/toggle.cpp +++ b/components/toggle.cpp @@ -286,18 +286,27 @@ bool Toggle::event(QEvent *event) { Q_D(Toggle); - const QEvent::Type type = event->type(); - - if (QEvent::EnabledChange == type) { + switch (event->type()) + { + case QEvent::EnabledChange: if (isEnabled()) { d->machine.start(); } else { d->machine.stop(); } - } else if (QEvent::ParentChange == type && parentWidget()) { - d->ripple->setParent(parentWidget()); - } else if (QEvent::Resize == type || QEvent::Move == type) { + break; + case QEvent::ParentChange: + QWidget *widget; + if ((widget = parentWidget())) { + d->ripple->setParent(widget); + } + break; + case QEvent::Resize: + case QEvent::Move: d->ripple->setGeometry(geometry().adjusted(-10, -20, 10, 20)); + break; + default: + break; } return QAbstractButton::event(event); }