summaryrefslogtreecommitdiff
path: root/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2012-04-26 19:28:59 +0200
committerEike Ziller <eike.ziller@nokia.com>2012-05-04 08:08:40 +0200
commit5aef8ac4d72d757ef155b75dfe315a7427c4abde (patch)
tree434bb42b60ce34e0889d9df2ea908c44d49e1ea6 /src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
parent043c179376b38f4e4f1f0acc6d5754988688b790 (diff)
downloadqt-creator-5aef8ac4d72d757ef155b75dfe315a7427c4abde.tar.gz
Separate destructive clean/rebuild actions from rest.
Also clean up the use of icons to be more consistent. In the project context menu show the name of the project the actions apply to only once in "Set '%1' as Active Project" (and in the "Close Project '%1'") to avoid repetition. Change-Id: I7f2d7bc9e3ed60c915e0a2badfbdab5f854e9b6f Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp')
-rw-r--r--src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp47
1 files changed, 26 insertions, 21 deletions
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
index 86231f6ba2..0fff2668c5 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
@@ -186,40 +186,36 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
//register actions
Core::Command *command;
- QIcon qmakeIcon(QLatin1String(":/qt4projectmanager/images/run_qmake.png"));
- qmakeIcon.addFile(QLatin1String(":/qt4projectmanager/images/run_qmake_small.png"));
- m_runQMakeAction = new QAction(qmakeIcon, tr("Run qmake"), this);
- command = am->registerAction(m_runQMakeAction, Constants::RUNQMAKE, projectContext);
+ m_buildSubProjectContextMenu = new Utils::ParameterAction(tr("Build"), tr("Build \"%1\""),
+ Utils::ParameterAction::AlwaysEnabled/*handled manually*/,
+ this);
+ command = am->registerAction(m_buildSubProjectContextMenu, Constants::BUILDSUBDIRCONTEXTMENU, projectContext);
command->setAttribute(Core::Command::CA_Hide);
- mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
- connect(m_runQMakeAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(runQMake()));
+ command->setAttribute(Core::Command::CA_UpdateText);
+ command->setDescription(m_buildSubProjectContextMenu->text());
+ msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
+ connect(m_buildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(buildSubDirContextMenu()));
- m_runQMakeActionContextMenu = new QAction(qmakeIcon, tr("Run qmake"), this);
+ m_runQMakeActionContextMenu = new QAction(tr("Run qmake"), this);
command = am->registerAction(m_runQMakeActionContextMenu, Constants::RUNQMAKECONTEXTMENU, projectContext);
command->setAttribute(Core::Command::CA_Hide);
mproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
connect(m_runQMakeActionContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(runQMakeContextMenu()));
- QIcon buildIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_BUILD));
- buildIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_BUILD_SMALL));
- m_buildSubProjectContextMenu = new QAction(buildIcon, tr("Build"), this);
- command = am->registerAction(m_buildSubProjectContextMenu, Constants::BUILDSUBDIRCONTEXTMENU, projectContext);
+ m_subProjectRebuildSeparator = new QAction(this);
+ m_subProjectRebuildSeparator->setSeparator(true);
command->setAttribute(Core::Command::CA_Hide);
+ command = am->registerAction(m_subProjectRebuildSeparator, Core::Id("ProjectExplorer.SubprojectRebuild.Sep"), projectContext);
msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
- connect(m_buildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(buildSubDirContextMenu()));
- QIcon rebuildIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_REBUILD));
- rebuildIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_REBUILD_SMALL));
- m_rebuildSubProjectContextMenu = new QAction(rebuildIcon, tr("Rebuild"), this);
+ m_rebuildSubProjectContextMenu = new QAction(tr("Rebuild"), this);
command = am->registerAction(m_rebuildSubProjectContextMenu, Constants::REBUILDSUBDIRCONTEXTMENU, projectContext);
command->setAttribute(Core::Command::CA_Hide);
msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
connect(m_rebuildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(rebuildSubDirContextMenu()));
- QIcon cleanIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_CLEAN));
- cleanIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_CLEAN_SMALL));
- m_cleanSubProjectContextMenu = new QAction(cleanIcon, tr("Clean"), this);
+ m_cleanSubProjectContextMenu = new QAction(tr("Clean"), this);
command = am->registerAction(m_cleanSubProjectContextMenu, Constants::CLEANSUBDIRCONTEXTMENU, projectContext);
command->setAttribute(Core::Command::CA_Hide);
msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
@@ -231,16 +227,22 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
command->setAttribute(Core::Command::CA_Hide);
command->setAttribute(Core::Command::CA_UpdateText);
command->setDescription(m_buildSubProjectAction->text());
- mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
+ mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
connect(m_buildSubProjectAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(buildSubDirContextMenu()));
+ m_runQMakeAction = new QAction(tr("Run qmake"), this);
+ command = am->registerAction(m_runQMakeAction, Constants::RUNQMAKE, projectContext);
+ command->setAttribute(Core::Command::CA_Hide);
+ mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
+ connect(m_runQMakeAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(runQMake()));
+
m_rebuildSubProjectAction = new Utils::ParameterAction(tr("Rebuild Subproject"), tr("Rebuild Subproject \"%1\""),
Utils::ParameterAction::EnabledWithParameter, this);
command = am->registerAction(m_rebuildSubProjectAction, Constants::REBUILDSUBDIR, projectContext);
command->setAttribute(Core::Command::CA_Hide);
command->setAttribute(Core::Command::CA_UpdateText);
command->setDescription(m_rebuildSubProjectAction->text());
- mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
+ mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_REBUILD);
connect(m_rebuildSubProjectAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(rebuildSubDirContextMenu()));
m_cleanSubProjectAction = new Utils::ParameterAction(tr("Clean Subproject"), tr("Clean Subproject \"%1\""),
@@ -249,7 +251,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
command->setAttribute(Core::Command::CA_Hide);
command->setAttribute(Core::Command::CA_UpdateText);
command->setDescription(m_cleanSubProjectAction->text());
- mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PROJECT);
+ mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_CLEAN);
connect(m_cleanSubProjectAction, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(cleanSubDirContextMenu()));
connect(m_projectExplorer,
@@ -324,6 +326,7 @@ void Qt4ProjectManagerPlugin::updateContextMenu(Project *project,
&& qt4Project->activeTarget()->activeQt4BuildConfiguration()) {
m_runQMakeActionContextMenu->setVisible(true);
m_buildSubProjectContextMenu->setVisible(true);
+ m_subProjectRebuildSeparator->setVisible(true);
m_rebuildSubProjectContextMenu->setVisible(true);
m_cleanSubProjectContextMenu->setVisible(true);
@@ -337,6 +340,7 @@ void Qt4ProjectManagerPlugin::updateContextMenu(Project *project,
} else {
m_runQMakeActionContextMenu->setVisible(false);
m_buildSubProjectContextMenu->setVisible(false);
+ m_subProjectRebuildSeparator->setVisible(false);
m_rebuildSubProjectContextMenu->setVisible(false);
m_cleanSubProjectContextMenu->setVisible(false);
}
@@ -406,6 +410,7 @@ void Qt4ProjectManagerPlugin::currentNodeChanged(ProjectExplorer::Node *node, Pr
m_buildSubProjectAction->setParameter(subProjectName);
m_rebuildSubProjectAction->setParameter(subProjectName);
m_cleanSubProjectAction->setParameter(subProjectName);
+ m_buildSubProjectContextMenu->setParameter(subProjectName);
m_buildSubProjectAction->setVisible(subProjectActionsVisible);
m_rebuildSubProjectAction->setVisible(subProjectActionsVisible);