Actions.qml 8.6 KB

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