diff --git a/.filenesting.json b/.filenesting.json
index 2d0f325..b27de62 100644
--- a/.filenesting.json
+++ b/.filenesting.json
@@ -9,7 +9,31 @@
"MainMultilangConst.resx": [ "MainConst.cs" ],
"MainMultilangConst.zh.resx": [ "MainConst.cs" ],
"SettingsMultilangConst.resx": [ "SettingsConst.cs" ],
- "SettingsMultilangConst.zh.resx": [ "SettingsConst.cs" ]
+ "SettingsMultilangConst.zh.resx": [ "SettingsConst.cs" ],
+
+ "AboutAccentButtonForegroundConv.cs": [ "AboutConv.cs" ],
+ "AboutVersionButtonContentConv.cs": [ "AboutConv.cs" ],
+ "MainAdminControlVisibilityConv.cs": [ "MainConv.cs" ],
+ "MainMihomoButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainMihomoButtonToolTipConv.cs": [ "MainConv.cs" ],
+ "MainNginxButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainNginxButtonToolTipConv.cs": [ "MainConv.cs" ],
+ "MainNoClickButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainNoClickButtonToolTipConv.cs": [ "MainConv.cs" ],
+ "MainProxyButtonIsEnabledConv.cs": [ "MainConv.cs" ],
+ "MainProxyColumnWidthConv.cs": [ "MainConv.cs" ],
+ "MainSettingsBoxHintConv.cs": [ "MainConv.cs" ],
+ "MainSettingsBoxTextConv.cs": [ "MainConv.cs" ],
+ "MainSettingsBoxToolTipConv.cs": [ "MainConv.cs" ],
+ "MainSettingsFunctionButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainSettingsModeButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainStartButtonIsEnabledConv.cs": [ "MainConv.cs" ],
+ "MainUpdateHostButtonContentConv.cs": [ "MainConv.cs" ],
+ "MainUpdateHostButtonIsEnabledConv.cs": [ "MainConv.cs" ],
+ "MainWinWidthConv.cs": [ "MainConv.cs" ],
+ "SettingsLangsButtonContentConv.cs": [ "SettingsConv.cs" ],
+ "SettingsThemesButtonContentConv.cs": [ "SettingsConv.cs" ],
+ "SettingsWeightsButtonContentConv.cs": [ "SettingsConv.cs" ]
}
}
}
diff --git a/Convs/AboutConv.cs b/Convs/AboutConv.cs
new file mode 100644
index 0000000..28937f3
--- /dev/null
+++ b/Convs/AboutConv.cs
@@ -0,0 +1,7 @@
+namespace Sheas_Cealer.Convs;
+
+internal static class AboutConv
+{
+ public static AboutAccentButtonForegroundConv AboutAccentButtonForegroundConv => new();
+ public static AboutVersionButtonContentConv AboutVersionButtonContentConv => new();
+}
\ No newline at end of file
diff --git a/Convs/MainConv.cs b/Convs/MainConv.cs
new file mode 100644
index 0000000..573dfbd
--- /dev/null
+++ b/Convs/MainConv.cs
@@ -0,0 +1,23 @@
+namespace Sheas_Cealer.Convs;
+
+internal static class MainConv
+{
+ public static MainAdminControlVisibilityConv MainAdminControlVisibilityConv => new();
+ public static MainMihomoButtonContentConv MainMihomoButtonContentConv => new();
+ public static MainMihomoButtonToolTipConv MainMihomoButtonToolTipConv => new();
+ public static MainNginxButtonContentConv MainNginxButtonContentConv => new();
+ public static MainNginxButtonToolTipConv MainNginxButtonToolTipConv => new();
+ public static MainNoClickButtonContentConv MainNoClickButtonContentConv => new();
+ public static MainNoClickButtonToolTipConv MainNoClickButtonToolTipConv => new();
+ public static MainProxyButtonIsEnabledConv MainProxyButtonIsEnabledConv => new();
+ public static MainProxyColumnWidthConv MainProxyColumnWidthConv => new();
+ public static MainSettingsBoxHintConv MainSettingsBoxHintConv => new();
+ public static MainSettingsBoxTextConv MainSettingsBoxTextConv => new();
+ public static MainSettingsBoxToolTipConv MainSettingsBoxToolTipConv => new();
+ public static MainSettingsFunctionButtonContentConv MainSettingsFunctionButtonContentConv => new();
+ public static MainSettingsModeButtonContentConv MainSettingsModeButtonContentConv => new();
+ public static MainStartButtonIsEnabledConv MainStartButtonIsEnabledConv => new();
+ public static MainUpdateHostButtonContentConv MainUpdateHostButtonContentConv => new();
+ public static MainUpdateHostButtonIsEnabledConv MainUpdateHostButtonIsEnabledConv => new();
+ public static MainWinWidthConv MainWinWidthConv => new();
+}
\ No newline at end of file
diff --git a/Convs/SettingsConv.cs b/Convs/SettingsConv.cs
new file mode 100644
index 0000000..3baee37
--- /dev/null
+++ b/Convs/SettingsConv.cs
@@ -0,0 +1,8 @@
+namespace Sheas_Cealer.Convs;
+
+internal static class SettingsConv
+{
+ public static SettingsLangsButtonContentConv SettingsLangsButtonContentConv => new();
+ public static SettingsThemesButtonContentConv SettingsThemesButtonContentConv => new();
+ public static SettingsWeightsButtonContentConv SettingsWeightsButtonContentConv => new();
+}
\ No newline at end of file
diff --git a/Preses/GlobalPres.cs b/Preses/GlobalPres.cs
index af24383..8d98fb1 100644
--- a/Preses/GlobalPres.cs
+++ b/Preses/GlobalPres.cs
@@ -39,5 +39,5 @@ internal partial class GlobalPres : ObservableObject
}
[ObservableProperty]
- private static Color accentForegroundColor = (Color)ColorConverter.ConvertFromString("#2196f3");
+ private static Color accentForegroundColor = (Color)ColorConverter.ConvertFromString("#2196F3");
}
\ No newline at end of file
diff --git a/Utils/ForegroundGenerator.cs b/Utils/ForegroundGenerator.cs
index 3e39a35..9f32ce9 100644
--- a/Utils/ForegroundGenerator.cs
+++ b/Utils/ForegroundGenerator.cs
@@ -23,7 +23,7 @@ internal static class ForegroundGenerator
return (blackContrast >= 5.5 && whiteContrast >= 2.5 ? null :
blackContrast >= whiteContrast ? Colors.Black : Colors.White,
- (Color)ColorConverter.ConvertFromString(blueContrast >= redContrast ? "#2196f3" : "#f44336"));
+ (Color)ColorConverter.ConvertFromString(blueContrast >= redContrast ? "#2196F3" : "#F44336"));
}
private static double GammaCorrect(double component) => component <= 0.03928 ? component / 12.92 : Math.Pow((component + 0.055) / 1.055, 2.4);
diff --git a/Wins/AboutWin.xaml b/Wins/AboutWin.xaml
index 886ca93..4e6cc30 100644
--- a/Wins/AboutWin.xaml
+++ b/Wins/AboutWin.xaml
@@ -7,9 +7,10 @@
xmlns:convs="clr-namespace:Sheas_Cealer.Convs"
xmlns:preses="clr-namespace:Sheas_Cealer.Preses"
mc:Ignorable="d"
+ WindowStartupLocation="CenterScreen" ResizeMode="NoResize" SizeToContent="Height" Width="500"
d:DataContext="{d:DesignInstance preses:AboutPres}"
- Style="{DynamicResource CommonWindow}" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" SizeToContent="Height" Width="500"
- Loaded="AboutWin_Loaded" KeyDown="AboutWin_KeyDown">
+ Style="{DynamicResource CommonWindow}"
+ Loaded="AboutWin_Loaded" KeyDown="AboutWin_KeyDown">
@@ -22,32 +23,18 @@
-
+
-
-
-
-
\ No newline at end of file
diff --git a/Wins/MainWin.xaml b/Wins/MainWin.xaml
index 3982519..b08dc14 100644
--- a/Wins/MainWin.xaml
+++ b/Wins/MainWin.xaml
@@ -8,17 +8,12 @@
xmlns:convs="clr-namespace:Sheas_Cealer.Convs"
xmlns:preses="clr-namespace:Sheas_Cealer.Preses"
mc:Ignorable="d"
- d:DataContext="{d:DesignInstance preses:MainPres}" AllowDrop="True"
- Style="{DynamicResource CommonWindow}" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize" SizeToContent="Height"
+ AllowDrop="True"
+ WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize" SizeToContent="Height"
+ d:DataContext="{d:DesignInstance preses:MainPres}"
+ Style="{DynamicResource CommonWindow}"
+ Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainWinWidthConv}}"
Loaded="MainWin_Loaded" Closing="MainWin_Closing" DragEnter="MainWin_DragEnter" Drop="MainWin_Drop" KeyDown="MainWin_KeyDown">
-
-
-
-
-
-
-
-
@@ -35,326 +30,165 @@
-
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+ Grid.Column="1" Margin="5"
+ Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
+ Content="{x:Static consts:MainConst.EditHostsConfButtonContent}"
+ ToolTip="{x:Static consts:MainConst.EditHostsConfButtonToolTip}"
+ Click="EditConfButton_Click" />
-
-
-
-
-
-
-
-
-
+
-
-
+
diff --git a/Wins/SettingsWin.xaml b/Wins/SettingsWin.xaml
index c7d75f7..aac26e5 100644
--- a/Wins/SettingsWin.xaml
+++ b/Wins/SettingsWin.xaml
@@ -7,8 +7,9 @@
xmlns:convs="clr-namespace:Sheas_Cealer.Convs"
xmlns:preses="clr-namespace:Sheas_Cealer.Preses"
mc:Ignorable="d"
+ WindowStartupLocation="CenterScreen" ResizeMode="NoResize" SizeToContent="Height" Width="500"
d:DataContext="{d:DesignInstance preses:SettingsPres}"
- Style="{DynamicResource CommonWindow}" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" SizeToContent="Height" Width="500"
+ Style="{DynamicResource CommonWindow}"
KeyDown="SettingsWin_KeyDown">
@@ -20,40 +21,21 @@
-
-
-
-
-
+
+
-
-
+
\ No newline at end of file