feat(options): command line text colour and a fonts folder

Display gets a command line text colour (blank keeps the theme's); it
covers history, prompts and the input, while errors stay red. Files
lists the fonts folder that text resolution searches, so .shx files can
be added by hand; opening it creates it first.

Discussions #1493, #1372

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-07 08:50:12 +03:00
1 parent 1c37c90c75
commit 7a8ec02003
29 files changed
+144 -15

No files matched your search

+7
View File
@@ -592,6 +592,10 @@ pub(super) struct OpenCADStudio {
crosshair_color_input: String,
/// Explicit object-snap marker colour; `None` keeps the automatic one.
snap_marker_color: Option<[u8; 3]>,
/// Explicit command-line text colour; `None` keeps the theme's.
command_text_color: Option<[u8; 3]>,
/// Editable Options buffer for the command-line text colour.
command_text_color_input: String,
/// Editable Options buffer for the snap marker colour.
snap_marker_color_input: String,
/// Defer the ISOLINES mesh rebuild until the slider is released.
@@ -2296,6 +2300,7 @@ pub enum Message {
/// Edit the optional crosshair RGB value; blank restores automatic contrast.
CrosshairColorChanged(String),
SnapMarkerColorChanged(String),
CommandTextColorChanged(String),
/// Options → Files: the default template for new drawings.
QnewTemplateChanged(String),
QnewTemplateBrowse,
@@ -4167,6 +4172,8 @@ impl OpenCADStudio {
crosshair_color_input: String::new(),
snap_marker_color: None,
snap_marker_color_input: String::new(),
command_text_color: None,
command_text_color_input: String::new(),
isolines_awaiting_regen: false,
snap_angle_input: "0".to_string(),
lineweight_display_scale: 100,