SettingVisibilityPresetsMenu.qml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. property bool showingSearchResults
  13. property bool showingAllSettings
  14. signal showAllSettings()
  15. signal showSettingVisibilityProfile()
  16. Instantiator
  17. {
  18. model: settingVisibilityPresetsModel
  19. MenuItem
  20. {
  21. text: model.name
  22. checkable: true
  23. checked: model.id == settingVisibilityPresetsModel.activePreset
  24. exclusiveGroup: group
  25. onTriggered:
  26. {
  27. settingVisibilityPresetsModel.setActivePreset(model.id);
  28. showSettingVisibilityProfile();
  29. }
  30. }
  31. onObjectAdded: menu.insertItem(index, object)
  32. onObjectRemoved: menu.removeItem(object)
  33. }
  34. MenuSeparator {}
  35. MenuItem
  36. {
  37. text: catalog.i18nc("@action:inmenu", "All Settings")
  38. checkable: true
  39. checked: showingAllSettings
  40. exclusiveGroup: group
  41. onTriggered:
  42. {
  43. showAllSettings();
  44. }
  45. }
  46. MenuSeparator {}
  47. MenuItem
  48. {
  49. text: catalog.i18nc("@action:inmenu", "Manage Setting Visibility...")
  50. iconName: "configure"
  51. onTriggered: Cura.Actions.configureSettingVisibility.trigger()
  52. }
  53. ExclusiveGroup { id: group }
  54. }