diff --git a/App.xaml.cs b/App.xaml.cs index 68d7c2b..28c0f82 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -10,7 +10,7 @@ public partial class App : Application private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { - MessageBox.Show("Error: " + e.Exception.Message); + MessageBox.Show($"Error: {e.Exception.Message}"); e.Handled = true; } } \ No newline at end of file diff --git a/Consts/MainMultilangConst.Designer.cs b/Consts/MainMultilangConst.Designer.cs index fcdcd12..ad07f28 100644 --- a/Consts/MainMultilangConst.Designer.cs +++ b/Consts/MainMultilangConst.Designer.cs @@ -70,7 +70,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to open about window 的本地化字符串。 /// public static string AboutButtonToolTip { get { @@ -97,7 +97,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to edit Cealing Host 的本地化字符串。 /// public static string EditHostButtonToolTip { get { @@ -160,7 +160,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to process the contents of the input box 的本地化字符串。 /// public static string SettingsFunctionButtonToolTip { get { @@ -178,7 +178,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to switch settings mode 的本地化字符串。 /// public static string SettingsModeButtonToolTip { get { @@ -189,18 +189,18 @@ namespace Sheas_Cealer.Consts { /// /// 查找类似 Start Cealing 的本地化字符串。 /// - public static string StartCealButtonContent { + public static string StartButtonContent { get { - return ResourceManager.GetString("StartCealButtonContent", resourceCulture); + return ResourceManager.GetString("StartButtonContent", resourceCulture); } } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to launch the injected browser 的本地化字符串。 /// - public static string StartCealButtonToolTip { + public static string StartButtonToolTip { get { - return ResourceManager.GetString("StartCealButtonToolTip", resourceCulture); + return ResourceManager.GetString("StartButtonToolTip", resourceCulture); } } @@ -232,7 +232,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to switch themes 的本地化字符串。 /// public static string ThemesButtonToolTip { get { @@ -250,7 +250,7 @@ namespace Sheas_Cealer.Consts { } /// - /// 查找类似 的本地化字符串。 + /// 查找类似 Click to update Cealing Host 的本地化字符串。 /// public static string UpdateHostButtonToolTip { get { diff --git a/Consts/MainMultilangConst.resx b/Consts/MainMultilangConst.resx index f92fd36..75f1f1e 100644 --- a/Consts/MainMultilangConst.resx +++ b/Consts/MainMultilangConst.resx @@ -121,7 +121,7 @@ About Me - + Click to open about window Browser Path @@ -130,7 +130,7 @@ Edit Host - + Click to edit Cealing Host Additional Args @@ -151,19 +151,19 @@ Clear Args - + Click to process the contents of the input box Reset Url - + Click to switch settings mode - + Start Cealing - - + + Click to launch the injected browser Light Theme @@ -175,13 +175,13 @@ Dark Theme - + Click to switch themes Update Host - + Click to update Cealing Host Upstream Url diff --git a/Consts/MainMultilangConst.zh.resx b/Consts/MainMultilangConst.zh.resx index 326b604..6595e28 100644 --- a/Consts/MainMultilangConst.zh.resx +++ b/Consts/MainMultilangConst.zh.resx @@ -159,10 +159,10 @@ 点击切换输入框设置模式 - + 启动伪造 - + 点击启动伪造注入后的浏览器 diff --git a/Convs/MainSettingsBoxHintConv.cs b/Convs/MainSettingsBoxHintConv.cs index 3e63a35..2cb5324 100644 --- a/Convs/MainSettingsBoxHintConv.cs +++ b/Convs/MainSettingsBoxHintConv.cs @@ -10,9 +10,9 @@ internal class MainSettingsBoxHintConv : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - MainConst.SettingsMode? mode = value as MainConst.SettingsMode?; + MainConst.SettingsMode? settingsMode = value as MainConst.SettingsMode?; - return mode switch + return settingsMode switch { MainConst.SettingsMode.BrowserPathMode => MainConst.BrowserPathModeName, MainConst.SettingsMode.UpstreamUrlMode => MainConst.UpstreamUrlModeName, diff --git a/Convs/MainSettingsBoxTextConv.cs b/Convs/MainSettingsBoxTextConv.cs index 503dca5..048889f 100644 --- a/Convs/MainSettingsBoxTextConv.cs +++ b/Convs/MainSettingsBoxTextConv.cs @@ -9,12 +9,12 @@ internal class MainSettingsBoxTextConv : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { - MainConst.SettingsMode? mode = values[0] as MainConst.SettingsMode?; + MainConst.SettingsMode? settingsMode = values[0] as MainConst.SettingsMode?; string? browserPath = values[1] as string; string? upstreamUrl = values[2] as string; string? extraArgs = values[3] as string; - return mode switch + return settingsMode switch { MainConst.SettingsMode.BrowserPathMode => browserPath!, MainConst.SettingsMode.UpstreamUrlMode => upstreamUrl!, diff --git a/Convs/MainSettingsBoxToolTipConv.cs b/Convs/MainSettingsBoxToolTipConv.cs index ef385c0..ed6b57e 100644 --- a/Convs/MainSettingsBoxToolTipConv.cs +++ b/Convs/MainSettingsBoxToolTipConv.cs @@ -10,9 +10,9 @@ internal class MainSettingsBoxToolTipConv : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - MainConst.SettingsMode? mode = value as MainConst.SettingsMode?; + MainConst.SettingsMode? settingsMode = value as MainConst.SettingsMode?; - return mode switch + return settingsMode switch { MainConst.SettingsMode.BrowserPathMode => MainConst.SettingsBoxBrowserPathPlaceHolder, MainConst.SettingsMode.UpstreamUrlMode => MainConst.SettingsBoxUpstreamUrlPlaceHolder, diff --git a/Convs/MainSettingsFunctionButtonContentConv.cs b/Convs/MainSettingsFunctionButtonContentConv.cs index 7692048..370d75c 100644 --- a/Convs/MainSettingsFunctionButtonContentConv.cs +++ b/Convs/MainSettingsFunctionButtonContentConv.cs @@ -10,9 +10,9 @@ internal class MainSettingsFunctionButtonContentConv : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - MainConst.SettingsMode? mode = value as MainConst.SettingsMode?; + MainConst.SettingsMode? settingsMode = value as MainConst.SettingsMode?; - return mode switch + return settingsMode switch { MainConst.SettingsMode.BrowserPathMode => MainConst.SettingsFunctionButtonBrowserPathContent, MainConst.SettingsMode.UpstreamUrlMode => MainConst.SettingsFunctionButtonUpstreamUrlContent, diff --git a/Convs/MainSettingsModeButtonContentConv.cs b/Convs/MainSettingsModeButtonContentConv.cs index f78ec5e..f52a1dc 100644 --- a/Convs/MainSettingsModeButtonContentConv.cs +++ b/Convs/MainSettingsModeButtonContentConv.cs @@ -9,9 +9,9 @@ internal class MainSettingsModeButtonContentConv : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { - MainConst.SettingsMode? mode = value as MainConst.SettingsMode?; + MainConst.SettingsMode? settingsMode = value as MainConst.SettingsMode?; - return mode switch + return settingsMode switch { MainConst.SettingsMode.BrowserPathMode => MainConst.UpstreamUrlModeName, MainConst.SettingsMode.UpstreamUrlMode => MainConst.ExtraArgsModeName, diff --git a/Convs/MainStartCealButtonIsEnabledConv.cs b/Convs/MainStartButtonIsEnabledConv.cs similarity index 62% rename from Convs/MainStartCealButtonIsEnabledConv.cs rename to Convs/MainStartButtonIsEnabledConv.cs index 1b5010f..ef95868 100644 --- a/Convs/MainStartCealButtonIsEnabledConv.cs +++ b/Convs/MainStartButtonIsEnabledConv.cs @@ -6,14 +6,15 @@ using Sheas_Cealer.Consts; namespace Sheas_Cealer.Convs; -internal class MainStartCealButtonIsEnabledConv : IMultiValueConverter +internal class MainStartButtonIsEnabledConv : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { string? browserPath = values[0] as string; string? extraArgs = values[1] as string; - return File.Exists(browserPath) && Path.GetFileName(browserPath).ToLower().EndsWith(".exe") && (MainConst.ExtraArgsRegex().IsMatch(extraArgs!) || extraArgs == MainConst.SettingsBoxExtraArgsPlaceHolder); + return (File.Exists(browserPath) && Path.GetFileName(browserPath).ToLowerInvariant().EndsWith(".exe")) && + (extraArgs == MainConst.SettingsBoxExtraArgsPlaceHolder || MainConst.ExtraArgsRegex().IsMatch(extraArgs!)); } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException(); diff --git a/Convs/MainThemesButtonContentConv.cs b/Convs/MainThemesButtonContentConv.cs index 510957f..97187ac 100644 --- a/Convs/MainThemesButtonContentConv.cs +++ b/Convs/MainThemesButtonContentConv.cs @@ -11,7 +11,9 @@ internal class MainThemesButtonContentConv : IValueConverter { bool? isLightMode = value as bool?; - return isLightMode.HasValue ? (isLightMode.GetValueOrDefault() ? MainConst.ThemesButtonLightThemeContent : MainConst.ThemesButtonDarkThemeContent) : MainConst.ThemesButtonInheritThemeContent; + return isLightMode.HasValue ? + (isLightMode.GetValueOrDefault() ? MainConst.ThemesButtonLightThemeContent : MainConst.ThemesButtonDarkThemeContent) : + MainConst.ThemesButtonInheritThemeContent; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException(); diff --git a/Preses/MainPres.cs b/Preses/MainPres.cs index 2b19242..7b76e21 100644 --- a/Preses/MainPres.cs +++ b/Preses/MainPres.cs @@ -4,7 +4,6 @@ using CommunityToolkit.Mvvm.ComponentModel; using MaterialDesignThemes.Wpf; using Sheas_Cealer.Consts; using Sheas_Cealer.Props; -using Sheas_Cealer.Wins; using File = System.IO.File; namespace Sheas_Cealer.Preses; @@ -13,9 +12,9 @@ internal partial class MainPres : ObservableObject { internal MainPres(string[] args) { - int browserPathIndex = Array.FindIndex(args, arg => arg == "-b") + 1, - upstreamUrlIndex = Array.FindIndex(args, arg => arg == "-u") + 1, - extraArgsIndex = Array.FindIndex(args, arg => arg == "-e") + 1; + int browserPathIndex = Array.FindIndex(args, arg => arg.Equals("-b", StringComparison.OrdinalIgnoreCase)) + 1; + int upstreamUrlIndex = Array.FindIndex(args, arg => arg.Equals("-u", StringComparison.OrdinalIgnoreCase)) + 1; + int extraArgsIndex = Array.FindIndex(args, arg => arg.Equals("-e", StringComparison.OrdinalIgnoreCase)) + 1; BrowserPath = browserPathIndex == 0 ? (!string.IsNullOrWhiteSpace(Settings.Default.BrowserPath) ? Settings.Default.BrowserPath : string.Empty) : @@ -28,13 +27,10 @@ internal partial class MainPres : ObservableObject ExtraArgs = extraArgsIndex == 0 ? (!string.IsNullOrWhiteSpace(Settings.Default.ExtraArgs) ? Settings.Default.ExtraArgs : string.Empty) : args[extraArgsIndex]; - - if (Array.Exists(args, args => args == "-d")) - new MainWin([]).StartCealButton_Click(null!, null!); } [ObservableProperty] - private MainConst.SettingsMode mode; + private MainConst.SettingsMode settingsMode; [ObservableProperty] private bool? isLightTheme = null; @@ -42,6 +38,7 @@ internal partial class MainPres : ObservableObject { PaletteHelper paletteHelper = new(); Theme newTheme = paletteHelper.GetTheme(); + newTheme.SetBaseTheme(value.HasValue ? (value.GetValueOrDefault() ? BaseTheme.Light : BaseTheme.Dark) : BaseTheme.Inherit); paletteHelper.SetTheme(newTheme); } @@ -50,7 +47,7 @@ internal partial class MainPres : ObservableObject private string browserPath; partial void OnBrowserPathChanged(string value) { - if (File.Exists(value) && Path.GetFileName(value).ToLower().EndsWith(".exe")) + if (File.Exists(value) && Path.GetFileName(value).ToLowerInvariant().EndsWith(".exe")) { Settings.Default.BrowserPath = value; Settings.Default.Save(); diff --git a/Wins/MainWin.xaml b/Wins/MainWin.xaml index 6218efe..e183a33 100644 --- a/Wins/MainWin.xaml +++ b/Wins/MainWin.xaml @@ -25,17 +25,16 @@ - - @@ -45,31 +44,31 @@ - + - + - + - - - @@ -102,11 +98,9 @@ - -