summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-10-26 15:42:47 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-10-26 15:05:27 +0000
commit565bb8052ff869cb103fcbe0fe34ed7a3ee1070f (patch)
tree485548b58ba05c34dfdb8eea7be87d9660f9ff81
parented0727e88fac9b8fb9491fa2dec31683f38c4e37 (diff)
downloadqt-creator-565bb8052ff869cb103fcbe0fe34ed7a3ee1070f.tar.gz
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 <tim.jenssen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp15
1 files 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,