From 939b28a0761991096355392bc86a3db8dd03ca67 Mon Sep 17 00:00:00 2001 From: Aleksei German Date: Tue, 29 Aug 2023 17:37:54 +0200 Subject: [PATCH] QmlDesigner: Fix hardcoded Controls2 config file Task-number: QDS-10545 Change-Id: I8e96ea5f4b409a8b378f94e45b413d6315ea8170 Reviewed-by: Marco Bubke Reviewed-by: Qt CI Patch Build Bot Reviewed-by: --- .../qmldesigner/puppetenvironmentbuilder.cpp | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/puppetenvironmentbuilder.cpp b/src/plugins/qmldesigner/puppetenvironmentbuilder.cpp index e52c0c70581..fbf76b96630 100644 --- a/src/plugins/qmldesigner/puppetenvironmentbuilder.cpp +++ b/src/plugins/qmldesigner/puppetenvironmentbuilder.cpp @@ -83,10 +83,26 @@ bool PuppetEnvironmentBuilder::usesVirtualKeyboard() const QString PuppetEnvironmentBuilder::getStyleConfigFileName() const { if (m_target) { - for (const Utils::FilePath &fileName : - m_target->project()->files(ProjectExplorer::Project::SourceFiles)) { - if (fileName.fileName() == "qtquickcontrols2.conf") - return fileName.toString(); + const auto *qmlBuild = qobject_cast( + m_target->buildSystem()); + if (qmlBuild) { + const auto &environment = qmlBuild->environment(); + const auto &envVar = std::find_if( + std::begin(environment), std::end(environment), [](const auto &envVar) { + return (envVar.name == u"QT_QUICK_CONTROLS_CONF" + && envVar.operation != Utils::EnvironmentItem::SetDisabled); + }); + if (envVar != std::end(environment)) { + const auto &sourceFiles = m_target->project()->files( + ProjectExplorer::Project::SourceFiles); + const auto &foundFile = std::find_if(std::begin(sourceFiles), + std::end(sourceFiles), + [&](const auto &fileName) { + return fileName.fileName() == envVar->value; + }); + if (foundFile != std::end(sourceFiles)) + return foundFile->toString(); + } } }