PerObjectCategory.qml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Copyright (c) 2022 Ultimaker B.V.
  2. // Uranium is released under the terms of the LGPLv3 or higher.
  3. import QtQuick 2.2
  4. import QtQuick.Controls 2.1
  5. import UM 1.1 as UM
  6. import ".."
  7. Button {
  8. id: base;
  9. background: Item { }
  10. contentItem: Row
  11. {
  12. spacing: UM.Theme.getSize("default_lining").width
  13. UM.RecolorImage
  14. {
  15. anchors.verticalCenter: parent.verticalCenter
  16. height: (label.height / 2) | 0
  17. width: height
  18. source: base.checked ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleRight");
  19. color: base.hovered ? palette.highlight : palette.buttonText
  20. }
  21. UM.RecolorImage
  22. {
  23. anchors.verticalCenter: parent.verticalCenter
  24. height: label.height
  25. width: height
  26. source: UM.Theme.getIcon(definition.icon)
  27. color: base.hovered ? palette.highlight : palette.buttonText
  28. }
  29. Label
  30. {
  31. id: label
  32. anchors.verticalCenter: parent.verticalCenter
  33. text: base.text
  34. color: base.hovered ? palette.highlight : palette.buttonText
  35. font.bold: true
  36. }
  37. SystemPalette { id: palette }
  38. }
  39. signal showTooltip(string text);
  40. signal hideTooltip();
  41. signal contextMenuRequested()
  42. text: definition.label
  43. checkable: true
  44. checked: definition.expanded
  45. onClicked: definition.expanded ? settingDefinitionsModel.collapseRecursive(definition.key) : settingDefinitionsModel.expandRecursive(definition.key)
  46. }