forked from qt-creator/qt-creator
Qbs: Remove SubProject related actions from main Build Menu
Not really useful, Project, Product and File are still there. Change-Id: Ib995f880151d0a219fc5d86bcbc7f1a959703ccb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -219,16 +219,6 @@ bool QbsProjectManagerPlugin::initialize(const QStringList &arguments, QString *
|
||||
connect(m_buildSubprojectCtx, &QAction::triggered,
|
||||
this, &QbsProjectManagerPlugin::buildSubprojectContextMenu);
|
||||
|
||||
m_buildSubproject = new Utils::ParameterAction(tr("Build Subproject"), tr("Build Subproject \"%1\""),
|
||||
Utils::ParameterAction::AlwaysEnabled, this);
|
||||
command = Core::ActionManager::registerAction(m_buildSubproject, Constants::ACTION_BUILD_SUBPROJECT);
|
||||
command->setAttribute(Core::Command::CA_Hide);
|
||||
command->setAttribute(Core::Command::CA_UpdateText);
|
||||
command->setDescription(m_buildFile->text());
|
||||
command->setDefaultKeySequence(QKeySequence(tr("Ctrl+Shift+B")));
|
||||
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD);
|
||||
connect(m_buildSubproject, &QAction::triggered, this, &QbsProjectManagerPlugin::buildSubproject);
|
||||
|
||||
m_cleanSubprojectCtx = new QAction(tr("Clean"), this);
|
||||
command = Core::ActionManager::registerAction(
|
||||
m_cleanSubprojectCtx, Constants::ACTION_CLEAN_SUBPROJECT_CONTEXT, projectContext);
|
||||
@@ -237,17 +227,6 @@ bool QbsProjectManagerPlugin::initialize(const QStringList &arguments, QString *
|
||||
connect(m_cleanSubprojectCtx, &QAction::triggered,
|
||||
this, &QbsProjectManagerPlugin::cleanSubprojectContextMenu);
|
||||
|
||||
m_cleanSubproject = new Utils::ParameterAction(
|
||||
tr("Clean Subproject"), tr("Clean Subproject \"%1\""),
|
||||
Utils::ParameterAction::AlwaysEnabled, this);
|
||||
command = Core::ActionManager::registerAction(m_cleanSubproject,
|
||||
Constants::ACTION_CLEAN_SUBPROJECT);
|
||||
command->setAttribute(Core::Command::CA_Hide);
|
||||
command->setAttribute(Core::Command::CA_UpdateText);
|
||||
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_CLEAN);
|
||||
connect(m_cleanSubproject, &QAction::triggered, this,
|
||||
&QbsProjectManagerPlugin::cleanSubproject);
|
||||
|
||||
m_rebuildSubprojectCtx = new QAction(tr("Rebuild"), this);
|
||||
command = Core::ActionManager::registerAction(
|
||||
m_rebuildSubprojectCtx, Constants::ACTION_REBUILD_SUBPROJECT_CONTEXT,
|
||||
@@ -257,17 +236,6 @@ bool QbsProjectManagerPlugin::initialize(const QStringList &arguments, QString *
|
||||
connect(m_rebuildSubprojectCtx, &QAction::triggered,
|
||||
this, &QbsProjectManagerPlugin::rebuildSubprojectContextMenu);
|
||||
|
||||
m_rebuildSubproject = new Utils::ParameterAction(
|
||||
tr("Rebuild Subproject"), tr("Rebuild Subproject \"%1\""),
|
||||
Utils::ParameterAction::AlwaysEnabled, this);
|
||||
command = Core::ActionManager::registerAction(m_rebuildSubproject,
|
||||
Constants::ACTION_REBUILD_SUBPROJECT);
|
||||
command->setAttribute(Core::Command::CA_Hide);
|
||||
command->setAttribute(Core::Command::CA_UpdateText);
|
||||
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_REBUILD);
|
||||
connect(m_rebuildSubproject, &QAction::triggered, this,
|
||||
&QbsProjectManagerPlugin::rebuildSubproject);
|
||||
|
||||
|
||||
// Connect
|
||||
connect(ProjectTree::instance(), &ProjectTree::currentNodeChanged,
|
||||
@@ -388,16 +356,6 @@ void QbsProjectManagerPlugin::updateBuildActions()
|
||||
m_rebuildProduct->setEnabled(enabled);
|
||||
m_rebuildProduct->setVisible(productVisible);
|
||||
m_rebuildProduct->setParameter(productName);
|
||||
|
||||
m_buildSubproject->setEnabled(enabled);
|
||||
m_buildSubproject->setVisible(subprojectVisible);
|
||||
m_buildSubproject->setParameter(subprojectName);
|
||||
m_cleanSubproject->setEnabled(enabled);
|
||||
m_cleanSubproject->setVisible(subprojectVisible);
|
||||
m_cleanSubproject->setParameter(subprojectName);
|
||||
m_rebuildSubproject->setEnabled(enabled);
|
||||
m_rebuildSubproject->setVisible(subprojectVisible);
|
||||
m_rebuildSubproject->setParameter(subprojectName);
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::projectChanged()
|
||||
@@ -533,52 +491,6 @@ void QbsProjectManagerPlugin::runStepsForSubprojectContextMenu(const QList<Core:
|
||||
runStepsForProducts(project, toBuild, {stepTypes});
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::buildSubproject()
|
||||
{
|
||||
runStepsForSubproject({Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD)});
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::cleanSubproject()
|
||||
{
|
||||
runStepsForSubproject({Core::Id(ProjectExplorer::Constants::BUILDSTEPS_CLEAN)});
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::rebuildSubproject()
|
||||
{
|
||||
runStepsForSubproject({
|
||||
Core::Id(ProjectExplorer::Constants::BUILDSTEPS_CLEAN),
|
||||
Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD)
|
||||
});
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::runStepsForSubproject(const QList<Core::Id> &stepTypes)
|
||||
{
|
||||
Node *editorNode = currentEditorNode();
|
||||
QbsProject *editorProject = currentEditorProject();
|
||||
if (!editorNode || !editorProject)
|
||||
return;
|
||||
|
||||
QbsProjectNode *subproject = nullptr;
|
||||
auto start = dynamic_cast<QbsBaseProjectNode *>(editorNode->parentProjectNode());
|
||||
while (start && start != editorProject->rootProjectNode()) {
|
||||
auto tmp = dynamic_cast<QbsProjectNode *>(start);
|
||||
if (tmp) {
|
||||
subproject = tmp;
|
||||
break;
|
||||
}
|
||||
start = dynamic_cast<QbsProjectNode *>(start->parentFolderNode());
|
||||
}
|
||||
|
||||
if (!subproject)
|
||||
return;
|
||||
|
||||
QStringList toBuild;
|
||||
foreach (const qbs::ProductData &data, subproject->qbsProjectData().allProducts())
|
||||
toBuild << QbsProject::uniqueProductName(data);
|
||||
|
||||
runStepsForProducts(editorProject, toBuild, {stepTypes});
|
||||
}
|
||||
|
||||
void QbsProjectManagerPlugin::buildFiles(QbsProject *project, const QStringList &files,
|
||||
const QStringList &activeFileTags)
|
||||
{
|
||||
|
@@ -64,10 +64,6 @@ class QbsProjectManagerPlugin : public ExtensionSystem::IPlugin
|
||||
void cleanSubprojectContextMenu();
|
||||
void rebuildSubprojectContextMenu();
|
||||
void runStepsForSubprojectContextMenu(const QList<Core::Id> &stepTypes);
|
||||
void buildSubproject();
|
||||
void cleanSubproject();
|
||||
void rebuildSubproject();
|
||||
void runStepsForSubproject(const QList<Core::Id> &stepTypes);
|
||||
|
||||
void reparseSelectedProject();
|
||||
void reparseCurrentProject();
|
||||
@@ -98,9 +94,6 @@ class QbsProjectManagerPlugin : public ExtensionSystem::IPlugin
|
||||
Utils::ParameterAction *m_buildProduct = nullptr;
|
||||
Utils::ParameterAction *m_cleanProduct = nullptr;
|
||||
Utils::ParameterAction *m_rebuildProduct = nullptr;
|
||||
Utils::ParameterAction *m_buildSubproject = nullptr;
|
||||
Utils::ParameterAction *m_cleanSubproject = nullptr;
|
||||
Utils::ParameterAction *m_rebuildSubproject = nullptr;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
Reference in New Issue
Block a user