diff options
author | Tapani Mattila <[email protected]> | 2022-05-25 14:15:17 +0300 |
---|---|---|
committer | Tapani Mattila <[email protected]> | 2022-06-10 08:06:59 +0000 |
commit | 82911d2ec30f3a15dbf1946559817dc1edc4f446 (patch) | |
tree | 40d098e3785b9dccee4779e82a0d5114339bac41 /src/plugins/qmlprojectmanager/qmlprojectplugin.cpp | |
parent | dec3fb7503b55405d6756e362e9c0d224c57f592 (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.cpp | 27 |
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() |