From be32d36409047bedbe1495bd6a7ada4f7a3226b3 Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Sat, 5 Jul 2025 07:49:28 -0400 Subject: [PATCH] add CanvasNavigationMode --- src/composables/useLitegraphSettings.ts | 9 ++++++--- src/constants/coreSettings.ts | 26 ++++++++++++++----------- src/schemas/apiSchema.ts | 1 + 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/composables/useLitegraphSettings.ts b/src/composables/useLitegraphSettings.ts index 83f19c334..79eaee1c3 100644 --- a/src/composables/useLitegraphSettings.ts +++ b/src/composables/useLitegraphSettings.ts @@ -124,9 +124,12 @@ export const useLitegraphSettings = () => { }) watchEffect(() => { - LiteGraph.macTrackpadGestures = settingStore.get( - 'LiteGraph.Pointer.TrackpadGestures' - ) + const navigationMode = settingStore.get('Comfy.Canvas.NavigationMode') as + | 'standard' + | 'legacy' + + LiteGraph.canvasNavigationMode = navigationMode + LiteGraph.macTrackpadGestures = navigationMode === 'standard' }) watchEffect(() => { diff --git a/src/constants/coreSettings.ts b/src/constants/coreSettings.ts index b01b6ab0e..d71e329a5 100644 --- a/src/constants/coreSettings.ts +++ b/src/constants/coreSettings.ts @@ -774,6 +774,21 @@ export const CORE_SETTINGS: SettingParams[] = [ defaultValue: 0.6, versionAdded: '1.9.1' }, + { + id: 'Comfy.Canvas.NavigationMode', + category: ['LiteGraph', 'Canvas', 'CanvasNavigationMode'], + name: 'Canvas Navigation Mode', + defaultValue: 'legacy', + type: 'combo', + options: [ + { value: 'standard', text: 'Standard (New)' }, + { value: 'legacy', text: 'Left-Click Pan (Legacy)' } + ], + versionAdded: '1.24.0', + defaultsByInstallVersion: { + '1.24.0': 'standard' + } + }, { id: 'Comfy.Canvas.SelectionToolbox', category: ['LiteGraph', 'Canvas', 'SelectionToolbox'], @@ -844,17 +859,6 @@ export const CORE_SETTINGS: SettingParams[] = [ versionAdded: '1.20.4', versionModified: '1.20.5' }, - { - id: 'LiteGraph.Pointer.TrackpadGestures', - category: ['LiteGraph', 'Pointer', 'Trackpad Gestures'], - experimental: true, - name: 'Enable trackpad gestures', - tooltip: - 'This setting enables trackpad mode for the canvas, allowing pinch-to-zoom and panning with two fingers.', - type: 'boolean', - defaultValue: false, - versionAdded: '1.19.1' - }, // Release data stored in settings { id: 'Comfy.Release.Version', diff --git a/src/schemas/apiSchema.ts b/src/schemas/apiSchema.ts index db55f61f0..4d436560a 100644 --- a/src/schemas/apiSchema.ts +++ b/src/schemas/apiSchema.ts @@ -453,6 +453,7 @@ const zSettings = z.object({ 'Comfy.TutorialCompleted': z.boolean(), 'Comfy.InstalledVersion': z.string().nullable(), 'Comfy.Node.AllowImageSizeDraw': z.boolean(), + 'Comfy.Canvas.NavigationMode': z.string(), 'Comfy-Desktop.AutoUpdate': z.boolean(), 'Comfy-Desktop.SendStatistics': z.boolean(), 'Comfy-Desktop.WindowStyle': z.string(),