mirror of
https://github.com/SpaceTimee/Sheas-Cealer.git
synced 2025-07-13 21:02:08 +08:00
1.1.3 -> 1.1.4 第57次更新
This commit is contained in:
parent
dc73a30540
commit
2660c63311
18
Convs/MainUpdateHostButtonContentConv.cs
Normal file
18
Convs/MainUpdateHostButtonContentConv.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using Sheas_Cealer.Consts;
|
||||||
|
|
||||||
|
namespace Sheas_Cealer.Convs;
|
||||||
|
|
||||||
|
internal class MainUpdateHostButtonContentConv : IValueConverter
|
||||||
|
{
|
||||||
|
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||||
|
{
|
||||||
|
bool isUpstreamHostUtd = (bool)value;
|
||||||
|
|
||||||
|
return isUpstreamHostUtd ? MainConst.UpdateUpstreamHostButtonContent : $"{MainConst.UpdateUpstreamHostButtonContent} *";
|
||||||
|
}
|
||||||
|
|
||||||
|
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException();
|
||||||
|
}
|
@ -283,7 +283,7 @@
|
|||||||
</ColumnDefinition>
|
</ColumnDefinition>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Button Grid.Column="0" Margin="5" Content="{Binding Source={x:Static consts:MainConst.UpdateUpstreamHostButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.UpdateUpstreamHostButtonToolTip}}"
|
<Button Grid.Column="0" Margin="5" d:Content="# # # # # #" ToolTip="{Binding Source={x:Static consts:MainConst.UpdateUpstreamHostButtonToolTip}}"
|
||||||
Click="UpdateUpstreamHostButton_Click">
|
Click="UpdateUpstreamHostButton_Click">
|
||||||
<Button.IsEnabled>
|
<Button.IsEnabled>
|
||||||
<Binding Path="UpstreamUrl">
|
<Binding Path="UpstreamUrl">
|
||||||
@ -292,6 +292,13 @@
|
|||||||
</Binding.Converter>
|
</Binding.Converter>
|
||||||
</Binding>
|
</Binding>
|
||||||
</Button.IsEnabled>
|
</Button.IsEnabled>
|
||||||
|
<Button.Content>
|
||||||
|
<Binding Path="IsUpstreamHostUtd">
|
||||||
|
<Binding.Converter>
|
||||||
|
<convs:MainUpdateHostButtonContentConv />
|
||||||
|
</Binding.Converter>
|
||||||
|
</Binding>
|
||||||
|
</Button.Content>
|
||||||
</Button>
|
</Button>
|
||||||
<Button x:Name="EditHostsConfButton"
|
<Button x:Name="EditHostsConfButton"
|
||||||
Grid.Column="1" Margin="5" Content="{Binding Source={x:Static consts:MainConst.EditHostsConfButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.EditHostsConfButtonToolTip}}"
|
Grid.Column="1" Margin="5" Content="{Binding Source={x:Static consts:MainConst.EditHostsConfButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.EditHostsConfButtonToolTip}}"
|
||||||
|
@ -420,26 +420,31 @@ public partial class MainWin : Window
|
|||||||
try { upstreamUpstreamHostString = Encoding.UTF8.GetString(Convert.FromBase64String(upstreamUpstreamHostString)); }
|
try { upstreamUpstreamHostString = Encoding.UTF8.GetString(Convert.FromBase64String(upstreamUpstreamHostString)); }
|
||||||
catch { }
|
catch { }
|
||||||
|
|
||||||
if (localUpstreamHostString == upstreamUpstreamHostString || localUpstreamHostString.ReplaceLineEndings() == upstreamUpstreamHostString.ReplaceLineEndings())
|
if (sender == null && (localUpstreamHostString != upstreamUpstreamHostString && localUpstreamHostString.ReplaceLineEndings() != upstreamUpstreamHostString.ReplaceLineEndings()))
|
||||||
if (sender == null)
|
|
||||||
MainPres.IsUpstreamHostUtd = true;
|
|
||||||
else
|
|
||||||
MessageBox.Show(MainConst._UpstreamHostUtdMsg);
|
|
||||||
else if (sender == null)
|
|
||||||
MainPres.IsUpstreamHostUtd = false;
|
MainPres.IsUpstreamHostUtd = false;
|
||||||
else
|
else if (sender != null)
|
||||||
{
|
if (localUpstreamHostString == upstreamUpstreamHostString || localUpstreamHostString.ReplaceLineEndings() == upstreamUpstreamHostString.ReplaceLineEndings())
|
||||||
MessageBoxResult overrideOptionResult = MessageBox.Show(MainConst._OverrideUpstreamHostPrompt, string.Empty, MessageBoxButton.YesNoCancel);
|
|
||||||
|
|
||||||
if (overrideOptionResult == MessageBoxResult.Yes)
|
|
||||||
{
|
{
|
||||||
File.WriteAllText(MainConst.UpstreamHostPath, upstreamUpstreamHostString);
|
MainPres.IsUpstreamHostUtd = true;
|
||||||
MessageBox.Show(MainConst._UpdateUpstreamHostSuccessMsg);
|
|
||||||
|
MessageBox.Show(MainConst._UpstreamHostUtdMsg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBoxResult overrideOptionResult = MessageBox.Show(MainConst._OverrideUpstreamHostPrompt, string.Empty, MessageBoxButton.YesNoCancel);
|
||||||
|
|
||||||
|
if (overrideOptionResult == MessageBoxResult.Yes)
|
||||||
|
{
|
||||||
|
File.WriteAllText(MainConst.UpstreamHostPath, upstreamUpstreamHostString);
|
||||||
|
|
||||||
|
MainPres.IsUpstreamHostUtd = true;
|
||||||
|
|
||||||
|
MessageBox.Show(MainConst._UpdateUpstreamHostSuccessMsg);
|
||||||
|
}
|
||||||
|
else if (overrideOptionResult == MessageBoxResult.No)
|
||||||
|
try { Process.Start(new ProcessStartInfo(upstreamUpstreamHostUrl) { UseShellExecute = true }); }
|
||||||
|
catch (UnauthorizedAccessException) { Process.Start(new ProcessStartInfo(upstreamUpstreamHostUrl) { UseShellExecute = true, Verb = "RunAs" }); }
|
||||||
}
|
}
|
||||||
else if (overrideOptionResult == MessageBoxResult.No)
|
|
||||||
try { Process.Start(new ProcessStartInfo(upstreamUpstreamHostUrl) { UseShellExecute = true }); }
|
|
||||||
catch (UnauthorizedAccessException) { Process.Start(new ProcessStartInfo(upstreamUpstreamHostUrl) { UseShellExecute = true, Verb = "RunAs" }); }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SettingsButton_Click(object sender, RoutedEventArgs e) => new SettingsWin().ShowDialog();
|
private void SettingsButton_Click(object sender, RoutedEventArgs e) => new SettingsWin().ShowDialog();
|
||||||
|
Loading…
Reference in New Issue
Block a user