Skip to content

Commit 6280e3e

Browse files
committed
feat(settings): custom font by type font name
1 parent e86a723 commit 6280e3e

8 files changed

Lines changed: 258 additions & 77 deletions

File tree

lib/l10n/app_en.arb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@
8585
"settingsFontFamilyDesc": "Application font family",
8686
"settingsFontHarmonyOS": "HarmonyOS Sans SC (Default, Recommended)",
8787
"settingsFontSystem": "System Default",
88+
"settingsFontCustomOption": "Custom",
89+
"settingsCustomFontTitle": "Custom font",
90+
"settingsCustomFontDesc": "Enter the name of the system font to use",
91+
"settingsCustomFontHint": "e.g. LXGW WenKai Screen",
8892

8993
"settingsSendModeTitle": "Send Mode",
9094
"settingsSendModeDesc": "Keyboard shortcut for sending messages",

lib/l10n/app_localizations.dart

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,30 @@ abstract class AppLocalizations {
494494
/// **'System Default'**
495495
String get settingsFontSystem;
496496

497+
/// No description provided for @settingsFontCustomOption.
498+
///
499+
/// In en, this message translates to:
500+
/// **'Custom'**
501+
String get settingsFontCustomOption;
502+
503+
/// No description provided for @settingsCustomFontTitle.
504+
///
505+
/// In en, this message translates to:
506+
/// **'Custom font'**
507+
String get settingsCustomFontTitle;
508+
509+
/// No description provided for @settingsCustomFontDesc.
510+
///
511+
/// In en, this message translates to:
512+
/// **'Enter the name of the system font to use'**
513+
String get settingsCustomFontDesc;
514+
515+
/// No description provided for @settingsCustomFontHint.
516+
///
517+
/// In en, this message translates to:
518+
/// **'e.g. LXGW WenKai Screen'**
519+
String get settingsCustomFontHint;
520+
497521
/// No description provided for @settingsSendModeTitle.
498522
///
499523
/// In en, this message translates to:

lib/l10n/app_localizations_en.dart

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,19 @@ class AppLocalizationsEn extends AppLocalizations {
215215
@override
216216
String get settingsFontSystem => 'System Default';
217217

218+
@override
219+
String get settingsFontCustomOption => 'Custom';
220+
221+
@override
222+
String get settingsCustomFontTitle => 'Custom font';
223+
224+
@override
225+
String get settingsCustomFontDesc =>
226+
'Enter the name of the system font to use';
227+
228+
@override
229+
String get settingsCustomFontHint => 'e.g. LXGW WenKai Screen';
230+
218231
@override
219232
String get settingsSendModeTitle => 'Send Mode';
220233

lib/l10n/app_localizations_zh.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,18 @@ class AppLocalizationsZh extends AppLocalizations {
207207
@override
208208
String get settingsFontSystem => '系统默认';
209209

210+
@override
211+
String get settingsFontCustomOption => '自定义';
212+
213+
@override
214+
String get settingsCustomFontTitle => '自定义字体';
215+
216+
@override
217+
String get settingsCustomFontDesc => '输入要使用的系统字体名称';
218+
219+
@override
220+
String get settingsCustomFontHint => '例如:LXGW WenKai Screen';
221+
210222
@override
211223
String get settingsSendModeTitle => '发送模式';
212224

lib/l10n/app_zh.arb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@
7676
"settingsFontFamilyDesc": "应用使用的字体",
7777
"settingsFontHarmonyOS": "HarmonyOS Sans SC (默认,推荐)",
7878
"settingsFontSystem": "系统默认",
79+
"settingsFontCustomOption": "自定义",
80+
"settingsCustomFontTitle": "自定义字体",
81+
"settingsCustomFontDesc": "输入要使用的系统字体名称",
82+
"settingsCustomFontHint": "例如:LXGW WenKai Screen",
7983

8084
"settingsSendModeTitle": "发送模式",
8185
"settingsSendModeDesc": "发送使用的快捷键",

lib/models/app_state.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ class AppState extends ChangeNotifier {
5555
String? get fontFamily {
5656
final font = _settingsService.getValue<String>('fontFamily', 'System Default');
5757
if (font == 'System Default') return null;
58+
if (font == '__custom__') {
59+
final customFontName =
60+
_settingsService.getValue<String>('customFontName', '');
61+
if (customFontName.isEmpty) return null;
62+
return customFontName;
63+
}
5864
return font;
5965
}
6066

0 commit comments

Comments
 (0)