PrintMonitor.qml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 QtQuick.Controls.Styles 1.1
  6. import QtQuick.Layouts 1.1
  7. import UM 1.2 as UM
  8. import Cura 1.0 as Cura
  9. Column
  10. {
  11. id: printMonitor
  12. Loader
  13. {
  14. sourceComponent: monitorSection
  15. property string label: catalog.i18nc("@label", "Temperatures")
  16. }
  17. Repeater
  18. {
  19. model: machineExtruderCount.properties.value
  20. delegate: Loader
  21. {
  22. sourceComponent: monitorItem
  23. property string label: machineExtruderCount.properties.value > 1 ? catalog.i18nc("@label", "Hotend Temperature %1").arg(index + 1) : catalog.i18nc("@label", "Hotend Temperature")
  24. property string value: printerConnected ? Math.round(Cura.MachineManager.printerOutputDevices[0].hotendTemperatures[index]) + "°C" : ""
  25. }
  26. }
  27. Repeater
  28. {
  29. model: machineHeatedBed.properties.value == "True" ? 1 : 0
  30. delegate: Loader
  31. {
  32. sourceComponent: monitorItem
  33. property string label: catalog.i18nc("@label", "Bed Temperature")
  34. property string value: printerConnected ? Math.round(Cura.MachineManager.printerOutputDevices[0].bedTemperature) + "°C" : ""
  35. }
  36. }
  37. Loader
  38. {
  39. sourceComponent: monitorSection
  40. property string label: catalog.i18nc("@label", "Active print")
  41. }
  42. Loader
  43. {
  44. sourceComponent: monitorItem
  45. property string label: catalog.i18nc("@label", "Job Name")
  46. property string value: printerConnected ? Cura.MachineManager.printerOutputDevices[0].jobName : ""
  47. }
  48. Loader
  49. {
  50. sourceComponent: monitorItem
  51. property string label: catalog.i18nc("@label", "Printing Time")
  52. property string value: printerConnected ? getPrettyTime(Cura.MachineManager.printerOutputDevices[0].timeTotal) : ""
  53. }
  54. Loader
  55. {
  56. sourceComponent: monitorItem
  57. property string label: catalog.i18nc("@label", "Estimated time left")
  58. property string value: printerConnected ? getPrettyTime(Cura.MachineManager.printerOutputDevices[0].timeTotal - Cura.MachineManager.printerOutputDevices[0].timeElapsed) : ""
  59. }
  60. Component
  61. {
  62. id: monitorItem
  63. Row
  64. {
  65. height: UM.Theme.getSize("setting_control").height
  66. Label
  67. {
  68. text: label
  69. color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
  70. font: UM.Theme.getFont("default")
  71. width: base.width * 0.4
  72. elide: Text.ElideRight
  73. anchors.verticalCenter: parent.verticalCenter
  74. }
  75. Label
  76. {
  77. text: value
  78. color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
  79. font: UM.Theme.getFont("default")
  80. anchors.verticalCenter: parent.verticalCenter
  81. }
  82. }
  83. }
  84. Component
  85. {
  86. id: monitorSection
  87. Rectangle
  88. {
  89. color: UM.Theme.getColor("setting_category")
  90. width: base.width - 2 * UM.Theme.getSize("default_margin").width
  91. height: UM.Theme.getSize("section").height
  92. Label
  93. {
  94. anchors.verticalCenter: parent.verticalCenter
  95. anchors.left: parent.left
  96. anchors.leftMargin: UM.Theme.getSize("default_margin").width
  97. text: label
  98. font: UM.Theme.getFont("setting_category")
  99. color: UM.Theme.getColor("setting_category_text")
  100. }
  101. }
  102. }
  103. }