SettingsMenu.qml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // Copyright (c) 2018 Ultimaker B.V.
  2. // Cura is released under the terms of the LGPLv3 or higher.
  3. import QtQuick 2.2
  4. import QtQuick.Controls 1.1
  5. import UM 1.2 as UM
  6. import Cura 1.0 as Cura
  7. Menu
  8. {
  9. id: base
  10. title: catalog.i18nc("@title:menu menubar:toplevel", "&Settings")
  11. PrinterMenu { title: catalog.i18nc("@title:menu menubar:settings", "&Printer") }
  12. property var activeMachine: Cura.MachineManager.activeMachine
  13. onAboutToShow: extruderInstantiator.active = true
  14. onAboutToHide: extruderInstantiator.active = false
  15. Instantiator
  16. {
  17. id: extruderInstantiator
  18. model: activeMachine == null ? null : activeMachine.extruderList
  19. active: false
  20. asynchronous: true
  21. Menu
  22. {
  23. title: modelData.name
  24. NozzleMenu { title: Cura.MachineManager.activeDefinitionVariantsName; visible: Cura.MachineManager.hasVariants; extruderIndex: index }
  25. MaterialMenu { title: catalog.i18nc("@title:menu", "&Material"); visible: Cura.MachineManager.hasMaterials; extruderIndex: index }
  26. MenuSeparator
  27. {
  28. visible: Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials
  29. }
  30. MenuItem
  31. {
  32. text: catalog.i18nc("@action:inmenu", "Set as Active Extruder")
  33. onTriggered: Cura.ExtruderManager.setActiveExtruderIndex(model.index)
  34. }
  35. MenuItem
  36. {
  37. text: catalog.i18nc("@action:inmenu", "Enable Extruder")
  38. onTriggered: Cura.MachineManager.setExtruderEnabled(model.index, true)
  39. visible: !Cura.MachineManager.getExtruder(model.index).isEnabled
  40. }
  41. MenuItem
  42. {
  43. text: catalog.i18nc("@action:inmenu", "Disable Extruder")
  44. onTriggered: Cura.MachineManager.setExtruderEnabled(model.index, false)
  45. visible: Cura.MachineManager.getExtruder(model.index).isEnabled
  46. enabled: Cura.MachineManager.numberExtrudersEnabled > 1
  47. }
  48. }
  49. onObjectAdded: base.insertItem(index, object)
  50. onObjectRemoved: base.removeItem(object)
  51. }
  52. // TODO Only show in dev mode. Remove check when feature ready
  53. BuildplateMenu
  54. {
  55. title: catalog.i18nc("@title:menu", "&Build plate")
  56. visible: CuraSDKVersion == "dev" && Cura.MachineManager.hasVariantBuildplates
  57. }
  58. ProfileMenu { title: catalog.i18nc("@title:settings", "&Profile") }
  59. MenuSeparator { }
  60. MenuItem { action: Cura.Actions.configureSettingVisibility }
  61. }