forked from qt-creator/qt-creator
Use startup project not current project for building
Except in the context menu
This commit is contained in:
@@ -136,12 +136,15 @@ struct ProjectExplorerPluginPrivate {
|
|||||||
QAction *m_clearSession;
|
QAction *m_clearSession;
|
||||||
QAction *m_buildProjectOnlyAction;
|
QAction *m_buildProjectOnlyAction;
|
||||||
Utils::ParameterAction *m_buildAction;
|
Utils::ParameterAction *m_buildAction;
|
||||||
|
Utils::ParameterAction *m_buildActionContextMenu;
|
||||||
QAction *m_buildSessionAction;
|
QAction *m_buildSessionAction;
|
||||||
QAction *m_rebuildProjectOnlyAction;
|
QAction *m_rebuildProjectOnlyAction;
|
||||||
Utils::ParameterAction *m_rebuildAction;
|
Utils::ParameterAction *m_rebuildAction;
|
||||||
|
Utils::ParameterAction *m_rebuildActionContextMenu;
|
||||||
QAction *m_rebuildSessionAction;
|
QAction *m_rebuildSessionAction;
|
||||||
QAction *m_cleanProjectOnlyAction;
|
QAction *m_cleanProjectOnlyAction;
|
||||||
Utils::ParameterAction *m_cleanAction;
|
Utils::ParameterAction *m_cleanAction;
|
||||||
|
Utils::ParameterAction *m_cleanActionContextMenu;
|
||||||
QAction *m_cleanSessionAction;
|
QAction *m_cleanSessionAction;
|
||||||
QAction *m_runAction;
|
QAction *m_runAction;
|
||||||
QAction *m_runActionContextMenu;
|
QAction *m_runActionContextMenu;
|
||||||
@@ -553,10 +556,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
am->createMenu(Constants::BUILDCONFIGURATIONMENU);
|
am->createMenu(Constants::BUILDCONFIGURATIONMENU);
|
||||||
d->m_buildConfigurationMenu = mbc->menu();
|
d->m_buildConfigurationMenu = mbc->menu();
|
||||||
d->m_buildConfigurationMenu->setTitle(tr("Set Build Configuration"));
|
d->m_buildConfigurationMenu->setTitle(tr("Set Build Configuration"));
|
||||||
//TODO this means it is build twice, rrr
|
|
||||||
connect(mproject->menu(), SIGNAL(aboutToShow()), this, SLOT(populateBuildConfigurationMenu()));
|
|
||||||
connect(mbuild->menu(), SIGNAL(aboutToShow()), this, SLOT(populateBuildConfigurationMenu()));
|
connect(mbuild->menu(), SIGNAL(aboutToShow()), this, SLOT(populateBuildConfigurationMenu()));
|
||||||
connect(d->m_buildConfigurationMenu, SIGNAL(aboutToShow()), this, SLOT(populateBuildConfigurationMenu()));
|
|
||||||
connect(d->m_buildConfigurationMenu, SIGNAL(triggered(QAction *)), this, SLOT(buildConfigurationMenuTriggered(QAction *)));
|
connect(d->m_buildConfigurationMenu, SIGNAL(triggered(QAction *)), this, SLOT(buildConfigurationMenuTriggered(QAction *)));
|
||||||
|
|
||||||
// build session action
|
// build session action
|
||||||
@@ -588,30 +588,51 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
|
|
||||||
// build action
|
// build action
|
||||||
d->m_buildAction = new Utils::ParameterAction(tr("Build Project"), tr("Build Project \"%1\""),
|
d->m_buildAction = new Utils::ParameterAction(tr("Build Project"), tr("Build Project \"%1\""),
|
||||||
Utils::ParameterAction::EnabledWithParameter, this);
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
cmd = am->registerAction(d->m_buildAction, Constants::BUILD, globalcontext);
|
cmd = am->registerAction(d->m_buildAction, Constants::BUILD, globalcontext);
|
||||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
cmd->setDefaultText(d->m_buildAction->text());
|
cmd->setDefaultText(d->m_buildAction->text());
|
||||||
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+B")));
|
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+B")));
|
||||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
|
||||||
|
|
||||||
// rebuild action
|
// rebuild action
|
||||||
d->m_rebuildAction = new Utils::ParameterAction(tr("Rebuild Project"), tr("Rebuild Project \"%1\""),
|
d->m_rebuildAction = new Utils::ParameterAction(tr("Rebuild Project"), tr("Rebuild Project \"%1\""),
|
||||||
Utils::ParameterAction::EnabledWithParameter, this);
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
cmd = am->registerAction(d->m_rebuildAction, Constants::REBUILD, globalcontext);
|
cmd = am->registerAction(d->m_rebuildAction, Constants::REBUILD, globalcontext);
|
||||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
cmd->setDefaultText(d->m_rebuildAction->text());
|
cmd->setDefaultText(d->m_rebuildAction->text());
|
||||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
|
||||||
|
|
||||||
// clean action
|
// clean action
|
||||||
d->m_cleanAction = new Utils::ParameterAction(tr("Clean Project"), tr("Clean Project \"%1\""),
|
d->m_cleanAction = new Utils::ParameterAction(tr("Clean Project"), tr("Clean Project \"%1\""),
|
||||||
Utils::ParameterAction::EnabledWithParameter, this);
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
cmd = am->registerAction(d->m_cleanAction, Constants::CLEAN, globalcontext);
|
cmd = am->registerAction(d->m_cleanAction, Constants::CLEAN, globalcontext);
|
||||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
cmd->setDefaultText(d->m_cleanAction->text());
|
cmd->setDefaultText(d->m_cleanAction->text());
|
||||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||||
|
|
||||||
|
// build action (context menu)
|
||||||
|
d->m_buildActionContextMenu = new Utils::ParameterAction(tr("Build Project"), tr("Build Project \"%1\""),
|
||||||
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
|
cmd = am->registerAction(d->m_buildActionContextMenu, Constants::BUILDCM, globalcontext);
|
||||||
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
|
cmd->setDefaultText(d->m_buildActionContextMenu->text());
|
||||||
|
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||||
|
|
||||||
|
// rebuild action (context menu)
|
||||||
|
d->m_rebuildActionContextMenu = new Utils::ParameterAction(tr("Rebuild Project"), tr("Rebuild Project \"%1\""),
|
||||||
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
|
cmd = am->registerAction(d->m_rebuildActionContextMenu, Constants::REBUILDCM, globalcontext);
|
||||||
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
|
cmd->setDefaultText(d->m_rebuildActionContextMenu->text());
|
||||||
|
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||||
|
|
||||||
|
// clean action (context menu)
|
||||||
|
d->m_cleanActionContextMenu = new Utils::ParameterAction(tr("Clean Project"), tr("Clean Project \"%1\""),
|
||||||
|
Utils::ParameterAction::AlwaysEnabled, this);
|
||||||
|
cmd = am->registerAction(d->m_cleanActionContextMenu, Constants::CLEANCM, globalcontext);
|
||||||
|
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||||
|
cmd->setDefaultText(d->m_cleanActionContextMenu->text());
|
||||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||||
|
|
||||||
// build without dependencies action
|
// build without dependencies action
|
||||||
@@ -628,7 +649,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
|
|
||||||
// Add Set Build Configuration to menu
|
// Add Set Build Configuration to menu
|
||||||
mbuild->addMenu(mbc, Constants::G_BUILD_OTHER);
|
mbuild->addMenu(mbc, Constants::G_BUILD_OTHER);
|
||||||
mproject->addMenu(mbc, Constants::G_PROJECT_CONFIG);
|
|
||||||
|
|
||||||
// run action
|
// run action
|
||||||
QIcon runIcon(Constants::ICON_RUN);
|
QIcon runIcon(Constants::ICON_RUN);
|
||||||
@@ -644,10 +664,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
d->m_runConfigurationMenu = mrc->menu();
|
d->m_runConfigurationMenu = mrc->menu();
|
||||||
d->m_runConfigurationMenu->setTitle(tr("Set Run Configuration"));
|
d->m_runConfigurationMenu->setTitle(tr("Set Run Configuration"));
|
||||||
mbuild->addMenu(mrc, Constants::G_BUILD_RUN);
|
mbuild->addMenu(mrc, Constants::G_BUILD_RUN);
|
||||||
mproject->addMenu(mrc, Constants::G_PROJECT_CONFIG);
|
|
||||||
// TODO this recreates the menu twice if shown in the Build or context menu
|
|
||||||
connect(d->m_runConfigurationMenu, SIGNAL(aboutToShow()), this, SLOT(populateRunConfigurationMenu()));
|
|
||||||
connect(mproject->menu(), SIGNAL(aboutToShow()), this, SLOT(populateRunConfigurationMenu()));
|
|
||||||
connect(mbuild->menu(), SIGNAL(aboutToShow()), this, SLOT(populateRunConfigurationMenu()));
|
connect(mbuild->menu(), SIGNAL(aboutToShow()), this, SLOT(populateRunConfigurationMenu()));
|
||||||
connect(d->m_runConfigurationMenu, SIGNAL(triggered(QAction *)), this, SLOT(runConfigurationMenuTriggered(QAction *)));
|
connect(d->m_runConfigurationMenu, SIGNAL(triggered(QAction *)), this, SLOT(runConfigurationMenuTriggered(QAction *)));
|
||||||
|
|
||||||
@@ -757,12 +774,15 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
#endif
|
#endif
|
||||||
connect(d->m_buildProjectOnlyAction, SIGNAL(triggered()), this, SLOT(buildProjectOnly()));
|
connect(d->m_buildProjectOnlyAction, SIGNAL(triggered()), this, SLOT(buildProjectOnly()));
|
||||||
connect(d->m_buildAction, SIGNAL(triggered()), this, SLOT(buildProject()));
|
connect(d->m_buildAction, SIGNAL(triggered()), this, SLOT(buildProject()));
|
||||||
|
connect(d->m_buildActionContextMenu, SIGNAL(triggered()), this, SLOT(buildProjectContextMenu()));
|
||||||
connect(d->m_buildSessionAction, SIGNAL(triggered()), this, SLOT(buildSession()));
|
connect(d->m_buildSessionAction, SIGNAL(triggered()), this, SLOT(buildSession()));
|
||||||
connect(d->m_rebuildProjectOnlyAction, SIGNAL(triggered()), this, SLOT(rebuildProjectOnly()));
|
connect(d->m_rebuildProjectOnlyAction, SIGNAL(triggered()), this, SLOT(rebuildProjectOnly()));
|
||||||
connect(d->m_rebuildAction, SIGNAL(triggered()), this, SLOT(rebuildProject()));
|
connect(d->m_rebuildAction, SIGNAL(triggered()), this, SLOT(rebuildProject()));
|
||||||
|
connect(d->m_rebuildActionContextMenu, SIGNAL(triggered()), this, SLOT(rebuildProjectContextMenu()));
|
||||||
connect(d->m_rebuildSessionAction, SIGNAL(triggered()), this, SLOT(rebuildSession()));
|
connect(d->m_rebuildSessionAction, SIGNAL(triggered()), this, SLOT(rebuildSession()));
|
||||||
connect(d->m_cleanProjectOnlyAction, SIGNAL(triggered()), this, SLOT(cleanProjectOnly()));
|
connect(d->m_cleanProjectOnlyAction, SIGNAL(triggered()), this, SLOT(cleanProjectOnly()));
|
||||||
connect(d->m_cleanAction, SIGNAL(triggered()), this, SLOT(cleanProject()));
|
connect(d->m_cleanAction, SIGNAL(triggered()), this, SLOT(cleanProject()));
|
||||||
|
connect(d->m_cleanActionContextMenu, SIGNAL(triggered()), this, SLOT(cleanProjectContextMenu()));
|
||||||
connect(d->m_cleanSessionAction, SIGNAL(triggered()), this, SLOT(cleanSession()));
|
connect(d->m_cleanSessionAction, SIGNAL(triggered()), this, SLOT(cleanSession()));
|
||||||
connect(d->m_runAction, SIGNAL(triggered()), this, SLOT(runProject()));
|
connect(d->m_runAction, SIGNAL(triggered()), this, SLOT(runProject()));
|
||||||
connect(d->m_runActionContextMenu, SIGNAL(triggered()), this, SLOT(runProjectContextMenu()));
|
connect(d->m_runActionContextMenu, SIGNAL(triggered()), this, SLOT(runProjectContextMenu()));
|
||||||
@@ -1355,12 +1375,20 @@ void ProjectExplorerPlugin::updateActions()
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::updateActions";
|
qDebug() << "ProjectExplorerPlugin::updateActions";
|
||||||
|
|
||||||
bool enableBuildActions = d->m_currentProject
|
Project *startupProject = session()->startupProject();
|
||||||
|
bool enableBuildActions = startupProject
|
||||||
|
&& ! (d->m_buildManager->isBuilding(startupProject))
|
||||||
|
&& startupProject->hasActiveBuildSettings();
|
||||||
|
|
||||||
|
bool enableBuildActionsContextMenu = d->m_currentProject
|
||||||
&& ! (d->m_buildManager->isBuilding(d->m_currentProject))
|
&& ! (d->m_buildManager->isBuilding(d->m_currentProject))
|
||||||
&& d->m_currentProject->hasActiveBuildSettings();
|
&& d->m_currentProject->hasActiveBuildSettings();
|
||||||
|
|
||||||
|
|
||||||
bool hasProjects = !d->m_session->projects().isEmpty();
|
bool hasProjects = !d->m_session->projects().isEmpty();
|
||||||
bool building = d->m_buildManager->isBuilding();
|
bool building = d->m_buildManager->isBuilding();
|
||||||
QString projectName = d->m_currentProject ? d->m_currentProject->displayName() : QString();
|
QString projectName = startupProject ? startupProject->displayName() : QString();
|
||||||
|
QString projectNameContextMenu = d->m_currentProject ? d->m_currentProject->displayName() : QString();
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "BuildManager::isBuilding()" << building;
|
qDebug() << "BuildManager::isBuilding()" << building;
|
||||||
@@ -1371,6 +1399,18 @@ void ProjectExplorerPlugin::updateActions()
|
|||||||
d->m_rebuildAction->setParameter(projectName);
|
d->m_rebuildAction->setParameter(projectName);
|
||||||
d->m_cleanAction->setParameter(projectName);
|
d->m_cleanAction->setParameter(projectName);
|
||||||
|
|
||||||
|
d->m_buildAction->setEnabled(enableBuildActions);
|
||||||
|
d->m_rebuildAction->setEnabled(enableBuildActions);
|
||||||
|
d->m_cleanAction->setEnabled(enableBuildActions);
|
||||||
|
|
||||||
|
d->m_buildAction->setParameter(projectNameContextMenu);
|
||||||
|
d->m_rebuildAction->setParameter(projectNameContextMenu);
|
||||||
|
d->m_cleanAction->setParameter(projectNameContextMenu);
|
||||||
|
|
||||||
|
d->m_buildActionContextMenu->setEnabled(enableBuildActionsContextMenu);
|
||||||
|
d->m_rebuildActionContextMenu->setEnabled(enableBuildActionsContextMenu);
|
||||||
|
d->m_cleanActionContextMenu->setEnabled(enableBuildActionsContextMenu);
|
||||||
|
|
||||||
d->m_buildProjectOnlyAction->setEnabled(enableBuildActions);
|
d->m_buildProjectOnlyAction->setEnabled(enableBuildActions);
|
||||||
d->m_rebuildProjectOnlyAction->setEnabled(enableBuildActions);
|
d->m_rebuildProjectOnlyAction->setEnabled(enableBuildActions);
|
||||||
d->m_cleanProjectOnlyAction->setEnabled(enableBuildActions);
|
d->m_cleanProjectOnlyAction->setEnabled(enableBuildActions);
|
||||||
@@ -1438,7 +1478,7 @@ void ProjectExplorerPlugin::buildProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::buildProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::buildProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles())
|
if (saveModifiedFiles())
|
||||||
buildManager()->buildProject(d->m_currentProject->activeTarget()->activeBuildConfiguration());
|
buildManager()->buildProject(session()->startupProject()->activeTarget()->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::buildProject()
|
void ProjectExplorerPlugin::buildProject()
|
||||||
@@ -1446,6 +1486,21 @@ void ProjectExplorerPlugin::buildProject()
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::buildProject";
|
qDebug() << "ProjectExplorerPlugin::buildProject";
|
||||||
|
|
||||||
|
if (saveModifiedFiles()) {
|
||||||
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, d->m_session->projectOrder(session()->startupProject()))
|
||||||
|
if (pro->activeTarget()->activeBuildConfiguration())
|
||||||
|
configurations << pro->activeTarget()->activeBuildConfiguration();
|
||||||
|
|
||||||
|
d->m_buildManager->buildProjects(configurations);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectExplorerPlugin::buildProjectContextMenu()
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
qDebug() << "ProjectExplorerPlugin::buildProjectContextMenu";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
QList<BuildConfiguration *> configurations;
|
QList<BuildConfiguration *> configurations;
|
||||||
foreach (Project *pro, d->m_session->projectOrder(d->m_currentProject))
|
foreach (Project *pro, d->m_session->projectOrder(d->m_currentProject))
|
||||||
@@ -1476,8 +1531,8 @@ void ProjectExplorerPlugin::rebuildProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::rebuildProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::rebuildProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
d->m_buildManager->cleanProject(d->m_currentProject->activeTarget()->activeBuildConfiguration());
|
d->m_buildManager->cleanProject(session()->startupProject()->activeTarget()->activeBuildConfiguration());
|
||||||
d->m_buildManager->buildProject(d->m_currentProject->activeTarget()->activeBuildConfiguration());
|
d->m_buildManager->buildProject(session()->startupProject()->activeTarget()->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1486,6 +1541,23 @@ void ProjectExplorerPlugin::rebuildProject()
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::rebuildProject";
|
qDebug() << "ProjectExplorerPlugin::rebuildProject";
|
||||||
|
|
||||||
|
if (saveModifiedFiles()) {
|
||||||
|
const QList<Project *> &projects = d->m_session->projectOrder(session()->startupProject());
|
||||||
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
if (pro->activeTarget()->activeBuildConfiguration())
|
||||||
|
configurations << pro->activeTarget()->activeBuildConfiguration();
|
||||||
|
|
||||||
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
|
d->m_buildManager->buildProjects(configurations);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectExplorerPlugin::rebuildProjectContextMenu()
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
qDebug() << "ProjectExplorerPlugin::rebuildProjectContextMenu";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> &projects = d->m_session->projectOrder(d->m_currentProject);
|
const QList<Project *> &projects = d->m_session->projectOrder(d->m_currentProject);
|
||||||
QList<BuildConfiguration *> configurations;
|
QList<BuildConfiguration *> configurations;
|
||||||
@@ -1521,7 +1593,7 @@ void ProjectExplorerPlugin::cleanProjectOnly()
|
|||||||
qDebug() << "ProjectExplorerPlugin::cleanProjectOnly";
|
qDebug() << "ProjectExplorerPlugin::cleanProjectOnly";
|
||||||
|
|
||||||
if (saveModifiedFiles())
|
if (saveModifiedFiles())
|
||||||
d->m_buildManager->cleanProject(d->m_currentProject->activeTarget()->activeBuildConfiguration());
|
d->m_buildManager->cleanProject(session()->startupProject()->activeTarget()->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::cleanProject()
|
void ProjectExplorerPlugin::cleanProject()
|
||||||
@@ -1529,6 +1601,21 @@ void ProjectExplorerPlugin::cleanProject()
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::cleanProject";
|
qDebug() << "ProjectExplorerPlugin::cleanProject";
|
||||||
|
|
||||||
|
if (saveModifiedFiles()) {
|
||||||
|
const QList<Project *> & projects = d->m_session->projectOrder(session()->startupProject());
|
||||||
|
QList<BuildConfiguration *> configurations;
|
||||||
|
foreach (Project *pro, projects)
|
||||||
|
if (pro->activeTarget()->activeBuildConfiguration())
|
||||||
|
configurations << pro->activeTarget()->activeBuildConfiguration();
|
||||||
|
d->m_buildManager->cleanProjects(configurations);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectExplorerPlugin::cleanProjectContextMenu()
|
||||||
|
{
|
||||||
|
if (debug)
|
||||||
|
qDebug() << "ProjectExplorerPlugin::cleanProjectContextMenu";
|
||||||
|
|
||||||
if (saveModifiedFiles()) {
|
if (saveModifiedFiles()) {
|
||||||
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
const QList<Project *> & projects = d->m_session->projectOrder(d->m_currentProject);
|
||||||
QList<BuildConfiguration *> configurations;
|
QList<BuildConfiguration *> configurations;
|
||||||
@@ -1725,15 +1812,17 @@ void ProjectExplorerPlugin::updateRunActions()
|
|||||||
d->m_runAction->setToolTip(QString());
|
d->m_runAction->setToolTip(QString());
|
||||||
d->m_debugAction->setToolTip(QString());
|
d->m_debugAction->setToolTip(QString());
|
||||||
|
|
||||||
bool canRun = findRunControlFactory(project->activeTarget()->activeRunConfiguration(), ProjectExplorer::Constants::RUNMODE)
|
RunConfiguration *activeRC = project->activeTarget()->activeRunConfiguration();
|
||||||
&& project->activeTarget()->activeRunConfiguration()->isEnabled();
|
|
||||||
const bool canDebug = !d->m_debuggingRunControl && findRunControlFactory(project->activeTarget()->activeRunConfiguration(), ProjectExplorer::Constants::DEBUGMODE)
|
bool canRun = findRunControlFactory(activeRC, ProjectExplorer::Constants::RUNMODE)
|
||||||
&& project->activeTarget()->activeRunConfiguration()->isEnabled();
|
&& activeRC->isEnabled();
|
||||||
|
const bool canDebug = !d->m_debuggingRunControl && findRunControlFactory(activeRC, ProjectExplorer::Constants::DEBUGMODE)
|
||||||
|
&& activeRC->isEnabled();
|
||||||
const bool building = d->m_buildManager->isBuilding();
|
const bool building = d->m_buildManager->isBuilding();
|
||||||
|
|
||||||
d->m_runAction->setEnabled(canRun && !building);
|
d->m_runAction->setEnabled(canRun && !building);
|
||||||
|
|
||||||
canRun = d->m_currentProject && findRunControlFactory(d->m_currentProject->activeTarget()->activeRunConfiguration(), ProjectExplorer::Constants::RUNMODE);
|
canRun = session()->startupProject() && findRunControlFactory(activeRC, ProjectExplorer::Constants::RUNMODE);
|
||||||
|
|
||||||
d->m_runActionContextMenu->setEnabled(canRun && !building);
|
d->m_runActionContextMenu->setEnabled(canRun && !building);
|
||||||
|
|
||||||
@@ -1836,6 +1925,7 @@ void ProjectExplorerPlugin::invalidateProject(Project *project)
|
|||||||
}
|
}
|
||||||
|
|
||||||
disconnect(project, SIGNAL(fileListChanged()), this, SIGNAL(fileListChanged()));
|
disconnect(project, SIGNAL(fileListChanged()), this, SIGNAL(fileListChanged()));
|
||||||
|
updateActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::goToTaskWindow()
|
void ProjectExplorerPlugin::goToTaskWindow()
|
||||||
@@ -2009,7 +2099,7 @@ void ProjectExplorerPlugin::populateBuildConfigurationMenu()
|
|||||||
delete d->m_buildConfigurationActionGroup;
|
delete d->m_buildConfigurationActionGroup;
|
||||||
d->m_buildConfigurationActionGroup = new QActionGroup(d->m_buildConfigurationMenu);
|
d->m_buildConfigurationActionGroup = new QActionGroup(d->m_buildConfigurationMenu);
|
||||||
d->m_buildConfigurationMenu->clear();
|
d->m_buildConfigurationMenu->clear();
|
||||||
if (Project *pro = d->m_currentProject) {
|
if (Project *pro = session()->startupProject()) {
|
||||||
const BuildConfiguration *activeBC = pro->activeTarget()->activeBuildConfiguration();
|
const BuildConfiguration *activeBC = pro->activeTarget()->activeBuildConfiguration();
|
||||||
foreach (BuildConfiguration *bc, pro->activeTarget()->buildConfigurations()) {
|
foreach (BuildConfiguration *bc, pro->activeTarget()->buildConfigurations()) {
|
||||||
QString displayName = bc->displayName();
|
QString displayName = bc->displayName();
|
||||||
@@ -2032,7 +2122,7 @@ void ProjectExplorerPlugin::buildConfigurationMenuTriggered(QAction *action)
|
|||||||
if (debug)
|
if (debug)
|
||||||
qDebug() << "ProjectExplorerPlugin::buildConfigurationMenuTriggered";
|
qDebug() << "ProjectExplorerPlugin::buildConfigurationMenuTriggered";
|
||||||
|
|
||||||
d->m_currentProject->activeTarget()->setActiveBuildConfiguration(action->data().value<BuildConfiguration *>());
|
session()->startupProject()->activeTarget()->setActiveBuildConfiguration(action->data().value<BuildConfiguration *>());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExplorerPlugin::populateRunConfigurationMenu()
|
void ProjectExplorerPlugin::populateRunConfigurationMenu()
|
||||||
|
|||||||
@@ -129,12 +129,15 @@ private slots:
|
|||||||
void buildQueueFinished(bool success);
|
void buildQueueFinished(bool success);
|
||||||
void buildProjectOnly();
|
void buildProjectOnly();
|
||||||
void buildProject();
|
void buildProject();
|
||||||
|
void buildProjectContextMenu();
|
||||||
void buildSession();
|
void buildSession();
|
||||||
void rebuildProjectOnly();
|
void rebuildProjectOnly();
|
||||||
void rebuildProject();
|
void rebuildProject();
|
||||||
|
void rebuildProjectContextMenu();
|
||||||
void rebuildSession();
|
void rebuildSession();
|
||||||
void cleanProjectOnly();
|
void cleanProjectOnly();
|
||||||
void cleanProject();
|
void cleanProject();
|
||||||
|
void cleanProjectContextMenu();
|
||||||
void cleanSession();
|
void cleanSession();
|
||||||
void cancelBuild();
|
void cancelBuild();
|
||||||
void debugProject();
|
void debugProject();
|
||||||
|
|||||||
@@ -47,12 +47,15 @@ const char * const UNLOAD = "ProjectExplorer.Unload";
|
|||||||
const char * const CLEARSESSION = "ProjectExplorer.ClearSession";
|
const char * const CLEARSESSION = "ProjectExplorer.ClearSession";
|
||||||
const char * const BUILDPROJECTONLY = "ProjectExplorer.BuildProjectOnly";
|
const char * const BUILDPROJECTONLY = "ProjectExplorer.BuildProjectOnly";
|
||||||
const char * const BUILD = "ProjectExplorer.Build";
|
const char * const BUILD = "ProjectExplorer.Build";
|
||||||
|
const char * const BUILDCM = "ProjectExplorer.BuildCM";
|
||||||
const char * const BUILDSESSION = "ProjectExplorer.BuildSession";
|
const char * const BUILDSESSION = "ProjectExplorer.BuildSession";
|
||||||
const char * const REBUILDPROJECTONLY = "ProjectExplorer.RebuildProjectOnly";
|
const char * const REBUILDPROJECTONLY = "ProjectExplorer.RebuildProjectOnly";
|
||||||
const char * const REBUILD = "ProjectExplorer.Rebuild";
|
const char * const REBUILD = "ProjectExplorer.Rebuild";
|
||||||
|
const char * const REBUILDCM = "ProjectExplorer.RebuildCM";
|
||||||
const char * const REBUILDSESSION = "ProjectExplorer.RebuildSession";
|
const char * const REBUILDSESSION = "ProjectExplorer.RebuildSession";
|
||||||
const char * const CLEANPROJECTONLY = "ProjectExplorer.CleanProjectOnly";
|
const char * const CLEANPROJECTONLY = "ProjectExplorer.CleanProjectOnly";
|
||||||
const char * const CLEAN = "ProjectExplorer.Clean";
|
const char * const CLEAN = "ProjectExplorer.Clean";
|
||||||
|
const char * const CLEANCM = "ProjectExplorer.CleanCM";
|
||||||
const char * const CLEANSESSION = "ProjectExplorer.CleanSession";
|
const char * const CLEANSESSION = "ProjectExplorer.CleanSession";
|
||||||
const char * const BUILDPROJECTONLYMENU = "ProjectExplorer.BuildProjectOnlyMenu";
|
const char * const BUILDPROJECTONLYMENU = "ProjectExplorer.BuildProjectOnlyMenu";
|
||||||
const char * const BUILDCONFIGURATIONMENU = "ProjectExplorer.BuildConfigurationMenu";
|
const char * const BUILDCONFIGURATIONMENU = "ProjectExplorer.BuildConfigurationMenu";
|
||||||
|
|||||||
Reference in New Issue
Block a user