Added action callbacks.
[tagua/yd.git] / src / actioncollection.cpp
blob9e71ae75faa5c76f3d295e0bd236ce9cdd87d9bd
1 #include "actioncollection.h"
3 #include <QAction>
5 ActionCollection::ActionCollection() { }
7 void ActionCollection::add(QAction* action) {
8 m_actions.append(action);
11 void ActionCollection::add(QAction* action, const Callback& callback) {
12 add(action);
13 m_callbacks.insert(action, callback);
14 connect(action, SIGNAL(triggered()), this, SLOT(actionTriggered()));
17 QList<QAction*> ActionCollection::actions() const {
18 return m_actions;
21 void ActionCollection::actionTriggered() {
22 QAction* action = qobject_cast<QAction*>(sender());
24 if (action && m_callbacks.contains(action)) {
25 m_callbacks.value(action)();