forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -59,15 +59,8 @@ AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(Target *parent, Core::I
|
|||||||
// /<foobar> is used so the un-changed check in setBuildDirectory() works correctly.
|
// /<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.
|
// The leading / is to avoid the relative the path expansion in BuildConfiguration::buildDirectory.
|
||||||
setBuildDirectory(Utils::FileName::fromString("/<foobar>"));
|
setBuildDirectory(Utils::FileName::fromString("/<foobar>"));
|
||||||
|
setBuildDirectoryHistoryCompleter("AutoTools.BuildDir.History");
|
||||||
setConfigWidgetDisplayName(tr("Autotools Manager"));
|
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)
|
void AutotoolsBuildConfiguration::initialize(const BuildInfo &info)
|
||||||
|
|||||||
@@ -53,14 +53,7 @@ GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id
|
|||||||
: BuildConfiguration(parent, id)
|
: BuildConfiguration(parent, id)
|
||||||
{
|
{
|
||||||
setConfigWidgetDisplayName(tr("Generic Manager"));
|
setConfigWidgetDisplayName(tr("Generic Manager"));
|
||||||
|
setBuildDirectoryHistoryCompleter("Generic.BuildDir.History");
|
||||||
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();
|
updateCacheAndEmitEnvironmentChanged();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,11 +42,11 @@
|
|||||||
|
|
||||||
#include <coreplugin/idocument.h>
|
#include <coreplugin/idocument.h>
|
||||||
|
|
||||||
#include <utils/qtcassert.h>
|
|
||||||
#include <utils/macroexpander.h>
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/mimetypes/mimetype.h>
|
#include <utils/macroexpander.h>
|
||||||
#include <utils/mimetypes/mimedatabase.h>
|
#include <utils/mimetypes/mimedatabase.h>
|
||||||
|
#include <utils/mimetypes/mimetype.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QFormLayout>
|
#include <QFormLayout>
|
||||||
@@ -88,6 +88,13 @@ BuildConfiguration::BuildConfiguration(Target *target, Core::Id id)
|
|||||||
|
|
||||||
m_buildDirectoryAspect = addAspect<BaseStringAspect>();
|
m_buildDirectoryAspect = addAspect<BaseStringAspect>();
|
||||||
m_buildDirectoryAspect->setSettingsKey(BUILDDIRECTORY_KEY);
|
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] {
|
connect(this, &BuildConfiguration::environmentChanged, this, [this] {
|
||||||
m_buildDirectoryAspect->setEnvironment(environment());
|
m_buildDirectoryAspect->setEnvironment(environment());
|
||||||
@@ -230,6 +237,11 @@ void BuildConfiguration::setConfigWidgetDisplayName(const QString &display)
|
|||||||
m_configWidgetDisplayName = display;
|
m_configWidgetDisplayName = display;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BuildConfiguration::setBuildDirectoryHistoryCompleter(const QString &history)
|
||||||
|
{
|
||||||
|
m_buildDirectoryAspect->setHistoryCompleter(history);
|
||||||
|
}
|
||||||
|
|
||||||
Target *BuildConfiguration::target() const
|
Target *BuildConfiguration::target() const
|
||||||
{
|
{
|
||||||
return static_cast<Target *>(parent());
|
return static_cast<Target *>(parent());
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ public:
|
|||||||
|
|
||||||
ProjectExplorer::BaseStringAspect *buildDirectoryAspect() const;
|
ProjectExplorer::BaseStringAspect *buildDirectoryAspect() const;
|
||||||
void setConfigWidgetDisplayName(const QString &display);
|
void setConfigWidgetDisplayName(const QString &display);
|
||||||
|
void setBuildDirectoryHistoryCompleter(const QString &history);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void environmentChanged();
|
void environmentChanged();
|
||||||
|
|||||||
Reference in New Issue
Block a user