[Update] クリップボード機能の統合: コピーおよびペーストの設定を一つのプロパティにまとめ、関連するメソッドを整理

This commit is contained in:
misyaguziya
2026-01-09 19:35:55 +09:00
parent 4b29b283a1
commit 7336d01469
3 changed files with 21 additions and 42 deletions

View File

@@ -757,8 +757,7 @@ class Config:
SELECTED_TRANSCRIPTION_COMPUTE_DEVICE = ValidatedProperty('SELECTED_TRANSCRIPTION_COMPUTE_DEVICE', _compute_device_validator)
# -- Clipboard control ---
ENABLE_COPY_TO_CLIPBOARD = ManagedProperty('ENABLE_COPY_TO_CLIPBOARD', type_=bool)
ENABLE_PASTE_FROM_CLIPBOARD = ManagedProperty('ENABLE_PASTE_FROM_CLIPBOARD', type_=bool)
ENABLE_CLIPBOARD = ManagedProperty('ENABLE_CLIPBOARD', type_=bool)
def init_config(self):
# Read Only
@@ -1026,10 +1025,10 @@ class Config:
self._WEBSOCKET_SERVER = False
self._WEBSOCKET_HOST = "127.0.0.1"
self._WEBSOCKET_PORT = 2231
self._ENABLE_COPY_TO_CLIPBOARD = False
self._ENABLE_PASTE_FROM_CLIPBOARD = False
self._ENABLE_CLIPBOARD = False
def load_config(self):
self._config_data = {}
if os_path.isfile(self.PATH_CONFIG) is not False:
with open(self.PATH_CONFIG, 'r', encoding="utf-8") as fp:
if fp.readable() and fp.seek(0, 2) > 0:
@@ -1054,6 +1053,7 @@ class Config:
continue
except Exception:
errorLogging()
self.saveConfigToFile()
def revalidate_selected_models(self):

View File

@@ -406,10 +406,9 @@ class Controller:
)
model.updateOverlayLargeLog(overlay_image)
if config.ENABLE_COPY_TO_CLIPBOARD is True:
if config.ENABLE_CLIPBOARD is True:
clipboard_message = self.messageFormatter("SEND", translation, message)
model.setCopyToClipboard(clipboard_message)
if config.ENABLE_PASTE_FROM_CLIPBOARD is True:
model.setPasteFromClipboard()
if model.checkWebSocketServerAlive() is True:
@@ -758,10 +757,9 @@ class Controller:
)
model.updateOverlayLargeLog(overlay_image)
if config.ENABLE_COPY_TO_CLIPBOARD is True:
if config.ENABLE_CLIPBOARD is True:
clipboard_message = self.messageFormatter("SEND", translation, message)
model.setCopyToClipboard(clipboard_message)
if config.ENABLE_PASTE_FROM_CLIPBOARD is True:
model.setPasteFromClipboard()
if model.checkWebSocketServerAlive() is True:
@@ -3042,36 +3040,20 @@ class Controller:
# Clipboard control
@staticmethod
def getCopyToClipboard(*args, **kwargs) -> dict:
return {"status":200, "result":config.ENABLE_COPY_TO_CLIPBOARD}
def getClipboard(*args, **kwargs) -> dict:
return {"status":200, "result":config.ENABLE_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}
def setEnableClipboard(*args, **kwargs) -> dict:
if config.ENABLE_CLIPBOARD is False:
config.ENABLE_CLIPBOARD = True
return {"status":200, "result":config.ENABLE_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 setDisableClipboard(*args, **kwargs) -> dict:
if config.ENABLE_CLIPBOARD is True:
config.ENABLE_CLIPBOARD = False
return {"status":200, "result":config.ENABLE_CLIPBOARD}
def initializationProgress(self, progress):
self.run(200, self.run_mapping["initialization_progress"], progress)

View File

@@ -403,12 +403,9 @@ mapping = {
"/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},
"/get/data/clipboard": {"status": True, "variable":controller.getClipboard},
"/set/enable/clipboard": {"status": True, "variable":controller.setEnableClipboard},
"/set/disable/clipboard": {"status": True, "variable":controller.setDisableClipboard},
# Advanced Settings
"/get/data/osc_ip_address": {"status": True, "variable":controller.getOscIpAddress},