diff options
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlproject.cpp')
-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, |