diff --git a/cura/Machines/Models/DiscoveredPrintersModel.py b/cura/Machines/Models/DiscoveredPrintersModel.py index 7897556f5b..0dd07eb9ce 100644 --- a/cura/Machines/Models/DiscoveredPrintersModel.py +++ b/cura/Machines/Models/DiscoveredPrintersModel.py @@ -62,6 +62,10 @@ class DiscoveredPrinter(QObject): readable_type = catalog.i18nc("@label", "Unknown") return readable_type + @pyqtProperty(bool, notify = machineTypeChanged) + def is_unknown_machine_type(self) -> bool: + return self.readable_machine_type.lower() == "unknown" + @pyqtProperty(QObject, constant = True) def device(self): return self._device diff --git a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py index ecc89b3948..51c234650b 100644 --- a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py @@ -118,7 +118,7 @@ class DiscoverUM3Action(MachineAction): if self._network_plugin: # Ensure that the connection states are refreshed. - self._network_plugin.reCheckConnections() + self._network_plugin.refreshConnections() # Associates the currently active machine with the given printer device. The network connection information will be # stored into the metadata of the currently active machine. @@ -160,7 +160,7 @@ class DiscoverUM3Action(MachineAction): if self._network_plugin: # Ensure that the connection states are refreshed. - self._network_plugin.reCheckConnections() + self._network_plugin.refreshConnections() @pyqtSlot(result = str) def getStoredKey(self) -> str: diff --git a/resources/qml/PrinterSelector/MachineSelectorButton.qml b/resources/qml/PrinterSelector/MachineSelectorButton.qml index ae9ca3ec7e..33d7958340 100644 --- a/resources/qml/PrinterSelector/MachineSelectorButton.qml +++ b/resources/qml/PrinterSelector/MachineSelectorButton.qml @@ -84,7 +84,14 @@ Button background: Rectangle { id: backgroundRect - color: machineSelectorButton.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent" + color: + { + if (!machineSelectorButton.enabled) + { + return UM.Theme.getColor("action_button_disabled") + } + return machineSelectorButton.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent" + } radius: UM.Theme.getSize("action_button_radius").width border.width: UM.Theme.getSize("default_lining").width border.color: machineSelectorButton.selected ? UM.Theme.getColor("primary") : "transparent" diff --git a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml index a9530d9a43..bee0c49e92 100644 --- a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml @@ -70,7 +70,20 @@ Item id: networkPrinterListView anchors.fill: parent model: CuraApplication.getDiscoveredPrintersModel().discovered_printers - //visible: base.visible && model.length > 0 + + Component.onCompleted: + { + // select the first one that's not "unknown" by default. + for (var i = 0; i < count; i++) + { + + if (!model[i].is_unknown_machine_type) + { + currentIndex = i + break + } + } + } delegate: MachineSelectorButton { @@ -81,6 +94,8 @@ Item anchors.rightMargin: 10 outputDevice: modelData.device + enabled: !modelData.is_unknown_machine_type + printerTypeLabelAutoFit: true updatePrinterTypesFunction: updateMachineTypes