From 47c7f22107fb4f7c0ff1846c501da037dedee4d5 Mon Sep 17 00:00:00 2001 From: Aleksei German Date: Thu, 2 Nov 2023 14:58:34 +0100 Subject: [PATCH] QmlDesigner: Fix hardcoded qtquick style config Task-number: QDS-11097 Change-Id: I0ebd531ee04420eae4d42de4c03205b592ff59af Reviewed-by: Qt CI Patch Build Bot Reviewed-by: Thomas Hartmann Reviewed-by: --- .../componentcore/changestyleaction.cpp | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp index ddeaa1c835d..3e1721e3fc4 100644 --- a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp +++ b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp @@ -18,11 +18,24 @@ static QString styleConfigFileName(const QString &qmlFileName) Utils::FilePath::fromString(qmlFileName)); if (currentProject) { - const QList fileNames = currentProject->files( - ProjectExplorer::Project::SourceFiles); - for (const Utils::FilePath &fileName : fileNames) - if (fileName.endsWith("qtquickcontrols2.conf")) - return fileName.toString(); + const auto &environment = currentProject->additionalEnvironment(); + 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 &fileNames = currentProject->files(ProjectExplorer::Project::SourceFiles); + const auto &foundFile = std::find_if(std::begin(fileNames), + std::end(fileNames), + [&](const auto &fileName) { + return fileName.fileName() == envVar->value; + }); + if (foundFile != std::end(fileNames)) + return foundFile->toString(); + } } return QString();