Move default behaviour up in inheritance hierarchy

This way, any new printer types we define will automatically get these properties that are used by the monitor stage anyway.

Contributes to issue CURA-9220.
This commit is contained in:
Ghostkeeper 2022-07-25 16:55:05 +02:00
parent b4c4371929
commit 9e1940dd4b
No known key found for this signature in database
GPG key ID: FFBC62A75981ED70
2 changed files with 30 additions and 30 deletions

View file

@ -1,4 +1,4 @@
# Copyright (c) 2020 Ultimaker B.V.
# Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import os
from time import time
@ -184,6 +184,35 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice):
def forceSendJob(self, print_job_uuid: str) -> None:
raise NotImplementedError("forceSendJob must be implemented")
@pyqtProperty(bool, constant = True)
def supportsPrintJobQueue(self) -> bool:
"""
Whether this printer knows about queueing print jobs.
"""
return True # This API always supports print job queueing.
@pyqtProperty(bool, constant = True)
def canReadPrintJobs(self) -> bool:
"""
Whether this user can read the list of print jobs and their properties.
"""
return True # On LAN, the user can always read it.
@pyqtProperty(bool, constant = True)
def canWriteOthersPrintJobs(self) -> bool:
"""
Whether this user can change things about print jobs made by other
people.
"""
return True # On LAN, the user can always change this.
@pyqtProperty(bool, constant = True)
def canWriteOwnPrintJobs(self) -> bool:
"""
Whether this user can change things about print jobs made by themself.
"""
return True # On LAN, the user can always change this.
@pyqtSlot(name="openPrintJobControlPanel")
def openPrintJobControlPanel(self) -> None:
raise NotImplementedError("openPrintJobControlPanel must be implemented")