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 <[email protected]>
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

+12
View File
@@ -63,6 +63,8 @@ pub struct AppPrefs {
pub hatch_associative: bool,
/// ZOOMWHEEL: reverse the mouse-wheel zoom direction.
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).
pub touchpad_pan: bool,
/// Interface scale in percent.
@@ -1274,6 +1276,16 @@ pub fn view_window<'a>(
Space::new().height(10),
spacemouse,
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),
Space::new().height(10),
row![