diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml index 1bb81656a3..4a2d4cd062 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml @@ -11,7 +11,7 @@ import Cura 1.0 as Cura Column { id: base - property var outputDevice: Cura.MachineManager.printerOutputDevices[0] + property var outputDevice: null property var computedHeight: container.height + configurationListHeading.height + 3 * padding height: childrenRect.height + 2 * padding padding: UM.Theme.getSize("default_margin").width @@ -78,7 +78,7 @@ Column onUniqueConfigurationsChanged: { // 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 } } diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationSelection.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationSelection.qml index 3b053afb15..eb0d5f5cff 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationSelection.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationSelection.qml @@ -11,11 +11,13 @@ import Cura 1.0 as Cura Item { id: configurationSelector + property var connectedDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null property var panelWidth: control.width property var panelVisible: false SyncButton { onClicked: configurationSelector.state == "open" ? configurationSelector.state = "closed" : configurationSelector.state = "open" + outputDevice: connectedDevice } Popup { @@ -24,11 +26,12 @@ Item y: configurationSelector.height - UM.Theme.getSize("default_lining").height x: configurationSelector.width - width width: panelWidth - visible: panelVisible + visible: panelVisible && connectedDevice != null padding: UM.Theme.getSize("default_lining").width contentItem: ConfigurationListView { id: configList width: panelWidth - 2 * popup.padding + outputDevice: connectedDevice } background: Rectangle { color: UM.Theme.getColor("setting_control") diff --git a/resources/qml/Menus/ConfigurationMenu/SyncButton.qml b/resources/qml/Menus/ConfigurationMenu/SyncButton.qml index 3748fd0cb4..a2d1d53b78 100644 --- a/resources/qml/Menus/ConfigurationMenu/SyncButton.qml +++ b/resources/qml/Menus/ConfigurationMenu/SyncButton.qml @@ -11,7 +11,7 @@ import Cura 1.0 as Cura Button { id: base - property var outputDevice: Cura.MachineManager.printerOutputDevices[0] + property var outputDevice: null property var matched: updateOnSync() text: matched == true ? "Yes" : "No" width: parent.width