X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Factioncollection.h;h=c920adc5c9adf6245c569f49be1fa374528c5e57;hp=8b2bec864022d86b1d8fa4b8975a21155f148940;hb=e56629542168c203cac8504085fc96c7f7b73d90;hpb=084d95e60b0fb587b1950a3e4f8ec5e4f017446c diff --git a/src/uisupport/actioncollection.h b/src/uisupport/actioncollection.h index 8b2bec86..c920adc5 100644 --- a/src/uisupport/actioncollection.h +++ b/src/uisupport/actioncollection.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 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,13 +15,12 @@ * 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. * *************************************************************************** * This is a subset of the API of KDE's KActionCollection. * ***************************************************************************/ -#ifndef ACTIONCOLLECTION_H_ -#define ACTIONCOLLECTION_H_ +#pragma once #ifndef HAVE_KDE @@ -36,10 +35,11 @@ class QWidget; class Action; class QAction; -class ActionCollection : public QObject { - Q_OBJECT +class ActionCollection : public QObject +{ + Q_OBJECT - public: +public: explicit ActionCollection(QObject *parent); virtual ~ActionCollection(); @@ -79,29 +79,35 @@ class ActionCollection : public QObject { /// Create new action under the given name, add it to the collection and connect its triggered(bool) signal to the specified receiver. template - ActionType *add(const QString &name, const QObject *receiver = 0, const char *member = 0) { - ActionType *a = new ActionType(this); - if(receiver && member) - connect(a, SIGNAL(triggered(bool)), receiver, member); - addAction(name, a); - return a; + ActionType *add(const QString &name, const QObject *receiver = 0, const char *member = 0) + { + ActionType *a = new ActionType(this); + if (receiver && member) + connect(a, SIGNAL(triggered(bool)), receiver, member); + addAction(name, a); + return a; } - signals: + +signals: void inserted(QAction *action); void actionHovered(QAction *action); void actionTriggered(QAction *action); - protected slots: +protected slots: +#if QT_VERSION >= 0x050000 + virtual void connectNotify(const QMetaMethod &signal); +#else virtual void connectNotify(const char *signal); +#endif virtual void slotActionTriggered(); - private slots: +private slots: void slotActionHovered(); void actionDestroyed(QObject *); void associatedWidgetDestroyed(QObject *); - private: +private: bool unlistAction(QAction *); QMap _actionByName; @@ -112,20 +118,23 @@ class ActionCollection : public QObject { bool _connectTriggered; }; + int ActionCollection::count() const { return actions().count(); } bool ActionCollection::isEmpty() const { return actions().count(); } #else /* HAVE_KDE */ +# ifdef HAVE_KDE4 +# include +# else +# include +# endif -#include - -class ActionCollection : public KActionCollection { - Q_OBJECT +class ActionCollection : public KActionCollection +{ + Q_OBJECT - public: +public: explicit ActionCollection(QObject *parent) : KActionCollection(parent) {}; - }; -#endif -#endif +#endif /* HAVE_KDE */