From: Sebastian Goth Date: Tue, 17 Jun 2014 19:33:21 +0000 (+0200) Subject: Fix contextmenu actions for Qt5 X-Git-Tag: 0.11.0~30^2 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=8c8426178ee7e6be923ebb6fe1c96c46d99f57eb Fix contextmenu actions for Qt5 As documented for QObject::connectNotify --- 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