QAction * Actions::createAction(const QString &name, MainWindow *kaduMainWindow) { if (!contains(name)) return 0; Action *result = (*this)[name]->createAction(kaduMainWindow); kaduMainWindow->actionAdded(result); emit actionCreated(result); return result; }
QAction * Actions::createAction(const QString &name, ActionContext *context, QObject *parent) { if (!contains(name)) return nullptr; auto v = value(name); if (!v) return nullptr; auto result = v->createAction(context, parent); emit actionCreated(result); return result; }
QSharedPointer<Action> BaseModel::createAction(const QString& uuid) { if (!m_pvt->m_achievements.contains(uuid)) { qDebug() << "no such achievement: " << uuid; return QSharedPointer<Action>(); } QSharedPointer<Achievement> achievementPtr = m_pvt->m_achievements[uuid]; QSharedPointer<Action> actionPtr(new Action(tr("[no name action]"), achievementPtr)); //= achivementPtr->addAction(tr("no name action")); achievementPtr->addAction(actionPtr); m_pvt->m_actions[actionPtr->uuid().toString()] = actionPtr; emit actionCreated(actionPtr); return actionPtr; }