From fd12ef7768d87d8c5e7f19dfc6844b1923e5d925 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Tue, 6 Oct 2026 20:22:54 +0300 Subject: [PATCH] review(#1624, #1637): repeat through dispatch_command; ZOOMFACTOR docs and Options test - A blank script line outside a command repeats the last command through dispatch_command, as the command line's empty Enter does. - ZOOMFACTOR bound docs describe the SETVAR range the PR widened, and the test keeps checking the value the Options field reaches. Co-Authored-By: Claude Opus 5.5 --- src/app/command_driver/utilities.rs | 3 ++- src/app/commands/styleprops.rs | 3 +++ src/app/settings.rs | 12 +++++------- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/app/command_driver/utilities.rs b/src/app/command_driver/utilities.rs index 07c78f99e..2b56ce63d 100644 --- a/src/app/command_driver/utilities.rs +++ b/src/app/command_driver/utilities.rs @@ -1180,8 +1180,9 @@ impl OpenCADStudio { if self.tabs[i].active_cmd.is_some() { return self.feed_command(StepInput::Enter); } + // Same repeat the command line's empty Enter gives. if let Some(cmd) = self.tabs[i].last_cmd.clone() { - return self.run_command_line(&cmd); + return self.dispatch_command(&cmd); } return Task::none(); } diff --git a/src/app/commands/styleprops.rs b/src/app/commands/styleprops.rs index cfcf0ec36..392e8c91b 100644 --- a/src/app/commands/styleprops.rs +++ b/src/app/commands/styleprops.rs @@ -3617,6 +3617,9 @@ mod tests { let _ = app.run_command_line("SETVAR ZOOMFACTOR 2"); assert_eq!(app.zoom_factor, 500, "and neither is 2"); + // What the Options field reached is still reported here. + let _ = app.update(crate::app::Message::ZoomFactorInputChanged("250".into())); + assert_eq!(app.zoom_factor, 250); let _ = app.run_command_line("SETVAR ZOOMFACTOR 60"); assert_eq!(app.zoom_factor, 60); } diff --git a/src/app/settings.rs b/src/app/settings.rs index 6c80f27d8..f5fd9ea18 100644 --- a/src/app/settings.rs +++ b/src/app/settings.rs @@ -171,13 +171,11 @@ pub fn clamp_right_click_hold_ms(v: i32) -> i32 { /// ZOOMFACTOR bounds. /// -/// `ZOOM_FACTOR_SYSVAR_MAX` is the range the system variable has: `SETVAR -/// ZOOMFACTOR` accepts 3 to 100 and nothing else, so a drawing session set -/// up on the command line stays within the range the variable has everywhere -/// else. The Options window is the app's own surface and reaches -/// `ZOOM_FACTOR_MAX` for anyone who wants a faster wheel than the variable -/// can express; that value lives only in this application's own -/// configuration file, so it is nobody else's to read. +/// `ZOOM_FACTOR_SYSVAR_MAX` is where the Options slider stops: the range the +/// variable has elsewhere. Both the Options field and `SETVAR ZOOMFACTOR` +/// reach `ZOOM_FACTOR_MAX` for anyone who wants a faster wheel; the value +/// lives only in this application's own configuration file, so it is nobody +/// else's to read. pub const ZOOM_FACTOR_MIN: i32 = 3; pub const ZOOM_FACTOR_SYSVAR_MAX: i32 = 100; pub const ZOOM_FACTOR_MAX: i32 = 500;