Fix external font handling in UIFontPickerDialog

Preserve explicitly selected font styles and correctly reconcile external fonts with the asynchronously loaded system font list.

Group same-family external fonts under the Style column when styles are visible, and expose them as distinct family entries when styles are hidden. Include filenames in localized external-font labels to distinguish alternate
font versions.

Ensure system-listed regular faces remain available after asynchronous loading and add regression coverage for collisions, selection, and hidden style behavior.
This commit is contained in:
Martín Lucas Golini
2026-08-14 13:52:55 -03:00
parent f8cef977d6
commit 1b901eaa02
8 changed files with 179 additions and 29 deletions
+2
View File
@@ -323,6 +323,8 @@ ecode versucht, externes Terminal zu öffnen.</string>
<string name="folder_project_settings">Ordner/Projekteinstellungen</string>
<string name="folder_settings">Ordner/Projekteinstellungen</string>
<string name="folds_refresh_freq">Blockfaltungsaktualisierungsfrequenz</string>
<string name="font_picker_external">Extern</string>
<string name="font_picker_external_file">Extern: %s</string>
<string name="font_size_grow">Schriftgröße erhöhen</string>
<string name="font_size_reset">Schriftgröße zurücksetzen</string>
<string name="font_size_shrink">Schriftgröße verringern</string>
+2
View File
@@ -307,6 +307,8 @@ ecode will try to open an external terminal.</string>
<string name="folder_project_settings">Folder/Project Settings</string>
<string name="folder_settings">Folder/Project Settings</string>
<string name="folds_refresh_freq">Folds Refresh Frequency</string>
<string name="font_picker_external">External</string>
<string name="font_picker_external_file">External: %s</string>
<string name="font_size_grow">Font Size Grow</string>
<string name="font_size_reset">Font Size Reset</string>
<string name="font_size_shrink">Font Size Shrink</string>
+2
View File
@@ -306,6 +306,8 @@ ecode tentera d'ouvrir un terminal externe.</string>
<string name="folder_project_settings">Paramètres du dossier/projet</string>
<string name="folder_settings">Paramètres du dossier/projet</string>
<string name="folds_refresh_freq">Fréquence de rafraîchissement des replis</string>
<string name="font_picker_external">Externe</string>
<string name="font_picker_external_file">Externe : %s</string>
<string name="font_size_grow">Augmenter la taille de la police</string>
<string name="font_size_reset">Réinitialiser la taille de la police</string>
<string name="font_size_shrink">Réduire la taille de la police</string>
+2
View File
@@ -231,6 +231,8 @@
<string name="find_text">查找:</string>
<string name="folder_project_settings">文件夹/项目设置</string>
<string name="folder_settings">文件夹设置</string>
<string name="font_picker_external">外部</string>
<string name="font_picker_external_file">外部:%s</string>
<string name="font_size_grow">字号+</string>
<string name="font_size_reset">字号重置</string>
<string name="font_size_shrink">字号-</string>