diff --git a/DiscordChatExporter.Gui/App.axaml.cs b/DiscordChatExporter.Gui/App.axaml.cs index 92640636..37179c5c 100644 --- a/DiscordChatExporter.Gui/App.axaml.cs +++ b/DiscordChatExporter.Gui/App.axaml.cs @@ -7,6 +7,7 @@ using Avalonia.Platform; using DiscordChatExporter.Gui.Framework; using DiscordChatExporter.Gui.Localization; using DiscordChatExporter.Gui.Services; +using DiscordChatExporter.Gui.Utils.Extensions; using DiscordChatExporter.Gui.ViewModels; using DiscordChatExporter.Gui.ViewModels.Components; using DiscordChatExporter.Gui.ViewModels.Dialogs; @@ -17,7 +18,7 @@ using PowerKit.Extensions; namespace DiscordChatExporter.Gui; -public class App : Application, IDisposable +public partial class App : Application, IDisposable { private readonly ServiceProvider _services; private readonly SettingsService _settingsService; @@ -135,3 +136,12 @@ public class App : Application, IDisposable _services.Dispose(); } } + +public partial class App +{ + public static void Shutdown(int exitCode = 0) + { + if (Current?.ApplicationLifetime?.TryShutdown(exitCode) != true) + Environment.Exit(exitCode); + } +} diff --git a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs index 0c0cd32f..dcf3df99 100644 --- a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs @@ -1,7 +1,5 @@ -using System; using System.Diagnostics; using System.Threading.Tasks; -using Avalonia; using DiscordChatExporter.Gui.Framework; using DiscordChatExporter.Gui.Localization; using DiscordChatExporter.Gui.Services; @@ -88,8 +86,7 @@ public partial class MainViewModel( { updateService.FinalizeUpdate(true); - if (Application.Current?.ApplicationLifetime?.TryShutdown(2) != true) - Environment.Exit(2); + App.Shutdown(2); } ); }