123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- // Copyright (c) 2021 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- pragma Singleton
- import QtQuick 2.10
- import QtQuick.Controls 1.1
- import QtQuick.Controls 2.3 as Controls2
- import UM 1.1 as UM
- import Cura 1.0 as Cura
- Item
- {
- property alias newProject: newProjectAction;
- property alias open: openAction;
- property alias quit: quitAction;
- property alias undo: undoAction;
- property alias redo: redoAction;
- property alias view3DCamera: view3DCameraAction;
- property alias viewFrontCamera: viewFrontCameraAction;
- property alias viewTopCamera: viewTopCameraAction;
- property alias viewBottomCamera: viewBottomCameraAction;
- property alias viewLeftSideCamera: viewLeftSideCameraAction;
- property alias viewRightSideCamera: viewRightSideCameraAction;
- property alias deleteSelection: deleteSelectionAction;
- property alias centerSelection: centerSelectionAction;
- property alias multiplySelection: multiplySelectionAction;
- property alias deleteObject: deleteObjectAction;
- property alias centerObject: centerObjectAction;
- property alias groupObjects: groupObjectsAction;
- property alias unGroupObjects:unGroupObjectsAction;
- property alias mergeObjects: mergeObjectsAction;
- //property alias unMergeObjects: unMergeObjectsAction;
- property alias multiplyObject: multiplyObjectAction;
- property alias selectAll: selectAllAction;
- property alias deleteAll: deleteAllAction;
- property alias reloadAll: reloadAllAction;
- property alias arrangeAllBuildPlates: arrangeAllBuildPlatesAction;
- property alias arrangeAll: arrangeAllAction;
- property alias arrangeSelection: arrangeSelectionAction;
- property alias resetAllTranslation: resetAllTranslationAction;
- property alias resetAll: resetAllAction;
- property alias addMachine: addMachineAction;
- property alias configureMachines: settingsAction;
- property alias addProfile: addProfileAction;
- property alias updateProfile: updateProfileAction;
- property alias resetProfile: resetProfileAction;
- property alias manageProfiles: manageProfilesAction;
- property alias manageMaterials: manageMaterialsAction;
- property alias marketplaceMaterials: marketplaceMaterialsAction;
- property alias preferences: preferencesAction;
- property alias showProfileFolder: showProfileFolderAction;
- property alias documentation: documentationAction;
- property alias showTroubleshooting: showTroubleShootingAction
- property alias reportBug: reportBugAction;
- property alias whatsNew: whatsNewAction
- property alias about: aboutAction;
- property alias toggleFullScreen: toggleFullScreenAction;
- property alias exitFullScreen: exitFullScreenAction
- property alias configureSettingVisibility: configureSettingVisibilityAction
- property alias browsePackages: browsePackagesAction
- UM.I18nCatalog{id: catalog; name: "cura"}
- Action
- {
- id: showTroubleShootingAction
- onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting?utm_source=cura&utm_medium=software&utm_campaign=dropdown-troubleshooting")
- text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide");
- }
- Action
- {
- id: toggleFullScreenAction
- shortcut: StandardKey.FullScreen
- text: catalog.i18nc("@action:inmenu", "Toggle Full Screen")
- iconName: "view-fullscreen"
- }
- Action
- {
- id: exitFullScreenAction
- shortcut: StandardKey.Cancel
- text: catalog.i18nc("@action:inmenu", "Exit Full Screen")
- iconName: "view-fullscreen"
- }
- Action
- {
- id: undoAction;
- text: catalog.i18nc("@action:inmenu menubar:edit", "&Undo");
- iconName: "edit-undo";
- shortcut: StandardKey.Undo;
- onTriggered: UM.OperationStack.undo();
- enabled: UM.OperationStack.canUndo;
- }
- Action
- {
- id: redoAction;
- text: catalog.i18nc("@action:inmenu menubar:edit", "&Redo");
- iconName: "edit-redo";
- shortcut: StandardKey.Redo;
- onTriggered: UM.OperationStack.redo();
- enabled: UM.OperationStack.canRedo;
- }
- Action
- {
- id: quitAction
- //On MacOS, don't translate the "Quit" word.
- //Qt moves the "quit" entry to a different place, and if it got renamed can't find it again when it attempts to
- //delete the item upon closing the application, causing a crash.
- //In the new location, these items are translated automatically according to the system's language.
- //For more information, see:
- //- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
- //- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
- text: (Qt.platform.os == "osx") ? "&Quit" : catalog.i18nc("@action:inmenu menubar:file", "&Quit")
- iconName: "application-exit"
- shortcut: StandardKey.Quit
- }
- Action
- {
- id: view3DCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "3D View")
- onTriggered: UM.Controller.setCameraRotation("3d", 0)
- }
- Action
- {
- id: viewFrontCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "Front View")
- onTriggered: UM.Controller.setCameraRotation("home", 0)
- }
- Action
- {
- id: viewTopCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "Top View")
- onTriggered: UM.Controller.setCameraRotation("y", 90)
- }
- Action
- {
- id: viewBottomCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "Bottom View")
- onTriggered: UM.Controller.setCameraRotation("y", -90)
- }
- Action
- {
- id: viewLeftSideCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "Left Side View")
- onTriggered: UM.Controller.setCameraRotation("x", 90)
- }
- Action
- {
- id: viewRightSideCameraAction
- text: catalog.i18nc("@action:inmenu menubar:view", "Right Side View")
- onTriggered: UM.Controller.setCameraRotation("x", -90)
- }
- Action
- {
- id: preferencesAction
- //On MacOS, don't translate the "Configure" word.
- //Qt moves the "configure" entry to a different place, and if it got renamed can't find it again when it
- //attempts to delete the item upon closing the application, causing a crash.
- //In the new location, these items are translated automatically according to the system's language.
- //For more information, see:
- //- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
- //- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
- text: (Qt.platform.os == "osx") ? "Configure Cura..." : catalog.i18nc("@action:inmenu", "Configure Cura...")
- iconName: "configure"
- }
- Action
- {
- id: addMachineAction
- text: catalog.i18nc("@action:inmenu menubar:printer", "&Add Printer...")
- }
- Action
- {
- id: settingsAction
- text: catalog.i18nc("@action:inmenu menubar:printer", "Manage Pr&inters...")
- iconName: "configure"
- }
- Action
- {
- id: manageMaterialsAction
- text: catalog.i18nc("@action:inmenu", "Manage Materials...")
- iconName: "configure"
- shortcut: "Ctrl+K"
- }
- Action
- {
- id: marketplaceMaterialsAction
- text: catalog.i18nc("@action:inmenu", "Add more materials from Marketplace")
- }
- Action
- {
- id: updateProfileAction;
- enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && Cura.MachineManager.activeQualityChangesGroup != null
- text: catalog.i18nc("@action:inmenu menubar:profile","&Update profile with current settings/overrides");
- onTriggered: Cura.ContainerManager.updateQualityChanges();
- }
- Action
- {
- id: resetProfileAction;
- enabled: Cura.MachineManager.hasUserSettings
- text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes");
- onTriggered:
- {
- forceActiveFocus();
- Cura.ContainerManager.clearUserContainers();
- }
- }
- Action
- {
- id: addProfileAction;
- enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
- text: catalog.i18nc("@action:inmenu menubar:profile", "&Create profile from current settings/overrides...");
- }
- Action
- {
- id: manageProfilesAction
- text: catalog.i18nc("@action:inmenu menubar:profile", "Manage Profiles...")
- iconName: "configure"
- shortcut: "Ctrl+J"
- }
- Action
- {
- id: documentationAction;
- text: catalog.i18nc("@action:inmenu menubar:help", "Show Online &Documentation");
- iconName: "help-contents";
- shortcut: StandardKey.Help;
- onTriggered: CuraActions.openDocumentation();
- }
- Action {
- id: reportBugAction;
- text: catalog.i18nc("@action:inmenu menubar:help", "Report a &Bug");
- iconName: "tools-report-bug";
- onTriggered: CuraActions.openBugReportPage();
- }
- Action
- {
- id: whatsNewAction;
- text: catalog.i18nc("@action:inmenu menubar:help", "What's New");
- }
- Action
- {
- id: aboutAction;
- //On MacOS, don't translate the "About" word.
- //Qt moves the "about" entry to a different place, and if it got renamed can't find it again when it
- //attempts to delete the item upon closing the application, causing a crash.
- //In the new location, these items are translated automatically according to the system's language.
- //For more information, see:
- //- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
- //- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
- text: (Qt.platform.os == "osx") ? "About..." : catalog.i18nc("@action:inmenu menubar:help", "About...");
- iconName: "help-about";
- }
- Action
- {
- id: deleteSelectionAction;
- text: catalog.i18nc("@action:inmenu menubar:edit", "Delete Selected");
- enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
- iconName: "edit-delete";
- shortcut: StandardKey.Delete | "Backspace"
- onTriggered: CuraActions.deleteSelection();
- }
- Action
- {
- id: centerSelectionAction;
- text: catalog.i18nc("@action:inmenu menubar:edit", "Center Selected");
- enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
- iconName: "align-vertical-center";
- onTriggered: CuraActions.centerSelection();
- }
- Action
- {
- id: multiplySelectionAction;
- text: catalog.i18nc("@action:inmenu menubar:edit", "Multiply Selected");
- enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
- iconName: "edit-duplicate";
- shortcut: "Ctrl+M"
- }
- Action
- {
- id: deleteObjectAction;
- text: catalog.i18nc("@action:inmenu","Delete Model");
- enabled: UM.Controller.toolsEnabled;
- iconName: "edit-delete";
- }
- Action
- {
- id: centerObjectAction;
- text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform");
- }
- Action
- {
- id: groupObjectsAction
- text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models");
- enabled: UM.Selection.selectionCount > 1 ? true: false
- iconName: "object-group"
- shortcut: "Ctrl+G";
- onTriggered: CuraApplication.groupSelected();
- }
- Action
- {
- id: reloadQmlAction
- onTriggered:
- {
- CuraApplication.reloadQML()
- }
- shortcut: "Shift+F5"
- }
- Action
- {
- id: unGroupObjectsAction
- text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models");
- enabled: UM.Selection.isGroupSelected
- iconName: "object-ungroup"
- shortcut: "Ctrl+Shift+G";
- onTriggered: CuraApplication.ungroupSelected();
- }
- Action
- {
- id: mergeObjectsAction
- text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models");
- enabled: UM.Selection.selectionCount > 1 ? true: false
- iconName: "merge";
- shortcut: "Ctrl+Alt+G";
- onTriggered: CuraApplication.mergeSelected();
- }
- Action
- {
- id: multiplyObjectAction;
- text: catalog.i18nc("@action:inmenu","&Multiply Model...");
- iconName: "edit-duplicate"
- }
- Action
- {
- id: selectAllAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Select All Models");
- enabled: UM.Controller.toolsEnabled;
- iconName: "edit-select-all";
- shortcut: "Ctrl+A";
- onTriggered: CuraApplication.selectAll();
- }
- Action
- {
- id: deleteAllAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Clear Build Plate");
- enabled: UM.Controller.toolsEnabled;
- iconName: "edit-delete";
- shortcut: "Ctrl+D";
- onTriggered: CuraApplication.deleteAll();
- }
- Action
- {
- id: reloadAllAction;
- text: catalog.i18nc("@action:inmenu menubar:file","Reload All Models");
- iconName: "document-revert";
- shortcut: "F5"
- onTriggered: CuraApplication.reloadAll();
- }
- Action
- {
- id: arrangeAllBuildPlatesAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates");
- onTriggered: Printer.arrangeObjectsToAllBuildPlates();
- }
- Action
- {
- id: arrangeAllAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models");
- onTriggered: Printer.arrangeAll();
- shortcut: "Ctrl+R";
- }
- Action
- {
- id: arrangeSelectionAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Arrange Selection");
- onTriggered: Printer.arrangeSelection();
- }
- Action
- {
- id: resetAllTranslationAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Positions");
- onTriggered: CuraApplication.resetAllTranslation();
- }
- Action
- {
- id: resetAllAction;
- text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Transformations");
- onTriggered: CuraApplication.resetAll();
- }
- Action
- {
- id: openAction;
- property var fileProviderModel: CuraApplication.getFileProviderModel()
- text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)...");
- iconName: "document-open";
- // Unassign the shortcut when there are more than one file providers, since then the file provider's shortcut is
- // enabled instead, and Ctrl+O is assigned to the local file provider
- shortcut: fileProviderModel.count == 1 ? StandardKey.Open : "";
- }
- Action
- {
- id: newProjectAction
- text: catalog.i18nc("@action:inmenu menubar:file","&New Project...");
- shortcut: StandardKey.New
- }
- Action
- {
- id: showProfileFolderAction;
- text: catalog.i18nc("@action:inmenu menubar:help","Show Configuration Folder");
- }
- Action
- {
- id: configureSettingVisibilityAction
- text: catalog.i18nc("@action:menu", "Configure setting visibility...");
- iconName: "configure"
- }
- Action
- {
- id: browsePackagesAction
- text: catalog.i18nc("@action:menu", "&Marketplace")
- iconName: "plugins_browse"
- }
- }
|