From a8ce60bd98269a6ee3aa4b1aee63d99c7d94b820 Mon Sep 17 00:00:00 2001 From: xkeyC <3334969096@qq.com> Date: Mon, 11 Dec 2023 23:53:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA=E5=BF=AB?= =?UTF-8?q?=E6=8D=B7=E6=96=B9=E5=BC=8F=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/common/conf.dart | 2 ++ lib/ui/about/about_ui.dart | 16 ++++------------ lib/ui/index_ui.dart | 6 ++---- lib/ui/settings/settings_ui.dart | 3 +++ lib/ui/settings/settings_ui_model.dart | 21 +++++++++++++++++++++ 5 files changed, 32 insertions(+), 16 deletions(-) diff --git a/lib/common/conf.dart b/lib/common/conf.dart index 22b4a76..be30690 100644 --- a/lib/common/conf.dart +++ b/lib/common/conf.dart @@ -48,6 +48,8 @@ class AppConf { static const gameChannels = ["LIVE", "PTU", "EPTU"]; + static const appShortCutName = "SC汉化盒子${AppConf.isMSE ? "" : "DEV"}.lnk"; + static late final String applicationSupportDir; static AppVersionData? networkVersionData; diff --git a/lib/ui/about/about_ui.dart b/lib/ui/about/about_ui.dart index 145b4f2..7cd8b89 100644 --- a/lib/ui/about/about_ui.dart +++ b/lib/ui/about/about_ui.dart @@ -18,16 +18,9 @@ class AboutUI extends BaseUI { const SizedBox(height: 64), Image.asset("assets/app_logo.png", width: 128, height: 128), const SizedBox(height: 6), - if (AppConf.isMSE) - const Text( - "SC汉化盒子 V${AppConf.appVersion}", - style: TextStyle(fontSize: 18), - ) - else - const Text( - "星际公民盒子 V${AppConf.appVersion}", - style: TextStyle(fontSize: 18), - ), + const Text( + "SC汉化盒子 V${AppConf.appVersion} ${AppConf.isMSE ? "" : " +Dev"}", + style: TextStyle(fontSize: 18)), const SizedBox(height: 12), Button( onPressed: model.checkUpdate, @@ -118,8 +111,7 @@ class AboutUI extends BaseUI { ], ), onPressed: () { - launchUrlString( - "https://github.com/StarCitizenToolBox/app"); + launchUrlString("https://github.com/StarCitizenToolBox/app"); }, ), ], diff --git a/lib/ui/index_ui.dart b/lib/ui/index_ui.dart index cf5bbbd..941f455 100644 --- a/lib/ui/index_ui.dart +++ b/lib/ui/index_ui.dart @@ -32,10 +32,8 @@ class IndexUI extends BaseUI { fit: BoxFit.cover, ), const SizedBox(width: 12), - if (AppConf.isMSE) - const Text("SC汉化盒子 V${AppConf.appVersion}") - else - const Text("星际公民盒子 V${AppConf.appVersion}"), + const Text( + "SC汉化盒子 V${AppConf.appVersion} ${AppConf.isMSE ? "" : " +Dev"}") ], ), ), diff --git a/lib/ui/settings/settings_ui.dart b/lib/ui/settings/settings_ui.dart index 8fd40e6..4624f5a 100644 --- a/lib/ui/settings/settings_ui.dart +++ b/lib/ui/settings/settings_ui.dart @@ -12,7 +12,10 @@ class SettingUI extends BaseUI { margin: const EdgeInsets.all(16), child: Column( children: [ + makeSettingsItem(const Icon(FluentIcons.link, size: 20), "创建设置快捷方式", + subTitle: "在桌面创建《SC汉化盒子》快捷方式", onTap: model.addShortCut), if (AppConf.isMSE) ...[ + const SizedBox(height: 12), makeSettingsItem( const Icon(FluentIcons.reset_device, size: 20), "重置自动密码填充", subTitle: diff --git a/lib/ui/settings/settings_ui_model.dart b/lib/ui/settings/settings_ui_model.dart index 5a08fec..0de1939 100644 --- a/lib/ui/settings/settings_ui_model.dart +++ b/lib/ui/settings/settings_ui_model.dart @@ -149,4 +149,25 @@ class SettingUIModel extends BaseUIModel { reloadData(); } } + + Future addShortCut() async { + dPrint(Platform.resolvedExecutable); + final script = """ + \$targetPath = "${Platform.resolvedExecutable}"; + \$shortcutPath = [System.IO.Path]::Combine([System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::DesktopDirectory), "${AppConf.appShortCutName}"); + \$shell = New-Object -ComObject WScript.Shell + \$shortcut = \$shell.CreateShortcut(\$shortcutPath) + if (\$shortcut -eq \$null) { + Write-Host "Failed to create shortcut." + } else { + \$shortcut.TargetPath = \$targetPath + \$shortcut.Save() + Write-Host "Shortcut created successfully." + } +"""; + final r = await Process.run(SystemHelper.powershellPath, [script]); + dPrint(r.exitCode); + dPrint(r.stdout); + dPrint(r.stderr); + } }