PauseBackend.qml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import UM 1.2 as UM
  2. import Cura 1.0 as Cura
  3. import QtQuick 2.2
  4. import QtQuick.Controls 1.1
  5. import QtQuick.Controls.Styles 1.1
  6. import QtQuick.Layouts 1.1
  7. import QtQuick.Window 2.1
  8. Item
  9. {
  10. id: base
  11. Button
  12. {
  13. id: pauseResumeButton
  14. objectName: "pauseResumeButton"
  15. property bool paused: false
  16. height: UM.Theme.getSize("save_button_save_to_button").height
  17. width: height
  18. tooltip: paused ? catalog.i18nc("@info:tooltip", "Resume automatic slicing") : catalog.i18nc("@info:tooltip", "Pause automatic slicing")
  19. style: ButtonStyle {
  20. background: Rectangle {
  21. border.width: UM.Theme.getSize("default_lining").width
  22. border.color: !control.enabled ? UM.Theme.getColor("action_button_disabled_border") :
  23. control.pressed ? UM.Theme.getColor("action_button_active_border") :
  24. control.hovered ? UM.Theme.getColor("action_button_hovered_border") : UM.Theme.getColor("action_button_border")
  25. color: !control.enabled ? UM.Theme.getColor("action_button_disabled") :
  26. control.pressed ? UM.Theme.getColor("action_button_active") :
  27. control.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
  28. Behavior on color { ColorAnimation { duration: 50; } }
  29. anchors.left: parent.left
  30. anchors.leftMargin: UM.Theme.getSize("save_button_text_margin").width / 2;
  31. width: parent.height
  32. height: parent.height
  33. UM.RecolorImage {
  34. anchors.verticalCenter: parent.verticalCenter
  35. anchors.horizontalCenter: parent.horizontalCenter
  36. width: parent.width / 2
  37. height: parent.height / 2
  38. sourceSize.width: width
  39. sourceSize.height: height
  40. color: !control.enabled ? UM.Theme.getColor("action_button_disabled_text") :
  41. control.pressed ? UM.Theme.getColor("action_button_active_text") :
  42. control.hovered ? UM.Theme.getColor("action_button_hovered_text") : UM.Theme.getColor("action_button_text");
  43. source: pauseResumeButton.paused ? "play.svg" : "pause.svg"
  44. }
  45. }
  46. label: Label{ }
  47. }
  48. onClicked:
  49. {
  50. paused = !paused
  51. if(paused)
  52. {
  53. manager.pauseBackend()
  54. }
  55. else
  56. {
  57. manager.resumeBackend()
  58. }
  59. }
  60. }
  61. UM.I18nCatalog{id: catalog; name:"cura"}
  62. }