Merge PR #1110: expose selection settings

# Conflicts:
#	src/app/mod.rs
#	src/app/properties.rs
#	src/app/settings.rs
#	src/app/update/file.rs
#	src/app/view/modal.rs
#	src/ui/window/options.rs
This commit is contained in:
Hakan Seven committed 2026-09-09 14:40:37 +03:00
commit 9fe6033304
34 files changed
+616 -34

No files matched your search

+17
View File
@@ -504,6 +504,9 @@ pub(super) struct OpenCADStudio {
double_click_block_refedit: bool,
/// Open ATTEDIT when double-clicking a block with attributes.
double_click_block_attedit: bool,
/// Selected-object count past which grips stop being generated
/// (GRIPOBJLIMIT, 0..=32767; 0 = no limit).
grip_object_limit: i32,
/// Drawing viewport cursor style (CURSORTYPE).
cursor_type: settings::CursorType,
/// Explicit crosshair colour; `None` retains automatic contrast.
@@ -1985,6 +1988,19 @@ pub enum Message {
GripHotChanged(u8),
/// Change Hover/Warm Grip color ACI index (0 = Theme Primary Strong, 1..=255 = ACI, GRIPHOVER).
GripHoverChanged(u8),
/// Change the selected-object count past which grips stop being drawn
/// (0..=32767, 0 = no limit, GRIPOBJLIMIT).
GripObjectLimitChanged(i32),
/// Toggle the solid selection highlight (SELECTIONEFFECT).
SelectionEffectToggled(bool),
/// Toggle rollover preview while no command is running (SELECTIONPREVIEW bit 1).
SelectionPreviewIdleToggled(bool),
/// Toggle rollover preview during a command (SELECTIONPREVIEW bit 2).
SelectionPreviewCommandToggled(bool),
/// Toggle "use Shift to add to selection"; this is the inverse of PICKADD.
ShiftToAddToggled(bool),
/// Toggle press-and-drag drawing a rectangle instead of a lasso (PICKDRAG).
PickDragRectToggled(bool),
/// Restore Model Space display/canvas appearance to defaults.
RestoreModelSpaceDisplayDefaults,
/// Restore Selection visual effect settings to defaults.
@@ -3381,6 +3397,7 @@ impl OpenCADStudio {
pick_box: 3,
double_click_block_refedit: false,
double_click_block_attedit: true,
grip_object_limit: settings::DEFAULT_GRIP_OBJECT_LIMIT,
cursor_type: settings::CursorType::Crosshair,
crosshair_color: None,
crosshair_color_input: String::new(),