QmlDesigner: Remove Update QmlProject File action

- removes the action from the file menu
- adds tr::tr to the menu string
- fixes an if condition
- adds some comments on how we can improve it

Change-Id: I5f816a8dc9245bec5aa0db13318b702414ad6bcd
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Burak Hancerli <burak.hancerli@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Aleksei German
2023-07-27 16:25:47 +02:00
parent 7d48260177
commit d1623c38c6

View File

@@ -81,7 +81,7 @@ QmlBuildSystem::QmlBuildSystem(Target *target)
refresh(RefreshOptions::Project); refresh(RefreshOptions::Project);
updateDeploymentData(); updateDeploymentData();
registerMenuButtons(); // registerMenuButtons(); //is wip
connect(target->project(), &Project::activeTargetChanged, this, [this](Target *target) { connect(target->project(), &Project::activeTargetChanged, this, [this](Target *target) {
refresh(RefreshOptions::NoFileRefresh); refresh(RefreshOptions::NoFileRefresh);
@@ -117,24 +117,29 @@ void QmlBuildSystem::updateDeploymentData()
setDeploymentData(deploymentData); setDeploymentData(deploymentData);
} }
//probably this method needs to be moved into QmlProjectPlugin::initialize to be called only once
void QmlBuildSystem::registerMenuButtons() void QmlBuildSystem::registerMenuButtons()
{ {
Core::ActionContainer *menu = Core::ActionManager::actionContainer(Core::Constants::M_FILE); Core::ActionContainer *menu = Core::ActionManager::actionContainer(Core::Constants::M_FILE);
// QML Project file update button // QML Project file update button
// This button saves the current configuration into the .qmlproject file // This button saves the current configuration into the .qmlproject file
auto action = new QAction("Update QmlProject File", this); auto action = new QAction(Tr::tr("Update QmlProject File"), this);
//this registerAction registers a new action for each opened project,
//causes the "action is already registered" warning if you have multiple opened projects,
//is not a big thing for qds, but is annoying for qtc and should be fixed.
Core::Command *cmd = Core::ActionManager::registerAction(action, "QmlProject.ProjectManager"); Core::Command *cmd = Core::ActionManager::registerAction(action, "QmlProject.ProjectManager");
menu->addAction(cmd, Core::Constants::G_FILE_SAVE); menu->addAction(cmd, Core::Constants::G_FILE_SAVE);
QObject::connect(action, &QAction::triggered, this, &QmlBuildSystem::updateProjectFile); QObject::connect(action, &QAction::triggered, this, &QmlBuildSystem::updateProjectFile);
} }
//wip:
bool QmlBuildSystem::updateProjectFile() bool QmlBuildSystem::updateProjectFile()
{ {
qDebug() << "debug#1-mainfilepath" << mainFilePath(); qDebug() << "debug#1-mainfilepath" << mainFilePath();
QFile file(mainFilePath().fileName().append("project-test")); QFile file(mainFilePath().fileName().append("project-test"));
if (file.open(QIODevice::ReadWrite | QIODevice::Truncate)) { if (!file.open(QIODevice::ReadWrite | QIODevice::Truncate)) {
qCritical() << "Cannot open Qml Project file for editing!"; qCritical() << "Cannot open Qml Project file for editing!";
return false; return false;
} }