From d72fefccdde6c1664f50478dce7ee720ab4387f1 Mon Sep 17 00:00:00 2001 From: Bagus Nur Listiyono <28079733+bagusnl@users.noreply.github.com> Date: Sun, 3 Dec 2023 14:25:21 +0700 Subject: [PATCH] Run Collapse after login using Task Scheduler (#317) * Early implementation for startup settings * Move the task creator to its own method WARNING: IsStartupToTray set method is not yet implemented * Move stub finder to its own method + Dispose all Tasks also finalize the IsStartupToTray * Defaults to disable on task creation * FInalize both backend and frontend for startup task * Localize options * Use the created task if the task does not exist * Run task with highest privileges As discussed with @bagusnl, the task should run automatically as the highest privileged process on start-up --------- Co-authored-by: Shatyuka <958182453@qq.com> Co-authored-by: Kemal Setya Adhi --- CollapseLauncher/CollapseLauncher.csproj | 1 + .../XAMLs/MainApp/Pages/SettingsPage.xaml | 15 ++ .../XAMLs/MainApp/Pages/SettingsPage.xaml.cs | 108 +++++++++++- CollapseLauncher/packages.lock.json | 110 +++++++----- .../Lang/Locale/LangSettingsPage.cs | 160 +++++++++--------- Hi3Helper.Core/Lang/en_US.json | 4 +- 6 files changed, 278 insertions(+), 120 deletions(-) diff --git a/CollapseLauncher/CollapseLauncher.csproj b/CollapseLauncher/CollapseLauncher.csproj index 1765a456d..ca00ae1c4 100644 --- a/CollapseLauncher/CollapseLauncher.csproj +++ b/CollapseLauncher/CollapseLauncher.csproj @@ -96,6 +96,7 @@ + diff --git a/CollapseLauncher/XAMLs/MainApp/Pages/SettingsPage.xaml b/CollapseLauncher/XAMLs/MainApp/Pages/SettingsPage.xaml index 8744606d0..b57d1598d 100644 --- a/CollapseLauncher/XAMLs/MainApp/Pages/SettingsPage.xaml +++ b/CollapseLauncher/XAMLs/MainApp/Pages/SettingsPage.xaml @@ -72,6 +72,21 @@ OnContent="{x:Bind helper:Locale.Lang._Misc.Enabled}" OffContent="{x:Bind helper:Locale.Lang._Misc.Disabled}" IsOn="{x:Bind IsMinimizeToTaskbar, Mode=TwoWay}"/> + + { - await Task.Delay(250); + await System.Threading.Tasks.Task.Delay(250); ChangeTitleDragArea.Change(DragAreaTemplate.Default); }; delayedDragAreaChange(); @@ -632,6 +675,67 @@ private bool IsMinimizeToTaskbar set => SetAndSaveConfigValue("MinimizeToTray", value); } + private bool IsLaunchOnStartup + { + get + { + using TaskService ts = new TaskService(); + + Task task = ts.GetTask(_collapseStartupTaskName); + if (task == null) task = CreateScheduledTask(_collapseStartupTaskName); + + bool value = task.Definition.Settings.Enabled; + task.Dispose(); + + if (value) StartupToTrayToggle.Visibility = Visibility.Visible; + else StartupToTrayToggle.Visibility = Visibility.Collapsed; + + return value; + } + set + { + using TaskService ts = new TaskService(); + + Task task = ts.GetTask(_collapseStartupTaskName); + task.Definition.Settings.Enabled = value; + task.RegisterChanges(); + task.Dispose(); + + if (value) StartupToTrayToggle.Visibility = Visibility.Visible; + else StartupToTrayToggle.Visibility = Visibility.Collapsed; + } + } + + private bool IsStartupToTray + { + get + { + using TaskService ts = new TaskService(); + + Task task = ts.GetTask(_collapseStartupTaskName); + if (task == null) task = CreateScheduledTask(_collapseStartupTaskName); + + bool? value = false; + if (task.Definition.Actions[0] is ExecAction execAction) + value = execAction.Arguments?.Trim().Contains("tray", StringComparison.CurrentCultureIgnoreCase); + + task.Dispose(); + return value ?? false; + } + set + { + string collapseStartupTarget = FindCollapseStubPath(); + using TaskService ts = new TaskService(); + + Task task = ts.GetTask(_collapseStartupTaskName); + task.Definition.Actions.Clear(); + task.Definition.Actions.Add(new ExecAction(collapseStartupTarget, value ? "tray" : null, null)); + task.RegisterChanges(); + task.Dispose(); + } + } + #endregion + #region Keyboard Shortcuts private async void ShowKbScList_Click(Object sender, RoutedEventArgs e) => await Dialogs.KeyboardShortcuts.Dialog_ShowKbShortcuts(this); diff --git a/CollapseLauncher/packages.lock.json b/CollapseLauncher/packages.lock.json index 2d837441a..23e94c22a 100644 --- a/CollapseLauncher/packages.lock.json +++ b/CollapseLauncher/packages.lock.json @@ -205,6 +205,17 @@ "System.Runtime": "4.3.1" } }, + "TaskScheduler": { + "type": "Direct", + "requested": "[2.10.1, )", + "resolved": "2.10.1", + "contentHash": "12b19oq9SOGbBq8745jQVQ08jAjgnsGXidQfclaZ94UZCtJRPkNfM8pz0D7pj04RHcQJQdZZnAUuC93reALqNg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0", + "System.Diagnostics.EventLog": "5.0.0", + "System.Security.AccessControl": "5.0.0" + } + }, "ColorCode.Core": { "type": "Transitive", "resolved": "2.0.13", @@ -355,8 +366,8 @@ }, "Microsoft.NETCore.Platforms": { "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "TMBuzAHpTenGbGgk0SMTwyEkyijY/Eae4ZGsFNYJvAr/LDn1ku3Etp3FPxChmDp5HHF3kzJuoaa08N0xjqAJfQ==" + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" }, "Microsoft.NETCore.Targets": { "type": "Transitive", @@ -373,6 +384,15 @@ "System.Runtime": "4.3.0" } }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, "Microsoft.Win32.SystemEvents": { "type": "Transitive", "resolved": "8.0.0", @@ -617,6 +637,16 @@ "System.Threading": "4.3.0" } }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "FHkCwUfsTs+/5tsK+c0egLfacUgbhvcwi3wUFWSEEArSXao343mYqcpOVVFMlcCkdNtjU4YwAWaKYwal6f02og==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.Win32.Registry": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -983,6 +1013,15 @@ "System.Runtime.Extensions": "4.3.0" } }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, "System.Security.Cryptography.Algorithms": { "type": "Transitive", "resolved": "4.3.0", @@ -1127,6 +1166,11 @@ "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" } }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, "System.Text.Encoding": { "type": "Transitive", "resolved": "4.3.0", @@ -1332,6 +1376,15 @@ "runtime.win.Microsoft.Win32.Primitives": "4.3.0" } }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, "Microsoft.Win32.SystemEvents": { "type": "Transitive", "resolved": "8.0.0", @@ -1632,6 +1685,16 @@ "runtime.win.System.Diagnostics.Debug": "4.3.0" } }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "FHkCwUfsTs+/5tsK+c0egLfacUgbhvcwi3wUFWSEEArSXao343mYqcpOVVFMlcCkdNtjU4YwAWaKYwal6f02og==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "Microsoft.Win32.Registry": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, "System.Diagnostics.Tools": { "type": "Transitive", "resolved": "4.3.0", @@ -1906,18 +1969,13 @@ "runtime.native.System": "4.3.0" } }, - "System.Security.Claims": { + "System.Security.AccessControl": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", "dependencies": { - "System.Collections": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Security.Principal": "4.3.0" + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" } }, "System.Security.Cryptography.Algorithms": { @@ -2050,34 +2108,10 @@ "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" } }, - "System.Security.Principal": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, "System.Security.Principal.Windows": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Claims": "4.3.0", - "System.Security.Principal": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" }, "System.Text.Encoding": { "type": "Transitive", diff --git a/Hi3Helper.Core/Lang/Locale/LangSettingsPage.cs b/Hi3Helper.Core/Lang/Locale/LangSettingsPage.cs index c62312e64..c3b6095be 100644 --- a/Hi3Helper.Core/Lang/Locale/LangSettingsPage.cs +++ b/Hi3Helper.Core/Lang/Locale/LangSettingsPage.cs @@ -8,85 +8,87 @@ public sealed partial class LocalizationParams public LangSettingsPage _SettingsPage { get; set; } = LangFallback?._SettingsPage; public sealed class LangSettingsPage { - public string PageTitle { get; set; } = LangFallback?._SettingsPage.PageTitle; - public string Debug { get; set; } = LangFallback?._SettingsPage.Debug; - public string Debug_Console { get; set; } = LangFallback?._SettingsPage.Debug_Console; - public string Debug_IncludeGameLogs { get; set; } = LangFallback?._SettingsPage.Debug_IncludeGameLogs; - public string Debug_MultipleInstance { get; set; } = LangFallback?._SettingsPage.Debug_MultipleInstance; - public string ChangeRegionWarning_Toggle { get; set; } = LangFallback?._SettingsPage.ChangeRegionWarning_Toggle; - public string ChangeRegionWarning_Warning { get; set; } = LangFallback?._SettingsPage.ChangeRegionWarning_Warning; - public string Language { get; set; } = LangFallback?._SettingsPage.Language; - public string LanguageEntry { get; set; } = LangFallback?._SettingsPage.LanguageEntry; - public string AppThemes { get; set; } = LangFallback?._SettingsPage.AppThemes; - public string AppThemes_Default { get; set; } = LangFallback?._SettingsPage.AppThemes_Default; - public string AppThemes_Light { get; set; } = LangFallback?._SettingsPage.AppThemes_Light; - public string AppThemes_Dark { get; set; } = LangFallback?._SettingsPage.AppThemes_Dark; - public string AppCDNRepository { get; set; } = LangFallback?._SettingsPage.AppCDNRepository; - public string AppThemes_ApplyNeedRestart { get; set; } = LangFallback?._SettingsPage.AppThemes_ApplyNeedRestart; - public string AppWindowSize { get; set; } = LangFallback?._SettingsPage.AppWindowSize; - public string AppWindowSize_Normal { get; set; } = LangFallback?._SettingsPage.AppWindowSize_Normal; - public string AppWindowSize_Small { get; set; } = LangFallback?._SettingsPage.AppWindowSize_Small; - public string AppBG { get; set; } = LangFallback?._SettingsPage.AppBG; - public string AppBG_Checkbox { get; set; } = LangFallback?._SettingsPage.AppBG_Checkbox; - public string AppBG_Note { get; set; } = LangFallback?._SettingsPage.AppBG_Note; - public string AppLang_ApplyNeedRestart { get; set; } = LangFallback?._SettingsPage.AppLang_ApplyNeedRestart; - public string AppThreads { get; set; } = LangFallback?._SettingsPage.AppThreads; - public string AppThreads_Download { get; set; } = LangFallback?._SettingsPage.AppThreads_Download; - public string AppThreads_Extract { get; set; } = LangFallback?._SettingsPage.AppThreads_Extract; - public string AppThreads_Help1 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help1; - public string AppThreads_Help2 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help2; - public string AppThreads_Help3 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help3; - public string AppThreads_Help4 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help4; - public string AppThreads_Help5 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help5; - public string AppThreads_Help6 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help6; - public string DiscordRPC { get; set; } = LangFallback?._SettingsPage.DiscordRPC; - public string DiscordRPC_Toggle { get; set; } = LangFallback?._SettingsPage.DiscordRPC_Toggle; - public string DiscordRPC_GameStatusToggle { get; set; } = LangFallback?._SettingsPage.DiscordRPC_GameStatusToggle; - public string Update { get; set; } = LangFallback?._SettingsPage.Update; - public string Update_CurVer { get; set; } = LangFallback?._SettingsPage.Update_CurVer; - public string Update_CheckBtn { get; set; } = LangFallback?._SettingsPage.Update_CheckBtn; - public string Update_ForceBtn { get; set; } = LangFallback?._SettingsPage.Update_ForceBtn; - public string Update_NewVer1 { get; set; } = LangFallback?._SettingsPage.Update_NewVer1; - public string Update_NewVer2 { get; set; } = LangFallback?._SettingsPage.Update_NewVer2; - public string Update_LatestVer { get; set; } = LangFallback?._SettingsPage.Update_LatestVer; - public string AppFiles { get; set; } = LangFallback?._SettingsPage.AppFiles; - public string AppFiles_OpenDataFolderBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_OpenDataFolderBtn; - public string AppFiles_RelocateDataFolderBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_RelocateDataFolderBtn; - public string AppFiles_ClearLogBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearLogBtn; - public string AppFiles_ClearImgCachesBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearImgCachesBtn; - public string AppFiles_ClearMetadataBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataBtn; - public string AppFiles_ClearMetadataDialog { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataDialog; - public string AppFiles_ClearMetadataDialogHelp { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataDialogHelp; - public string ReportIssueBtn { get; set; } = LangFallback?._SettingsPage.ReportIssueBtn; - public string HelpLocalizeBtn { get; set; } = LangFallback?._SettingsPage.HelpLocalizeBtn; - public string ContributePRBtn { get; set; } = LangFallback?._SettingsPage.ContributePRBtn; - public string ContributorListBtn { get; set; } = LangFallback?._SettingsPage.ContributorListBtn; - public string About { get; set; } = LangFallback?._SettingsPage.About; - public string About_Copyright1 { get; set; } = LangFallback?._SettingsPage.About_Copyright1; - public string About_Copyright2 { get; set; } = LangFallback?._SettingsPage.About_Copyright2; - public string About_Copyright3 { get; set; } = LangFallback?._SettingsPage.About_Copyright3; - public string About_Copyright4 { get; set; } = LangFallback?._SettingsPage.About_Copyright4; - public string Disclaimer { get; set; } = LangFallback?._SettingsPage.Disclaimer; - public string Disclaimer1 { get; set; } = LangFallback?._SettingsPage.Disclaimer1; - public string Disclaimer2 { get; set; } = LangFallback?._SettingsPage.Disclaimer2; - public string Disclaimer3 { get; set; } = LangFallback?._SettingsPage.Disclaimer3; - public string DiscordBtn1 { get; set; } = LangFallback?._SettingsPage.DiscordBtn1; - public string DiscordBtn2 { get; set; } = LangFallback?._SettingsPage.DiscordBtn2; - public string DiscordBtn3 { get; set; } = LangFallback?._SettingsPage.DiscordBtn3; - public string AppChangeReleaseChannel { get; set; } = LangFallback?._SettingsPage.AppChangeReleaseChannel; - public string EnableAcrylicEffect { get; set; } = LangFallback?._SettingsPage.EnableAcrylicEffect; - public string EnableDownloadChunksMerging { get; set; } = LangFallback?._SettingsPage.EnableDownloadChunksMerging; - public string LowerCollapsePrioOnGameLaunch { get; set; } = LangFallback?._SettingsPage.LowerCollapsePrioOnGameLaunch; - public string LowerCollapsePrioOnGameLaunch_Tooltip {get; set;} = LangFallback?._SettingsPage.LowerCollapsePrioOnGameLaunch_Tooltip; - public string KbShortcuts_Title { get; set; } = LangFallback?._SettingsPage.KbShortcuts_Title; - public string KbShortcuts_ShowBtn { get; set; } = LangFallback?._SettingsPage.KbShortcuts_ShowBtn; - public string KbShortcuts_ResetBtn { get; set; } = LangFallback?._SettingsPage.KbShortcuts_ResetBtn; - public string AppBehavior_Title { get; set; } = LangFallback?._SettingsPage.AppBehavior_Title; - public string AppBehavior_PostGameLaunch { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch; - public string AppBehavior_PostGameLaunch_Minimize { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_Minimize; - public string AppBehavior_PostGameLaunch_ToTray { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_ToTray; - public string AppBehavior_PostGameLaunch_Nothing { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_Nothing; - public string AppBehavior_MinimizeToTray { get; set; } = LangFallback?._SettingsPage.AppBehavior_MinimizeToTray; + public string PageTitle { get; set; } = LangFallback?._SettingsPage.PageTitle; + public string Debug { get; set; } = LangFallback?._SettingsPage.Debug; + public string Debug_Console { get; set; } = LangFallback?._SettingsPage.Debug_Console; + public string Debug_IncludeGameLogs { get; set; } = LangFallback?._SettingsPage.Debug_IncludeGameLogs; + public string Debug_MultipleInstance { get; set; } = LangFallback?._SettingsPage.Debug_MultipleInstance; + public string ChangeRegionWarning_Toggle { get; set; } = LangFallback?._SettingsPage.ChangeRegionWarning_Toggle; + public string ChangeRegionWarning_Warning { get; set; } = LangFallback?._SettingsPage.ChangeRegionWarning_Warning; + public string Language { get; set; } = LangFallback?._SettingsPage.Language; + public string LanguageEntry { get; set; } = LangFallback?._SettingsPage.LanguageEntry; + public string AppThemes { get; set; } = LangFallback?._SettingsPage.AppThemes; + public string AppThemes_Default { get; set; } = LangFallback?._SettingsPage.AppThemes_Default; + public string AppThemes_Light { get; set; } = LangFallback?._SettingsPage.AppThemes_Light; + public string AppThemes_Dark { get; set; } = LangFallback?._SettingsPage.AppThemes_Dark; + public string AppCDNRepository { get; set; } = LangFallback?._SettingsPage.AppCDNRepository; + public string AppThemes_ApplyNeedRestart { get; set; } = LangFallback?._SettingsPage.AppThemes_ApplyNeedRestart; + public string AppWindowSize { get; set; } = LangFallback?._SettingsPage.AppWindowSize; + public string AppWindowSize_Normal { get; set; } = LangFallback?._SettingsPage.AppWindowSize_Normal; + public string AppWindowSize_Small { get; set; } = LangFallback?._SettingsPage.AppWindowSize_Small; + public string AppBG { get; set; } = LangFallback?._SettingsPage.AppBG; + public string AppBG_Checkbox { get; set; } = LangFallback?._SettingsPage.AppBG_Checkbox; + public string AppBG_Note { get; set; } = LangFallback?._SettingsPage.AppBG_Note; + public string AppLang_ApplyNeedRestart { get; set; } = LangFallback?._SettingsPage.AppLang_ApplyNeedRestart; + public string AppThreads { get; set; } = LangFallback?._SettingsPage.AppThreads; + public string AppThreads_Download { get; set; } = LangFallback?._SettingsPage.AppThreads_Download; + public string AppThreads_Extract { get; set; } = LangFallback?._SettingsPage.AppThreads_Extract; + public string AppThreads_Help1 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help1; + public string AppThreads_Help2 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help2; + public string AppThreads_Help3 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help3; + public string AppThreads_Help4 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help4; + public string AppThreads_Help5 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help5; + public string AppThreads_Help6 { get; set; } = LangFallback?._SettingsPage.AppThreads_Help6; + public string DiscordRPC { get; set; } = LangFallback?._SettingsPage.DiscordRPC; + public string DiscordRPC_Toggle { get; set; } = LangFallback?._SettingsPage.DiscordRPC_Toggle; + public string DiscordRPC_GameStatusToggle { get; set; } = LangFallback?._SettingsPage.DiscordRPC_GameStatusToggle; + public string Update { get; set; } = LangFallback?._SettingsPage.Update; + public string Update_CurVer { get; set; } = LangFallback?._SettingsPage.Update_CurVer; + public string Update_CheckBtn { get; set; } = LangFallback?._SettingsPage.Update_CheckBtn; + public string Update_ForceBtn { get; set; } = LangFallback?._SettingsPage.Update_ForceBtn; + public string Update_NewVer1 { get; set; } = LangFallback?._SettingsPage.Update_NewVer1; + public string Update_NewVer2 { get; set; } = LangFallback?._SettingsPage.Update_NewVer2; + public string Update_LatestVer { get; set; } = LangFallback?._SettingsPage.Update_LatestVer; + public string AppFiles { get; set; } = LangFallback?._SettingsPage.AppFiles; + public string AppFiles_OpenDataFolderBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_OpenDataFolderBtn; + public string AppFiles_RelocateDataFolderBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_RelocateDataFolderBtn; + public string AppFiles_ClearLogBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearLogBtn; + public string AppFiles_ClearImgCachesBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearImgCachesBtn; + public string AppFiles_ClearMetadataBtn { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataBtn; + public string AppFiles_ClearMetadataDialog { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataDialog; + public string AppFiles_ClearMetadataDialogHelp { get; set; } = LangFallback?._SettingsPage.AppFiles_ClearMetadataDialogHelp; + public string ReportIssueBtn { get; set; } = LangFallback?._SettingsPage.ReportIssueBtn; + public string HelpLocalizeBtn { get; set; } = LangFallback?._SettingsPage.HelpLocalizeBtn; + public string ContributePRBtn { get; set; } = LangFallback?._SettingsPage.ContributePRBtn; + public string ContributorListBtn { get; set; } = LangFallback?._SettingsPage.ContributorListBtn; + public string About { get; set; } = LangFallback?._SettingsPage.About; + public string About_Copyright1 { get; set; } = LangFallback?._SettingsPage.About_Copyright1; + public string About_Copyright2 { get; set; } = LangFallback?._SettingsPage.About_Copyright2; + public string About_Copyright3 { get; set; } = LangFallback?._SettingsPage.About_Copyright3; + public string About_Copyright4 { get; set; } = LangFallback?._SettingsPage.About_Copyright4; + public string Disclaimer { get; set; } = LangFallback?._SettingsPage.Disclaimer; + public string Disclaimer1 { get; set; } = LangFallback?._SettingsPage.Disclaimer1; + public string Disclaimer2 { get; set; } = LangFallback?._SettingsPage.Disclaimer2; + public string Disclaimer3 { get; set; } = LangFallback?._SettingsPage.Disclaimer3; + public string DiscordBtn1 { get; set; } = LangFallback?._SettingsPage.DiscordBtn1; + public string DiscordBtn2 { get; set; } = LangFallback?._SettingsPage.DiscordBtn2; + public string DiscordBtn3 { get; set; } = LangFallback?._SettingsPage.DiscordBtn3; + public string AppChangeReleaseChannel { get; set; } = LangFallback?._SettingsPage.AppChangeReleaseChannel; + public string EnableAcrylicEffect { get; set; } = LangFallback?._SettingsPage.EnableAcrylicEffect; + public string EnableDownloadChunksMerging { get; set; } = LangFallback?._SettingsPage.EnableDownloadChunksMerging; + public string LowerCollapsePrioOnGameLaunch { get; set; } = LangFallback?._SettingsPage.LowerCollapsePrioOnGameLaunch; + public string LowerCollapsePrioOnGameLaunch_Tooltip {get; set;} = LangFallback?._SettingsPage.LowerCollapsePrioOnGameLaunch_Tooltip; + public string KbShortcuts_Title { get; set; } = LangFallback?._SettingsPage.KbShortcuts_Title; + public string KbShortcuts_ShowBtn { get; set; } = LangFallback?._SettingsPage.KbShortcuts_ShowBtn; + public string KbShortcuts_ResetBtn { get; set; } = LangFallback?._SettingsPage.KbShortcuts_ResetBtn; + public string AppBehavior_Title { get; set; } = LangFallback?._SettingsPage.AppBehavior_Title; + public string AppBehavior_PostGameLaunch { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch; + public string AppBehavior_PostGameLaunch_Minimize { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_Minimize; + public string AppBehavior_PostGameLaunch_ToTray { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_ToTray; + public string AppBehavior_PostGameLaunch_Nothing { get; set; } = LangFallback?._SettingsPage.AppBehavior_PostGameLaunch_Nothing; + public string AppBehavior_MinimizeToTray { get; set; } = LangFallback?._SettingsPage.AppBehavior_MinimizeToTray; + public string AppBehavior_LaunchOnStartup { get; set; } = LangFallback?._SettingsPage.AppBehavior_LaunchOnStartup; + public string AppBehavior_StartupToTray { get; set; } = LangFallback?._SettingsPage.AppBehavior_StartupToTray; } } #endregion diff --git a/Hi3Helper.Core/Lang/en_US.json b/Hi3Helper.Core/Lang/en_US.json index f2c694cd3..8cd16561b 100644 --- a/Hi3Helper.Core/Lang/en_US.json +++ b/Hi3Helper.Core/Lang/en_US.json @@ -406,7 +406,9 @@ "AppBehavior_PostGameLaunch_Minimize": "Minimize", "AppBehavior_PostGameLaunch_ToTray": "Hide to tray", "AppBehavior_PostGameLaunch_Nothing": "Do nothing", - "AppBehavior_MinimizeToTray": "Minimize to Tray" + "AppBehavior_MinimizeToTray": "Minimize to Tray", + "AppBehavior_LaunchOnStartup": "Automatically start Collapse when your computer boots up", + "AppBehavior_StartupToTray": "Hide Collapse window when it started up automatically" }, "_Misc": {