From 8c8426178ee7e6be923ebb6fe1c96c46d99f57eb Mon Sep 17 00:00:00 2001 From: Sebastian Goth Date: Tue, 17 Jun 2014 21:33:21 +0200 Subject: [PATCH] Fix contextmenu actions for Qt5 As documented for QObject::connectNotify --- src/uisupport/actioncollection.cpp | 16 ++++++++-------- src/uisupport/actioncollection.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/uisupport/actioncollection.cpp b/src/uisupport/actioncollection.cpp index 4ebb65b0..c918c821 100644 --- a/src/uisupport/actioncollection.cpp +++ b/src/uisupport/actioncollection.cpp @@ -203,7 +203,7 @@ void ActionCollection::actionDestroyed(QObject *obj) } #if QT_VERSION >= 0x050000 -void ActionCollection::connectNotify(const QMetaMethod &method) +void ActionCollection::connectNotify(const QMetaMethod &signal) #else void ActionCollection::connectNotify(const char *signal) #endif @@ -212,17 +212,21 @@ void ActionCollection::connectNotify(const char *signal) return; #if QT_VERSION >= 0x050000 - QByteArray signal = method.methodSignature(); -#endif - + if (QMetaMethod::fromSignal(&ActionCollection::actionHovered) == signal) { +#else if (QMetaObject::normalizedSignature(SIGNAL(actionHovered(QAction *))) == signal) { +#endif if (!_connectHovered) { _connectHovered = true; foreach(QAction* action, actions()) connect(action, SIGNAL(hovered()), SLOT(slotActionHovered())); } } +#if QT_VERSION >= 0x050000 + else if (QMetaMethod::fromSignal(&ActionCollection::actionTriggered) == signal) { +#else else if (QMetaObject::normalizedSignature(SIGNAL(actionTriggered(QAction *))) == signal) { +#endif if (!_connectTriggered) { _connectTriggered = true; foreach(QAction* action, actions()) @@ -230,11 +234,7 @@ void ActionCollection::connectNotify(const char *signal) } } -#if QT_VERSION >= 0x050000 - QObject::connectNotify(method); -#else QObject::connectNotify(signal); -#endif } diff --git a/src/uisupport/actioncollection.h b/src/uisupport/actioncollection.h index 22b07485..d14981ac 100644 --- a/src/uisupport/actioncollection.h +++ b/src/uisupport/actioncollection.h @@ -97,7 +97,7 @@ signals: protected slots: #if QT_VERSION >= 0x050000 - virtual void connectNotify(const QMetaMethod &method); + virtual void connectNotify(const QMetaMethod &signal); #else virtual void connectNotify(const char *signal); #endif -- 2.20.1