Actions.qml 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. // Copyright (c) 2015 Ultimaker B.V.
  2. // Cura is released under the terms of the AGPLv3 or higher.
  3. pragma Singleton
  4. import QtQuick 2.2
  5. import QtQuick.Controls 1.1
  6. import UM 1.1 as UM
  7. import Cura 1.0 as Cura
  8. Item
  9. {
  10. property alias open: openAction;
  11. property alias loadWorkspace: loadWorkspaceAction;
  12. property alias quit: quitAction;
  13. property alias undo: undoAction;
  14. property alias redo: redoAction;
  15. property alias deleteSelection: deleteSelectionAction;
  16. property alias deleteObject: deleteObjectAction;
  17. property alias centerObject: centerObjectAction;
  18. property alias groupObjects: groupObjectsAction;
  19. property alias unGroupObjects:unGroupObjectsAction;
  20. property alias mergeObjects: mergeObjectsAction;
  21. //property alias unMergeObjects: unMergeObjectsAction;
  22. property alias multiplyObject: multiplyObjectAction;
  23. property alias selectAll: selectAllAction;
  24. property alias deleteAll: deleteAllAction;
  25. property alias reloadAll: reloadAllAction;
  26. property alias resetAllTranslation: resetAllTranslationAction;
  27. property alias resetAll: resetAllAction;
  28. property alias addMachine: addMachineAction;
  29. property alias configureMachines: settingsAction;
  30. property alias addProfile: addProfileAction;
  31. property alias updateProfile: updateProfileAction;
  32. property alias resetProfile: resetProfileAction;
  33. property alias manageProfiles: manageProfilesAction;
  34. property alias manageMaterials: manageMaterialsAction;
  35. property alias preferences: preferencesAction;
  36. property alias showEngineLog: showEngineLogAction;
  37. property alias showProfileFolder: showProfileFolderAction;
  38. property alias documentation: documentationAction;
  39. property alias reportBug: reportBugAction;
  40. property alias about: aboutAction;
  41. property alias toggleFullScreen: toggleFullScreenAction;
  42. property alias configureSettingVisibility: configureSettingVisibilityAction
  43. UM.I18nCatalog{id: catalog; name:"cura"}
  44. Action
  45. {
  46. id:toggleFullScreenAction
  47. text: catalog.i18nc("@action:inmenu","Toggle Fu&ll Screen");
  48. iconName: "view-fullscreen";
  49. }
  50. Action
  51. {
  52. id: undoAction;
  53. text: catalog.i18nc("@action:inmenu menubar:edit","&Undo");
  54. iconName: "edit-undo";
  55. shortcut: StandardKey.Undo;
  56. onTriggered: UM.OperationStack.undo();
  57. enabled: UM.OperationStack.canUndo;
  58. }
  59. Action
  60. {
  61. id: redoAction;
  62. text: catalog.i18nc("@action:inmenu menubar:edit","&Redo");
  63. iconName: "edit-redo";
  64. shortcut: StandardKey.Redo;
  65. onTriggered: UM.OperationStack.redo();
  66. enabled: UM.OperationStack.canRedo;
  67. }
  68. Action
  69. {
  70. id: quitAction;
  71. text: catalog.i18nc("@action:inmenu menubar:file","&Quit");
  72. iconName: "application-exit";
  73. shortcut: StandardKey.Quit;
  74. }
  75. Action
  76. {
  77. id: preferencesAction;
  78. text: catalog.i18nc("@action:inmenu","Configure Cura...");
  79. iconName: "configure";
  80. }
  81. Action
  82. {
  83. id: addMachineAction;
  84. text: catalog.i18nc("@action:inmenu menubar:printer","&Add Printer...");
  85. }
  86. Action
  87. {
  88. id: settingsAction;
  89. text: catalog.i18nc("@action:inmenu menubar:printer","Manage Pr&inters...");
  90. iconName: "configure";
  91. }
  92. Action
  93. {
  94. id: manageMaterialsAction
  95. text: catalog.i18nc("@action:inmenu", "Manage Materials...")
  96. iconName: "configure"
  97. }
  98. Action
  99. {
  100. id: updateProfileAction;
  101. enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && !Cura.MachineManager.isReadOnly(Cura.MachineManager.activeQualityId)
  102. text: catalog.i18nc("@action:inmenu menubar:profile","&Update profile with current settings/overrides");
  103. onTriggered: Cura.ContainerManager.updateQualityChanges();
  104. }
  105. Action
  106. {
  107. id: resetProfileAction;
  108. enabled: Cura.MachineManager.hasUserSettings
  109. text: catalog.i18nc("@action:inmenu menubar:profile","&Discard current changes");
  110. onTriggered:
  111. {
  112. forceActiveFocus();
  113. Cura.ContainerManager.clearUserContainers();
  114. }
  115. }
  116. Action
  117. {
  118. id: addProfileAction;
  119. enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
  120. text: catalog.i18nc("@action:inmenu menubar:profile","&Create profile from current settings/overrides...");
  121. }
  122. Action
  123. {
  124. id: manageProfilesAction;
  125. text: catalog.i18nc("@action:inmenu menubar:profile","Manage Profiles...");
  126. iconName: "configure";
  127. }
  128. Action
  129. {
  130. id: documentationAction;
  131. text: catalog.i18nc("@action:inmenu menubar:help","Show Online &Documentation");
  132. iconName: "help-contents";
  133. shortcut: StandardKey.Help;
  134. onTriggered: CuraActions.openDocumentation();
  135. }
  136. Action {
  137. id: reportBugAction;
  138. text: catalog.i18nc("@action:inmenu menubar:help","Report a &Bug");
  139. iconName: "tools-report-bug";
  140. onTriggered: CuraActions.openBugReportPage();
  141. }
  142. Action
  143. {
  144. id: aboutAction;
  145. text: catalog.i18nc("@action:inmenu menubar:help","&About...");
  146. iconName: "help-about";
  147. }
  148. Action
  149. {
  150. id: deleteSelectionAction;
  151. text: catalog.i18nc("@action:inmenu menubar:edit","Delete &Selection");
  152. enabled: UM.Controller.toolsEnabled;
  153. iconName: "edit-delete";
  154. shortcut: StandardKey.Delete;
  155. onTriggered: Printer.deleteSelection();
  156. }
  157. Action
  158. {
  159. id: deleteObjectAction;
  160. text: catalog.i18nc("@action:inmenu","Delete Model");
  161. enabled: UM.Controller.toolsEnabled;
  162. iconName: "edit-delete";
  163. }
  164. Action
  165. {
  166. id: centerObjectAction;
  167. text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform");
  168. }
  169. Action
  170. {
  171. id: groupObjectsAction
  172. text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models");
  173. enabled: UM.Scene.numObjectsSelected > 1 ? true: false
  174. iconName: "object-group"
  175. shortcut: "Ctrl+G";
  176. onTriggered: Printer.groupSelected();
  177. }
  178. Action
  179. {
  180. id: unGroupObjectsAction
  181. text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models");
  182. enabled: UM.Scene.isGroupSelected
  183. iconName: "object-ungroup"
  184. shortcut: "Ctrl+Shift+G";
  185. onTriggered: Printer.ungroupSelected();
  186. }
  187. Action
  188. {
  189. id: mergeObjectsAction
  190. text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models");
  191. enabled: UM.Scene.numObjectsSelected > 1 ? true: false
  192. iconName: "merge";
  193. shortcut: "Ctrl+Alt+G";
  194. onTriggered: Printer.mergeSelected();
  195. }
  196. Action
  197. {
  198. id: multiplyObjectAction;
  199. text: catalog.i18nc("@action:inmenu","&Multiply Model...");
  200. iconName: "edit-duplicate"
  201. }
  202. Action
  203. {
  204. id: selectAllAction;
  205. text: catalog.i18nc("@action:inmenu menubar:edit","&Select All Models");
  206. enabled: UM.Controller.toolsEnabled;
  207. iconName: "edit-select-all";
  208. shortcut: "Ctrl+A";
  209. onTriggered: Printer.selectAll();
  210. }
  211. Action
  212. {
  213. id: deleteAllAction;
  214. text: catalog.i18nc("@action:inmenu menubar:edit","&Clear Build Plate");
  215. enabled: UM.Controller.toolsEnabled;
  216. iconName: "edit-delete";
  217. shortcut: "Ctrl+D";
  218. onTriggered: Printer.deleteAll();
  219. }
  220. Action
  221. {
  222. id: reloadAllAction;
  223. text: catalog.i18nc("@action:inmenu menubar:file","Re&load All Models");
  224. iconName: "document-revert";
  225. onTriggered: Printer.reloadAll();
  226. }
  227. Action
  228. {
  229. id: resetAllTranslationAction;
  230. text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Positions");
  231. onTriggered: Printer.resetAllTranslation();
  232. }
  233. Action
  234. {
  235. id: resetAllAction;
  236. text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model &Transformations");
  237. onTriggered: Printer.resetAll();
  238. }
  239. Action
  240. {
  241. id: openAction;
  242. text: catalog.i18nc("@action:inmenu menubar:file","&Open File...");
  243. iconName: "document-open";
  244. shortcut: StandardKey.Open;
  245. }
  246. Action
  247. {
  248. id: loadWorkspaceAction
  249. text: catalog.i18nc("@action:inmenu menubar:file","&Import project...");
  250. }
  251. Action
  252. {
  253. id: showEngineLogAction;
  254. text: catalog.i18nc("@action:inmenu menubar:help","Show Engine &Log...");
  255. iconName: "view-list-text";
  256. shortcut: StandardKey.WhatsThis;
  257. }
  258. Action
  259. {
  260. id: showProfileFolderAction;
  261. text: catalog.i18nc("@action:inmenu menubar:help","Show Configuration Folder");
  262. }
  263. Action
  264. {
  265. id: configureSettingVisibilityAction
  266. text: catalog.i18nc("@action:menu", "Configure setting visibility...");
  267. iconName: "configure"
  268. }
  269. }