forked from qt-creator/qt-creator
QbsProjectManager: Set the default working directory in the run config
... rather than in the run config widget. Otherwise merely opening the run settings can change the behavior of applications. Task-number: QTCREATORBUG-19374 Change-Id: Ib227ab07d09b7a8ce34909ae0b08b6b222bcee14 Reviewed-by: Georger Araujo <georger_br@yahoo.com.br> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This commit is contained in:
@@ -131,9 +131,15 @@ QbsRunConfiguration::QbsRunConfiguration(Target *target)
|
|||||||
});
|
});
|
||||||
connect(BuildManager::instance(), &BuildManager::buildStateChanged, this,
|
connect(BuildManager::instance(), &BuildManager::buildStateChanged, this,
|
||||||
[this, project](Project *p) {
|
[this, project](Project *p) {
|
||||||
if (p == project && !BuildManager::isBuilding(p))
|
if (p == project && !BuildManager::isBuilding(p)) {
|
||||||
|
const QString defaultWorkingDir = baseWorkingDirectory();
|
||||||
|
if (!defaultWorkingDir.isEmpty()) {
|
||||||
|
extraAspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(
|
||||||
|
Utils::FileName::fromString(defaultWorkingDir));
|
||||||
|
}
|
||||||
emit enabledChanged();
|
emit enabledChanged();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
connect(target, &Target::activeDeployConfigurationChanged,
|
connect(target, &Target::activeDeployConfigurationChanged,
|
||||||
@@ -334,7 +340,6 @@ void QbsRunConfigurationWidget::targetInformationHasChanged()
|
|||||||
setExecutableLineText(m_rc->executable());
|
setExecutableLineText(m_rc->executable());
|
||||||
|
|
||||||
WorkingDirectoryAspect *aspect = m_rc->extraAspect<WorkingDirectoryAspect>();
|
WorkingDirectoryAspect *aspect = m_rc->extraAspect<WorkingDirectoryAspect>();
|
||||||
aspect->setDefaultWorkingDirectory(Utils::FileName::fromString(m_rc->baseWorkingDirectory()));
|
|
||||||
aspect->pathChooser()->setBaseFileName(m_rc->target()->project()->projectDirectory());
|
aspect->pathChooser()->setBaseFileName(m_rc->target()->project()->projectDirectory());
|
||||||
m_ignoreChange = false;
|
m_ignoreChange = false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user