From 0229386affbf883a4797c9d75bf08a44e1b3d6c3 Mon Sep 17 00:00:00 2001 From: caeyo Date: Mon, 10 Aug 2026 14:41:43 +1000 Subject: [PATCH] Add text input setting --- src/main.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main.rs b/src/main.rs index 3cfefa6..07e1d51 100644 --- a/src/main.rs +++ b/src/main.rs @@ -632,6 +632,35 @@ impl egui_dock::TabViewer for TabViewer<'_> { } } } + settings::WidgetKind::TextInput { ref default_value } => { + ui.add_space(spacing); + + let label = ui.label(&*setting.description); + if let Some(tooltip) = &setting.tooltip { + label.on_hover_text(&**tooltip); + } + + let settings_map = runtime.settings_map(); + + let mut value = match settings_map.get(&setting.key) { + Some(settings::Value::String(s)) => s.to_string(), + _ => default_value.to_string(), + }; + + if ui.text_edit_singleline(&mut value).changed() { + loop { + let old = runtime.settings_map(); + let mut new = old.clone(); + new.insert( + setting.key.clone(), + settings::Value::String(value.clone().into()), + ); + if runtime.set_settings_map_if_unchanged(&old, new) { + break; + } + } + } + } settings::WidgetKind::FileSelect { ref filters } => { ui.add_space(spacing); let settings_map = runtime.settings_map();