diff --git a/lib/app.dart b/lib/app.dart index 6c54d220..c61f708e 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:toolbox/core/utils/misc.dart'; import '/core/extension/colorx.dart'; import 'core/utils/ui.dart'; @@ -18,7 +17,6 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { setTransparentNavigationBar(context); - final fontName = getFileName(_setting.fontPath.fetch()); primaryColor = Color(_setting.primaryColor.fetch()!); final textStyle = TextStyle(color: primaryColor); @@ -51,7 +49,6 @@ class MyApp extends StatelessWidget { final theme = ThemeData( useMaterial3: false, - fontFamily: fontName, primaryColor: primaryColor, primarySwatch: primarySwatch, appBarTheme: appBarTheme, @@ -64,7 +61,6 @@ class MyApp extends StatelessWidget { ); final darkTheme = ThemeData( useMaterial3: false, - fontFamily: fontName, primaryColor: primaryColor, primarySwatch: primarySwatch, floatingActionButtonTheme: fabTheme, diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index edce6ae8..fa46d14d 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 250; + static const int build = 252; static const String engine = "Flutter 3.7.7 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision 2ad6cd72c0 (3 weeks ago) • 2023-03-08 09:41:59 -0800\nEngine • revision 1837b5be5f\nTools • Dart 2.19.4 • DevTools 2.20.1\n"; - static const String buildAt = "2023-03-28 17:16:16.365127"; - static const int modifications = 2; + static const String buildAt = "2023-03-28 17:42:34.827687"; + static const int modifications = 3; } diff --git a/lib/view/page/setting.dart b/lib/view/page/setting.dart index fe7db727..b65989af 100644 --- a/lib/view/page/setting.dart +++ b/lib/view/page/setting.dart @@ -79,6 +79,9 @@ class _SettingPageState extends State { // Server _buildTitle(_s.server), _buildServer(), + // SSH + _buildTitle('SSH'), + _buildSSH(), const SizedBox(height: 37), ], ), @@ -102,7 +105,6 @@ class _SettingPageState extends State { _buildThemeMode(), _buildAppColorPreview(), _buildLaunchPage(), - _buildFont(), _buildCheckUpdate(), ]; if (isIOS) { @@ -121,12 +123,20 @@ class _SettingPageState extends State { children: [ _buildDistLogoSwitch(), _buildUpdateInterval(), - _buildTermTheme(), _buildMaxRetry(), ].map((e) => RoundRectCard(e)).toList(), ); } + Widget _buildSSH() { + return Column( + children: [ + _buildTermTheme(), + _buildFont(), + ].map((e) => RoundRectCard(e)).toList(), + ); + } + Widget _buildDistLogoSwitch() { return ListTile( title: Text( @@ -482,11 +492,17 @@ class _SettingPageState extends State { Future _pickFontFile() async { final path = await pickOneFile(); if (path != null) { - final fontDir_ = await fontDir; - final fontFile = File(path); - final newPath = '${fontDir_.path}/${path.split('/').last}'; - await fontFile.copy(newPath); - _setting.fontPath.put(newPath); + // iOS can't copy file to app dir, so we need to use the original path + if (isIOS) { + _setting.fontPath.put(path); + } else { + final fontDir_ = await fontDir; + final fontFile = File(path); + final newPath = '${fontDir_.path}/${path.split('/').last}'; + await fontFile.copy(newPath); + _setting.fontPath.put(newPath); + } + setState(() {}); _showRestartSnackbar(); return;