feat(viewport): expand ZOOMFACTOR range to 500

This commit is contained in:
F4brizi committed 2026-10-01 18:49:23 -03:00
1 parent f08eb77b97
commit e131843826
7 files changed
+21 -10

No files matched your search

+2 -2
View File
@@ -1688,11 +1688,11 @@ impl OpenCADStudio {
},
"ZOOMFACTOR" => match &value {
Some(v) => match v.parse::<i32>() {
Ok(factor) if (3..=100).contains(&factor) => {
Ok(factor) if (3..=500).contains(&factor) => {
self.zoom_factor = factor;
Ok((format!("ZOOMFACTOR = {factor}"), true))
}
_ => Err("SETVAR: integer from 3 to 100 required.".into()),
_ => Err("SETVAR: integer from 3 to 500 required.".into()),
},
None => {
Ok((format!("ZOOMFACTOR = {}", self.zoom_factor), false))
+2 -2
View File
@@ -554,7 +554,7 @@ pub(super) struct OpenCADStudio {
polar_increment_deg: f32,
/// Reverse the mouse-wheel zoom direction when true (ZOOMWHEEL = 1).
zoom_wheel_reversed: bool,
/// Mouse-wheel zoom sensitivity, clamped to 3..=100 (ZOOMFACTOR).
/// Mouse-wheel zoom sensitivity, clamped to 3..=500 (ZOOMFACTOR).
zoom_factor: i32,
/// Crosshair size setting (CURSORSIZE, 1..=100).
cursor_size: i32,
@@ -2308,7 +2308,7 @@ pub enum Message {
CommandLineFadeChanged(i32),
/// Toggle reversing the mouse-wheel zoom direction (ZOOMWHEEL).
ZoomWheelReversedChanged(bool),
/// Change how far one wheel notch zooms (ZOOMFACTOR, 3..=100).
/// Change how far one wheel notch zooms (ZOOMFACTOR, 3..=500).
ZoomFactorChanged(i32),
/// Options → User Preferences: right-click behaviour (SHORTCUTMENU).
RightClickModeChanged(settings::RightClickMode),
+11
View File
@@ -222,4 +222,15 @@ mod tests {
assert_eq!(h.display_silhouette, silhouette);
assert!(!app.tabs[i].dirty, "the drawing is as unmodified as it was");
}
#[test]
fn zoom_factor_supports_values_above_100() {
let mut app = app();
let _ = app.update(Message::ZoomFactorChanged(250));
assert_eq!(app.zoom_factor, 250);
let _ = app.update(Message::ZoomFactorChanged(500));
assert_eq!(app.zoom_factor, 500);
let _ = app.update(Message::ZoomFactorChanged(600));
assert_eq!(app.zoom_factor, 500, "clamped to new upper limit of 500");
}
}
+1 -1
View File
@@ -743,7 +743,7 @@ impl OpenCADStudio {
self.polar_mode = s.polar;
self.polar_increment_deg = s.polar_increment_deg;
self.zoom_wheel_reversed = s.zoom_wheel_reversed;
self.zoom_factor = s.zoom_factor.clamp(3, 100);
self.zoom_factor = s.zoom_factor.clamp(3, 500);
self.cursor_size = s.cursor_size.clamp(1, 100);
self.pick_box = s.pick_box.clamp(0, 50);
self.options_tab = s.options_tab;
+1 -1
View File
@@ -8239,7 +8239,7 @@ impl OpenCADStudio {
}
Message::ZoomFactorChanged(factor) => {
self.zoom_factor = factor.clamp(3, 100);
self.zoom_factor = factor.clamp(3, 500);
self.persist_settings_if_changed();
Task::none()
}