forked from qt-creator/qt-creator
ProjectExplorer: Use the new way for dependent aspects
... for WorkingDirectory aspects. Change-Id: Idf64f1daeb74a70637bb983db1b45f0132cfc299 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -50,7 +50,7 @@ BareMetalCustomRunConfiguration::BareMetalCustomRunConfiguration(Target *target,
|
||||
exeAspect->setExpectedKind(PathChooser::Any);
|
||||
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(nullptr);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
|
||||
setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(tr("Custom Executable"), target));
|
||||
}
|
||||
|
@@ -60,7 +60,7 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id)
|
||||
|
||||
addAspect<ExecutableAspect>();
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
connect(target->project(), &Project::parsingFinished,
|
||||
|
@@ -45,11 +45,10 @@ namespace Nim {
|
||||
NimRunConfiguration::NimRunConfiguration(Target *target, Core::Id id)
|
||||
: RunConfiguration(target, id)
|
||||
{
|
||||
auto envAspect = addAspect<LocalEnvironmentAspect>(target);
|
||||
|
||||
addAspect<LocalEnvironmentAspect>(target);
|
||||
addAspect<ExecutableAspect>();
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setDisplayName(tr("Current Build Target"));
|
||||
|
@@ -94,8 +94,7 @@ private:
|
||||
|
||||
CustomExecutableDialog::CustomExecutableDialog(RunConfiguration *rc)
|
||||
: QDialog(Core::ICore::dialogParent()),
|
||||
m_rc(rc),
|
||||
m_workingDirectory(rc->aspect<EnvironmentAspect>())
|
||||
m_rc(rc)
|
||||
{
|
||||
auto vbox = new QVBoxLayout(this);
|
||||
vbox->addWidget(new QLabel(tr("Could not find the executable, please specify one.")));
|
||||
@@ -194,7 +193,7 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe
|
||||
exeAspect->setEnvironment(envAspect->environment());
|
||||
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
connect(envAspect, &EnvironmentAspect::environmentChanged,
|
||||
|
@@ -131,8 +131,7 @@ bool TerminalAspect::isUserSet() const
|
||||
\class ProjectExplorer::WorkingDirectoryAspect
|
||||
*/
|
||||
|
||||
WorkingDirectoryAspect::WorkingDirectoryAspect(EnvironmentAspect *envAspect)
|
||||
: m_envAspect(envAspect)
|
||||
WorkingDirectoryAspect::WorkingDirectoryAspect()
|
||||
{
|
||||
setDisplayName(tr("Working Directory"));
|
||||
setId("WorkingDirectoryAspect");
|
||||
@@ -174,6 +173,11 @@ void WorkingDirectoryAspect::addToConfigurationLayout(QFormLayout *layout)
|
||||
layout->addRow(tr("Working directory:"), hbox);
|
||||
}
|
||||
|
||||
void WorkingDirectoryAspect::acquaintSiblings(const ProjectConfigurationAspects &siblings)
|
||||
{
|
||||
m_envAspect = siblings.aspect<EnvironmentAspect>();
|
||||
}
|
||||
|
||||
QString WorkingDirectoryAspect::keyForDefaultWd() const
|
||||
{
|
||||
return settingsKey() + ".default";
|
||||
|
@@ -67,9 +67,10 @@ class PROJECTEXPLORER_EXPORT WorkingDirectoryAspect : public ProjectConfiguratio
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit WorkingDirectoryAspect(EnvironmentAspect *envAspect = nullptr);
|
||||
WorkingDirectoryAspect();
|
||||
|
||||
void addToConfigurationLayout(QFormLayout *layout) override;
|
||||
void acquaintSiblings(const ProjectConfigurationAspects &) override;
|
||||
|
||||
Utils::FileName workingDirectory(const Utils::MacroExpander *expander) const;
|
||||
Utils::FileName defaultWorkingDirectory() const;
|
||||
@@ -84,7 +85,7 @@ private:
|
||||
void resetPath();
|
||||
QString keyForDefaultWd() const;
|
||||
|
||||
EnvironmentAspect * const m_envAspect = nullptr;
|
||||
EnvironmentAspect *m_envAspect = nullptr;
|
||||
Utils::FileName m_workingDirectory;
|
||||
Utils::FileName m_defaultWorkingDirectory;
|
||||
QPointer<Utils::PathChooser> m_chooser;
|
||||
|
@@ -66,7 +66,7 @@ QbsRunConfiguration::QbsRunConfiguration(Target *target, Core::Id id)
|
||||
|
||||
addAspect<ExecutableAspect>();
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setOutputFormatter<QtSupport::QtOutputFormatter>();
|
||||
|
@@ -71,7 +71,7 @@ DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target, Core:
|
||||
|
||||
addAspect<ExecutableAspect>();
|
||||
addAspect<ArgumentsAspect>();
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>();
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setOutputFormatter<QtSupport::QtOutputFormatter>();
|
||||
|
Reference in New Issue
Block a user