ecode: add centralized settings panel

- add user and project settings windows with searchable tree navigation
  - centralize setting definitions with reusable bool, choice, text, numeric, and action controls
  - apply supported configuration changes reactively
  - add inline validation and editable choices for complex value types
  - disable project document options while inheriting global settings
  - migrate font, theme, language, renderer, screenshot, and terminal settings
  - improve keyboard navigation and modal shortcut isolation
  - make configuration dialogs modal
  - persist settings when the panel closes
  - add responsive dark and light theme styling
  - update translations for new settings labels and descriptions
  - add regression coverage for modal keybinding propagation
This commit is contained in:
Martín Lucas Golini
2026-08-24 13:07:43 -03:00
parent 288aa931fe
commit 30cf6d9e97
11 changed files with 528 additions and 183 deletions
+5 -4
View File
@@ -110,6 +110,7 @@
<string name="configure_default_shell">配置默认终端</string>
<string name="configure_ignore_files_ellipsis">设置忽略的文件...</string>
<string name="configure_terminal_scrollback">Configure Terminal Scrollback</string>
<string name="terminal_scrollback">终端回滚行数</string>
<string name="configure_terminal_shell">设置终端程序</string>
<string name="confirm_build_delete">你确定要删除构建设置吗?</string>
<string name="confirm_close_folder">确定要关闭此文件夹吗?
@@ -782,10 +783,10 @@ file in the directory tree.</string>
<string name="ui_panel_font_size_desc">Set the font size used by side panels.</string>
<string name="editor_font_size_desc">Set the default code editor font size.</string>
<string name="terminal_font_size_desc">Set the default integrated terminal font size.</string>
<string name="ui_scale_factor_desc">Scale the complete user interface.</string>
<string name="line_spacing_desc">Set additional vertical spacing between editor lines.</string>
<string name="cursor_blinking_time_desc">Set the text cursor blink interval.</string>
<string name="folds_refresh_freq_desc">Set how frequently code folding ranges are recalculated.</string>
<string name="ui_scale_factor_desc">将整个用户界面缩放为 1 到 6。需要重新启动。</string>
<string name="line_spacing_desc">设置编辑器行之间的额外垂直间距。设置为 0 可禁用。</string>
<string name="cursor_blinking_time_desc">设置文本光标闪烁间隔。设置为 0 可禁用。</string>
<string name="folds_refresh_freq_desc">设置重新计算代码折叠区域的频率(最少 1 秒)。</string>
<string name="screenshot_save_path_desc">Choose where screenshots are saved.</string>
<string name="screenshot_filename_pattern_desc">Configure the timestamp-based screenshot filename pattern.</string>
<string name="screenshot_save_format_desc">Choose the image format for screenshots.</string>