navigation: selectable mouse navigation style

Options → User Preferences → Navigation style picks which mouse
gestures pan and orbit the model view (#1480):

- CAD (default): middle button pans, Shift + middle button orbits.
- Blender: middle button orbits, Shift + middle button pans.
- CATIA: middle button pans; pressing the left button during it orbits,
  so 3D navigation needs only the mouse.

An armed orbit tool always orbits. The choice is saved with the user
settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-15 11:17:13 +03:00
1 parent 74df9ff84a
commit 19ecf78bd9
30 files changed
+183 -1

No files matched your search

+4
View File
@@ -1563,6 +1563,10 @@ common =
.user-preferences = تفضيلات المستخدم .user-preferences = تفضيلات المستخدم
.zoom = التكبير .zoom = التكبير
.reverse-mouse-wheel-zoom-zoomwheel = عكس التكبير بعجلة الفأرة (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = عكس التكبير بعجلة الفأرة (ZOOMWHEEL)
.navigation-style = نمط التنقل
.nav-style-cad = CAD: ‏Shift + الزر الأوسط للدوران
.nav-style-blender = Blender: الزر الأوسط للدوران، Shift للتحريك
.nav-style-catia = CATIA: الزر الأوسط + الأيسر للدوران
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = لوحة اللمس: التمرير يحرك العرض، Ctrl+تمرير أو القرص يكبّر .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = لوحة اللمس: التمرير يحرك العرض، Ctrl+تمرير أو القرص يكبّر
.interface-scale = مقياس الواجهة .interface-scale = مقياس الواجهة
.zoom-factor = معامل التكبير .zoom-factor = معامل التكبير
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = Потребителски предпочитания .user-preferences = Потребителски предпочитания
.zoom = Мащабиране .zoom = Мащабиране
.reverse-mouse-wheel-zoom-zoomwheel = Обръщане на мащабирането с колелцето (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Обръщане на мащабирането с колелцето (ZOOMWHEEL)
.navigation-style = Стил на навигация
.nav-style-cad = CAD: Shift + среден бутон завърта
.nav-style-blender = Blender: среден бутон завърта, Shift премества
.nav-style-catia = CATIA: среден + ляв бутон завърта
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тъчпад: превъртането мести изгледа, Ctrl+превъртане или щипване мащабира .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тъчпад: превъртането мести изгледа, Ctrl+превъртане или щипване мащабира
.interface-scale = Мащаб на интерфейса .interface-scale = Мащаб на интерфейса
.zoom-factor = Коефициент на мащабиране .zoom-factor = Коефициент на мащабиране
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = Předvolby uživatele .user-preferences = Předvolby uživatele
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Obrátit zoom kolečkem myši (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Obrátit zoom kolečkem myši (ZOOMWHEEL)
.navigation-style = Styl navigace
.nav-style-cad = CAD: Shift + prostřední tlačítko otáčí
.nav-style-blender = Blender: prostřední tlačítko otáčí, Shift posouvá
.nav-style-catia = CATIA: prostřední + levé tlačítko otáčí
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: posun posouvá pohled, Ctrl+posun nebo sevření zvětšuje .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: posun posouvá pohled, Ctrl+posun nebo sevření zvětšuje
.interface-scale = Měřítko rozhraní .interface-scale = Měřítko rozhraní
.zoom-factor = Faktor zoomu .zoom-factor = Faktor zoomu
+4
View File
@@ -1551,6 +1551,10 @@ common =
.user-preferences = Benutzereinstellungen .user-preferences = Benutzereinstellungen
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Mausradzoom umkehren (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Mausradzoom umkehren (ZOOMWHEEL)
.navigation-style = Navigationsstil
.nav-style-cad = CAD: Umschalt + mittlere Taste dreht
.nav-style-blender = Blender: mittlere Taste dreht, Umschalt verschiebt
.nav-style-catia = CATIA: mittlere + linke Taste dreht
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: Scrollen verschiebt, Strg+Scrollen oder Zusammenziehen zoomt .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: Scrollen verschiebt, Strg+Scrollen oder Zusammenziehen zoomt
.interface-scale = Oberflächenskalierung .interface-scale = Oberflächenskalierung
.zoom-factor = Zoomfaktor .zoom-factor = Zoomfaktor
+4
View File
@@ -1552,6 +1552,10 @@ common =
.user-preferences = Προτιμήσεις χρήστη .user-preferences = Προτιμήσεις χρήστη
.zoom = Ζουμ .zoom = Ζουμ
.reverse-mouse-wheel-zoom-zoomwheel = Αντιστροφή ζουμ με τον τροχό (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Αντιστροφή ζουμ με τον τροχό (ZOOMWHEEL)
.navigation-style = Στυλ πλοήγησης
.nav-style-cad = CAD: Shift + μεσαίο πλήκτρο περιστρέφει
.nav-style-blender = Blender: μεσαίο πλήκτρο περιστρέφει, Shift μετακινεί
.nav-style-catia = CATIA: μεσαίο + αριστερό πλήκτρο περιστρέφει
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Επιφάνεια αφής: η κύλιση μετακινεί, Ctrl+κύλιση ή τσίμπημα κάνει ζουμ .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Επιφάνεια αφής: η κύλιση μετακινεί, Ctrl+κύλιση ή τσίμπημα κάνει ζουμ
.interface-scale = Κλίμακα διεπαφής .interface-scale = Κλίμακα διεπαφής
.zoom-factor = Συντελεστής ζουμ .zoom-factor = Συντελεστής ζουμ
+4
View File
@@ -1551,6 +1551,10 @@ common =
.user-preferences = User Preferences .user-preferences = User Preferences
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Reverse mouse wheel zoom (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Reverse mouse wheel zoom (ZOOMWHEEL)
.navigation-style = Navigation style
.nav-style-cad = CAD: Shift + middle button orbits
.nav-style-blender = Blender: middle button orbits, Shift pans
.nav-style-catia = CATIA: middle + left button orbits
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scroll pans, Ctrl+scroll or pinch zooms .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scroll pans, Ctrl+scroll or pinch zooms
.interface-scale = Interface scale .interface-scale = Interface scale
.zoom-factor = Zoom factor .zoom-factor = Zoom factor
+4
View File
@@ -1551,6 +1551,10 @@ common =
.user-preferences = Preferencias de usuario .user-preferences = Preferencias de usuario
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Invertir el zoom de la rueda del ratón (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Invertir el zoom de la rueda del ratón (ZOOMWHEEL)
.navigation-style = Estilo de navegación
.nav-style-cad = CAD: Mayús + botón central orbita
.nav-style-blender = Blender: botón central orbita, Mayús desplaza
.nav-style-catia = CATIA: botón central + izquierdo orbita
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Panel táctil: el desplazamiento encuadra, Ctrl+desplazamiento o pellizco hace zoom .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Panel táctil: el desplazamiento encuadra, Ctrl+desplazamiento o pellizco hace zoom
.interface-scale = Escala de la interfaz .interface-scale = Escala de la interfaz
.zoom-factor = Factor de zoom .zoom-factor = Factor de zoom
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = Käyttäjäasetukset .user-preferences = Käyttäjäasetukset
.zoom = Zoomaus .zoom = Zoomaus
.reverse-mouse-wheel-zoom-zoomwheel = Käännä hiiren rullan zoomaus (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Käännä hiiren rullan zoomaus (ZOOMWHEEL)
.navigation-style = Navigointityyli
.nav-style-cad = CAD: Vaihto + keskipainike kiertää
.nav-style-blender = Blender: keskipainike kiertää, Vaihto panoroi
.nav-style-catia = CATIA: keski- + vasen painike kiertää
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Kosketuslevy: vieritys panoroi, Ctrl+vieritys tai nipistys zoomaa .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Kosketuslevy: vieritys panoroi, Ctrl+vieritys tai nipistys zoomaa
.interface-scale = Käyttöliittymän skaalaus .interface-scale = Käyttöliittymän skaalaus
.zoom-factor = Zoomauskerroin .zoom-factor = Zoomauskerroin
+4
View File
@@ -1551,6 +1551,10 @@ common =
.user-preferences = Préférences utilisateur .user-preferences = Préférences utilisateur
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Inverser le zoom à la molette (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Inverser le zoom à la molette (ZOOMWHEEL)
.navigation-style = Style de navigation
.nav-style-cad = CAO : Maj + bouton du milieu fait pivoter
.nav-style-blender = Blender : bouton du milieu fait pivoter, Maj déplace
.nav-style-catia = CATIA : boutons du milieu + gauche font pivoter
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Pavé tactile : le défilement déplace, Ctrl+défilement ou pincement zoome .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Pavé tactile : le défilement déplace, Ctrl+défilement ou pincement zoome
.interface-scale = Échelle de l'interface .interface-scale = Échelle de l'interface
.zoom-factor = Facteur de zoom .zoom-factor = Facteur de zoom
+4
View File
@@ -1539,6 +1539,10 @@ common =
.user-preferences = उपयोगकर्ता प्राथमिकताएँ .user-preferences = उपयोगकर्ता प्राथमिकताएँ
.zoom = ज़ूम .zoom = ज़ूम
.reverse-mouse-wheel-zoom-zoomwheel = माउस व्हील ज़ूम उलटें (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = माउस व्हील ज़ूम उलटें (ZOOMWHEEL)
.navigation-style = नेविगेशन शैली
.nav-style-cad = CAD: Shift + मध्य बटन घुमाता है
.nav-style-blender = Blender: मध्य बटन घुमाता है, Shift खिसकाता है
.nav-style-catia = CATIA: मध्य + बायाँ बटन घुमाता है
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = टचपैड: स्क्रॉल पैन करता है, Ctrl+स्क्रॉल या पिंच ज़ूम करता है .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = टचपैड: स्क्रॉल पैन करता है, Ctrl+स्क्रॉल या पिंच ज़ूम करता है
.interface-scale = इंटरफ़ेस स्केल .interface-scale = इंटरफ़ेस स्केल
.zoom-factor = ज़ूम गुणक .zoom-factor = ज़ूम गुणक
+4
View File
@@ -1556,6 +1556,10 @@ common =
.user-preferences = Felhasználói beállítások .user-preferences = Felhasználói beállítások
.zoom = Nagyítás .zoom = Nagyítás
.reverse-mouse-wheel-zoom-zoomwheel = Egérgörgős nagyítás megfordítása (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Egérgörgős nagyítás megfordítása (ZOOMWHEEL)
.navigation-style = Navigációs stílus
.nav-style-cad = CAD: Shift + középső gomb forgat
.nav-style-blender = Blender: középső gomb forgat, Shift mozgat
.nav-style-catia = CATIA: középső + bal gomb forgat
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Érintőpad: a görgetés mozgat, a Ctrl+görgetés vagy csippentés nagyít .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Érintőpad: a görgetés mozgat, a Ctrl+görgetés vagy csippentés nagyít
.interface-scale = Felület mérete .interface-scale = Felület mérete
.zoom-factor = Nagyítási tényező .zoom-factor = Nagyítási tényező
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = Preferenze utente .user-preferences = Preferenze utente
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Inverti lo zoom con la rotellina (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Inverti lo zoom con la rotellina (ZOOMWHEEL)
.navigation-style = Stile di navigazione
.nav-style-cad = CAD: Maiusc + tasto centrale ruota
.nav-style-blender = Blender: tasto centrale ruota, Maiusc sposta
.nav-style-catia = CATIA: tasto centrale + sinistro ruota
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: lo scorrimento sposta la vista, Ctrl+scorrimento o pizzico esegue lo zoom .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: lo scorrimento sposta la vista, Ctrl+scorrimento o pizzico esegue lo zoom
.interface-scale = Scala dell'interfaccia .interface-scale = Scala dell'interfaccia
.zoom-factor = Fattore di zoom .zoom-factor = Fattore di zoom
+4
View File
@@ -1541,6 +1541,10 @@ common =
.user-preferences = ユーザー設定 .user-preferences = ユーザー設定
.zoom = ズーム .zoom = ズーム
.reverse-mouse-wheel-zoom-zoomwheel = マウス ホイールのズーム方向を反転 (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = マウス ホイールのズーム方向を反転 (ZOOMWHEEL)
.navigation-style = ナビゲーション スタイル
.nav-style-cad = CAD: Shift + 中ボタンで回転
.nav-style-blender = Blender: 中ボタンで回転、Shift で画面移動
.nav-style-catia = CATIA: 中 + 左ボタンで回転
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = タッチパッド: スクロールで画面移動、Ctrl+スクロールまたはピンチでズーム .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = タッチパッド: スクロールで画面移動、Ctrl+スクロールまたはピンチでズーム
.interface-scale = インターフェースの拡大率 .interface-scale = インターフェースの拡大率
.zoom-factor = ズーム倍率 .zoom-factor = ズーム倍率
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = 사용자 환경설정 .user-preferences = 사용자 환경설정
.zoom = 줌 .zoom = 줌
.reverse-mouse-wheel-zoom-zoomwheel = 마우스 휠 줌 방향 반전 (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = 마우스 휠 줌 방향 반전 (ZOOMWHEEL)
.navigation-style = 탐색 스타일
.nav-style-cad = CAD: Shift + 가운데 버튼으로 회전
.nav-style-blender = Blender: 가운데 버튼으로 회전, Shift로 이동
.nav-style-catia = CATIA: 가운데 + 왼쪽 버튼으로 회전
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 터치패드: 스크롤은 화면 이동, Ctrl+스크롤 또는 핀치는 확대/축소 .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 터치패드: 스크롤은 화면 이동, Ctrl+스크롤 또는 핀치는 확대/축소
.interface-scale = 인터페이스 배율 .interface-scale = 인터페이스 배율
.zoom-factor = 줌 배율 .zoom-factor = 줌 배율
+4
View File
@@ -1556,6 +1556,10 @@ common =
.user-preferences = ການຕັ້ງຄ່າສ່ວນຕົວຂອງຜູ້ໃຊ້ .user-preferences = ການຕັ້ງຄ່າສ່ວນຕົວຂອງຜູ້ໃຊ້
.zoom = ຊູມ .zoom = ຊູມ
.reverse-mouse-wheel-zoom-zoomwheel = ສະຫຼັບທິດທາງການໝຸນລໍ້ເມົາສ໌ຊູມ (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = ສະຫຼັບທິດທາງການໝຸນລໍ້ເມົາສ໌ຊູມ (ZOOMWHEEL)
.navigation-style = ຮູບແບບການນຳທາງ
.nav-style-cad = CAD: Shift + ປຸ່ມກາງ ໝຸນ
.nav-style-blender = Blender: ປຸ່ມກາງ ໝຸນ, Shift ເລື່ອນ
.nav-style-catia = CATIA: ປຸ່ມກາງ + ຊ້າຍ ໝຸນ
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = ທັດແພດ: ເລື່ອນເພື່ອຍ້າຍມຸມມອງ, Ctrl+ເລື່ອນ ຫຼື ບີບເພື່ອຊູມ .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = ທັດແພດ: ເລື່ອນເພື່ອຍ້າຍມຸມມອງ, Ctrl+ເລື່ອນ ຫຼື ບີບເພື່ອຊູມ
.interface-scale = ຂະໜາດສ່ວນຕິດຕໍ່ .interface-scale = ຂະໜາດສ່ວນຕິດຕໍ່
.zoom-factor = ຕົວຄູນການຊູມ .zoom-factor = ຕົວຄູນການຊູມ
+4
View File
@@ -1549,6 +1549,10 @@ common =
.user-preferences = Gebruikersvoorkeuren .user-preferences = Gebruikersvoorkeuren
.zoom = Zoomen .zoom = Zoomen
.reverse-mouse-wheel-zoom-zoomwheel = Muiswielzoom omkeren (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Muiswielzoom omkeren (ZOOMWHEEL)
.navigation-style = Navigatiestijl
.nav-style-cad = CAD: Shift + middelste knop draait
.nav-style-blender = Blender: middelste knop draait, Shift verschuift
.nav-style-catia = CATIA: middelste + linkerknop draait
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scrollen verschuift, Ctrl+scrollen of knijpen zoomt .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: scrollen verschuift, Ctrl+scrollen of knijpen zoomt
.interface-scale = Interfaceschaal .interface-scale = Interfaceschaal
.zoom-factor = Zoomfactor .zoom-factor = Zoomfactor
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = Preferencje użytkownika .user-preferences = Preferencje użytkownika
.zoom = Powiększenie .zoom = Powiększenie
.reverse-mouse-wheel-zoom-zoomwheel = Odwróć powiększanie kółkiem myszy (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Odwróć powiększanie kółkiem myszy (ZOOMWHEEL)
.navigation-style = Styl nawigacji
.nav-style-cad = CAD: Shift + środkowy przycisk obraca
.nav-style-blender = Blender: środkowy przycisk obraca, Shift przesuwa
.nav-style-catia = CATIA: środkowy + lewy przycisk obraca
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: przewijanie przesuwa widok, Ctrl+przewijanie lub szczypanie powiększa .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: przewijanie przesuwa widok, Ctrl+przewijanie lub szczypanie powiększa
.interface-scale = Skala interfejsu .interface-scale = Skala interfejsu
.zoom-factor = Współczynnik powiększenia .zoom-factor = Współczynnik powiększenia
+4
View File
@@ -1551,6 +1551,10 @@ common =
.user-preferences = Preferências do usuário .user-preferences = Preferências do usuário
.zoom = Zoom .zoom = Zoom
.reverse-mouse-wheel-zoom-zoomwheel = Inverter o zoom da roda do mouse (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Inverter o zoom da roda do mouse (ZOOMWHEEL)
.navigation-style = Estilo de navegação
.nav-style-cad = CAD: Shift + botão do meio orbita
.nav-style-blender = Blender: botão do meio orbita, Shift desloca
.nav-style-catia = CATIA: botão do meio + esquerdo orbita
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: rolar move a vista, Ctrl+rolar ou pinçar aplica zoom .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Touchpad: rolar move a vista, Ctrl+rolar ou pinçar aplica zoom
.interface-scale = Escala da interface .interface-scale = Escala da interface
.zoom-factor = Fator de zoom .zoom-factor = Fator de zoom
+4
View File
@@ -1554,6 +1554,10 @@ common =
.user-preferences = Пользовательские настройки .user-preferences = Пользовательские настройки
.zoom = Зумирование .zoom = Зумирование
.reverse-mouse-wheel-zoom-zoomwheel = Обратить зумирование колесом мыши (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Обратить зумирование колесом мыши (ZOOMWHEEL)
.navigation-style = Стиль навигации
.nav-style-cad = CAD: Shift + средняя кнопка — вращение
.nav-style-blender = Blender: средняя кнопка — вращение, Shift — сдвиг
.nav-style-catia = CATIA: средняя + левая кнопка — вращение
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тачпад: прокрутка панорамирует, Ctrl+прокрутка или щипок масштабирует .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Тачпад: прокрутка панорамирует, Ctrl+прокрутка или щипок масштабирует
.interface-scale = Масштаб интерфейса .interface-scale = Масштаб интерфейса
.zoom-factor = Коэффициент зумирования .zoom-factor = Коэффициент зумирования
+4
View File
@@ -1537,6 +1537,10 @@ common =
.user-preferences = Kullanıcı tercihleri .user-preferences = Kullanıcı tercihleri
.zoom = Yakınlaştırma .zoom = Yakınlaştırma
.reverse-mouse-wheel-zoom-zoomwheel = Fare tekerleği yakınlaştırmasını ters çevir (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = Fare tekerleği yakınlaştırmasını ters çevir (ZOOMWHEEL)
.navigation-style = Gezinme stili
.nav-style-cad = CAD: Shift + orta tuş döndürür
.nav-style-blender = Blender: orta tuş döndürür, Shift kaydırır
.nav-style-catia = CATIA: orta + sol tuş döndürür
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Dokunmatik yüzey: kaydırma kaydırır, Ctrl+kaydırma veya sıkıştırma yakınlaştırır .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = Dokunmatik yüzey: kaydırma kaydırır, Ctrl+kaydırma veya sıkıştırma yakınlaştırır
.interface-scale = Arayüz ölçeği .interface-scale = Arayüz ölçeği
.zoom-factor = Yakınlaştırma çarpanı .zoom-factor = Yakınlaştırma çarpanı
+4
View File
@@ -1538,6 +1538,10 @@ common =
.user-preferences = 用户首选项 .user-preferences = 用户首选项
.zoom = 缩放 .zoom = 缩放
.reverse-mouse-wheel-zoom-zoomwheel = 反转鼠标滚轮缩放方向 (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = 反转鼠标滚轮缩放方向 (ZOOMWHEEL)
.navigation-style = 导航样式
.nav-style-cad = CAD:Shift + 中键旋转
.nav-style-blender = Blender:中键旋转,Shift 平移
.nav-style-catia = CATIA:中键 + 左键旋转
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 触控板:滚动平移,Ctrl+滚动或捏合缩放 .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 触控板:滚动平移,Ctrl+滚动或捏合缩放
.interface-scale = 界面缩放 .interface-scale = 界面缩放
.zoom-factor = 缩放系数 .zoom-factor = 缩放系数
+4
View File
@@ -1550,6 +1550,10 @@ common =
.user-preferences = 使用者偏好設定 .user-preferences = 使用者偏好設定
.zoom = 縮放 .zoom = 縮放
.reverse-mouse-wheel-zoom-zoomwheel = 反轉滑鼠滾輪縮放方向 (ZOOMWHEEL) .reverse-mouse-wheel-zoom-zoomwheel = 反轉滑鼠滾輪縮放方向 (ZOOMWHEEL)
.navigation-style = 導覽樣式
.nav-style-cad = CAD:Shift + 中鍵旋轉
.nav-style-blender = Blender:中鍵旋轉,Shift 平移
.nav-style-catia = CATIA:中鍵 + 左鍵旋轉
.touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 觸控板:捲動平移,Ctrl+捲動或捏合縮放 .touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms = 觸控板:捲動平移,Ctrl+捲動或捏合縮放
.interface-scale = 介面縮放 .interface-scale = 介面縮放
.zoom-factor = 縮放係數 .zoom-factor = 縮放係數
+8
View File
@@ -650,6 +650,11 @@ pub(super) struct OpenCADStudio {
polar_increment_deg: f32, polar_increment_deg: f32,
/// Reverse the mouse-wheel zoom direction when true (ZOOMWHEEL = 1). /// Reverse the mouse-wheel zoom direction when true (ZOOMWHEEL = 1).
zoom_wheel_reversed: bool, zoom_wheel_reversed: bool,
/// Which mouse gestures pan and orbit the model view.
navigation_style: crate::app::settings::NavigationStyle,
/// CATIA navigation: the left button went down while the middle one was
/// held, so the middle drag orbits until it is released.
nav_left_with_middle: bool,
/// Scroll pans and Ctrl+scroll zooms (touchpads); see `scroll_intent`. /// Scroll pans and Ctrl+scroll zooms (touchpads); see `scroll_intent`.
touchpad_pan: bool, touchpad_pan: bool,
/// Multi-finger gestures on a touch screen. /// Multi-finger gestures on a touch screen.
@@ -2657,6 +2662,7 @@ pub enum Message {
CommandLineOpacityChanged(u8), CommandLineOpacityChanged(u8),
/// Toggle reversing the mouse-wheel zoom direction (ZOOMWHEEL). /// Toggle reversing the mouse-wheel zoom direction (ZOOMWHEEL).
ZoomWheelReversedChanged(bool), ZoomWheelReversedChanged(bool),
NavigationStyleChanged(crate::app::settings::NavigationStyle),
TouchpadPanChanged(bool), TouchpadPanChanged(bool),
/// Options: show the pull-down menus (MENUBAR). /// Options: show the pull-down menus (MENUBAR).
MenuBarChanged(bool), MenuBarChanged(bool),
@@ -4632,6 +4638,8 @@ impl OpenCADStudio {
polar_mode: false, polar_mode: false,
polar_increment_deg: 45.0, polar_increment_deg: 45.0,
zoom_wheel_reversed: false, zoom_wheel_reversed: false,
navigation_style: Default::default(),
nav_left_with_middle: false,
touchpad_pan: false, touchpad_pan: false,
touch: Default::default(), touch: Default::default(),
touch_offset: None, touch_offset: None,
+29
View File
@@ -204,6 +204,33 @@ pub fn zoom_notch_percent(factor: i32) -> f32 {
(1.0 - ratio) * 100.0 (1.0 - ratio) * 100.0
} }
/// Which mouse gestures pan and orbit the model view.
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum NavigationStyle {
/// Middle button pans; Shift + middle button orbits.
#[default]
Cad,
/// Middle button orbits; Shift + middle button pans.
Blender,
/// Middle button pans; middle and left buttons together orbit.
Catia,
}
impl NavigationStyle {
pub const ALL: [NavigationStyle; 3] = [Self::Cad, Self::Blender, Self::Catia];
}
impl std::fmt::Display for NavigationStyle {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(&match self {
Self::Cad => crate::t!("CAD: Shift + middle button orbits"),
Self::Blender => crate::t!("Blender: middle button orbits, Shift pans"),
Self::Catia => crate::t!("CATIA: middle + left button orbits"),
})
}
}
/// Active pair of axes while isometric drafting is enabled. /// Active pair of axes while isometric drafting is enabled.
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
pub enum IsoPlane { pub enum IsoPlane {
@@ -388,6 +415,7 @@ pub struct UserSettings {
pub polar: bool, pub polar: bool,
pub polar_increment_deg: f32, pub polar_increment_deg: f32,
pub zoom_wheel_reversed: bool, pub zoom_wheel_reversed: bool,
pub navigation_style: NavigationStyle,
/// Scrolling pans and Ctrl+scroll (a touchpad pinch) zooms, for a /// Scrolling pans and Ctrl+scroll (a touchpad pinch) zooms, for a
/// touchpad that reports two-finger drags as wheel scrolls. /// touchpad that reports two-finger drags as wheel scrolls.
pub touchpad_pan: bool, pub touchpad_pan: bool,
@@ -891,6 +919,7 @@ impl Default for UserSettings {
polar: false, polar: false,
polar_increment_deg: 45.0, polar_increment_deg: 45.0,
zoom_wheel_reversed: false, zoom_wheel_reversed: false,
navigation_style: NavigationStyle::Cad,
touchpad_pan: false, touchpad_pan: false,
ui_scale_percent: 100, ui_scale_percent: 100,
zoom_factor: 60, zoom_factor: 60,
+2
View File
@@ -778,6 +778,7 @@ impl OpenCADStudio {
polar: self.polar_mode, polar: self.polar_mode,
polar_increment_deg: self.polar_increment_deg, polar_increment_deg: self.polar_increment_deg,
zoom_wheel_reversed: self.zoom_wheel_reversed, zoom_wheel_reversed: self.zoom_wheel_reversed,
navigation_style: self.navigation_style,
touchpad_pan: self.touchpad_pan, touchpad_pan: self.touchpad_pan,
ui_scale_percent: self.ui_scale_percent, ui_scale_percent: self.ui_scale_percent,
zoom_factor: self.zoom_factor, zoom_factor: self.zoom_factor,
@@ -913,6 +914,7 @@ impl OpenCADStudio {
self.polar_mode = s.polar; self.polar_mode = s.polar;
self.polar_increment_deg = s.polar_increment_deg; self.polar_increment_deg = s.polar_increment_deg;
self.zoom_wheel_reversed = s.zoom_wheel_reversed; self.zoom_wheel_reversed = s.zoom_wheel_reversed;
self.navigation_style = s.navigation_style;
self.touchpad_pan = s.touchpad_pan; self.touchpad_pan = s.touchpad_pan;
self.ui_scale_percent = crate::app::settings::clamp_ui_scale(s.ui_scale_percent); self.ui_scale_percent = crate::app::settings::clamp_ui_scale(s.ui_scale_percent);
self.zoom_factor = crate::app::settings::clamp_zoom_factor(s.zoom_factor); self.zoom_factor = crate::app::settings::clamp_zoom_factor(s.zoom_factor);
+26
View File
@@ -4482,6 +4482,25 @@ impl OpenCADStudio {
Task::none() Task::none()
} }
// CATIA navigation: the left button pressed during a middle drag
// turns the drag into an orbit instead of starting a pick.
Message::ViewportLeftPressAt(_) | Message::ViewportLeftPress | Message::PanePress(_)
if self.navigation_style == crate::app::settings::NavigationStyle::Catia
&& self.tabs[self.active_tab]
.scene
.selection
.borrow()
.input
.middle_down =>
{
self.nav_left_with_middle = true;
Task::none()
}
Message::ViewportLeftRelease | Message::PaneRelease(_) if self.nav_left_with_middle => {
self.nav_left_with_middle = false;
Task::none()
}
Message::ViewportMove(p) => self.on_viewport_move(p), Message::ViewportMove(p) => self.on_viewport_move(p),
Message::ViewportExit => self.on_viewport_exit(), Message::ViewportExit => self.on_viewport_exit(),
@@ -4686,6 +4705,7 @@ impl OpenCADStudio {
} }
Message::ViewportMiddleRelease => { Message::ViewportMiddleRelease => {
self.nav_left_with_middle = false;
let i = self.active_tab; let i = self.active_tab;
let mut sel = self.tabs[i].scene.selection.borrow_mut(); let mut sel = self.tabs[i].scene.selection.borrow_mut();
sel.input.middle_down = false; sel.input.middle_down = false;
@@ -9225,6 +9245,12 @@ impl OpenCADStudio {
Task::none() Task::none()
} }
Message::NavigationStyleChanged(style) => {
self.navigation_style = style;
self.persist_settings_if_changed();
Task::none()
}
Message::MenuBarChanged(shown) => { Message::MenuBarChanged(shown) => {
self.show_menu_bar = shown; self.show_menu_bar = shown;
self.persist_settings_if_changed(); self.persist_settings_if_changed();
+13 -1
View File
@@ -1416,7 +1416,7 @@ impl OpenCADStudio {
// — the requested Zoom=wheel / Pan=MMB / Rotate=Shift+MMB // — the requested Zoom=wheel / Pan=MMB / Rotate=Shift+MMB
// scheme (#229). Floating viewports and paper keep the // scheme (#229). Floating viewports and paper keep the
// plain MMB pan. // plain MMB pan.
if self.shift_down || self.tabs[i].orbit_mode { if self.middle_drag_orbits(i) {
if self.tabs[i].scene.active_viewport.is_some() { if self.tabs[i].scene.active_viewport.is_some() {
// Orbit the floating viewport's own model view. // Orbit the floating viewport's own model view.
drop(sel); drop(sel);
@@ -3165,6 +3165,18 @@ impl OpenCADStudio {
Task::none() Task::none()
} }
/// Whether a middle-button drag orbits rather than pans, by the
/// navigation style (an armed orbit tool always orbits).
fn middle_drag_orbits(&self, i: usize) -> bool {
use crate::app::settings::NavigationStyle;
self.tabs[i].orbit_mode
|| match self.navigation_style {
NavigationStyle::Cad => self.shift_down,
NavigationStyle::Blender => !self.shift_down,
NavigationStyle::Catia => self.nav_left_with_middle,
}
}
pub(crate) fn on_viewport_exit(&mut self) -> Task<Message> { pub(crate) fn on_viewport_exit(&mut self) -> Task<Message> {
let i = self.active_tab; let i = self.active_tab;
self.tabs[i].measurement.live_visible = false; self.tabs[i].measurement.live_visible = false;
+1
View File
@@ -312,6 +312,7 @@ impl OpenCADStudio {
show_ribbon: !self.ribbon_closed, show_ribbon: !self.ribbon_closed,
hatch_associative: self.hatch_associative, hatch_associative: self.hatch_associative,
zoom_wheel_reversed: self.zoom_wheel_reversed, zoom_wheel_reversed: self.zoom_wheel_reversed,
navigation_style: self.navigation_style,
touchpad_pan: self.touchpad_pan, touchpad_pan: self.touchpad_pan,
ui_scale_percent: self.ui_scale_percent, ui_scale_percent: self.ui_scale_percent,
zoom_factor: self.zoom_factor, zoom_factor: self.zoom_factor,
+4
View File
@@ -5070,6 +5070,10 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"User Preferences" => Some(("common", "user-preferences")), "User Preferences" => Some(("common", "user-preferences")),
"Zoom" => Some(("common", "zoom")), "Zoom" => Some(("common", "zoom")),
"Reverse mouse wheel zoom (ZOOMWHEEL)" => Some(("common", "reverse-mouse-wheel-zoom-zoomwheel")), "Reverse mouse wheel zoom (ZOOMWHEEL)" => Some(("common", "reverse-mouse-wheel-zoom-zoomwheel")),
"Navigation style" => Some(("common", "navigation-style")),
"CAD: Shift + middle button orbits" => Some(("common", "nav-style-cad")),
"Blender: middle button orbits, Shift pans" => Some(("common", "nav-style-blender")),
"CATIA: middle + left button orbits" => Some(("common", "nav-style-catia")),
"Touchpad: scroll pans, Ctrl+scroll or pinch zooms" => Some(("common", "touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms")), "Touchpad: scroll pans, Ctrl+scroll or pinch zooms" => Some(("common", "touchpad-scroll-pans-ctrl-scroll-or-pinch-zooms")),
"Interface scale" => Some(("common", "interface-scale")), "Interface scale" => Some(("common", "interface-scale")),
"Zoom factor" => Some(("common", "zoom-factor")), "Zoom factor" => Some(("common", "zoom-factor")),
+12
View File
@@ -63,6 +63,8 @@ pub struct AppPrefs {
pub hatch_associative: bool, pub hatch_associative: bool,
/// ZOOMWHEEL: reverse the mouse-wheel zoom direction. /// ZOOMWHEEL: reverse the mouse-wheel zoom direction.
pub zoom_wheel_reversed: bool, pub zoom_wheel_reversed: bool,
/// Which mouse gestures pan and orbit the model view.
pub navigation_style: crate::app::settings::NavigationStyle,
/// Scroll pans and Ctrl+scroll zooms (touchpads). /// Scroll pans and Ctrl+scroll zooms (touchpads).
pub touchpad_pan: bool, pub touchpad_pan: bool,
/// Interface scale in percent. /// Interface scale in percent.
@@ -1274,6 +1276,16 @@ pub fn view_window<'a>(
Space::new().height(10), Space::new().height(10),
spacemouse, spacemouse,
Space::new().height(12), Space::new().height(12),
text(crate::t!("Navigation style")).size(15),
Space::new().height(10),
iced::widget::pick_list(
Some(prefs.navigation_style),
crate::app::settings::NavigationStyle::ALL,
|style| style.to_string(),
)
.on_select(Message::NavigationStyleChanged)
.text_size(12),
Space::new().height(12),
text(crate::t!("Zoom")).size(15), text(crate::t!("Zoom")).size(15),
Space::new().height(10), Space::new().height(10),
row![ row![