There was no reason, and using QAction is more flexible.
Internal::MainWindow *m_mainWindow;
Internal::FancyTabWidget *m_modeStack;
Internal::FancyActionBar *m_actionBar;
- QMap<Command*, int> m_actions;
+ QMap<QAction*, int> m_actions;
QVector<IMode*> m_modes;
QVector<Command*> m_modeShortcuts;
QSignalMapper *m_signalMapper;
d->m_mainWindow->removeContextObject(mode);
}
-void ModeManager::addAction(Command *command, int priority)
+void ModeManager::addAction(QAction *action, int priority)
{
- d->m_actions.insert(command, priority);
+ d->m_actions.insert(action, priority);
// Count the number of commands with a higher priority
int index = 0;
++index;
}
- d->m_actionBar->insertAction(index, command->action());
+ d->m_actionBar->insertAction(index, action);
}
void ModeManager::addProjectSelector(QAction *action)
namespace Core {
-class Command;
class IMode;
+
namespace Internal {
class MainWindow;
class FancyTabWidget;
IMode* currentMode() const;
IMode* mode(const QString &id) const;
- void addAction(Command *command, int priority);
+ void addAction(QAction *action, int priority);
void addProjectSelector(QAction *action);
void addWidget(QWidget *widget);
cmd->setDefaultText(tr("Start Debugging"));
cmd->setDefaultKeySequence(QKeySequence(Constants::DEBUG_KEY));
mstart->addAction(cmd, Core::Constants::G_DEFAULT_ONE);
- Core::ICore::instance()->modeManager()->addAction(cmd, Constants::P_ACTION_DEBUG);
+ Core::ICore::instance()->modeManager()->addAction(cmd->action(), Constants::P_ACTION_DEBUG);
cmd = am->registerAction(m_actions.continueAction,
Constants::DEBUG, m_continuableContext);
mbuild->addAction(cmd, Constants::G_BUILD_SESSION);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_BUILD);
// Add to mode bar
- modeManager->addAction(cmd, Constants::P_ACTION_BUILDSESSION);
+ modeManager->addAction(cmd->action(), Constants::P_ACTION_BUILDSESSION);
// rebuild session action
QIcon rebuildIcon(Constants::ICON_REBUILD);
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+R")));
mbuild->addAction(cmd, Constants::G_BUILD_RUN);
- modeManager->addAction(cmd, Constants::P_ACTION_RUN);
+ modeManager->addAction(cmd->action(), Constants::P_ACTION_RUN);
d->m_runActionContextMenu = new QAction(runIcon, tr("Run"), this);
cmd = am->registerAction(d->m_runActionContextMenu, Constants::RUNCONTEXTMENU, projecTreeContext);
qemuCommand->setAttribute(Core::Command::CA_UpdateIcon);
Core::ModeManager *modeManager = core->modeManager();
- modeManager->addAction(qemuCommand, 1);
+ modeManager->addAction(qemuCommand->action(), 1);
// listen to qt version changes to update the start button
connect(QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList<int>)),