diff --git a/cura/Machines/Models/DiscoveredPrintersModel.py b/cura/Machines/Models/DiscoveredPrintersModel.py index a2a1fac3f7..267c46457c 100644 --- a/cura/Machines/Models/DiscoveredPrintersModel.py +++ b/cura/Machines/Models/DiscoveredPrintersModel.py @@ -62,6 +62,14 @@ class DiscoveredPrinter(QObject): self._machine_type = machine_type self.machineTypeChanged.emit() + # Checks if the given machine type name in the available machine list. + # The machine type is a code name such as "ultimaker_3", while the machine type name is the human-readable name of + # the machine type, which is "Ultimaker 3" for "ultimaker_3". + def hasHumanReadableMachineTypeName(self, machine_type_name: str) -> bool: + from cura.CuraApplication import CuraApplication + results = CuraApplication.getInstance().getContainerRegistry().findDefinitionContainersMetadata(name = machine_type_name) + return len(results) > 0 + # Human readable machine type string @pyqtProperty(str, notify = machineTypeChanged) def readableMachineType(self) -> str: @@ -70,7 +78,7 @@ class DiscoveredPrinter(QObject): # In ClusterUM3OutputDevice, when it updates a printer information, it updates the machine type using the field # "machine_variant", and for some reason, it's not the machine type ID/codename/... but a human-readable string # like "Ultimaker 3". The code below handles this case. - if machine_manager.hasHumanReadableMachineTypeName(self._machine_type): + if self.hasHumanReadableMachineTypeName(self._machine_type): readable_type = self._machine_type else: readable_type = machine_manager.getMachineTypeNameFromId(self._machine_type) @@ -82,7 +90,7 @@ class DiscoveredPrinter(QObject): def isUnknownMachineType(self) -> bool: from cura.CuraApplication import CuraApplication machine_manager = CuraApplication.getInstance().getMachineManager() - if machine_manager.hasHumanReadableMachineTypeName(self._machine_type): + if self.hasHumanReadableMachineTypeName(self._machine_type): readable_type = self._machine_type else: readable_type = machine_manager.getMachineTypeNameFromId(self._machine_type) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 6343851bce..c85e90ab72 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1648,13 +1648,6 @@ class MachineManager(QObject): return abbr_machine - # Checks if the given machine type name in the available machine list. - # The machine type is a code name such as "ultimaker_3", while the machine type name is the human-readable name of - # the machine type, which is "Ultimaker 3" for "ultimaker_3". - def hasHumanReadableMachineTypeName(self, machine_type_name: str) -> bool: - results = self._container_registry.findDefinitionContainersMetadata(name = machine_type_name) - return len(results) > 0 - @pyqtSlot(str, result = str) def getMachineTypeNameFromId(self, machine_type_id: str) -> str: machine_type_name = ""