Skip to content

Commit f59690d

Browse files
author
Ignacio Ildefonso de Miguel Ruano
committed
feat: adding trackpad mode
1 parent daa0dd3 commit f59690d

17 files changed

Lines changed: 195 additions & 65 deletions

File tree

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/fossflow-lib/src/components/ZoomSettings/ZoomSettings.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,25 @@ export const ZoomSettings = () => {
4848
</Box>
4949
}
5050
/>
51+
52+
<FormControlLabel
53+
control={
54+
<Switch
55+
checked={zoomSettings.trackpadMode}
56+
onChange={() => handleToggle('trackpadMode')}
57+
/>
58+
}
59+
label={
60+
<Box>
61+
<Typography variant="body1">
62+
{locale.settings.zoom.trackpadMode}
63+
</Typography>
64+
<Typography variant="caption" color="text.secondary">
65+
{locale.settings.zoom.trackpadModeDesc}
66+
</Typography>
67+
</Box>
68+
}
69+
/>
5170
</FormGroup>
5271
</FormControl>
5372
</Box>
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
export interface ZoomSettings {
22
// Zoom behavior
33
zoomToCursor: boolean;
4+
// Trackpad mode: scroll=pan, pinch=zoom
5+
trackpadMode: boolean;
46
}
57

68
export const DEFAULT_ZOOM_SETTINGS: ZoomSettings = {
79
// Default to zoom-to-cursor for better UX
8-
zoomToCursor: true
10+
zoomToCursor: true,
11+
// Default to mouse mode (scroll=zoom) for backwards compatibility
12+
trackpadMode: false
913
};

