ProfileMenu.qml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. // Copyright (c) 2016 Ultimaker B.V.
  2. // Cura is released under the terms of the AGPLv3 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: menu
  10. Instantiator
  11. {
  12. model: Cura.ProfilesModel
  13. MenuItem
  14. {
  15. text: model.name + " - " + model.layer_height
  16. checkable: true
  17. checked: Cura.MachineManager.activeQualityChangesId == "" && Cura.MachineManager.activeQualityType == model.metadata.quality_type
  18. exclusiveGroup: group
  19. onTriggered: Cura.MachineManager.setActiveQuality(model.id)
  20. }
  21. onObjectAdded: menu.insertItem(index, object);
  22. onObjectRemoved: menu.removeItem(object);
  23. }
  24. MenuSeparator { id: customSeparator }
  25. Instantiator
  26. {
  27. id: customProfileInstantiator
  28. model: Cura.UserProfilesModel
  29. {
  30. onModelReset: customSeparator.visible = rowCount() > 0
  31. }
  32. MenuItem
  33. {
  34. text: model.name + " - " + model.layer_height
  35. checkable: true
  36. checked: Cura.MachineManager.globalQualityId == model.id
  37. exclusiveGroup: group
  38. onTriggered: Cura.MachineManager.setActiveQuality(model.id)
  39. }
  40. onObjectAdded:
  41. {
  42. customSeparator.visible = model.rowCount() > 0;
  43. menu.insertItem(index, object);
  44. }
  45. onObjectRemoved:
  46. {
  47. customSeparator.visible = model.rowCount() > 0;
  48. menu.removeItem(object);
  49. }
  50. }
  51. ExclusiveGroup { id: group; }
  52. MenuSeparator { id: profileMenuSeparator }
  53. MenuItem { action: Cura.Actions.addProfile }
  54. MenuItem { action: Cura.Actions.updateProfile }
  55. MenuItem { action: Cura.Actions.resetProfile }
  56. MenuSeparator { }
  57. MenuItem { action: Cura.Actions.manageProfiles }
  58. function getFilter(initial_conditions)
  59. {
  60. var result = initial_conditions;
  61. if(Cura.MachineManager.filterQualityByMachine)
  62. {
  63. result.definition = Cura.MachineManager.activeQualityDefinitionId;
  64. if(Cura.MachineManager.hasMaterials)
  65. {
  66. result.material = Cura.MachineManager.activeQualityMaterialId;
  67. }
  68. }
  69. else
  70. {
  71. result.definition = "fdmprinter"
  72. }
  73. return result
  74. }
  75. }