From 376774939899a2046fa0075d7b64d3e2249cb8d6 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Mon, 23 Dec 2024 08:17:25 +1100 Subject: [PATCH] Add About to Help menu (#2010) Co-authored-by: github-actions --- .../dialog/content/SettingDialogContent.vue | 9 ++++++++- src/constants/coreMenuCommands.ts | 3 ++- src/hooks/coreCommandHooks.ts | 10 ++++++++++ src/locales/en/commands.json | 3 +++ src/locales/en/main.json | 1 + src/locales/ja/commands.json | 3 +++ src/locales/ja/main.json | 1 + src/locales/ko/commands.json | 3 +++ src/locales/ko/main.json | 1 + src/locales/ru/commands.json | 3 +++ src/locales/ru/main.json | 1 + src/locales/zh/commands.json | 3 +++ src/locales/zh/main.json | 1 + src/services/dialogService.ts | 20 +++++++++++++++++-- 14 files changed, 58 insertions(+), 4 deletions(-) diff --git a/src/components/dialog/content/SettingDialogContent.vue b/src/components/dialog/content/SettingDialogContent.vue index e99cb4fe02..4b4a16c63e 100644 --- a/src/components/dialog/content/SettingDialogContent.vue +++ b/src/components/dialog/content/SettingDialogContent.vue @@ -82,6 +82,10 @@ import { isElectron } from '@/utils/envUtil' import { normalizeI18nKey } from '@/utils/formatUtil' import { useI18n } from 'vue-i18n' +const props = defineProps<{ + defaultPanel?: 'about' | 'keybinding' | 'extension' | 'server-config' +}>() + const KeybindingPanel = defineAsyncComponent( () => import('./setting/KeybindingPanel.vue') ) @@ -156,7 +160,10 @@ watch(activeCategory, (newCategory, oldCategory) => { }) onMounted(() => { - activeCategory.value = categories.value[0] + activeCategory.value = props.defaultPanel + ? categories.value.find((x) => x.key === props.defaultPanel) ?? + categories.value[0] + : categories.value[0] }) const sortedGroups = (category: SettingTreeNode): ISettingGroup[] => { diff --git a/src/constants/coreMenuCommands.ts b/src/constants/coreMenuCommands.ts index 8e69185ce0..0548ca24fc 100644 --- a/src/constants/coreMenuCommands.ts +++ b/src/constants/coreMenuCommands.ts @@ -21,5 +21,6 @@ export const CORE_MENU_COMMANDS = [ 'Comfy.Help.OpenComfyUIDocs', 'Comfy.Help.OpenComfyOrgDiscord' ] - ] + ], + [['Help'], ['Comfy.Help.AboutComfyUI']] ] diff --git a/src/hooks/coreCommandHooks.ts b/src/hooks/coreCommandHooks.ts index 5f13ea2832..f56e459eec 100644 --- a/src/hooks/coreCommandHooks.ts +++ b/src/hooks/coreCommandHooks.ts @@ -500,6 +500,16 @@ export function useCoreCommands(): ComfyCommand[] { function: () => { useSearchBoxStore().toggleVisible() } + }, + { + id: 'Comfy.Help.AboutComfyUI', + icon: 'pi pi-info-circle', + label: 'Open About ComfyUI', + menubarLabel: 'About ComfyUI', + versionAdded: '1.6.4', + function: () => { + showSettingsDialog('about') + } } ] } diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index 5494e2b6dd..704c60d09f 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -95,6 +95,9 @@ "Comfy_GroupNode_UngroupSelectedGroupNodes": { "label": "Ungroup selected group nodes" }, + "Comfy_Help_AboutComfyUI": { + "label": "Open About ComfyUI" + }, "Comfy_Help_OpenComfyOrgDiscord": { "label": "Open Comfy-Org Discord" }, diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 7ad67011cf..7db63f5c2e 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -341,6 +341,7 @@ "Convert selected nodes to group node": "Convert selected nodes to group node", "Manage group nodes": "Manage group nodes", "Ungroup selected group nodes": "Ungroup selected group nodes", + "About ComfyUI": "About ComfyUI", "Comfy-Org Discord": "Comfy-Org Discord", "ComfyUI Docs": "ComfyUI Docs", "ComfyUI Issues": "ComfyUI Issues", diff --git a/src/locales/ja/commands.json b/src/locales/ja/commands.json index 8c03b1d08e..0528023199 100644 --- a/src/locales/ja/commands.json +++ b/src/locales/ja/commands.json @@ -95,6 +95,9 @@ "Comfy_GroupNode_UngroupSelectedGroupNodes": { "label": "選択したグループノードのグループ解除" }, + "Comfy_Help_AboutComfyUI": { + "label": "ComfyUIについてを開く" + }, "Comfy_Help_OpenComfyOrgDiscord": { "label": "Comfy-OrgのDiscordを開く" }, diff --git a/src/locales/ja/main.json b/src/locales/ja/main.json index 88d4747e22..56b491f4a7 100644 --- a/src/locales/ja/main.json +++ b/src/locales/ja/main.json @@ -235,6 +235,7 @@ "toggleBottomPanel": "下部パネルを切り替え" }, "menuLabels": { + "About ComfyUI": "ComfyUIについて", "Browse Templates": "テンプレートを参照", "Bypass/Unbypass Selected Nodes": "選択したノードのバイパス/バイパス解除", "Canvas Toggle Link Visibility": "キャンバスのリンク表示を切り替え", diff --git a/src/locales/ko/commands.json b/src/locales/ko/commands.json index fba0011ba8..f4d47ad304 100644 --- a/src/locales/ko/commands.json +++ b/src/locales/ko/commands.json @@ -95,6 +95,9 @@ "Comfy_GroupNode_UngroupSelectedGroupNodes": { "label": "선택한 그룹 노드 분리" }, + "Comfy_Help_AboutComfyUI": { + "label": "ComfyUI 정보 열기" + }, "Comfy_Help_OpenComfyOrgDiscord": { "label": "Comfy-Org 디스코드 열기" }, diff --git a/src/locales/ko/main.json b/src/locales/ko/main.json index c51b4fee30..ae0c59ee9c 100644 --- a/src/locales/ko/main.json +++ b/src/locales/ko/main.json @@ -235,6 +235,7 @@ "toggleBottomPanel": "하단 패널 전환" }, "menuLabels": { + "About ComfyUI": "ComfyUI에 대하여", "Browse Templates": "템플릿 탐색", "Bypass/Unbypass Selected Nodes": "선택한 노드 우회/우회 해제", "Canvas Toggle Link Visibility": "캔버스 토글 링크 가시성", diff --git a/src/locales/ru/commands.json b/src/locales/ru/commands.json index 65fa6e3f84..d0c50bf17c 100644 --- a/src/locales/ru/commands.json +++ b/src/locales/ru/commands.json @@ -95,6 +95,9 @@ "Comfy_GroupNode_UngroupSelectedGroupNodes": { "label": "Разгруппировать выбранные групповые узлы" }, + "Comfy_Help_AboutComfyUI": { + "label": "Открыть о ComfyUI" + }, "Comfy_Help_OpenComfyOrgDiscord": { "label": "Открыть Comfy-Org Discord" }, diff --git a/src/locales/ru/main.json b/src/locales/ru/main.json index cfef586443..db04710635 100644 --- a/src/locales/ru/main.json +++ b/src/locales/ru/main.json @@ -235,6 +235,7 @@ "toggleBottomPanel": "Переключить нижнюю панель" }, "menuLabels": { + "About ComfyUI": "О ComfyUI", "Browse Templates": "Просмотреть шаблоны", "Bypass/Unbypass Selected Nodes": "Обойти/восстановить выбранные узлы", "Canvas Toggle Link Visibility": "Переключение видимости ссылки на холст", diff --git a/src/locales/zh/commands.json b/src/locales/zh/commands.json index 817c58f14c..1d5555c864 100644 --- a/src/locales/zh/commands.json +++ b/src/locales/zh/commands.json @@ -95,6 +95,9 @@ "Comfy_GroupNode_UngroupSelectedGroupNodes": { "label": "取消选定组节点的分组" }, + "Comfy_Help_AboutComfyUI": { + "label": "打开关于ComfyUI" + }, "Comfy_Help_OpenComfyOrgDiscord": { "label": "打开Comfy-Org Discord" }, diff --git a/src/locales/zh/main.json b/src/locales/zh/main.json index 55a01acb59..ee683b594c 100644 --- a/src/locales/zh/main.json +++ b/src/locales/zh/main.json @@ -235,6 +235,7 @@ "toggleBottomPanel": "底部面板" }, "menuLabels": { + "About ComfyUI": "关于ComfyUI", "Browse Templates": "浏览模板", "Bypass/Unbypass Selected Nodes": "旁路/取消旁路选定节点", "Canvas Toggle Link Visibility": "切换链接可见性", diff --git a/src/services/dialogService.ts b/src/services/dialogService.ts index ed7abf4d66..3c7f69231a 100644 --- a/src/services/dialogService.ts +++ b/src/services/dialogService.ts @@ -39,11 +39,27 @@ export function showMissingModelsWarning(props: { }) } -export function showSettingsDialog() { +export function showSettingsDialog( + panel?: 'about' | 'keybinding' | 'extension' | 'server-config' +) { + const props = panel ? { props: { defaultPanel: panel } } : undefined + useDialogStore().showDialog({ key: 'global-settings', headerComponent: SettingDialogHeader, - component: SettingDialogContent + component: SettingDialogContent, + ...props + }) +} + +export function showAboutDialog() { + useDialogStore().showDialog({ + key: 'global-settings', + headerComponent: SettingDialogHeader, + component: SettingDialogContent, + props: { + defaultPanel: 'about' + } }) }