packages/fossflow-lib/src/i18n/bn-BD.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "মাউস হুইল ব্যবহার করার সময় জুম আচরণ কনফিগার করুন।",
121121
zoomToCursor: "কার্সারে জুম করুন",
122-
zoomToCursorDesc: "সক্রিয় থাকলে, মাউস কার্সার অবস্থানে কেন্দ্রীভূত জুম ইন/আউট। নিষ্ক্রিয় থাকলে, জুম ক্যানভাসে কেন্দ্রীভূত।"
122+
zoomToCursorDesc: "সক্রিয় থাকলে, মাউস কার্সার অবস্থানে কেন্দ্রীভূত জুম ইন/আউট। নিষ্ক্রিয় থাকলে, জুম ক্যানভাসে কেন্দ্রীভূত।",
123+
124+
trackpadMode: "ট্র্যাকপ্যাড মোড",
125+
trackpadModeDesc: "সক্ষম থাকলে: দুই আঙুলের স্ক্রল ক্যানভাস প্যান করে, পিঞ্চ ব্রাউজারকে প্রভাবিত না করে জুম করে। নিষ্ক্রিয় থাকলে: স্ক্রল হুইল ক্যানভাস জুম করে (ডিফল্ট মাউস আচরণ)।"
123126
},
124127
hotkeys: {
125128
title: "শর্টকাট সেটিংস",

packages/fossflow-lib/src/i18n/en-US.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,9 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "Configure zoom behavior when using the mouse wheel.",
121121
zoomToCursor: "Zoom to Cursor",
122-
zoomToCursorDesc: "When enabled, zoom in/out centered on the mouse cursor position. When disabled, zoom is centered on the canvas."
122+
zoomToCursorDesc: "When enabled, zoom in/out centered on the mouse cursor position. When disabled, zoom is centered on the canvas.",
123+
trackpadMode: "Trackpad Mode",
124+
trackpadModeDesc: "When enabled: two-finger scroll pans the canvas, pinch zooms without affecting the browser. When disabled: scroll wheel zooms the canvas (default mouse behavior)."
123125
},
124126
hotkeys: {
125127
title: "Hotkey Settings",

packages/fossflow-lib/src/i18n/es-ES.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,9 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "Configura el comportamiento del zoom al usar la rueda del ratón.",
121121
zoomToCursor: "Zoom al cursor",
122-
zoomToCursorDesc: "Cuando está habilitado, el zoom se centra en la posición del cursor del ratón. Cuando está deshabilitado, el zoom se centra en el lienzo."
122+
zoomToCursorDesc: "Cuando está habilitado, el zoom se centra en la posición del cursor del ratón. Cuando está deshabilitado, el zoom se centra en el lienzo.",
123+
trackpadMode: "Modo Trackpad",
124+
trackpadModeDesc: "Cuando está activado: desplazamiento con dos dedos mueve el lienzo, pellizcar hace zoom sin afectar el navegador. Cuando está desactivado: la rueda hace zoom en el lienzo (comportamiento predeterminado del ratón)."
123125
},
124126
hotkeys: {
125127
title: "Configuración de atajos",

packages/fossflow-lib/src/i18n/fr-FR.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "Configurer le comportement du zoom lors de l'utilisation de la molette de la souris.",
121121
zoomToCursor: "Zoom sur le curseur",
122-
zoomToCursorDesc: "Lorsqu'il est activé, le zoom est centré sur la position du curseur de la souris. Lorsqu'il est désactivé, le zoom est centré sur le canevas."
122+
zoomToCursorDesc: "Lorsqu'il est activé, le zoom est centré sur la position du curseur de la souris. Lorsqu'il est désactivé, le zoom est centré sur le canevas.",
123+
124+
trackpadMode: "Mode Trackpad",
125+
trackpadModeDesc: "Lorsqu'il est activé : le défilement à deux doigts déplace le canevas, le pincement effectue un zoom sans affecter le navigateur. Lorsqu'il est désactivé : la molette effectue un zoom sur le canevas (comportement par défaut de la souris)."
123126
},
124127
hotkeys: {
125128
title: "Paramètres des raccourcis",

packages/fossflow-lib/src/i18n/hi-IN.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "माउस व्हील का उपयोग करते समय ज़ूम व्यवहार को कॉन्फ़िगर करें।",
121121
zoomToCursor: "कर्सर पर ज़ूम करें",
122-
zoomToCursorDesc: "सक्षम होने पर, माउस कर्सर की स्थिति पर केंद्रित ज़ूम इन/आउट। अक्षम होने पर, ज़ूम कैनवास पर केंद्रित होता है।"
122+
zoomToCursorDesc: "सक्षम होने पर, माउस कर्सर की स्थिति पर केंद्रित ज़ूम इन/आउट। अक्षम होने पर, ज़ूम कैनवास पर केंद्रित होता है।",
123+
124+
trackpadMode: "ट्रैकपैड मोड",
125+
trackpadModeDesc: "सक्षम होने पर: दो उंगलियों से स्क्रॉल करने पर कैनवास पैन होता है, पिंच करने पर ब्राउज़र को प्रभावित किए बिना ज़ूम होता है। अक्षम होने पर: माउस व्हील से कैनवास ज़ूम होता है (डिफ़ॉल्ट माउस व्यवहार)।"
123126
},
124127
hotkeys: {
125128
title: "शॉर्टकट सेटिंग्स",

packages/fossflow-lib/src/i18n/id-ID.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "Konfigurasi perilaku zoom saat menggunakan roda mouse.",
121121
zoomToCursor: "Zoom ke Kursor",
122-
zoomToCursorDesc: "Saat diaktifkan, zoom masuk/keluar terpusat pada posisi kursor mouse. Saat dinonaktifkan, zoom terpusat pada kanvas."
122+
zoomToCursorDesc: "Saat diaktifkan, zoom masuk/keluar terpusat pada posisi kursor mouse. Saat dinonaktifkan, zoom terpusat pada kanvas.",
123+
124+
trackpadMode: "Mode Trackpad",
125+
trackpadModeDesc: "Saat diaktifkan: gulir dua jari menggeser kanvas, cubit untuk memperbesar tanpa mempengaruhi browser. Saat dinonaktifkan: roda gulir memperbesar kanvas (perilaku mouse default)."
123126
},
124127
hotkeys: {
125128
title: "Pengaturan Pintasan",

packages/fossflow-lib/src/i18n/it-IT.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,10 @@ const locale: LocaleProps = {
119119
zoom: {
120120
description: "Configura il comportamento dello zoom quando si usa la rotella del mouse.",
121121
zoomToCursor: "Zoom sul cursore",
122-
zoomToCursorDesc: "Se abilitato, ingrandisci o riduci centrando sul cursore del mouse. Se disabilitato, lo zoom è centrato sulla tela."
122+
zoomToCursorDesc: "Se abilitato, ingrandisci o riduci centrando sul cursore del mouse. Se disabilitato, lo zoom è centrato sulla tela.",
123+
124+
trackpadMode: "Modalità Trackpad",
125+
trackpadModeDesc: "Quando abilitato: lo scorrimento con due dita sposta la tela, il pizzico ingrandisce senza influire sul browser. Quando disabilitato: la rotellina del mouse ingrandisce la tela (comportamento predefinito del mouse)."
123126
},
124127
hotkeys: {
125128
title: "Impostazioni scorciatoie",

0 commit comments

Comments
 (0)