diff options
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp')
| -rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index e0c7cb3045..7eb5a4f678 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -120,16 +120,24 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id) connect(target, &Target::kitChanged, this, &RunConfiguration::update); m_multiLanguageAspect = addAspect<QmlMultiLanguageAspect>(target); + auto buildSystem = qobject_cast<const QmlBuildSystem *>(activeBuildSystem()); + if (buildSystem) + m_multiLanguageAspect->setValue(buildSystem->multilanguageSupport()); auto envAspect = addAspect<EnvironmentAspect>(); - connect(m_multiLanguageAspect, &QmlMultiLanguageAspect::changed, envAspect, &EnvironmentAspect::environmentChanged); + connect(m_multiLanguageAspect, + &QmlMultiLanguageAspect::changed, + envAspect, + &EnvironmentAspect::environmentChanged); auto envModifier = [this](Environment env) { - if (auto bs = dynamic_cast<const QmlBuildSystem *>(activeBuildSystem())) + if (auto bs = qobject_cast<const QmlBuildSystem *>(activeBuildSystem())) env.modify(bs->environment()); - if (m_multiLanguageAspect && m_multiLanguageAspect->value() && !m_multiLanguageAspect->databaseFilePath().isEmpty()) { - env.set("QT_MULTILANGUAGE_DATABASE", m_multiLanguageAspect->databaseFilePath().toString()); + if (m_multiLanguageAspect && m_multiLanguageAspect->value() + && !m_multiLanguageAspect->databaseFilePath().isEmpty()) { + env.set("QT_MULTILANGUAGE_DATABASE", + m_multiLanguageAspect->databaseFilePath().toString()); env.set("QT_MULTILANGUAGE_LANGUAGE", m_multiLanguageAspect->currentLocale()); } else { env.unset("QT_MULTILANGUAGE_DATABASE"); |
