From e1b7de34798e4adca04911d380e6d41975c4e8da Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 26 Apr 2019 17:47:44 +0200 Subject: GenericProject: Use the base BuildConfiguration config widget Change-Id: I24abc4a8086b39e796b3a4146dbcdbda70c89ee3 Reviewed-by: Christian Kandeler --- .../genericbuildconfiguration.cpp | 62 +++++----------------- 1 file changed, 13 insertions(+), 49 deletions(-) (limited to 'src/plugins/genericprojectmanager/genericbuildconfiguration.cpp') diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index 40c7ea28d4..e3283c27e9 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -29,25 +29,22 @@ #include "genericproject.h" #include "genericprojectconstants.h" -#include - #include #include #include +#include #include #include -#include + #include #include -#include #include #include -#include -#include using namespace ProjectExplorer; +using namespace Utils; namespace GenericProjectManager { namespace Internal { @@ -55,6 +52,16 @@ namespace Internal { GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id) : BuildConfiguration(parent, id) { + setConfigWidgetDisplayName(tr("Generic Manager")); + + BaseStringAspect *bd = buildDirectoryAspect(); + bd->setDisplayStyle(BaseStringAspect::PathChooserDisplay); + bd->setExpectedKind(PathChooser::Directory); + bd->setHistoryCompleter("Generic.BuildDir.History"); + bd->setLabelText(tr("Build directory:")); + bd->setBaseFileName(parent->project()->projectDirectory()); + bd->setEnvironment(environment()); + updateCacheAndEmitEnvironmentChanged(); } @@ -71,10 +78,6 @@ void GenericBuildConfiguration::initialize(const BuildInfo &info) updateCacheAndEmitEnvironmentChanged(); } -NamedWidget *GenericBuildConfiguration::createConfigWidget() -{ - return new GenericBuildSettingsWidget(this); -} /*! \class GenericBuildConfigurationFactory @@ -127,44 +130,5 @@ void GenericBuildConfiguration::addToEnvironment(Utils::Environment &env) const env.prependOrSetPath(qt->binPath().toString()); } -//////////////////////////////////////////////////////////////////////////////////// -// GenericBuildSettingsWidget -//////////////////////////////////////////////////////////////////////////////////// - -GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration *bc) - : m_buildConfiguration(nullptr) -{ - auto fl = new QFormLayout(this); - fl->setContentsMargins(0, -1, 0, -1); - fl->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - - // build directory - m_pathChooser = new Utils::PathChooser(this); - m_pathChooser->setHistoryCompleter("Generic.BuildDir.History"); - m_pathChooser->setEnabled(true); - fl->addRow(tr("Build directory:"), m_pathChooser); - connect(m_pathChooser, &Utils::PathChooser::rawPathChanged, - this, &GenericBuildSettingsWidget::buildDirectoryChanged); - - m_buildConfiguration = bc; - m_pathChooser->setBaseFileName(bc->target()->project()->projectDirectory()); - m_pathChooser->setEnvironment(bc->environment()); - m_pathChooser->setPath(m_buildConfiguration->rawBuildDirectory().toString()); - setDisplayName(tr("Generic Manager")); - - connect(bc, &GenericBuildConfiguration::environmentChanged, - this, &GenericBuildSettingsWidget::environmentHasChanged); -} - -void GenericBuildSettingsWidget::buildDirectoryChanged() -{ - m_buildConfiguration->setBuildDirectory(Utils::FileName::fromString(m_pathChooser->rawPath())); -} - -void GenericBuildSettingsWidget::environmentHasChanged() -{ - m_pathChooser->setEnvironment(m_buildConfiguration->environment()); -} - } // namespace Internal } // namespace GenericProjectManager -- cgit v1.2.1