Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLipu Fei <lipu.fei815@gmail.com>2018-07-13 09:08:56 +0300
committerLipu Fei <lipu.fei815@gmail.com>2018-07-13 09:08:56 +0300
commitac3d3bc5c08671a5afee481ea0c8f27e69ba98ad (patch)
tree035112a9a5368e790891309e878a43e141d1aa8e /plugins
parenta0c3767184c9b4319c984f1301bdbdfce67272b0 (diff)
Revert "Added signal to prevent window closing if USB printer is printing"
This reverts commit 596a7b7169b9c7e41cd4751f99eea656f67ed2b7.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/USBPrinting/USBPrinterOutputDevice.py3
-rw-r--r--plugins/USBPrinting/USBPrinterOutputDeviceManager.py56
2 files changed, 1 insertions, 58 deletions
diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py
index fc9558056b..f9c6011f7b 100644
--- a/plugins/USBPrinting/USBPrinterOutputDevice.py
+++ b/plugins/USBPrinting/USBPrinterOutputDevice.py
@@ -435,9 +435,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._gcode_position += 1
- def getIsPrinting(self)-> bool:
- return self._is_printing
-
class FirmwareUpdateState(IntEnum):
idle = 0
diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py
index b2dc24480c..2ee85187ee 100644
--- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py
+++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py
@@ -6,8 +6,7 @@ import platform
import time
import serial.tools.list_ports
-from PyQt5.QtCore import QObject, pyqtSlot, pyqtSignal, QCoreApplication
-from PyQt5.QtWidgets import QMessageBox
+from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal
from UM.Logger import Logger
from UM.Resources import Resources
@@ -51,11 +50,6 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin):
self._application.globalContainerStackChanged.connect(self.updateUSBPrinterOutputDevices)
- self._application.checkCuraCloseChange.connect(self.checkWheterUSBIsActiveOrNot)
-
- self._lock = threading.Lock()
- self._confirm_dialog_visible = False
-
# The method updates/reset the USB settings for all connected USB devices
def updateUSBPrinterOutputDevices(self):
for key, device in self._usb_output_devices.items():
@@ -190,51 +184,3 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin):
@classmethod
def getInstance(cls, *args, **kwargs) -> "USBPrinterOutputDeviceManager":
return cls.__instance
-
- # The method checks whether a printer is printing via USB or not before closing cura. If the printer is printing then pop up a
- # dialog to confirm stop printing
- def checkWheterUSBIsActiveOrNot(self)-> None:
-
- is_printing = False
- for key, device in self._usb_output_devices.items():
- if type(device) is USBPrinterOutputDevice.USBPrinterOutputDevice:
- if device.getIsPrinting():
- is_printing = True
- break
-
- if is_printing:
- if threading.current_thread() != threading.main_thread():
- self._lock.acquire()
- self._confirm_dialog_visible = True
-
- CuraApplication.getInstance().messageBox(i18n_catalog.i18nc("@window:title", "Confirm stop printing"),
- i18n_catalog.i18nc("@window:message","A USB print is in progress, closing Cura will stop this print. Are you sure?"),
- buttons=QMessageBox.Yes + QMessageBox.No,
- icon=QMessageBox.Question,
- callback=self._messageBoxCallback)
- # Wait for dialog result
- self.waitForClose()
-
- ## Block thread until the dialog is closed.
- def waitForClose(self)-> None:
- if self._confirm_dialog_visible:
- if threading.current_thread() != threading.main_thread():
- self._lock.acquire()
- self._lock.release()
- else:
- # If this is not run from a separate thread, we need to ensure that the events are still processed.
- while self._confirm_dialog_visible:
- time.sleep(1 / 50)
- QCoreApplication.processEvents() # Ensure that the GUI does not freeze.
-
- def _messageBoxCallback(self, button):
- if button == QMessageBox.Yes:
- self._application.setCuraCanBeClosed(True)
- else:
- self._application.setCuraCanBeClosed(False)
-
- self._confirm_dialog_visible = False
- try:
- self._lock.release()
- except:
- pass \ No newline at end of file