From 565bb8052ff869cb103fcbe0fe34ed7a3ee1070f Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 26 Oct 2022 15:42:47 +0200 Subject: QmlDesigner: Add option to allow multiple projects Setting QML/Designer/AllowMultipleProjects to true allows multiple projects. Task-number: QDS-7865 Change-Id: Ib44653e48cfbdb439c18dc2d3c57a4ae2ab0ee43 Reviewed-by: Tim Jenssen Reviewed-by: Qt CI Bot --- src/plugins/qmlprojectmanager/qmlproject.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index ba00ad797f..4a9737d091 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -88,6 +88,14 @@ static int preferedQtTarget(Target *target) return 5; } +static bool allowOnlySingleProject() +{ + QSettings *settings = Core::ICore::settings(); + const QString qdsAllowMultipleProjects = "QML/Designer/AllowMultipleProjects"; + + return !settings->value(qdsAllowMultipleProjects, false).toBool(); +} + const char openInQDSAppSetting[] = "OpenInQDSApp"; Utils::FilePaths QmlProject::getUiQmlFilesForFolder(const Utils::FilePath &folder) @@ -110,9 +118,10 @@ QmlProject::QmlProject(const Utils::FilePath &fileName) setBuildSystemCreator([](Target *t) { return new QmlBuildSystem(t); }); if (QmlProject::isQtDesignStudio()) { - - EditorManager::closeAllDocuments(); - SessionManager::closeAllProjects(); + if (allowOnlySingleProject()) { + EditorManager::closeAllDocuments(); + SessionManager::closeAllProjects(); + } m_openFileConnection = connect(this, -- cgit v1.2.3