From d1720db5ad92d9832cf4706d87caf96550c90fef Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 22 Aug 2019 14:07:44 +0200 Subject: [PATCH] Ensure that the available configurations are also used in the uniqueConfigurations CURA-6372 --- cura/PrinterOutput/PrinterOutputDevice.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputDevice.py b/cura/PrinterOutput/PrinterOutputDevice.py index d4a37b3d68..66a507ab9a 100644 --- a/cura/PrinterOutput/PrinterOutputDevice.py +++ b/cura/PrinterOutput/PrinterOutputDevice.py @@ -220,10 +220,12 @@ class PrinterOutputDevice(QObject, OutputDevice): return self._unique_configurations def _updateUniqueConfigurations(self) -> None: - self._unique_configurations = sorted( - {printer.printerConfiguration for printer in self._printers if printer.printerConfiguration is not None}, - key=lambda config: config.printerType, - ) + all_configurations = set() + for printer in self._printers: + if printer.printerConfiguration is not None: + all_configurations.add(printer.printerConfiguration) + all_configurations.update(printer.availableConfigurations) + self._unique_configurations = sorted(all_configurations, key = lambda config: config.printerType) self.uniqueConfigurationsChanged.emit() # Returns the unique configurations of the printers within this output device @@ -234,6 +236,7 @@ class PrinterOutputDevice(QObject, OutputDevice): def _onPrintersChanged(self) -> None: for printer in self._printers: printer.configurationChanged.connect(self._updateUniqueConfigurations) + printer.availableConfigurationsChanged.connect(self._updateUniqueConfigurations) # At this point there may be non-updated configurations self._updateUniqueConfigurations()