SettingVisibilityPresetsMenu.qml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // Copyright (c) 2018 Ultimaker B.V.
  2. // Cura is released under the terms of the LGPLv3 or higher.
  3. import QtQuick 2.7
  4. import QtQuick.Controls 1.4
  5. import UM 1.2 as UM
  6. import Cura 1.0 as Cura
  7. Menu
  8. {
  9. id: menu
  10. title: catalog.i18nc("@action:inmenu", "Visible Settings")
  11. property QtObject settingVisibilityPresetsModel: CuraApplication.getSettingVisibilityPresetsModel()
  12. signal showAllSettings()
  13. signal collapseAllCategories()
  14. Instantiator
  15. {
  16. model: settingVisibilityPresetsModel.items
  17. MenuItem
  18. {
  19. text: modelData.name
  20. checkable: true
  21. checked: modelData.presetId == settingVisibilityPresetsModel.activePreset
  22. exclusiveGroup: group
  23. onTriggered:
  24. {
  25. settingVisibilityPresetsModel.setActivePreset(modelData.presetId);
  26. }
  27. }
  28. onObjectAdded: menu.insertItem(index, object)
  29. onObjectRemoved: menu.removeItem(object)
  30. }
  31. MenuSeparator {}
  32. MenuItem
  33. {
  34. text: catalog.i18nc("@action:inmenu", "Show All Settings")
  35. checkable: false
  36. exclusiveGroup: group
  37. onTriggered:
  38. {
  39. showAllSettings();
  40. }
  41. }
  42. MenuSeparator {}
  43. MenuItem
  44. {
  45. text: catalog.i18nc("@action:inmenu", "Collapse All Categories")
  46. onTriggered:
  47. {
  48. collapseAllCategories();
  49. }
  50. }
  51. MenuSeparator {}
  52. MenuItem
  53. {
  54. text: catalog.i18nc("@action:inmenu", "Manage Setting Visibility...")
  55. iconName: "configure"
  56. onTriggered: Cura.Actions.configureSettingVisibility.trigger()
  57. }
  58. ExclusiveGroup { id: group }
  59. }