Fix shortcut saving on KDE, and use the system dialog for Frameworks
[quassel.git] / src / uisupport / actioncollection.cpp
index 0583ce5..593b236 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-09 by the Quassel Project                          *
+ *   Copyright (C) 2005-2015 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************
  * Parts of this implementation are based on KDE's KActionCollection.      *
  ***************************************************************************/
@@ -202,20 +202,31 @@ void ActionCollection::actionDestroyed(QObject *obj)
     unlistAction(action);
 }
 
-
+#if QT_VERSION >= 0x050000
+void ActionCollection::connectNotify(const QMetaMethod &signal)
+#else
 void ActionCollection::connectNotify(const char *signal)
+#endif
 {
     if (_connectHovered && _connectTriggered)
         return;
 
+#if QT_VERSION >= 0x050000
+    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())