Actions.qml 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  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: Cura.ContainerManager.clearUserContainers();
  110. }
  111. Action
  112. {
  113. id: addProfileAction;
  114. enabled: Cura.MachineManager.isActiveStackValid && Cura.MachineManager.hasUserSettings
  115. text: catalog.i18nc("@action:inmenu menubar:profile","&Create profile from current settings...");
  116. }
  117. Action
  118. {
  119. id: manageProfilesAction;
  120. text: catalog.i18nc("@action:inmenu menubar:profile","Manage Profiles...");
  121. iconName: "configure";
  122. }
  123. Action
  124. {
  125. id: documentationAction;
  126. text: catalog.i18nc("@action:inmenu menubar:help","Show Online &Documentation");
  127. iconName: "help-contents";
  128. shortcut: StandardKey.Help;
  129. onTriggered: CuraActions.openDocumentation();
  130. }
  131. Action {
  132. id: reportBugAction;
  133. text: catalog.i18nc("@action:inmenu menubar:help","Report a &Bug");
  134. iconName: "tools-report-bug";
  135. onTriggered: CuraActions.openBugReportPage();
  136. }
  137. Action
  138. {
  139. id: aboutAction;
  140. text: catalog.i18nc("@action:inmenu menubar:help","&About...");
  141. iconName: "help-about";
  142. }
  143. Action
  144. {
  145. id: deleteSelectionAction;
  146. text: catalog.i18nc("@action:inmenu menubar:edit","Delete &Selection");
  147. enabled: UM.Controller.toolsEnabled;
  148. iconName: "edit-delete";
  149. shortcut: StandardKey.Delete;
  150. onTriggered: Printer.deleteSelection();
  151. }
  152. Action
  153. {
  154. id: deleteObjectAction;
  155. text: catalog.i18nc("@action:inmenu","Delete Model");
  156. enabled: UM.Controller.toolsEnabled;
  157. iconName: "edit-delete";
  158. }
  159. Action
  160. {
  161. id: centerObjectAction;
  162. text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform");
  163. }
  164. Action
  165. {
  166. id: groupObjectsAction
  167. text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models");
  168. enabled: UM.Scene.numObjectsSelected > 1 ? true: false
  169. iconName: "object-group"
  170. shortcut: "Ctrl+G";
  171. onTriggered: Printer.groupSelected();
  172. }
  173. Action
  174. {
  175. id: unGroupObjectsAction
  176. text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models");
  177. enabled: UM.Scene.isGroupSelected
  178. iconName: "object-ungroup"
  179. shortcut: "Ctrl+Shift+G";
  180. onTriggered: Printer.ungroupSelected();
  181. }
  182. Action
  183. {
  184. id: mergeObjectsAction
  185. text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models");
  186. enabled: UM.Scene.numObjectsSelected > 1 ? true: false
  187. iconName: "merge";
  188. shortcut: "Ctrl+Alt+G";
  189. onTriggered: Printer.mergeSelected();
  190. }
  191. Action
  192. {
  193. id: multiplyObjectAction;
  194. text: catalog.i18nc("@action:inmenu","&Duplicate Model");
  195. iconName: "edit-duplicate"
  196. }
  197. Action
  198. {
  199. id: selectAllAction;
  200. text: catalog.i18nc("@action:inmenu menubar:edit","&Select All Models");
  201. enabled: UM.Controller.toolsEnabled;
  202. iconName: "edit-select-all";
  203. shortcut: "Ctrl+A";
  204. onTriggered: Printer.selectAll();
  205. }
  206. Action
  207. {
  208. id: deleteAllAction;
  209. text: catalog.i18nc("@action:inmenu menubar:edit","&Clear Build Plate");
  210. enabled: UM.Controller.toolsEnabled;
  211. iconName: "edit-delete";
  212. shortcut: "Ctrl+D";
  213. onTriggered: Printer.deleteAll();
  214. }
  215. Action
  216. {
  217. id: reloadAllAction;
  218. text: catalog.i18nc("@action:inmenu menubar:file","Re&load All Models");
  219. iconName: "document-revert";
  220. onTriggered: Printer.reloadAll();
  221. }
  222. Action
  223. {
  224. id: resetAllTranslationAction;
  225. text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Positions");
  226. onTriggered: Printer.resetAllTranslation();
  227. }
  228. Action
  229. {
  230. id: resetAllAction;
  231. text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model &Transformations");
  232. onTriggered: Printer.resetAll();
  233. }
  234. Action
  235. {
  236. id: openAction;
  237. text: catalog.i18nc("@action:inmenu menubar:file","&Open File...");
  238. iconName: "document-open";
  239. shortcut: StandardKey.Open;
  240. }
  241. Action
  242. {
  243. id: showEngineLogAction;
  244. text: catalog.i18nc("@action:inmenu menubar:help","Show Engine &Log...");
  245. iconName: "view-list-text";
  246. shortcut: StandardKey.WhatsThis;
  247. }
  248. Action
  249. {
  250. id: showProfileFolderAction;
  251. text: catalog.i18nc("@action:inmenu menubar:help","Show Configuration Folder");
  252. }
  253. Action
  254. {
  255. id: configureSettingVisibilityAction
  256. text: catalog.i18nc("@action:menu", "Configure setting visibility...");
  257. iconName: "configure"
  258. }
  259. }