diff options
author | hjk <hjk@qt.io> | 2019-04-29 12:43:34 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-04-29 12:05:38 +0000 |
commit | a64b969f6fb556fbde217711beedef2807be400f (patch) | |
tree | 36ac13feb81e38752ed97cee8e4335a0bd25f3a3 /src | |
parent | c2ab89cc126549c63e14d5a7249c82e4f1c220d2 (diff) |
ProjectExplorer: Consolidate setup of build dir aspect
This is getting repetitive.
There's a new connect too, that's not wrong in the current two uses
and will be helpful in the upcoming Qbs one.
Change-Id: I4a4923a43937922c66be1f73822103b1e3e7b077
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src')
4 files changed, 18 insertions, 19 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 8ea2db675e6..b721a606ac1 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -59,15 +59,8 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I // /<foobar> is used so the un-changed check in setBuildDirectory() works correctly. // The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory. setBuildDirectory(Utils::FileName::fromString("/<foobar>")); + setBuildDirectoryHistoryCompleter("AutoTools.BuildDir.History"); setConfigWidgetDisplayName(tr("Autotools Manager")); - - BaseStringAspect *bd = buildDirectoryAspect(); - bd->setLabelText(tr("Build directory:")); - bd->setDisplayStyle(BaseStringAspect::PathChooserDisplay); - bd->setExpectedKind(PathChooser::Directory); - bd->setBaseFileName(parent->project()->projectDirectory()); - bd->setEnvironment(environment()); - bd->setHistoryCompleter("AutoTools.BuildDir.History"); } void AutotoolsBuildConfiguration::initialize(const BuildInfo &info) diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index e3283c27e9c..764799f8da3 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -53,14 +53,7 @@ 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()); + setBuildDirectoryHistoryCompleter("Generic.BuildDir.History"); updateCacheAndEmitEnvironmentChanged(); } diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 87bcc0d7000..df6bee13842 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -42,11 +42,11 @@ #include <coreplugin/idocument.h> -#include <utils/qtcassert.h> -#include <utils/macroexpander.h> #include <utils/algorithm.h> -#include <utils/mimetypes/mimetype.h> +#include <utils/macroexpander.h> #include <utils/mimetypes/mimedatabase.h> +#include <utils/mimetypes/mimetype.h> +#include <utils/qtcassert.h> #include <QDebug> #include <QFormLayout> @@ -88,6 +88,13 @@ BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) m_buildDirectoryAspect = addAspect<BaseStringAspect>(); m_buildDirectoryAspect->setSettingsKey(BUILDDIRECTORY_KEY); + m_buildDirectoryAspect->setLabelText(tr("Build directory:")); + m_buildDirectoryAspect->setDisplayStyle(BaseStringAspect::PathChooserDisplay); + m_buildDirectoryAspect->setExpectedKind(Utils::PathChooser::Directory); + m_buildDirectoryAspect->setBaseFileName(target->project()->projectDirectory()); + m_buildDirectoryAspect->setEnvironment(environment()); + connect(m_buildDirectoryAspect, &BaseStringAspect::changed, + this, &BuildConfiguration::buildDirectoryChanged); connect(this, &BuildConfiguration::environmentChanged, this, [this] { m_buildDirectoryAspect->setEnvironment(environment()); @@ -230,6 +237,11 @@ void BuildConfiguration::setConfigWidgetDisplayName(const QString &display) m_configWidgetDisplayName = display; } +void BuildConfiguration::setBuildDirectoryHistoryCompleter(const QString &history) +{ + m_buildDirectoryAspect->setHistoryCompleter(history); +} + Target *BuildConfiguration::target() const { return static_cast<Target *>(parent()); diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 93db3a31399..7739cd5304f 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -101,6 +101,7 @@ public: ProjectExplorer::BaseStringAspect *buildDirectoryAspect() const; void setConfigWidgetDisplayName(const QString &display); + void setBuildDirectoryHistoryCompleter(const QString &history); signals: void environmentChanged(); |