CURA-4870 Clean the error messages from qml by not rendering components

if there is no outputDevice defined.
This commit is contained in:
Diego Prado Gesto 2018-03-13 13:40:31 +01:00
parent dfb903fb81
commit 9196802e83
3 changed files with 7 additions and 4 deletions

View file

@ -11,7 +11,7 @@ import Cura 1.0 as Cura
Column Column
{ {
id: base id: base
property var outputDevice: Cura.MachineManager.printerOutputDevices[0] property var outputDevice: null
property var computedHeight: container.height + configurationListHeading.height + 3 * padding property var computedHeight: container.height + configurationListHeading.height + 3 * padding
height: childrenRect.height + 2 * padding height: childrenRect.height + 2 * padding
padding: UM.Theme.getSize("default_margin").width padding: UM.Theme.getSize("default_margin").width
@ -78,7 +78,7 @@ Column
onUniqueConfigurationsChanged: onUniqueConfigurationsChanged:
{ {
// FIXME For now the model should be removed and then created again, otherwise changes in the printer don't automatically update the UI // FIXME For now the model should be removed and then created again, otherwise changes in the printer don't automatically update the UI
configurationList.model = null configurationList.model = []
configurationList.model = outputDevice.uniqueConfigurations configurationList.model = outputDevice.uniqueConfigurations
} }
} }

View file

@ -11,11 +11,13 @@ import Cura 1.0 as Cura
Item Item
{ {
id: configurationSelector id: configurationSelector
property var connectedDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
property var panelWidth: control.width property var panelWidth: control.width
property var panelVisible: false property var panelVisible: false
SyncButton { SyncButton {
onClicked: configurationSelector.state == "open" ? configurationSelector.state = "closed" : configurationSelector.state = "open" onClicked: configurationSelector.state == "open" ? configurationSelector.state = "closed" : configurationSelector.state = "open"
outputDevice: connectedDevice
} }
Popup { Popup {
@ -24,11 +26,12 @@ Item
y: configurationSelector.height - UM.Theme.getSize("default_lining").height y: configurationSelector.height - UM.Theme.getSize("default_lining").height
x: configurationSelector.width - width x: configurationSelector.width - width
width: panelWidth width: panelWidth
visible: panelVisible visible: panelVisible && connectedDevice != null
padding: UM.Theme.getSize("default_lining").width padding: UM.Theme.getSize("default_lining").width
contentItem: ConfigurationListView { contentItem: ConfigurationListView {
id: configList id: configList
width: panelWidth - 2 * popup.padding width: panelWidth - 2 * popup.padding
outputDevice: connectedDevice
} }
background: Rectangle { background: Rectangle {
color: UM.Theme.getColor("setting_control") color: UM.Theme.getColor("setting_control")

View file

@ -11,7 +11,7 @@ import Cura 1.0 as Cura
Button Button
{ {
id: base id: base
property var outputDevice: Cura.MachineManager.printerOutputDevices[0] property var outputDevice: null
property var matched: updateOnSync() property var matched: updateOnSync()
text: matched == true ? "Yes" : "No" text: matched == true ? "Yes" : "No"
width: parent.width width: parent.width