From 99d93fa58acc654de51b397550e91a19710fd473 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 25 Jul 2022 17:07:52 +0200 Subject: [PATCH] Check if the user can change the queue before showing option If the user can't change the queue of other prints, then it can't move prints to the top. Contributes to issue CURA-9220. --- .../UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml | 2 +- .../src/UltimakerNetworkedPrinterOutputDevice.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml index 03e9477d08..ac4c38c1cb 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml @@ -54,7 +54,7 @@ Item text: catalog.i18nc("@label", "Move to top"); visible: { if (printJob && (printJob.state == "queued" || printJob.state == "error") && !isAssigned(printJob)) { - if (OutputDevice && OutputDevice.queuedPrintJobs[0]) { + if (OutputDevice && OutputDevice.queuedPrintJobs[0] && OutputDevice.canWriteOthersPrintJobs) { return OutputDevice.queuedPrintJobs[0].key != printJob.key; } } diff --git a/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py index 5fd642eaee..90ff129a2c 100644 --- a/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/UltimakerNetworkedPrinterOutputDevice.py @@ -196,7 +196,7 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice): """ Whether this user can read the list of print jobs and their properties. """ - return True # On LAN, the user can always read it. + return True @pyqtProperty(bool, constant = True) def canWriteOthersPrintJobs(self) -> bool: @@ -204,14 +204,14 @@ class UltimakerNetworkedPrinterOutputDevice(NetworkedPrinterOutputDevice): Whether this user can change things about print jobs made by other people. """ - return True # On LAN, the user can always change this. + return False @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. + return False @pyqtSlot(name="openPrintJobControlPanel") def openPrintJobControlPanel(self) -> None: