aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
diff options
context:
space:
mode:
authorTim Jenssen <[email protected]>2024-09-25 14:19:15 +0200
committerTim Jenssen <[email protected]>2024-09-25 15:20:01 +0200
commit1e53f104d4297a8c8fe2ba9723dda6773e13b936 (patch)
treeec890a770afd048b18c8ae3fd06010844e572fb4 /src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
parent22e192e45ab5ec681952e48caf3298485b9c86b6 (diff)
parent6068df5540ddb0d38580be982af3bd1c9a154900 (diff)
Merge remote-tracking branch 'origin/qds/dev'
add QWidget include in src/plugins/qmldesigner/libs/designercore/model/model.cpp prepare src/plugins/lua/CMakeLists.txt if lua plugin is not built Necessary change in: src/plugins/qmldesigner/components/toolbar/messagemodel.h Because Utils::Id is a friend of qHash now, QtCreator API removed uniqueIdentifier(). std::unordered_map<quintptr, ProjectExplorer::TaskCategory> -> QHash<Utils::Id, ProjectExplorer::TaskCategory> m_categories = {}; other resolved Conflicts were in: cmake/QtCreatorAPI.cmake cmake/QtCreatorAPIInternal.cmake share/qtcreator/qmldesigner/studio_templates/projects/shared-plugin/name/DirectoryFontLoader.qml.tpl share/qtcreator/templates/wizards/projects/qtquickapplication/wizard.json src/plugins/effectcomposer/effectcomposerview.cpp src/plugins/effectcomposer/effectcomposerwidget.cpp src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp src/plugins/qmldesigner/components/contentlibrary/contentlibrarywidget.cpp src/plugins/qmldesigner/components/edit3d/edit3dview.cpp src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp src/plugins/qmldesigner/designmodecontext.cpp src/plugins/qmldesigner/designmodewidget.cpp src/plugins/qmldesigner/qmldesignerplugin.cpp src/plugins/qmlprojectmanager/buildsystem/projectitem/converters.cpp src/plugins/qmlprojectmanager/qmlprojectmanager.qbs src/plugins/studiowelcome/examplecheckout.h Change-Id: Ia6c204460baf4de886e45666d859ca048d578bcb
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectplugin.cpp')
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index f0c1b6c6885..b92574bcbab 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -9,7 +9,8 @@
#include "qmlprojectmanagertr.h"
#include "qmlprojectrunconfiguration.h"
#include "projectfilecontenttools.h"
-#include "cmakegen/cmakegenerator.h"
+#include "qmlprojectexporter/cmakegenerator.h"
+#include "qmlprojectexporter/pythongenerator.h"
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
@@ -24,12 +25,12 @@
#include <extensionsystem/iplugin.h>
+#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projectnodes.h>
#include <projectexplorer/projecttree.h>
#include <projectexplorer/runcontrol.h>
-#include <projectexplorer/projectmanager.h>
#include <projectexplorer/target.h>
#include <qmlprofiler/qmlprofilerruncontrol.h>
@@ -400,7 +401,27 @@ void QmlProjectPlugin::initialize()
!= fileNode->filePath());
});
- GenerateCmake::CMakeGenerator::createMenuAction(this);
+ connect(EditorManager::instance(),
+ &EditorManager::documentOpened,
+ this,
+ [](Core::IDocument *document) {
+ if (!ProjectManager::startupProject()
+ && document->filePath().completeSuffix() == "ui.qml") {
+ QTimer::singleShot(1000, [document]() {
+ if (ProjectManager::startupProject())
+ return;
+
+ const Utils::FilePath fileName = Utils::FilePath::fromString(
+ document->filePath().toString() + Constants::fakeProjectName);
+ auto result = ProjectExplorer::ProjectExplorerPlugin::openProjects(
+ {fileName});
+ QTC_ASSERT(result.project(), return);
+ });
+ }
+ });
+
+ QmlProjectExporter::CMakeGenerator::createMenuAction(this);
+ QmlProjectExporter::PythonGenerator::createMenuAction(this);
}
}