diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-10-26 15:42:47 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-10-26 15:05:27 +0000 |
commit | 565bb8052ff869cb103fcbe0fe34ed7a3ee1070f (patch) | |
tree | 485548b58ba05c34dfdb8eea7be87d9660f9ff81 | |
parent | ed0727e88fac9b8fb9491fa2dec31683f38c4e37 (diff) | |
download | qt-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.cpp | 15 |
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, |