PrintSetupHeaderButton.qml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. // Copyright (c) 2022 Ultimaker B.V.
  2. // Cura is released under the terms of the LGPLv3 or higher.
  3. import QtQuick 2.1
  4. import QtQuick.Controls 2.1
  5. import Cura 1.0 as Cura
  6. import UM 1.5 as UM
  7. ToolButton
  8. {
  9. id: base
  10. property alias tooltip: tooltip.text
  11. Cura.ToolTip
  12. {
  13. id: tooltip
  14. visible: base.hovered
  15. targetPoint: Qt.point(parent.x, Math.round(parent.y + parent.height / 2))
  16. }
  17. states:
  18. [
  19. State
  20. {
  21. name: "disabled"
  22. when: !base.enabled;
  23. PropertyChanges
  24. {
  25. target: background
  26. color: UM.Theme.getColor("setting_control_disabled")
  27. border.color: UM.Theme.getColor("setting_control_disabled_border")
  28. }
  29. },
  30. State
  31. {
  32. name: "value_error"
  33. when: base.enabled && base.valueError
  34. PropertyChanges
  35. {
  36. target: background
  37. color: UM.Theme.getColor("setting_validation_error_background")
  38. border.color: UM.Theme.getColor("setting_validation_error")
  39. }
  40. },
  41. State
  42. {
  43. name: "value_warning"
  44. when: base.enabled && base.valueWarning
  45. PropertyChanges
  46. {
  47. target: background
  48. color: UM.Theme.getColor("setting_validation_warning_background")
  49. border.color: UM.Theme.getColor("setting_validation_warning")
  50. }
  51. },
  52. State
  53. {
  54. name: "highlight"
  55. when: base.enabled && base.hovered
  56. PropertyChanges
  57. {
  58. target: background
  59. color: UM.Theme.getColor("setting_control")
  60. border.color: UM.Theme.getColor("setting_control_border_highlight")
  61. }
  62. },
  63. State
  64. {
  65. name: "neutral"
  66. when: base.enabled && !base.hovered && !base.valueWarning && !base.valueError
  67. PropertyChanges
  68. {
  69. target: background
  70. color: UM.Theme.getColor("setting_control")
  71. border.color: UM.Theme.getColor("setting_control_border")
  72. }
  73. }
  74. ]
  75. background: Rectangle
  76. {
  77. id: background
  78. radius: UM.Theme.getSize("setting_control_radius").width
  79. border.width: UM.Theme.getSize("default_lining").width
  80. color: UM.Theme.getColor("setting_control")
  81. border.color: UM.Theme.getColor("setting_control_border")
  82. UM.RecolorImage
  83. {
  84. id: downArrow
  85. anchors.verticalCenter: parent.verticalCenter
  86. anchors.right: parent.right
  87. anchors.rightMargin: UM.Theme.getSize("default_margin").width
  88. width: UM.Theme.getSize("standard_arrow").width
  89. height: UM.Theme.getSize("standard_arrow").height
  90. sourceSize.height: width
  91. color: base.enabled ? UM.Theme.getColor("setting_control_button") : UM.Theme.getColor("setting_category_disabled_text")
  92. source: UM.Theme.getIcon("ChevronSingleDown")
  93. }
  94. }
  95. contentItem: UM.Label
  96. {
  97. id: printSetupComboBoxLabel
  98. text: base.text
  99. elide: Text.ElideRight;
  100. anchors.left: parent.left;
  101. anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
  102. anchors.right: downArrow.lef
  103. anchors.rightMargin: base.rightMargin
  104. anchors.verticalCenter: parent.verticalCenter
  105. }
  106. }