diff --git a/plugins/UM3NetworkPrinting/resources/qml/ExpandableCard.qml b/plugins/UM3NetworkPrinting/resources/qml/ExpandableCard.qml index f86135ae62..d4c123652d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ExpandableCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ExpandableCard.qml @@ -15,6 +15,7 @@ Item id: base property bool expanded: false + property bool enabled: true property var borderWidth: 1 property color borderColor: "#CCCCCC" property color headerBackgroundColor: "white" @@ -34,7 +35,7 @@ Item color: borderColor width: borderWidth } - color: headerMouseArea.containsMouse ? headerHoverColor : headerBackgroundColor + color: base.enabled && headerMouseArea.containsMouse ? headerHoverColor : headerBackgroundColor height: childrenRect.height width: parent.width Behavior on color @@ -50,8 +51,12 @@ Item { id: headerMouseArea anchors.fill: header - onClicked: base.expanded = !base.expanded - hoverEnabled: true + onClicked: + { + if (!base.enabled) return + base.expanded = !base.expanded + } + hoverEnabled: base.enabled } Rectangle diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml index f431ef1c52..f2b9c3cff7 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml @@ -26,6 +26,7 @@ Item ExpandableCard { + enabled: printJob != null borderColor: printJob.configurationChanges.length !== 0 ? "#f5a623" : "#CCCCCC" // TODO: Theme! headerItem: Row { @@ -41,32 +42,56 @@ Item anchors.verticalCenter: parent.verticalCenter } - Label + Item { - text: printJob && printJob.name ? printJob.name : "" - color: "#374355" - elide: Text.ElideRight - font: UM.Theme.getFont("medium") // 14pt, regular anchors.verticalCenter: parent.verticalCenter - width: 216 * screenScaleFactor // TODO: Theme! (Should match column size) - - // FIXED-LINE-HEIGHT: height: 18 * screenScaleFactor // TODO: Theme! - verticalAlignment: Text.AlignVCenter + width: 216 * screenScaleFactor // TODO: Theme! (Should match column size) + Rectangle + { + color: "#eeeeee" + width: Math.round(parent.width / 2) + height: parent.height + visible: !printJob + } + Label + { + text: printJob && printJob.name ? printJob.name : "" + color: "#374355" + elide: Text.ElideRight + font: UM.Theme.getFont("medium") // 14pt, regular + visible: printJob + + // FIXED-LINE-HEIGHT: + height: parent.height + verticalAlignment: Text.AlignVCenter + } } - - Label - { - text: printJob ? OutputDevice.formatDuration(printJob.timeTotal) : "" - color: "#374355" - elide: Text.ElideRight - font: UM.Theme.getFont("medium") // 14pt, regular - anchors.verticalCenter: parent.verticalCenter - width: 216 * screenScaleFactor // TODO: Theme! (Should match column size) - // FIXED-LINE-HEIGHT: + Item + { + anchors.verticalCenter: parent.verticalCenter height: 18 * screenScaleFactor // TODO: Theme! - verticalAlignment: Text.AlignVCenter + width: 216 * screenScaleFactor // TODO: Theme! (Should match column size) + Rectangle + { + color: "#eeeeee" + width: Math.round(parent.width / 3) + height: parent.height + visible: !printJob + } + Label + { + text: printJob ? OutputDevice.formatDuration(printJob.timeTotal) : "" + color: "#374355" + elide: Text.ElideRight + font: UM.Theme.getFont("medium") // 14pt, regular + visible: printJob + + // FIXED-LINE-HEIGHT: + height: 18 * screenScaleFactor // TODO: Theme! + verticalAlignment: Text.AlignVCenter + } } Item @@ -75,6 +100,14 @@ Item height: 18 * screenScaleFactor // TODO: This should be childrenRect.height but QML throws warnings width: childrenRect.width + Rectangle + { + color: "#eeeeee" + width: 72 * screenScaleFactor // TODO: Theme! + height: parent.height + visible: !printJob + } + Label { id: printerAssignmentLabel @@ -100,7 +133,7 @@ Item width: 120 * screenScaleFactor // TODO: Theme! // FIXED-LINE-HEIGHT: - height: 18 * screenScaleFactor // TODO: Theme! + height: parent.height verticalAlignment: Text.AlignVCenter } @@ -115,6 +148,7 @@ Item } height: childrenRect.height spacing: 6 // TODO: Theme! + visible: printJob Repeater { diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml index f2a0e785b8..2fa524c4be 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorQueue.qml @@ -144,7 +144,6 @@ Item topMargin: 12 * screenScaleFactor // TODO: Theme! } style: UM.Theme.styles.scrollview - visible: OutputDevice.receivedPrintJobs width: parent.width ListView @@ -160,7 +159,7 @@ Item } printJob: modelData } - model: OutputDevice.queuedPrintJobs + model: OutputDevice.receivedPrintJobs ? OutputDevice.queuedPrintJobs.concat([null,null]) : [null,null] spacing: 6 // TODO: Theme! } }