1.1.1 -> 1.1.2 第23次更新

This commit is contained in:
Space Time 2024-10-03 20:46:56 +08:00
parent c42d7351c4
commit c1231e3fe1
2 changed files with 34 additions and 2 deletions

View File

@ -115,7 +115,7 @@
</Button.IsEnabled>
</Button>
<Button Grid.Column="1" Margin="5" d:Content="# # # #"
Click="NginxButton_Click">
Click="NginxButton_Click" PreviewMouseDown="NginxButton_PreviewMouseDown">
<Button.IsEnabled>
<Binding Path="IsNginxExist">
<Binding.Converter>
@ -146,7 +146,7 @@
</Button.ToolTip>
</Button>
<Button Grid.Column="2" Margin="5" d:Content="# # # #"
Click="MihomoButton_Click">
Click="MihomoButton_Click" PreviewMouseDown="MihomoButton_PreviewMouseDown">
<Button.IsEnabled>
<Binding Path="IsMihomoExist">
<Binding.Converter>

View File

@ -143,6 +143,19 @@ public partial class MainWin : Window
}
private void NginxButton_Click(object sender, RoutedEventArgs e)
{
if (HoldButtonTimer == null || HoldButtonTimer.IsEnabled)
NginxButtonHoldTimer_Tick(null, null!);
}
private void NginxButton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
HoldButtonTimer = new() { Interval = TimeSpan.FromSeconds(1) };
HoldButtonTimer.Tick += NginxButtonHoldTimer_Tick;
HoldButtonTimer.Start();
}
private void NginxButtonHoldTimer_Tick(object? sender, EventArgs e)
{
HoldButtonTimer?.Stop();
string configPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "nginx.conf");
string logsPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "logs");
string tempPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "temp");
@ -160,6 +173,9 @@ public partial class MainWin : Window
return;
new NginxProc().ShellRun(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, @"-c nginx.conf");
if (sender == null)
Application.Current.Dispatcher.InvokeShutdown();
}
else
{
@ -172,6 +188,19 @@ public partial class MainWin : Window
}
private void MihomoButton_Click(object sender, RoutedEventArgs e)
{
if (HoldButtonTimer == null || HoldButtonTimer.IsEnabled)
MihomoButtonHoldTimer_Tick(null, null!);
}
private void MihomoButton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
HoldButtonTimer = new() { Interval = TimeSpan.FromSeconds(1) };
HoldButtonTimer.Tick += MihomoButtonHoldTimer_Tick;
HoldButtonTimer.Start();
}
private void MihomoButtonHoldTimer_Tick(object? sender, EventArgs e)
{
HoldButtonTimer?.Stop();
RegistryKey proxyKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings", true)!;
string configPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "config.yaml");
@ -199,6 +228,9 @@ public partial class MainWin : Window
proxyKey.SetValue("ProxyServer", "127.0.0.1:" + mihomoPortNode);
new MihomoProc().ShellRun(AppDomain.CurrentDomain.SetupInformation.ApplicationBase!, "-d .");
if (sender == null)
Application.Current.Dispatcher.InvokeShutdown();
}
else
{