Add property of the print job being made by the current user

According to the Account API, is this print job made by the same user?
This property is a bit inaccurate, in that this matches by the user name. The user name might be duplicate in some systems.

Contributes to issue CURA-9220.
This commit is contained in:
Ghostkeeper 2022-07-25 17:28:56 +02:00
parent 99d93fa58a
commit 8871fd6224
No known key found for this signature in database
GPG key ID: FFBC62A75981ED70

View file

@ -1,4 +1,4 @@
# Copyright (c) 2018 Ultimaker B.V. # Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
from typing import Optional, TYPE_CHECKING, List from typing import Optional, TYPE_CHECKING, List
@ -6,6 +6,8 @@ from typing import Optional, TYPE_CHECKING, List
from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot, QUrl from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot, QUrl
from PyQt6.QtGui import QImage from PyQt6.QtGui import QImage
from cura.CuraApplication import CuraApplication
if TYPE_CHECKING: if TYPE_CHECKING:
from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from cura.PrinterOutput.PrinterOutputController import PrinterOutputController
from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel
@ -86,6 +88,13 @@ class PrintJobOutputModel(QObject):
self._owner = owner self._owner = owner
self.ownerChanged.emit() self.ownerChanged.emit()
@pyqtProperty(bool, notify = ownerChanged)
def isMine(self) -> bool:
"""
Returns whether this print job was sent by the currently logged in user.
"""
return self._owner == CuraApplication.getInstance().getCuraAPI().account.userName
@pyqtProperty(QObject, notify=assignedPrinterChanged) @pyqtProperty(QObject, notify=assignedPrinterChanged)
def assignedPrinter(self): def assignedPrinter(self):
return self._assigned_printer return self._assigned_printer