ProfileMenu.qml 2.4 KB

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