From 16b41c8102c88b7fd41954200ee2461a8600dd43 Mon Sep 17 00:00:00 2001
From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com>
Date: Mon, 20 Jan 2025 12:06:05 +0900
Subject: [PATCH] [bugfix] to register hotkeys when start up the software.(to
unregisterAll when the software is updating)
---
src-ui/app/App.jsx | 2 ++
.../GlobalHotKeyController.jsx | 22 +++++++++++++++++++
src-ui/app/_app_controllers/index.js | 1 +
3 files changed, 25 insertions(+)
create mode 100644 src-ui/app/_app_controllers/GlobalHotKeyController.jsx
diff --git a/src-ui/app/App.jsx b/src-ui/app/App.jsx
index de37abf8..c36f7d31 100644
--- a/src-ui/app/App.jsx
+++ b/src-ui/app/App.jsx
@@ -7,6 +7,7 @@ import {
import {
KeyEventController,
StartPythonController,
+ GlobalHotKeyController,
UiLanguageController,
ConfigPageCloseTriggerController,
UiSizeController,
@@ -33,6 +34,7 @@ export const App = () => {
+
diff --git a/src-ui/app/_app_controllers/GlobalHotKeyController.jsx b/src-ui/app/_app_controllers/GlobalHotKeyController.jsx
new file mode 100644
index 00000000..d687c138
--- /dev/null
+++ b/src-ui/app/_app_controllers/GlobalHotKeyController.jsx
@@ -0,0 +1,22 @@
+import { useEffect } from "react";
+import { useHotkeys } from "@logics_configs";
+import { useIsBackendReady, useIsSoftwareUpdating } from "@logics_common";
+
+export const GlobalHotKeyController = () => {
+ const { currentIsBackendReady } = useIsBackendReady();
+ const { currentIsSoftwareUpdating } = useIsSoftwareUpdating();
+ const { registerShortcuts, unregisterAll } = useHotkeys();
+
+ useEffect(() => {
+ const is_backend_ready = currentIsBackendReady.data;
+ const is_software_updating = currentIsSoftwareUpdating.data;
+
+ if (is_backend_ready && !is_software_updating) {
+ registerShortcuts();
+ } else if (is_software_updating) {
+ unregisterAll();
+ }
+ }, [currentIsBackendReady.data, currentIsSoftwareUpdating.data]);
+
+ return null;
+};
\ No newline at end of file
diff --git a/src-ui/app/_app_controllers/index.js b/src-ui/app/_app_controllers/index.js
index abe6f018..547c78f4 100644
--- a/src-ui/app/_app_controllers/index.js
+++ b/src-ui/app/_app_controllers/index.js
@@ -1,5 +1,6 @@
export { KeyEventController } from "./KeyEventController";
export { StartPythonController } from "./StartPythonController";
+export { GlobalHotKeyController } from "./GlobalHotKeyController";
export { UiLanguageController } from "./UiLanguageController";
export { ConfigPageCloseTriggerController } from "./ConfigPageCloseTriggerController";
export { UiSizeController } from "./UiSizeController";