forked from 1b-agent/opencadstudio-upstream
Put text fill and the command-line preferences on the Display page
Three settings that work, persist, and could only be reached by typing their name: TEXTFILL, CLIPROMPTLINES and COMMANDLINEFADETIME. The last two govern how much of the command window is prompt and how long its history lingers — the kind of thing people fiddle with once and then leave, which is exactly what a settings dialog is for. One fix rides along. TEXTFILL is a process-global, so changing it invalidates the text in every open drawing; the SETVAR path rebuilt only the active tab, leaving the others rendering the previous setting until an unrelated edit happened to rebuild them. Both paths now go through `invalidate_text_everywhere`, so the checkbox and the command cannot disagree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ec8d733857
commit
a0027a8977
6 files changed
+119
-3
No files matched your search
@@ -6200,6 +6200,29 @@ impl OpenCADStudio {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::TextFillChanged(filled) => {
|
||||
crate::scene::text::sdf_atlas::set_textfill(filled);
|
||||
self.invalidate_text_everywhere();
|
||||
self.persist_settings_if_changed();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::ClipromptLinesChanged(lines) => {
|
||||
let lines = crate::app::settings::clamp_clipromptlines(lines);
|
||||
self.cliprompt_lines = lines;
|
||||
self.command_line.set_cliprompt_lines(lines.clamp(0, 50) as u8);
|
||||
self.persist_settings_if_changed();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::CommandLineFadeChanged(ms) => {
|
||||
let ms = crate::app::settings::clamp_commandline_fade_ms(ms);
|
||||
self.commandline_fade_ms = ms;
|
||||
self.command_line.set_commandline_fade_ms(ms.max(0) as u32);
|
||||
self.persist_settings_if_changed();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::PickDragRectToggled(rectangle) => {
|
||||
self.pick_drag_rect = rectangle;
|
||||
self.persist_settings_if_changed();
|
||||
|
||||
Reference in new issue
Block a user