Merge branch '2dust:master' into master

This commit is contained in:
fonaix 2024-11-08 20:20:54 +08:00 committed by GitHub
commit 5028b4b52e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 23 additions and 12 deletions

View file

@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>7.0.7</Version>
<Version>7.0.8</Version>
</PropertyGroup>
<ItemGroup>

View file

@ -69,11 +69,12 @@ public partial class App : Application
}
}
private void MenuExit_Click(object? sender, EventArgs e)
private async void MenuExit_Click(object? sender, EventArgs e)
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
Locator.Current.GetService<MainWindowViewModel>()?.MyAppExitAsync(false);
var service = Locator.Current.GetService<MainWindowViewModel>();
if (service != null) await service.MyAppExitAsync(false);
desktop.Shutdown();
}

View file

@ -10,7 +10,6 @@ using DialogHostAvalonia;
using MsBox.Avalonia.Enums;
using ReactiveUI;
using Splat;
using System.ComponentModel;
using System.Reactive.Disposables;
using v2rayN.Desktop.Common;
@ -30,7 +29,6 @@ namespace v2rayN.Desktop.Views
_config = AppHandler.Instance.Config;
_manager = new WindowNotificationManager(TopLevel.GetTopLevel(this)) { MaxItems = 3, Position = NotificationPosition.BottomRight };
this.Closing += MainWindow_Closing;
this.KeyDown += MainWindow_KeyDown;
menuSettingsSetUWP.Click += menuSettingsSetUWP_Click;
menuPromotion.Click += menuPromotion_Click;
@ -274,10 +272,22 @@ namespace v2rayN.Desktop.Views
}
}
private void MainWindow_Closing(object? sender, CancelEventArgs e)
protected override async void OnClosing(WindowClosingEventArgs e)
{
e.Cancel = true;
ShowHideWindow(false);
Logging.SaveLog("OnClosing -> " + e.CloseReason.ToString());
switch (e.CloseReason)
{
case WindowCloseReason.OwnerWindowClosing or WindowCloseReason.WindowClosing:
e.Cancel = true;
ShowHideWindow(false);
break;
case WindowCloseReason.ApplicationShutdown or WindowCloseReason.OSShutdown:
await ViewModel?.MyAppExitAsync(true);
break;
}
base.OnClosing(e);
}
private async void MainWindow_KeyDown(object? sender, KeyEventArgs e)

View file

@ -270,11 +270,11 @@ namespace v2rayN.Views
StorageUI();
}
private void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e)
private async void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e)
{
Logging.SaveLog("Current_SessionEnding");
StorageUI();
ViewModel?.MyAppExitAsync(true);
await ViewModel?.MyAppExitAsync(true);
}
private void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)

View file

@ -100,11 +100,11 @@ namespace v2rayN.Views
return await Task.FromResult(true);
}
private void menuExit_Click(object sender, RoutedEventArgs e)
private async void menuExit_Click(object sender, RoutedEventArgs e)
{
tbNotify.Dispose();
var service = Locator.Current.GetService<MainWindowViewModel>();
if (service != null) service.MyAppExitAsync(false);
if (service != null) await service.MyAppExitAsync(false);
}
private void txtRunningInfoDisplay_MouseDoubleClick(object sender, MouseButtonEventArgs e)