X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Factioncollection.cpp;h=af5c9241928525b20a0063f15cba3969d8de620b;hp=0ba65ba4c60350c92f8c75bfad5a8c20762e255e;hb=f9efdde7f3a6004af8f834c409cfa6ae1d877692;hpb=900cce213a6ed000b7131a05a0dec7d04b35b023 diff --git a/src/uisupport/actioncollection.cpp b/src/uisupport/actioncollection.cpp index 0ba65ba4..af5c9241 100644 --- a/src/uisupport/actioncollection.cpp +++ b/src/uisupport/actioncollection.cpp @@ -20,8 +20,6 @@ * Parts of this implementation are based on KDE's KActionCollection. * ***************************************************************************/ -#ifndef HAVE_KDE - #include #include #include @@ -31,12 +29,27 @@ #include "action.h" #include "uisettings.h" -ActionCollection::ActionCollection(QObject *parent) : QObject(parent) +void ActionCollection::addActions(const std::vector> &actions) +{ + for (auto &&p : actions) { + addAction(p.first, p.second); + } +} + + +#ifndef HAVE_KDE + +int ActionCollection::count() const { - _connectTriggered = _connectHovered = false; + return actions().count(); } +bool ActionCollection::isEmpty() const +{ + return actions().count(); +} + void ActionCollection::clear() { _actionByName.clear(); @@ -56,25 +69,6 @@ QList ActionCollection::actions() const return _actions; } - -Action *ActionCollection::addAction(const QString &name, Action *action) -{ - QAction *act = addAction(name, static_cast(action)); - Q_UNUSED(act); - Q_ASSERT(act == action); - return action; -} - - -Action *ActionCollection::addAction(const QString &name, const QObject *receiver, const char *member) -{ - auto *a = new Action(this); - if (receiver && member) - connect(a, SIGNAL(triggered(bool)), receiver, member); - return addAction(name, a); -} - - QAction *ActionCollection::addAction(const QString &name, QAction *action) { if (!action) @@ -288,5 +282,4 @@ bool ActionCollection::unlistAction(QAction *action) return true; } - #endif /* HAVE_KDE */