diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n.dart b/.dart_tool/flutter_gen/gen_l10n/l10n.dart index 972cacec..b16d5b84 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n.dart @@ -470,6 +470,12 @@ abstract class S { /// **'Editor'** String get editor; + /// No description provided for @editorHighlightTip. + /// + /// In en, this message translates to: + /// **'The current code highlighting performance is worse and can be optionally turned off to improve.'** + String get editorHighlightTip; + /// No description provided for @encode. /// /// In en, this message translates to: @@ -620,6 +626,12 @@ abstract class S { /// **'Go to'** String get goto; + /// No description provided for @highlight. + /// + /// In en, this message translates to: + /// **'Code highlight'** + String get highlight; + /// No description provided for @homeWidgetUrlConfig. /// /// In en, this message translates to: diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart index a6d73a9f..449f6270 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart @@ -200,6 +200,9 @@ class SDe extends S { @override String get editor => 'Editor'; + @override + String get editorHighlightTip => 'Die Leistung der aktuellen Codehervorhebung ist schlechter und kann zur Verbesserung optional ausgeschaltet werden.'; + @override String get encode => 'Encode'; @@ -281,6 +284,9 @@ class SDe extends S { @override String get goto => 'Pfad öffnen'; + @override + String get highlight => 'Code highlight'; + @override String get homeWidgetUrlConfig => 'Home-Widget-Link konfigurieren'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart index b2505fa6..3312c437 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart @@ -200,6 +200,9 @@ class SEn extends S { @override String get editor => 'Editor'; + @override + String get editorHighlightTip => 'The current code highlighting performance is worse and can be optionally turned off to improve.'; + @override String get encode => 'Encode'; @@ -281,6 +284,9 @@ class SEn extends S { @override String get goto => 'Go to'; + @override + String get highlight => 'Code highlight'; + @override String get homeWidgetUrlConfig => 'Config home widget url'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart index 871be0f8..31375585 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart @@ -200,6 +200,9 @@ class SId extends S { @override String get editor => 'Editor'; + @override + String get editorHighlightTip => 'Performa penyorotan kode saat ini lebih buruk, dan dapat dimatikan secara opsional untuk perbaikan.'; + @override String get encode => 'Menyandi'; @@ -281,6 +284,9 @@ class SId extends S { @override String get goto => 'Pergi ke'; + @override + String get highlight => 'Sorotan kode'; + @override String get homeWidgetUrlConfig => 'Konfigurasi URL Widget Rumah'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart index aded03a9..0c315f5e 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart @@ -200,6 +200,9 @@ class SZh extends S { @override String get editor => '编辑器'; + @override + String get editorHighlightTip => '目前的代码高亮性能较为糟糕,可以选择关闭以改善。'; + @override String get encode => '编码'; @@ -281,6 +284,9 @@ class SZh extends S { @override String get goto => '前往'; + @override + String get highlight => '代码高亮'; + @override String get homeWidgetUrlConfig => '桌面部件链接配置'; @@ -944,6 +950,9 @@ class SZhTw extends SZh { @override String get editor => '編輯器'; + @override + String get editorHighlightTip => '目前的代碼高亮性能較為糟糕,可以選擇關閉以改善。'; + @override String get encode => '編碼'; @@ -1025,6 +1034,9 @@ class SZhTw extends SZh { @override String get goto => '前往'; + @override + String get highlight => '代碼高亮'; + @override String get homeWidgetUrlConfig => '桌面部件鏈接配置'; diff --git a/lib/data/store/setting.dart b/lib/data/store/setting.dart index 428cbbbd..dc534b7e 100644 --- a/lib/data/store/setting.dart +++ b/lib/data/store/setting.dart @@ -212,6 +212,9 @@ class SettingStore extends PersistentStore { false, ); + /// The performance of highlight is bad + late final editorHighlight = StoreProperty(box, 'editorHighlight', true); + // Never show these settings for users // // ------BEGIN------ diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 24e6d79e..65db8feb 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -62,6 +62,7 @@ "edit": "Bearbeiten", "editVirtKeys": "Virtuelle Tasten bearbeiten", "editor": "Editor", + "editorHighlightTip": "Die Leistung der aktuellen Codehervorhebung ist schlechter und kann zur Verbesserung optional ausgeschaltet werden.", "encode": "Encode", "error": "Fehler", "exampleName": "Servername", @@ -87,6 +88,7 @@ "gettingToken": "Getting token...", "goBackQ": "Zurückkommen?", "goto": "Pfad öffnen", + "highlight": "Code highlight", "homeWidgetUrlConfig": "Home-Widget-Link konfigurieren", "host": "Host", "httpFailedWithCode": "Anfrage fehlgeschlagen, Statuscode: {code}", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index c0a8e46d..5ec704cc 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -62,6 +62,7 @@ "edit": "Edit", "editVirtKeys": "Edit virtual keys", "editor": "Editor", + "editorHighlightTip": "The current code highlighting performance is worse and can be optionally turned off to improve.", "encode": "Encode", "error": "Error", "exampleName": "Example name", @@ -87,6 +88,7 @@ "gettingToken": "Getting token...", "goBackQ": "Go back?", "goto": "Go to", + "highlight": "Code highlight", "homeWidgetUrlConfig": "Config home widget url", "host": "Host", "httpFailedWithCode": "request failed, status code: {code}", diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 23fad615..9d14dd49 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -62,6 +62,7 @@ "edit": "Edit", "editVirtKeys": "Edit kunci virtual", "editor": "Editor", + "editorHighlightTip": "Performa penyorotan kode saat ini lebih buruk, dan dapat dimatikan secara opsional untuk perbaikan.", "encode": "Menyandi", "error": "Kesalahan", "exampleName": "Nama contoh", @@ -87,6 +88,7 @@ "gettingToken": "Mendapatkan token ...", "goBackQ": "Datang kembali?", "goto": "Pergi ke", + "highlight": "Sorotan kode", "homeWidgetUrlConfig": "Konfigurasi URL Widget Rumah", "host": "Host", "httpFailedWithCode": "Permintaan gagal, kode status: {code}", diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 1a46d017..5421bc70 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -62,6 +62,7 @@ "edit": "编辑", "editVirtKeys": "编辑虚拟按键", "editor": "编辑器", + "editorHighlightTip": "目前的代码高亮性能较为糟糕,可以选择关闭以改善。", "encode": "编码", "error": "错误", "exampleName": "名称示例", @@ -87,6 +88,7 @@ "gettingToken": "正在获取Token...", "goBackQ": "返回?", "goto": "前往", + "highlight": "代码高亮", "homeWidgetUrlConfig": "桌面部件链接配置", "host": "主机", "httpFailedWithCode": "请求失败, 状态码: {code}", diff --git a/lib/l10n/app_zh_tw.arb b/lib/l10n/app_zh_tw.arb index edf20e63..dcba2c5f 100644 --- a/lib/l10n/app_zh_tw.arb +++ b/lib/l10n/app_zh_tw.arb @@ -62,6 +62,7 @@ "edit": "編輯", "editVirtKeys": "編輯虛擬按鍵", "editor": "編輯器", + "editorHighlightTip": "目前的代碼高亮性能較為糟糕,可以選擇關閉以改善。", "encode": "編碼", "error": "錯誤", "exampleName": "名稱範例", @@ -87,6 +88,7 @@ "gettingToken": "正在獲取Token...", "goBackQ": "返回?", "goto": "前往", + "highlight": "代碼高亮", "homeWidgetUrlConfig": "桌面部件鏈接配置", "host": "主機", "httpFailedWithCode": "請求失敗, 狀態碼: {code}", diff --git a/lib/view/page/editor.dart b/lib/view/page/editor.dart index 3cb8105d..43e289ad 100644 --- a/lib/view/page/editor.dart +++ b/lib/view/page/editor.dart @@ -57,10 +57,12 @@ class _EditorPageState extends State { super.initState(); /// Higher priority than [path] - _langCode = widget.langCode ?? Highlights.getCode(widget.path); - _controller = CodeController( - language: Highlights.all[_langCode], - ); + if (Stores.setting.editorHighlight.fetch()) { + _langCode = widget.langCode ?? Highlights.getCode(widget.path); + } + _controller = CodeController( + language: Highlights.all[_langCode], + ); /// TODO: This is a temporary solution to avoid the loading stuck Future.delayed(const Duration(milliseconds: 377)).then((value) async { diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index 0e3fdb7e..e6cb184d 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -245,6 +245,7 @@ class _SettingPageState extends State { _buildEditorFontSize(), _buildEditorTheme(), _buildEditorDarkTheme(), + _buildEditorHighlight(), ].map((e) => RoundRectCard(e)).toList(), ); } @@ -1072,4 +1073,12 @@ class _SettingPageState extends State { }, ); } + + Widget _buildEditorHighlight() { + return ListTile( + title: Text(l10n.highlight), + subtitle: Text(l10n.editorHighlightTip, style: UIs.textGrey), + trailing: StoreSwitch(prop: _setting.editorHighlight), + ); + } }