This commit is contained in:
fieldOfView 2016-10-13 18:53:37 +02:00
commit 89f4224a46
3 changed files with 36 additions and 5 deletions

View file

@ -39,6 +39,11 @@ class DiscoverUM3Action(MachineAction):
self._network_plugin.printerListChanged.connect(self._onPrinterDiscoveryChanged)
self.printersChanged.emit()
## Re-filters the list of printers.
@pyqtSlot()
def reset(self):
self.printersChanged.emit()
@pyqtSlot()
def restartDiscovery(self):
# Ensure that there is a bit of time after a printer has been discovered.
@ -75,7 +80,14 @@ class DiscoverUM3Action(MachineAction):
@pyqtProperty("QVariantList", notify = printersChanged)
def foundDevices(self):
if self._network_plugin:
if Application.getInstance().getGlobalContainerStack():
global_printer_type = Application.getInstance().getGlobalContainerStack().getBottom().getId()
else:
global_printer_type = "unknown"
printers = list(self._network_plugin.getPrinters().values())
# TODO; There are still some testing printers that don't have a correct printer type, so don't filter out unkown ones just yet.
printers = [printer for printer in printers if printer.printerType == global_printer_type or printer.printerType == "unknown"]
printers.sort(key = lambda k: k.name)
return printers
else:

View file

@ -228,7 +228,26 @@ Cura.MachineAction
{
width: parent.width * 0.5
wrapMode: Text.WordWrap
text: true ? catalog.i18nc("@label", "Ultimaker 3") : catalog.i18nc("@label", "Ultimaker 3 Extended")
text:
{
if(base.selectedPrinter)
{
if(base.selectedPrinter.printerType == "ultimaker3")
{
return catalog.i18nc("@label", "Ultimaker 3")
} else if(base.selectedPrinter.printerType == "ultimaker3_extended")
{
return catalog.i18nc("@label", "Ultimaker 3 Extended")
} else
{
return catalog.i18nc("@label", "Unknown") // We have no idea what type it is. Should not happen 'in the field'
}
}
else
{
return ""
}
}
}
Label
{

View file

@ -167,10 +167,10 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
self._compressing_print = False
printer_type = self._properties.get(b"machine", b"").decode("utf-8")
if printer_type == "9511.0":
self._updatePrinterType("UM3Extended")
elif printer_type == "9066.0":
self._updatePrinterType("UM3")
if printer_type.startswith("9511"):
self._updatePrinterType("ultimaker3_extended")
elif printer_type.startswith("9066"):
self._updatePrinterType("ultimaker3")
else:
self._updatePrinterType("unknown")