aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
diff options
context:
space:
mode:
authorTapani Mattila <[email protected]>2022-05-25 14:15:17 +0300
committerTapani Mattila <[email protected]>2022-06-10 08:06:59 +0000
commit82911d2ec30f3a15dbf1946559817dc1edc4f446 (patch)
tree40d098e3785b9dccee4779e82a0d5114339bac41 /src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
parentdec3fb7503b55405d6756e362e9c0d224c57f592 (diff)
QmlProjectManager: Add .qmlproject file generator
Task-number: QDS-6993 Change-Id: I033b0efeea87e8eab3238d3ce8d5f25752822e36 Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectplugin.cpp')
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 58d75e3282f..655ece436cd 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -31,6 +31,7 @@
#include "projectfilecontenttools.h"
#include "cmakegen/cmakeprojectconverter.h"
#include "cmakegen/generatecmakelists.h"
+#include "qmlprojectgen/qmlprojectgenerator.h"
#include <coreplugin/actionmanager/actioncontainer.h>
#include <coreplugin/actionmanager/actionmanager.h>
@@ -390,17 +391,12 @@ void QmlProjectPlugin::initializeQmlLandingPage()
void QmlProjectPlugin::displayQmlLandingPage()
{
- const QString qtVersionString = ProjectFileContentTools::qtVersion(projectFilePath());
- const QString qdsVersionString = ProjectFileContentTools::qdsVersion(projectFilePath());
-
if (!d->landingPage)
initializeQmlLandingPage();
+ updateQmlLandingPageProjectInfo(projectFilePath());
d->landingPage->setQdsInstalled(qdsInstallationExists());
- d->landingPage->setProjectFileExists(projectFilePath().exists());
d->landingPage->setCmakeResources(ProjectFileContentTools::rootCmakeFiles());
- d->landingPage->setQtVersion(qtVersionString);
- d->landingPage->setQdsVersion(qdsVersionString);
d->landingPage->show();
}
@@ -469,7 +465,24 @@ void QmlProjectPlugin::generateCmake()
void QmlProjectPlugin::generateProjectFile()
{
- qWarning() << "TODO generate .qmlproject";
+ GenerateQmlProject::QmlProjectFileGenerator generator;
+
+ Core::IEditor *editor = Core::EditorManager::currentEditor();
+ if (editor)
+ if (generator.prepareForUiQmlFile(editor->document()->filePath()))
+ if (generator.execute())
+ updateQmlLandingPageProjectInfo(generator.targetFile());
+}
+
+void QmlProjectPlugin::updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile)
+{
+ if (d->landingPage) {
+ const QString qtVersionString = ProjectFileContentTools::qtVersion(projectFile);
+ const QString qdsVersionString = ProjectFileContentTools::qdsVersion(projectFile);
+ d->landingPage->setProjectFileExists(projectFile.exists());
+ d->landingPage->setQtVersion(qtVersionString);
+ d->landingPage->setQdsVersion(qdsVersionString);
+ }
}
Utils::FilePath QmlProjectPlugin::projectFilePath()