mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 21:27:50 -06:00
Change camera URL to non-optional QUrl
Otherwise pyqt property will complain when it tries to convert a None to a QUrl.
This commit is contained in:
parent
0c1b3931db
commit
02681a5700
5 changed files with 23 additions and 30 deletions
|
@ -49,17 +49,21 @@ class PrinterOutputModel(QObject):
|
|||
self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in
|
||||
self._extruders]
|
||||
|
||||
self._camera_url = None # type: Optional[QUrl]
|
||||
self._camera_url = QUrl() # type: QUrl
|
||||
|
||||
@pyqtProperty(str, constant = True)
|
||||
def firmwareVersion(self) -> str:
|
||||
return self._firmware_version
|
||||
|
||||
def setCameraUrl(self, camera_url: Optional["QUrl"]) -> None:
|
||||
if self._camera_url is not camera_url:
|
||||
def setCameraUrl(self, camera_url: "QUrl") -> None:
|
||||
if self._camera_url != camera_url:
|
||||
self._camera_url = camera_url
|
||||
self.cameraUrlChanged.emit()
|
||||
|
||||
@pyqtProperty(QUrl, fset = setCameraUrl, notify = cameraUrlChanged)
|
||||
def cameraUrl(self) -> "QUrl":
|
||||
return self._camera_url
|
||||
|
||||
def updateIsPreheating(self, pre_heating: bool) -> None:
|
||||
if self._is_preheating != pre_heating:
|
||||
self._is_preheating = pre_heating
|
||||
|
@ -69,10 +73,6 @@ class PrinterOutputModel(QObject):
|
|||
def isPreheating(self) -> bool:
|
||||
return self._is_preheating
|
||||
|
||||
@pyqtProperty(QUrl, notify=cameraUrlChanged)
|
||||
def cameraUrl(self) -> Optional["QUrl"]:
|
||||
return self._camera_url
|
||||
|
||||
@pyqtProperty(str, notify = printerTypeChanged)
|
||||
def type(self) -> str:
|
||||
return self._printer_type
|
||||
|
|
|
@ -31,8 +31,8 @@ Rectangle {
|
|||
anchors.fill: parent;
|
||||
hoverEnabled: true;
|
||||
onClicked: {
|
||||
if (OutputDevice.activeCameraUrl !== null) {
|
||||
OutputDevice.setActiveCameraUrl(null)
|
||||
if (OutputDevice.activeCameraUrl != "") {
|
||||
OutputDevice.setActiveCameraUrl("");
|
||||
} else {
|
||||
OutputDevice.setActiveCameraUrl(modelData.cameraUrl);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ Component {
|
|||
height: maximumHeight;
|
||||
onVisibleChanged: {
|
||||
if (monitorFrame != null && !monitorFrame.visible) {
|
||||
OutputDevice.setActiveCameraUrl(null);
|
||||
OutputDevice.setActiveCameraUrl("");
|
||||
}
|
||||
}
|
||||
width: maximumWidth;
|
||||
|
@ -126,7 +126,7 @@ Component {
|
|||
PrinterVideoStream {
|
||||
anchors.fill: parent;
|
||||
cameraUrl: OutputDevice.activeCameraUrl;
|
||||
visible: OutputDevice.activeCameraUrl != null;
|
||||
visible: OutputDevice.activeCameraUrl != "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import UM 1.3 as UM
|
|||
import Cura 1.0 as Cura
|
||||
|
||||
Item {
|
||||
property var cameraUrl: null;
|
||||
property var cameraUrl: "";
|
||||
|
||||
Rectangle {
|
||||
anchors.fill:parent;
|
||||
|
@ -18,7 +18,7 @@ Item {
|
|||
|
||||
MouseArea {
|
||||
anchors.fill: parent;
|
||||
onClicked: OutputDevice.setActiveCameraUrl(null);
|
||||
onClicked: OutputDevice.setActiveCameraUrl("");
|
||||
z: 0;
|
||||
}
|
||||
|
||||
|
@ -41,11 +41,11 @@ Item {
|
|||
height: Math.round((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth);
|
||||
onVisibleChanged: {
|
||||
if (visible) {
|
||||
if (cameraUrl != null) {
|
||||
if (cameraUrl != "") {
|
||||
start();
|
||||
}
|
||||
} else {
|
||||
if (cameraUrl != null) {
|
||||
if (cameraUrl != "") {
|
||||
stop();
|
||||
}
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ Item {
|
|||
MouseArea {
|
||||
anchors.fill: cameraImage;
|
||||
onClicked: {
|
||||
OutputDevice.setActiveCameraUrl(null);
|
||||
OutputDevice.setActiveCameraUrl("");
|
||||
}
|
||||
z: 1;
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||
self._latest_reply_handler = None # type: Optional[QNetworkReply]
|
||||
self._sending_job = None
|
||||
|
||||
self._active_camera_url = None # type: Optional[QUrl]
|
||||
self._active_camera_url = QUrl() # type: QUrl
|
||||
|
||||
def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None:
|
||||
self.writeStarted.emit(self)
|
||||
|
@ -263,27 +263,20 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||
def activePrinter(self) -> Optional[PrinterOutputModel]:
|
||||
return self._active_printer
|
||||
|
||||
@pyqtProperty(QUrl, notify=activeCameraUrlChanged)
|
||||
def activeCameraUrl(self) -> Optional[QUrl]:
|
||||
return self._active_camera_url
|
||||
|
||||
@pyqtSlot(QObject)
|
||||
def setActivePrinter(self, printer: Optional[PrinterOutputModel]) -> None:
|
||||
if self._active_printer != printer:
|
||||
self._active_printer = printer
|
||||
self.activePrinterChanged.emit()
|
||||
|
||||
@pyqtSlot(QObject)
|
||||
def setActiveCameraUrl(self, camera_url: Optional[QUrl]) -> None:
|
||||
@pyqtProperty(QUrl, notify = activeCameraUrlChanged)
|
||||
def activeCameraUrl(self) -> "QUrl":
|
||||
return self._active_camera_url
|
||||
|
||||
@pyqtSlot(QUrl)
|
||||
def setActiveCameraUrl(self, camera_url: "QUrl") -> None:
|
||||
if self._active_camera_url != camera_url:
|
||||
if self._active_camera_url:
|
||||
self._active_camera_url.stop()
|
||||
|
||||
self._active_camera_url = camera_url
|
||||
|
||||
if self._active_camera_url:
|
||||
self._active_camera_url.start()
|
||||
|
||||
self.activeCameraUrlChanged.emit()
|
||||
|
||||
def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue