diff options
author | Axel Spoerl <axel.spoerl@qt.io> | 2023-08-24 09:48:01 +0200 |
---|---|---|
committer | Axel Spoerl <axel.spoerl@qt.io> | 2023-08-24 15:28:57 +0200 |
commit | 3308ce3fd34ca8f95e87b991fb5ac8896e1603ab (patch) | |
tree | 288e6e0dbe262546fc35137862171d3eccb227b6 | |
parent | 9ef16d94719b186051174d1df1d75b758f9a98c9 (diff) |
QToolButton: Replace macro based connections
Use QObjectPrivate::connect() instead of SLOT/SIGNAL based connection.
Remove _q_ prefix and private slot declaration.
Change-Id: I4f91d6f7155d7578c5d2d31a18865a00ebb8d13b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
-rw-r--r-- | src/widgets/widgets/qtoolbutton.cpp | 49 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbutton.h | 8 |
2 files changed, 29 insertions, 28 deletions
diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index e6ec9ec0bc..20de316b6d 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -39,14 +39,14 @@ class QToolButtonPrivate : public QAbstractButtonPrivate public: void init(); #if QT_CONFIG(menu) - void _q_buttonPressed(); - void _q_buttonReleased(); + void onButtonPressed(); + void onButtonReleased(); void popupTimerDone(); - void _q_updateButtonDown(); - void _q_menuTriggered(QAction *); + void updateButtonDown(); + void onMenuTriggered(QAction *); #endif bool updateHoverControl(const QPoint &pos); - void _q_actionTriggered(); + void onActionTriggered(); QStyle::SubControl newHoverControl(const QPoint &pos); QStyle::SubControl hoverControl; QRect hoverRect; @@ -187,8 +187,10 @@ void QToolButtonPrivate::init() QSizePolicy::ToolButton)); #if QT_CONFIG(menu) - QObject::connect(q, SIGNAL(pressed()), q, SLOT(_q_buttonPressed())); - QObject::connect(q, SIGNAL(released()), q, SLOT(_q_buttonReleased())); + QObjectPrivate::connect(q, &QAbstractButton::pressed, + this, &QToolButtonPrivate::onButtonPressed); + QObjectPrivate::connect(q, &QAbstractButton::released, + this, &QToolButtonPrivate::onButtonReleased); #endif setLayoutItemMargins(QStyle::SE_ToolButtonLayoutItem); @@ -435,7 +437,8 @@ void QToolButton::actionEvent(QActionEvent *event) setDefaultAction(action); // update button state break; case QEvent::ActionAdded: - connect(action, SIGNAL(triggered()), this, SLOT(_q_actionTriggered())); + QObjectPrivate::connect(action, &QAction::triggered, d, + &QToolButtonPrivate::onActionTriggered); break; case QEvent::ActionRemoved: if (d->defaultAction == action) @@ -480,7 +483,7 @@ bool QToolButtonPrivate::updateHoverControl(const QPoint &pos) return !doesHover; } -void QToolButtonPrivate::_q_actionTriggered() +void QToolButtonPrivate::onActionTriggered() { Q_Q(QToolButton); if (QAction *action = qobject_cast<QAction *>(q->sender())) @@ -667,7 +670,7 @@ void QToolButton::showMenu() d->popupTimerDone(); } -void QToolButtonPrivate::_q_buttonPressed() +void QToolButtonPrivate::onButtonPressed() { Q_Q(QToolButton); if (!hasMenu()) @@ -680,7 +683,7 @@ void QToolButtonPrivate::_q_buttonPressed() q->showMenu(); } -void QToolButtonPrivate::_q_buttonReleased() +void QToolButtonPrivate::onButtonReleased() { popupTimer.stop(); } @@ -757,9 +760,12 @@ void QToolButtonPrivate::popupTimerDone() #endif QPointer<QToolButton> that = q; actualMenu->setNoReplayFor(q); - if (!mustDeleteActualMenu) //only if action are not in this widget - QObject::connect(actualMenu, SIGNAL(triggered(QAction*)), q, SLOT(_q_menuTriggered(QAction*))); - QObject::connect(actualMenu, SIGNAL(aboutToHide()), q, SLOT(_q_updateButtonDown())); + if (!mustDeleteActualMenu) { //only if action are not in this widget + QObjectPrivate::connect(actualMenu, &QMenu::triggered, + this, &QToolButtonPrivate::onMenuTriggered); + } + QObjectPrivate::connect(actualMenu, &QMenu::aboutToHide, + this, &QToolButtonPrivate::updateButtonDown); actualMenu->d_func()->causedPopup.widget = q; actualMenu->d_func()->causedPopup.action = defaultAction; actionsCopy = q->actions(); //(the list of action may be modified in slots) @@ -773,11 +779,14 @@ void QToolButtonPrivate::popupTimerDone() if (!that) return; - QObject::disconnect(actualMenu, SIGNAL(aboutToHide()), q, SLOT(_q_updateButtonDown())); - if (mustDeleteActualMenu) + QObjectPrivate::disconnect(actualMenu, &QMenu::aboutToHide, + this, &QToolButtonPrivate::updateButtonDown); + if (mustDeleteActualMenu) { delete actualMenu; - else - QObject::disconnect(actualMenu, SIGNAL(triggered(QAction*)), q, SLOT(_q_menuTriggered(QAction*))); + } else { + QObjectPrivate::disconnect(actualMenu, &QMenu::triggered, + this, &QToolButtonPrivate::onMenuTriggered); + } actionsCopy.clear(); @@ -785,7 +794,7 @@ void QToolButtonPrivate::popupTimerDone() q->setAutoRepeat(true); } -void QToolButtonPrivate::_q_updateButtonDown() +void QToolButtonPrivate::updateButtonDown() { Q_Q(QToolButton); menuButtonDown = false; @@ -795,7 +804,7 @@ void QToolButtonPrivate::_q_updateButtonDown() q->repaint(); } -void QToolButtonPrivate::_q_menuTriggered(QAction *action) +void QToolButtonPrivate::onMenuTriggered(QAction *action) { Q_Q(QToolButton); if (action && !actionsCopy.contains(action)) diff --git a/src/widgets/widgets/qtoolbutton.h b/src/widgets/widgets/qtoolbutton.h index 68b04c42bf..72429620ad 100644 --- a/src/widgets/widgets/qtoolbutton.h +++ b/src/widgets/widgets/qtoolbutton.h @@ -89,14 +89,6 @@ protected: private: Q_DISABLE_COPY(QToolButton) Q_DECLARE_PRIVATE(QToolButton) -#if QT_CONFIG(menu) - Q_PRIVATE_SLOT(d_func(), void _q_buttonPressed()) - Q_PRIVATE_SLOT(d_func(), void _q_buttonReleased()) - Q_PRIVATE_SLOT(d_func(), void _q_updateButtonDown()) - Q_PRIVATE_SLOT(d_func(), void _q_menuTriggered(QAction*)) -#endif - Q_PRIVATE_SLOT(d_func(), void _q_actionTriggered()) - }; QT_END_NAMESPACE |