From 5baf6832788748adb1e895ce81163aaac3678fc2 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Wed, 6 Mar 2024 11:35:24 +0800 Subject: [PATCH] readd: double column on server page --- .dart_tool/flutter_gen/gen_l10n/l10n.dart | 6 ++++++ .dart_tool/flutter_gen/gen_l10n/l10n_de.dart | 3 +++ .dart_tool/flutter_gen/gen_l10n/l10n_en.dart | 3 +++ .dart_tool/flutter_gen/gen_l10n/l10n_fr.dart | 3 +++ .dart_tool/flutter_gen/gen_l10n/l10n_id.dart | 3 +++ .dart_tool/flutter_gen/gen_l10n/l10n_zh.dart | 6 ++++++ lib/data/store/setting.dart | 12 ++++++------ lib/l10n/app_de.arb | 1 + lib/l10n/app_en.arb | 1 + lib/l10n/app_fr.arb | 1 + lib/l10n/app_id.arb | 1 + lib/l10n/app_zh.arb | 1 + lib/l10n/app_zh_tw.arb | 1 + lib/view/page/server/tab.dart | 3 ++- lib/view/page/setting/entry.dart | 15 ++++++++------- make.dart | 6 +++--- 16 files changed, 49 insertions(+), 17 deletions(-) diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n.dart b/.dart_tool/flutter_gen/gen_l10n/l10n.dart index 020c562c..b385e478 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n.dart @@ -514,6 +514,12 @@ abstract class S { /// **'Double column mode'** String get doubleColumnMode; + /// No description provided for @doubleColumnTip. + /// + /// In en, this message translates to: + /// **'This option only enables the feature, whether it can actually be enabled depends on the width of the device'** + String get doubleColumnTip; + /// No description provided for @download. /// /// 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 1f0cebfa..939015bc 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_de.dart @@ -221,6 +221,9 @@ class SDe extends S { @override String get doubleColumnMode => 'Doppelspaltiger Modus'; + @override + String get doubleColumnTip => 'Diese Option aktiviert nur die Funktion, ob sie tatsächlich aktiviert werden kann, hängt auch von der Breite des Geräts ab'; + @override String get download => 'Download'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart index 4ee92d50..38341c20 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_en.dart @@ -221,6 +221,9 @@ class SEn extends S { @override String get doubleColumnMode => 'Double column mode'; + @override + String get doubleColumnTip => 'This option only enables the feature, whether it can actually be enabled depends on the width of the device'; + @override String get download => 'Download'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart index aeeab7c1..ca3d7da2 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_fr.dart @@ -221,6 +221,9 @@ class SFr extends S { @override String get doubleColumnMode => 'Mode double colonne'; + @override + String get doubleColumnTip => 'Cette option ne fait que activer la fonction, sa réalisation dépend également de la largeur de l\'appareil.'; + @override String get download => 'Télécharger'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart index 1ce4fbc3..1034239f 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_id.dart @@ -221,6 +221,9 @@ class SId extends S { @override String get doubleColumnMode => 'Mode kolom ganda'; + @override + String get doubleColumnTip => 'Opsi ini hanya mengaktifkan fitur, apakah itu benar-benar dapat diaktifkan tergantung pada lebar perangkat'; + @override String get download => 'Unduh'; diff --git a/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart b/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart index 19cee2b9..870d4ef6 100644 --- a/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart +++ b/.dart_tool/flutter_gen/gen_l10n/l10n_zh.dart @@ -221,6 +221,9 @@ class SZh extends S { @override String get doubleColumnMode => '双列模式'; + @override + String get doubleColumnTip => '此选项仅开启功能,实际是否能开启还取决于设备的宽度'; + @override String get download => '下载'; @@ -1108,6 +1111,9 @@ class SZhTw extends SZh { @override String get doubleColumnMode => '雙列模式'; + @override + String get doubleColumnTip => '此選項僅開啟功能,實際是否能開啟還取決於設備的寬度'; + @override String get download => '下載'; diff --git a/lib/data/store/setting.dart b/lib/data/store/setting.dart index 65bbd7ef..ca4122f7 100644 --- a/lib/data/store/setting.dart +++ b/lib/data/store/setting.dart @@ -43,12 +43,6 @@ class SettingStore extends PersistentStore { late final diskIgnorePath = property('diskIgnorePath', Defaults.diskIgnorePath); - /// Use double column servers page on Desktop - late final doubleColumnServersPage = property( - 'doubleColumnServersPage', - isDesktop, - ); - /// Disk view: amount / IO late final serverTabPreferDiskAmount = property( 'serverTabPreferDiskAmount', @@ -245,6 +239,12 @@ class SettingStore extends PersistentStore { /// Result: use x86pkg_temp's temperature as the temperature late final preferTemperatureDevs = listProperty('preferTemperatureDevs', []); + + /// Use double column servers page on Desktop + late final doubleColumnServersPage = property( + 'doubleColumnServersPage', + true, + ); // Never show these settings for users // diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 4ada45e6..9bbc8cc2 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount} aktiv, {stoppedCount} container gestoppt.", "dockerStatusRunningFmt": "{count} Container aktiv", "doubleColumnMode": "Doppelspaltiger Modus", + "doubleColumnTip": "Diese Option aktiviert nur die Funktion, ob sie tatsächlich aktiviert werden kann, hängt auch von der Breite des Geräts ab", "download": "Download", "edit": "Bearbeiten", "editVirtKeys": "Virtuelle Tasten bearbeiten", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 09633817..4b767e98 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount} running, {stoppedCount} container stopped.", "dockerStatusRunningFmt": "{count} container running.", "doubleColumnMode": "Double column mode", + "doubleColumnTip": "This option only enables the feature, whether it can actually be enabled depends on the width of the device", "download": "Download", "edit": "Edit", "editVirtKeys": "Edit virtual keys", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index e48a6d5e..3742e632 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount} en cours d'exécution, {stoppedCount} conteneurs arrêtés.", "dockerStatusRunningFmt": "{count} conteneurs en cours d'exécution.", "doubleColumnMode": "Mode double colonne", + "doubleColumnTip": "Cette option ne fait que activer la fonction, sa réalisation dépend également de la largeur de l'appareil.", "download": "Télécharger", "edit": "Modifier", "editVirtKeys": "Modifier les touches virtuelles", diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 37bf6fe2..e9371be0 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount} running, {stoppedCount} container stopped.", "dockerStatusRunningFmt": "{count} wadah berjalan.", "doubleColumnMode": "Mode kolom ganda", + "doubleColumnTip": "Opsi ini hanya mengaktifkan fitur, apakah itu benar-benar dapat diaktifkan tergantung pada lebar perangkat", "download": "Unduh", "edit": "Edit", "editVirtKeys": "Edit kunci virtual", diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index 0099cd22..1bfd11e4 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount}个正在运行, {stoppedCount}个已停止", "dockerStatusRunningFmt": "{count}个容器正在运行", "doubleColumnMode": "双列模式", + "doubleColumnTip": "此选项仅开启功能,实际是否能开启还取决于设备的宽度", "download": "下载", "edit": "编辑", "editVirtKeys": "编辑虚拟按键", diff --git a/lib/l10n/app_zh_tw.arb b/lib/l10n/app_zh_tw.arb index d93c4ad6..725eadfb 100644 --- a/lib/l10n/app_zh_tw.arb +++ b/lib/l10n/app_zh_tw.arb @@ -69,6 +69,7 @@ "dockerStatusRunningAndStoppedFmt": "{runningCount}個正在運行, {stoppedCount}個已停止", "dockerStatusRunningFmt": "{count}個容器正在運行", "doubleColumnMode": "雙列模式", + "doubleColumnTip": "此選項僅開啟功能,實際是否能開啟還取決於設備的寬度", "download": "下載", "edit": "編輯", "editVirtKeys": "編輯虛擬按鍵", diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index b8086524..3c775ea8 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -52,7 +52,8 @@ class _ServerPageState extends State void didChangeDependencies() { super.didChangeDependencies(); _media = MediaQuery.of(context); - _useDoubleColumn = _media.useDoubleColumn; + _useDoubleColumn = _media.useDoubleColumn && + Stores.setting.doubleColumnServersPage.fetch(); } @override diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index 33e7f808..30709f26 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -191,7 +191,7 @@ class _SettingPageState extends State { _buildDeleteServers(), _buildTextScaler(), _buildPreferTemperatureDeviceList(), - //if (isDesktop) _buildDoubleColumnServersPage(), + _buildDoubleColumnServersPage(), ].map((e) => CardX(child: e)).toList(), ); } @@ -1082,12 +1082,13 @@ class _SettingPageState extends State { ); } - // Widget _buildDoubleColumnServersPage() { - // return ListTile( - // title: Text(l10n.doubleColumnMode), - // trailing: StoreSwitch(prop: _setting.doubleColumnServersPage), - // ); - // } + Widget _buildDoubleColumnServersPage() { + return ListTile( + title: Text(l10n.doubleColumnMode), + subtitle: Text(l10n.doubleColumnTip, style: UIs.textGrey), + trailing: StoreSwitch(prop: _setting.doubleColumnServersPage), + ); + } Widget _buildPlatformSetting() { return ListTile( diff --git a/make.dart b/make.dart index 0e387db3..70c9aeca 100755 --- a/make.dart +++ b/make.dart @@ -162,13 +162,13 @@ Future flutterBuildAndroid() async { Future flutterBuildLinux() async { await flutterBuild('linux'); - const appDirName = '$appName.AppDir'; + const appDirName = 'linux.AppDir'; // mkdir appName.AppDir await Process.run('mkdir', [appDirName]); // cp -r build/linux/x64/release/bundle/* appName.AppDir await Process.run('cp', [ '-r', - './build/linux/x64/release/bundle/*', + 'build/linux/x64/release/bundle/*', appDirName, ]); // cp -r assets/app_icon.png ServerBox.AppDir @@ -196,7 +196,7 @@ Icon=app_icon Type=Application Categories=Utility; '''; - await File('$appDirName/$appName.desktop').writeAsString(desktop); + await File('$appDirName/default.desktop').writeAsString(desktop); // Run appimagetool await Process.run('sh', ['-c', 'ARCH=x86_64 appimagetool $appDirName']);