diff --git a/src-python/controller.py b/src-python/controller.py index 09c3585f..360296ec 100644 --- a/src-python/controller.py +++ b/src-python/controller.py @@ -2879,6 +2879,39 @@ class Controller: model.stopWebSocketServer() return {"status":200, "result":config.WEBSOCKET_SERVER} + # Clipboard control + @staticmethod + def getCopyToClipboard(*args, **kwargs) -> dict: + return {"status":200, "result":config.ENABLE_COPY_TO_CLIPBOARD} + + @staticmethod + def setEnableCopyToClipboard(*args, **kwargs) -> dict: + if config.ENABLE_COPY_TO_CLIPBOARD is False: + config.ENABLE_COPY_TO_CLIPBOARD = True + return {"status":200, "result":config.ENABLE_COPY_TO_CLIPBOARD} + + @staticmethod + def setDisableCopyToClipboard(*args, **kwargs) -> dict: + if config.ENABLE_COPY_TO_CLIPBOARD is True: + config.ENABLE_COPY_TO_CLIPBOARD = False + return {"status":200, "result":config.ENABLE_COPY_TO_CLIPBOARD} + + @staticmethod + def getPasteFromClipboard(*args, **kwargs) -> dict: + return {"status":200, "result":config.ENABLE_PASTE_FROM_CLIPBOARD} + + @staticmethod + def setEnablePasteFromClipboard(*args, **kwargs) -> dict: + if config.ENABLE_PASTE_FROM_CLIPBOARD is False: + config.ENABLE_PASTE_FROM_CLIPBOARD = True + return {"status":200, "result":config.ENABLE_PASTE_FROM_CLIPBOARD} + + @staticmethod + def setDisablePasteFromClipboard(*args, **kwargs) -> dict: + if config.ENABLE_PASTE_FROM_CLIPBOARD is True: + config.ENABLE_PASTE_FROM_CLIPBOARD = False + return {"status":200, "result":config.ENABLE_PASTE_FROM_CLIPBOARD} + def initializationProgress(self, progress): self.run(200, self.run_mapping["initialization_progress"], progress) diff --git a/src-python/mainloop.py b/src-python/mainloop.py index 58a760a5..6fa65fc9 100644 --- a/src-python/mainloop.py +++ b/src-python/mainloop.py @@ -382,6 +382,14 @@ mapping = { "/set/enable/websocket_server": {"status": True, "variable":controller.setEnableWebSocketServer}, "/set/disable/websocket_server": {"status": True, "variable":controller.setDisableWebSocketServer}, + # Clipboard Settings + # "/get/data/copy_to_clipboard": {"status": True, "variable":controller.getCopyToClipboard}, + # "/set/enable/copy_to_clipboard": {"status": True, "variable":controller.setEnableCopyToClipboard}, + # "/set/disable/copy_to_clipboard": {"status": True, "variable":controller.setDisableCopyToClipboard}, + # "/get/data/paste_from_clipboard": {"status": True, "variable":controller.getPasteFromClipboard}, + # "/set/enable/paste_from_clipboard": {"status": True, "variable":controller.setEnablePasteFromClipboard}, + # "/set/disable/paste_from_clipboard": {"status": True, "variable":controller.setDisablePasteFromClipboard}, + # Advanced Settings "/get/data/osc_ip_address": {"status": True, "variable":controller.getOscIpAddress}, "/set/data/osc_ip_address": {"status": True, "variable":controller.setOscIpAddress},