diff --git a/share/qtcreator/qmldesigner/toolbar/Main.qml b/share/qtcreator/qmldesigner/toolbar/Main.qml index fa562c526ce..82a3b636642 100644 --- a/share/qtcreator/qmldesigner/toolbar/Main.qml +++ b/share/qtcreator/qmldesigner/toolbar/Main.qml @@ -245,12 +245,13 @@ Rectangle { ToolbarButton { id: annotations + visible: false anchors.verticalCenter: parent.verticalCenter anchors.right: shareButton.left anchors.rightMargin: 10 tooltip: qsTr("Edit Annotations") buttonIcon: StudioTheme.Constants.annotations_large - visible: !root.flyoutEnabled + //visible: !root.flyoutEnabled onClicked: backend.editGlobalAnnoation() } @@ -358,6 +359,7 @@ Rectangle { } ToolbarButton { + visible: false style: StudioTheme.Values.statusbarButtonStyle anchors.verticalCenter: parent.verticalCenter tooltip: qsTr("Edit Annotations") diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp index d59c5218793..c9a47c23c7e 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp @@ -159,13 +159,7 @@ void ToolBarBackend::setCurrentWorkspace(const QString &workspace) void ToolBarBackend::editGlobalAnnoation() { - QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_TOOLBAR_EDIT_GLOBAL_ANNOTATION); - ModelNode node = currentDesignDocument()->rewriterView()->rootModelNode(); - - if (node.isValid()) { - designModeWidget()->globalAnnotationEditor().setModelNode(node); - designModeWidget()->globalAnnotationEditor().showWidget(); - } + launchGlobalAnnotations(); } void ToolBarBackend::showZoomMenu(int x, int y) @@ -415,6 +409,17 @@ bool ToolBarBackend::isInEditMode() const return Core::ModeManager::currentModeId() == Core::Constants::MODE_EDIT; } +void ToolBarBackend::launchGlobalAnnotations() +{ + QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_TOOLBAR_EDIT_GLOBAL_ANNOTATION); + ModelNode node = currentDesignDocument()->rewriterView()->rootModelNode(); + + if (node.isValid()) { + designModeWidget()->globalAnnotationEditor().setModelNode(node); + designModeWidget()->globalAnnotationEditor().showWidget(); + } +} + bool ToolBarBackend::isDesignModeEnabled() const { if (Core::DesignMode::instance()) diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h index f0387ee753a..1aed5aeeaf4 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h @@ -129,6 +129,8 @@ public: bool isInEditMode() const; + static void launchGlobalAnnotations(); + signals: void navigationHistoryChanged(); void openDocumentsChanged(); diff --git a/src/plugins/qmldesigner/shortcutmanager.cpp b/src/plugins/qmldesigner/shortcutmanager.cpp index 9e65fb83bf5..7528490e0a9 100644 --- a/src/plugins/qmldesigner/shortcutmanager.cpp +++ b/src/plugins/qmldesigner/shortcutmanager.cpp @@ -5,6 +5,8 @@ #include +#include + #include #include #include @@ -107,6 +109,13 @@ void ShortCutManager::registerActions(const Core::Context &qmlDesignerMainContex QmlDesignerPlugin::instance()->viewManager().exportAsImage(); }); + QAction *action = new QAction(tr("Edit Global Annotations..."), this); + command = Core::ActionManager::registerAction(action, "Edit.Annotations", qmlDesignerMainContext); + Core::ActionManager::actionContainer(Core::Constants::M_EDIT) + ->addAction(command, Core::Constants::G_EDIT_OTHER); + + connect(action, &QAction::triggered, this, [] { ToolBarBackend::launchGlobalAnnotations(); }); + Core::ActionContainer *exportMenu = Core::ActionManager::actionContainer( QmlProjectManager::Constants::EXPORT_MENU);