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

View File

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