mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Only update printer list after printer is added/removed
This makes it emit a signal only after addPrinter and removePrinter has completed executing, so we know that updating the list is done by the time it refreshes the list view in QML. Contributes to issue CURA-2393.
This commit is contained in:
parent
c0839bcfbb
commit
b4ba7a64a9
2 changed files with 4 additions and 2 deletions
|
@ -36,8 +36,7 @@ class DiscoverUM3Action(MachineAction):
|
|||
def startDiscovery(self):
|
||||
if not self._network_plugin:
|
||||
self._network_plugin = Application.getInstance().getOutputDeviceManager().getOutputDevicePlugin("JediWifiPrintingPlugin")
|
||||
self._network_plugin.addPrinterSignal.connect(self._onPrinterDiscoveryChanged)
|
||||
self._network_plugin.removePrinterSignal.connect(self._onPrinterDiscoveryChanged)
|
||||
self._network_plugin.printerListChanged.connect(self._onPrinterDiscoveryChanged)
|
||||
self.printersChanged.emit()
|
||||
|
||||
@pyqtSlot()
|
||||
|
|
|
@ -30,6 +30,7 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin):
|
|||
|
||||
addPrinterSignal = Signal()
|
||||
removePrinterSignal = Signal()
|
||||
printerListChanged = Signal()
|
||||
|
||||
## Start looking for devices on network.
|
||||
def start(self):
|
||||
|
@ -73,6 +74,7 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin):
|
|||
if printer.getKey() not in self._old_printers: # Was the printer already connected, but a re-scan forced?
|
||||
self._printers[printer.getKey()].connect()
|
||||
printer.connectionStateChanged.connect(self._onPrinterConnectionStateChanged)
|
||||
self.printerListChanged.emit()
|
||||
|
||||
def removePrinter(self, name):
|
||||
printer = self._printers.pop(name, None)
|
||||
|
@ -80,6 +82,7 @@ class NetworkPrinterOutputDevicePlugin(OutputDevicePlugin):
|
|||
if printer.isConnected():
|
||||
printer.connectionStateChanged.disconnect(self._onPrinterConnectionStateChanged)
|
||||
printer.disconnect()
|
||||
self.printerListChanged.emit()
|
||||
|
||||
## Handler for when the connection state of one of the detected printers changes
|
||||
def _onPrinterConnectionStateChanged(self, key):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue