diff --git a/cura/Machines/Models/CompatibleMachineModel.py b/cura/Machines/Models/CompatibleMachineModel.py index 029567cdec..639bba88a0 100644 --- a/cura/Machines/Models/CompatibleMachineModel.py +++ b/cura/Machines/Models/CompatibleMachineModel.py @@ -31,6 +31,10 @@ class CompatibleMachineModel(ListModel): machine_manager.globalContainerChanged.connect(self._update) machine_manager.outputDevicesChanged.connect(self._update) + @pyqtSlot() + def forceUpdate(self): + self._update() + def _update(self) -> None: self.clear() diff --git a/resources/qml/Dialogs/ChoosePrinterDialog.qml b/resources/qml/Dialogs/ChoosePrinterDialog.qml index b7079fcabd..69d9fc44cc 100644 --- a/resources/qml/Dialogs/ChoosePrinterDialog.qml +++ b/resources/qml/Dialogs/ChoosePrinterDialog.qml @@ -11,7 +11,7 @@ import Cura 1.0 as Cura UM.Dialog { property var manager - + property var compatible_machine_model: Cura.CompatibleMachineModel {} id: base title: catalog.i18nc("@title:window", "Select Printer") @@ -65,7 +65,11 @@ UM.Dialog color: UM.Theme.getColor("text_link") hoverColor: UM.Theme.getColor("text_scene_hover") - onClicked: manager.refresh() + onClicked: + { + manager.refresh() + base.compatible_machine_model.forceUpdate() + } } } @@ -73,7 +77,7 @@ UM.Dialog { id: contents - model: Cura.CompatibleMachineModel {} + model: base.compatible_machine_model delegate: Cura.PrintSelectorCard {