diff --git a/cura/Settings/AbstractMachine.py b/cura/Settings/AbstractMachine.py index 837cfad4bd..7bf8454a49 100644 --- a/cura/Settings/AbstractMachine.py +++ b/cura/Settings/AbstractMachine.py @@ -1,16 +1,21 @@ from typing import List +from UM.Settings.ContainerStack import ContainerStack from cura.Settings.GlobalStack import GlobalStack class AbstractMachine(GlobalStack): - """ Behaves as a type of machine, represents multiple machines of the same type """ + """ Represents a group of machines of the same type. This allows the user to select settings before selecting a printer. """ def __init__(self, container_id: str): super().__init__(container_id) self.setMetaDataEntry("type", "abstract_machine") - def getMachinesOfType(self) -> List[GlobalStack]: - pass - + def getMachines(self) -> List[ContainerStack]: + from cura.CuraApplication import CuraApplication + application = CuraApplication.getInstance() + registry = application.getContainerRegistry() + printer_type = self.definition.getId() + cloud_printer_type = 3 + return [machine for machine in registry.findContainerStacks(type="machine") if machine.definition.id == printer_type and cloud_printer_type in machine.configuredConnectionTypes]