mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 13:17:51 -06:00
Switch out the file, view and edit menu for controls 2
CURA-8683
This commit is contained in:
parent
58a3aef8d4
commit
052898ce21
9 changed files with 285 additions and 251 deletions
|
@ -4,69 +4,68 @@
|
|||
pragma Singleton
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.3 as Controls2
|
||||
import QtQuick.Controls 2.4
|
||||
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 newProject: newProjectAction
|
||||
property alias open: openAction
|
||||
property alias quit: quitAction
|
||||
|
||||
property alias undo: undoAction;
|
||||
property alias redo: redoAction;
|
||||
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 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 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 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 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 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 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 manageMaterials: manageMaterialsAction
|
||||
property alias marketplaceMaterials: marketplaceMaterialsAction
|
||||
|
||||
property alias preferences: preferencesAction;
|
||||
property alias preferences: preferencesAction
|
||||
|
||||
property alias showProfileFolder: showProfileFolderAction;
|
||||
property alias documentation: documentationAction;
|
||||
property alias showProfileFolder: showProfileFolderAction
|
||||
property alias documentation: documentationAction
|
||||
property alias showTroubleshooting: showTroubleShootingAction
|
||||
property alias reportBug: reportBugAction;
|
||||
property alias reportBug: reportBugAction
|
||||
property alias whatsNew: whatsNewAction
|
||||
property alias about: aboutAction;
|
||||
property alias about: aboutAction
|
||||
|
||||
property alias toggleFullScreen: toggleFullScreenAction;
|
||||
property alias toggleFullScreen: toggleFullScreenAction
|
||||
property alias exitFullScreen: exitFullScreenAction
|
||||
|
||||
property alias configureSettingVisibility: configureSettingVisibilityAction
|
||||
|
@ -80,7 +79,7 @@ Item
|
|||
{
|
||||
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");
|
||||
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide")
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -88,7 +87,7 @@ Item
|
|||
id: toggleFullScreenAction
|
||||
shortcut: StandardKey.FullScreen
|
||||
text: catalog.i18nc("@action:inmenu", "Toggle Full Screen")
|
||||
iconName: "view-fullscreen"
|
||||
icon.name: "view-fullscreen"
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -96,27 +95,27 @@ Item
|
|||
id: exitFullScreenAction
|
||||
shortcut: StandardKey.Cancel
|
||||
text: catalog.i18nc("@action:inmenu", "Exit Full Screen")
|
||||
iconName: "view-fullscreen"
|
||||
icon.name: "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;
|
||||
id: undoAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Undo")
|
||||
icon.name: "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;
|
||||
id: redoAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Redo")
|
||||
icon.name: "edit-redo"
|
||||
shortcut: StandardKey.Redo
|
||||
onTriggered: UM.OperationStack.redo()
|
||||
enabled: UM.OperationStack.canRedo
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -131,7 +130,7 @@ Item
|
|||
//- 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"
|
||||
icon.name: "application-exit"
|
||||
shortcut: StandardKey.Quit
|
||||
}
|
||||
|
||||
|
@ -188,7 +187,7 @@ Item
|
|||
//- 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"
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -201,14 +200,14 @@ Item
|
|||
{
|
||||
id: settingsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:printer", "Manage Pr&inters...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: manageMaterialsAction
|
||||
text: catalog.i18nc("@action:inmenu", "Manage Materials...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
shortcut: "Ctrl+K"
|
||||
}
|
||||
|
||||
|
@ -220,64 +219,64 @@ Item
|
|||
|
||||
Action
|
||||
{
|
||||
id: updateProfileAction;
|
||||
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();
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile","&Update profile with current settings/overrides")
|
||||
onTriggered: Cura.ContainerManager.updateQualityChanges()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: resetProfileAction;
|
||||
id: resetProfileAction
|
||||
enabled: Cura.MachineManager.hasUserSettings
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes");
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes")
|
||||
onTriggered:
|
||||
{
|
||||
forceActiveFocus();
|
||||
Cura.ContainerManager.clearUserContainers();
|
||||
forceActiveFocus()
|
||||
Cura.ContainerManager.clearUserContainers()
|
||||
}
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: addProfileAction;
|
||||
id: addProfileAction
|
||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Create profile from current settings/overrides...");
|
||||
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"
|
||||
icon.name: "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();
|
||||
id: documentationAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Show Online &Documentation")
|
||||
icon.name: "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();
|
||||
id: reportBugAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Report a &Bug")
|
||||
icon.name: "tools-report-bug"
|
||||
onTriggered: CuraActions.openBugReportPage()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: whatsNewAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "What's New");
|
||||
id: whatsNewAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "What's New")
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: aboutAction;
|
||||
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
|
||||
|
@ -286,60 +285,60 @@ Item
|
|||
//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";
|
||||
text: (Qt.platform.os == "osx") ? "About..." : catalog.i18nc("@action:inmenu menubar:help", "About...")
|
||||
icon.name: "help-about"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: deleteSelectionAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Delete Selected");
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
|
||||
iconName: "edit-delete";
|
||||
id: deleteSelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Delete Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "edit-delete"
|
||||
shortcut: StandardKey.Delete | "Backspace"
|
||||
onTriggered: CuraActions.deleteSelection();
|
||||
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();
|
||||
id: centerSelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Center Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "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";
|
||||
id: multiplySelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Multiply Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "edit-duplicate"
|
||||
shortcut: "Ctrl+M"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: deleteObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","Delete Model");
|
||||
enabled: UM.Controller.toolsEnabled;
|
||||
iconName: "edit-delete";
|
||||
id: deleteObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","Delete Model")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "edit-delete"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: centerObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform");
|
||||
id: centerObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform")
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: groupObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models");
|
||||
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();
|
||||
icon.name: "object-group"
|
||||
shortcut: "Ctrl+G"
|
||||
onTriggered: CuraApplication.groupSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -355,132 +354,132 @@ Item
|
|||
Action
|
||||
{
|
||||
id: unGroupObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models");
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models")
|
||||
enabled: UM.Selection.isGroupSelected
|
||||
iconName: "object-ungroup"
|
||||
shortcut: "Ctrl+Shift+G";
|
||||
onTriggered: CuraApplication.ungroupSelected();
|
||||
icon.name: "object-ungroup"
|
||||
shortcut: "Ctrl+Shift+G"
|
||||
onTriggered: CuraApplication.ungroupSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: mergeObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models");
|
||||
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();
|
||||
icon.name: "merge"
|
||||
shortcut: "Ctrl+Alt+G"
|
||||
onTriggered: CuraApplication.mergeSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: multiplyObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","&Multiply Model...");
|
||||
iconName: "edit-duplicate"
|
||||
id: multiplyObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","&Multiply Model...")
|
||||
icon.name: "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();
|
||||
id: selectAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Select All Models")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "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();
|
||||
id: deleteAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Clear Build Plate")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "edit-delete"
|
||||
shortcut: "Ctrl+D"
|
||||
onTriggered: CuraApplication.deleteAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: reloadAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","Reload All Models");
|
||||
iconName: "document-revert";
|
||||
id: reloadAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","Reload All Models")
|
||||
icon.name: "document-revert"
|
||||
shortcut: "F5"
|
||||
onTriggered: CuraApplication.reloadAll();
|
||||
onTriggered: CuraApplication.reloadAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeAllBuildPlatesAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates");
|
||||
onTriggered: Printer.arrangeObjectsToAllBuildPlates();
|
||||
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";
|
||||
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();
|
||||
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();
|
||||
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();
|
||||
id: resetAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Transformations")
|
||||
onTriggered: CuraApplication.resetAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: openAction;
|
||||
id: openAction
|
||||
property var fileProviderModel: CuraApplication.getFileProviderModel()
|
||||
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)...");
|
||||
iconName: "document-open";
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)...")
|
||||
icon.name: "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 : "";
|
||||
shortcut: fileProviderModel.count == 1 ? StandardKey.Open : ""
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: newProjectAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&New Project...");
|
||||
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");
|
||||
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"
|
||||
text: catalog.i18nc("@action:menu", "Configure setting visibility...")
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: browsePackagesAction
|
||||
text: catalog.i18nc("@action:menu", "&Marketplace")
|
||||
iconName: "plugins_browse"
|
||||
icon.name: "plugins_browse"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,8 @@ import QtQuick.Controls 1.4
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.2
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import UM 1.3 as UM
|
||||
import QtQuick.Controls 2.15 as NewControls
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
import "Dialogs"
|
||||
|
@ -160,7 +160,6 @@ UM.MainWindow
|
|||
ApplicationMenu
|
||||
{
|
||||
id: applicationMenu
|
||||
window: base
|
||||
}
|
||||
|
||||
Item
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 2.4
|
||||
import QtQuick.Dialogs 1.2
|
||||
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
import "../Menus"
|
||||
|
@ -17,13 +16,48 @@ Item
|
|||
id: menu
|
||||
width: applicationMenu.width
|
||||
height: applicationMenu.height
|
||||
property alias window: applicationMenu.window
|
||||
|
||||
UM.ApplicationMenu
|
||||
Component
|
||||
{
|
||||
id: menuBarComponent
|
||||
MenuBarItem
|
||||
{
|
||||
id: menuBarItem
|
||||
|
||||
function replaceText(txt)
|
||||
{
|
||||
var index = txt.indexOf("&")
|
||||
if(index >= 0)
|
||||
{
|
||||
txt = txt.replace(txt.substr(index, 2), ("<u>" + txt.substr(index + 1, 1) +"</u>"))
|
||||
}
|
||||
return txt
|
||||
}
|
||||
|
||||
contentItem: Label {
|
||||
text: replaceText(menuBarItem.text)
|
||||
color: "white"
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
textFormat: Text.RichText
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MenuBar
|
||||
{
|
||||
id: applicationMenu
|
||||
delegate: menuBarComponent
|
||||
FileMenu {}
|
||||
|
||||
EditMenu {}
|
||||
ViewMenu {}
|
||||
}
|
||||
|
||||
/*UM.ApplicationMenu
|
||||
{
|
||||
id: applicationMenu
|
||||
|
||||
FileMenu { title: catalog.i18nc("@title:menu menubar:toplevel", "&File") }
|
||||
//FileMenu { title: catalog.i18nc("@title:menu menubar:toplevel", "&File") }
|
||||
|
||||
Menu
|
||||
{
|
||||
|
@ -126,9 +160,10 @@ Item
|
|||
MenuItem { action: Cura.Actions.whatsNew }
|
||||
MenuItem { action: Cura.Actions.about }
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
Component
|
||||
|
||||
/*Component
|
||||
{
|
||||
id: extensionsMenuItem
|
||||
|
||||
|
@ -214,5 +249,5 @@ Item
|
|||
curaExtensions.callExtensionMethod("Toolbox", "launch")
|
||||
curaExtensions.callExtensionMethod("Toolbox", "setViewCategoryToMaterials")
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
28
resources/qml/Menus/EditMenu.qml
Normal file
28
resources/qml/Menus/EditMenu.qml
Normal file
|
@ -0,0 +1,28 @@
|
|||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.6 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "&Edit")
|
||||
|
||||
UM.MenuItem { action: Cura.Actions.undo }
|
||||
UM.MenuItem { action: Cura.Actions.redo }
|
||||
MenuSeparator { }
|
||||
UM.MenuItem { action: Cura.Actions.selectAll }
|
||||
UM.MenuItem { action: Cura.Actions.arrangeAll }
|
||||
UM.MenuItem { action: Cura.Actions.multiplySelection }
|
||||
UM.MenuItem { action: Cura.Actions.deleteSelection }
|
||||
UM.MenuItem { action: Cura.Actions.deleteAll }
|
||||
UM.MenuItem { action: Cura.Actions.resetAllTranslation }
|
||||
UM.MenuItem { action: Cura.Actions.resetAll }
|
||||
MenuSeparator { }
|
||||
UM.MenuItem { action: Cura.Actions.groupObjects }
|
||||
UM.MenuItem { action: Cura.Actions.mergeObjects }
|
||||
UM.MenuItem { action: Cura.Actions.unGroupObjects }
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.6 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -13,31 +13,34 @@ Menu
|
|||
title: catalog.i18nc("@title:menu menubar:toplevel", "&File")
|
||||
property var fileProviderModel: CuraApplication.getFileProviderModel()
|
||||
|
||||
MenuItem
|
||||
|
||||
UM.MenuItem
|
||||
{
|
||||
id: newProjectMenu
|
||||
action: Cura.Actions.newProject
|
||||
}
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
id: openMenu
|
||||
action: Cura.Actions.open
|
||||
visible: (base.fileProviderModel.count == 1)
|
||||
visible: base.fileProviderModel.count == 1
|
||||
height: visible ? implicitHeight: 0
|
||||
}
|
||||
|
||||
OpenFilesMenu
|
||||
{
|
||||
id: openFilesMenu
|
||||
visible: (base.fileProviderModel.count > 1)
|
||||
|
||||
shouldBeVisible: base.fileProviderModel.count > 1
|
||||
}
|
||||
|
||||
RecentFilesMenu { }
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
id: saveWorkspaceMenu
|
||||
shortcut: visible ? StandardKey.Save : ""
|
||||
shortcut: StandardKey.Save
|
||||
text: catalog.i18nc("@title:menu menubar:file", "&Save Project...")
|
||||
visible: saveProjectMenu.model.count == 1
|
||||
enabled: UM.WorkspaceFileHandler.enabled
|
||||
|
@ -62,13 +65,13 @@ Menu
|
|||
{
|
||||
id: saveProjectMenu
|
||||
model: projectOutputDevicesModel
|
||||
visible: model.count > 1
|
||||
shouldBeVisible: model.count > 1
|
||||
enabled: UM.WorkspaceFileHandler.enabled
|
||||
}
|
||||
|
||||
MenuSeparator { }
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
id: saveAsMenu
|
||||
text: catalog.i18nc("@title:menu menubar:file", "&Export...")
|
||||
|
@ -79,18 +82,18 @@ Menu
|
|||
}
|
||||
}
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
id: exportSelectionMenu
|
||||
text: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...")
|
||||
enabled: UM.Selection.hasSelection
|
||||
iconName: "document-save-as"
|
||||
icon.name: "document-save-as"
|
||||
onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"})
|
||||
}
|
||||
|
||||
MenuSeparator { }
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
id: reloadAllMenu
|
||||
action: Cura.Actions.reloadAll
|
||||
|
@ -98,5 +101,5 @@ Menu
|
|||
|
||||
MenuSeparator { }
|
||||
|
||||
MenuItem { action: Cura.Actions.quit }
|
||||
UM.MenuItem { action: Cura.Actions.quit }
|
||||
}
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
// Copyright (c) 2020 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.6 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
import "../Dialogs"
|
||||
|
||||
Menu
|
||||
UM.Menu
|
||||
{
|
||||
id: openFilesMenu
|
||||
title: catalog.i18nc("@title:menu menubar:file", "Open File(s)...")
|
||||
iconName: "document-open-recent";
|
||||
|
||||
Instantiator
|
||||
{
|
||||
id: fileProviders
|
||||
model: CuraApplication.getFileProviderModel()
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
text:
|
||||
{
|
||||
|
@ -39,6 +38,7 @@ Menu
|
|||
// Unassign the shortcuts when the submenu is invisible (i.e. when there is only one file provider) to avoid ambiguous shortcuts.
|
||||
// When there is a single file provider, the openAction is assigned with the Ctrl+O shortcut instead.
|
||||
shortcut: openFilesMenu.visible ? model.shortcut : ""
|
||||
visible: openFilesMenu.visible
|
||||
}
|
||||
onObjectAdded: openFilesMenu.insertItem(index, object)
|
||||
onObjectRemoved: openFilesMenu.removeItem(object)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.3 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -13,7 +13,7 @@ Menu
|
|||
{
|
||||
id: menu
|
||||
title: catalog.i18nc("@title:menu menubar:file", "Open &Recent")
|
||||
iconName: "document-open-recent";
|
||||
//iconName: "document-open-recent";
|
||||
|
||||
enabled: CuraApplication.recentFiles.length > 0;
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.6 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
import "../Dialogs"
|
||||
|
||||
Menu
|
||||
UM.Menu
|
||||
{
|
||||
id: saveProjectMenu
|
||||
title: catalog.i18nc("@title:menu menubar:file", "Save Project...")
|
||||
|
@ -18,7 +18,7 @@ Menu
|
|||
Instantiator
|
||||
{
|
||||
id: projectOutputDevices
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
text: model.name
|
||||
onTriggered:
|
||||
|
|
|
@ -2,33 +2,34 @@
|
|||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "&View")
|
||||
id: base
|
||||
|
||||
property var multiBuildPlateModel: CuraApplication.getMultiBuildPlateModel()
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "&View")
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","&Camera position");
|
||||
MenuItem { action: Cura.Actions.view3DCamera; }
|
||||
MenuItem { action: Cura.Actions.viewFrontCamera; }
|
||||
MenuItem { action: Cura.Actions.viewTopCamera; }
|
||||
MenuItem { action: Cura.Actions.viewBottomCamera; }
|
||||
MenuItem { action: Cura.Actions.viewLeftSideCamera; }
|
||||
MenuItem { action: Cura.Actions.viewRightSideCamera; }
|
||||
title: catalog.i18nc("@action:inmenu menubar:view", "&Camera position")
|
||||
UM.MenuItem { action: Cura.Actions.view3DCamera }
|
||||
UM.MenuItem { action: Cura.Actions.viewFrontCamera }
|
||||
UM.MenuItem { action: Cura.Actions.viewTopCamera }
|
||||
UM.MenuItem { action: Cura.Actions.viewBottomCamera }
|
||||
UM.MenuItem { action: Cura.Actions.viewLeftSideCamera }
|
||||
UM.MenuItem { action: Cura.Actions.viewRightSideCamera }
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: cameraViewMenu
|
||||
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","Camera view")
|
||||
property string cameraMode: UM.Preferences.getValue("general/camera_perspective_mode")
|
||||
|
||||
Connections
|
||||
{
|
||||
target: UM.Preferences
|
||||
|
@ -42,7 +43,6 @@ Menu
|
|||
}
|
||||
}
|
||||
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","Camera view")
|
||||
MenuItem
|
||||
{
|
||||
text: catalog.i18nc("@action:inmenu menubar:view", "Perspective")
|
||||
|
@ -52,8 +52,9 @@ Menu
|
|||
{
|
||||
UM.Preferences.setValue("general/camera_perspective_mode", "perspective")
|
||||
}
|
||||
exclusiveGroup: group
|
||||
//exclusiveGroup: group
|
||||
}
|
||||
|
||||
MenuItem
|
||||
{
|
||||
text: catalog.i18nc("@action:inmenu menubar:view", "Orthographic")
|
||||
|
@ -63,45 +64,14 @@ Menu
|
|||
{
|
||||
UM.Preferences.setValue("general/camera_perspective_mode", "orthographic")
|
||||
}
|
||||
exclusiveGroup: group
|
||||
}
|
||||
ExclusiveGroup { id: group }
|
||||
}
|
||||
|
||||
MenuSeparator
|
||||
{
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: buildPlateMenu;
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","&Build plate")
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
Instantiator
|
||||
{
|
||||
model: base.multiBuildPlateModel
|
||||
MenuItem
|
||||
{
|
||||
text: base.multiBuildPlateModel.getItem(index).name;
|
||||
onTriggered: Cura.SceneController.setActiveBuildPlate(base.multiBuildPlateModel.getItem(index).buildPlateNumber)
|
||||
checkable: true
|
||||
checked: base.multiBuildPlateModel.getItem(index).buildPlateNumber == base.multiBuildPlateModel.activeBuildPlate
|
||||
exclusiveGroup: buildPlateGroup
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
onObjectAdded: buildPlateMenu.insertItem(index, object)
|
||||
onObjectRemoved: buildPlateMenu.removeItem(object)
|
||||
}
|
||||
ExclusiveGroup
|
||||
{
|
||||
id: buildPlateGroup
|
||||
//exclusiveGroup: group
|
||||
}
|
||||
//ExclusiveGroup { id: group }
|
||||
}
|
||||
|
||||
MenuSeparator {}
|
||||
|
||||
MenuItem
|
||||
UM.MenuItem
|
||||
{
|
||||
action: Cura.Actions.toggleFullScreen
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue