mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00

It lists the name of the printer it is connected to, and the address on the right side. This won't work for USB printing (it'll give errors there). I'll solve that later. Contributes to issue CURA-3161.
189 lines
No EOL
6.3 KiB
QML
189 lines
No EOL
6.3 KiB
QML
// Copyright (c) 2017 Ultimaker B.V.
|
|
// Cura is released under the terms of the AGPLv3 or higher.
|
|
|
|
import QtQuick 2.2
|
|
import QtQuick.Controls 1.1
|
|
import QtQuick.Controls.Styles 1.1
|
|
import QtQuick.Layouts 1.1
|
|
|
|
import UM 1.2 as UM
|
|
import Cura 1.0 as Cura
|
|
|
|
Column
|
|
{
|
|
id: printMonitor
|
|
property var connectedPrinter: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null
|
|
|
|
Cura.ExtrudersModel
|
|
{
|
|
id: extrudersModel
|
|
simpleNames: true
|
|
}
|
|
|
|
Rectangle
|
|
{
|
|
id: connectedPrinterHeader
|
|
width: parent.width
|
|
height: UM.Theme.getSize("sidebar_header").height
|
|
color: UM.Theme.getColor("setting_category")
|
|
|
|
Label
|
|
{
|
|
id: connectedPrinterNameLabel
|
|
text: printerConnected ? connectedPrinter.name : catalog.i18nc("@info:status", "No printer connected")
|
|
font: UM.Theme.getFont("large")
|
|
color: UM.Theme.getColor("text")
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
anchors.top: parent.top
|
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
}
|
|
Label
|
|
{
|
|
id: connectedPrinterAddressLabel
|
|
text: printerConnected ? connectedPrinter.address : ""
|
|
font: UM.Theme.getFont("small")
|
|
color: UM.Theme.getColor("text_inactive")
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
anchors.top: parent.top
|
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
horizontalAlignment: Text.AlignRight
|
|
}
|
|
}
|
|
|
|
Label {
|
|
id: monitorLabel
|
|
text: catalog.i18nc("@label","Printer Monitor");
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width;
|
|
width: parent.width * 0.45
|
|
font: UM.Theme.getFont("large")
|
|
color: UM.Theme.getColor("text")
|
|
visible: monitoringPrint
|
|
}
|
|
|
|
Item
|
|
{
|
|
width: base.width - 2 * UM.Theme.getSize("default_margin").width
|
|
height: childrenRect.height + UM.Theme.getSize("default_margin").height
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
|
|
Label
|
|
{
|
|
text: printerConnected ? connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
|
|
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
|
font: UM.Theme.getFont("default")
|
|
wrapMode: Text.WordWrap
|
|
width: parent.width
|
|
}
|
|
}
|
|
|
|
Loader
|
|
{
|
|
sourceComponent: monitorSection
|
|
property string label: catalog.i18nc("@label", "Temperatures")
|
|
}
|
|
Repeater
|
|
{
|
|
model: machineExtruderCount.properties.value
|
|
delegate: Loader
|
|
{
|
|
sourceComponent: monitorItem
|
|
property string label: machineExtruderCount.properties.value > 1 ? extrudersModel.getItem(index).name : catalog.i18nc("@label", "Hotend")
|
|
property string value: printerConnected ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : ""
|
|
}
|
|
}
|
|
Repeater
|
|
{
|
|
model: machineHeatedBed.properties.value == "True" ? 1 : 0
|
|
delegate: Loader
|
|
{
|
|
sourceComponent: monitorItem
|
|
property string label: catalog.i18nc("@label", "Build plate")
|
|
property string value: printerConnected ? Math.round(connectedPrinter.bedTemperature) + "°C" : ""
|
|
}
|
|
}
|
|
|
|
Loader
|
|
{
|
|
sourceComponent: monitorSection
|
|
property string label: catalog.i18nc("@label", "Active print")
|
|
}
|
|
Loader
|
|
{
|
|
sourceComponent: monitorItem
|
|
property string label: catalog.i18nc("@label", "Job Name")
|
|
property string value: printerConnected ? connectedPrinter.jobName : ""
|
|
}
|
|
Loader
|
|
{
|
|
sourceComponent: monitorItem
|
|
property string label: catalog.i18nc("@label", "Printing Time")
|
|
property string value: printerConnected ? getPrettyTime(connectedPrinter.timeTotal) : ""
|
|
}
|
|
Loader
|
|
{
|
|
sourceComponent: monitorItem
|
|
property string label: catalog.i18nc("@label", "Estimated time left")
|
|
property string value: printerConnected ? getPrettyTime(connectedPrinter.timeTotal - connectedPrinter.timeElapsed) : ""
|
|
}
|
|
|
|
Component
|
|
{
|
|
id: monitorItem
|
|
|
|
Row
|
|
{
|
|
height: UM.Theme.getSize("setting_control").height
|
|
width: base.width - 2 * UM.Theme.getSize("default_margin").width
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
|
|
Label
|
|
{
|
|
width: parent.width * 0.4
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
text: label
|
|
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
|
font: UM.Theme.getFont("default")
|
|
elide: Text.ElideRight
|
|
}
|
|
Label
|
|
{
|
|
width: parent.width * 0.6
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
text: value
|
|
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
|
font: UM.Theme.getFont("default")
|
|
elide: Text.ElideRight
|
|
}
|
|
}
|
|
}
|
|
Component
|
|
{
|
|
id: monitorSection
|
|
|
|
Rectangle
|
|
{
|
|
color: UM.Theme.getColor("setting_category")
|
|
width: base.width - 2 * UM.Theme.getSize("default_margin").width
|
|
height: UM.Theme.getSize("section").height
|
|
|
|
Label
|
|
{
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
text: label
|
|
font: UM.Theme.getFont("setting_category")
|
|
color: UM.Theme.getColor("setting_category_text")
|
|
}
|
|
}
|
|
}
|
|
} |