diff --git a/project/Aki.Launcher.Base/Controllers/GameStarter.cs b/project/Aki.Launcher.Base/Controllers/GameStarter.cs index 3fc8d31..1f29bcc 100644 --- a/project/Aki.Launcher.Base/Controllers/GameStarter.cs +++ b/project/Aki.Launcher.Base/Controllers/GameStarter.cs @@ -29,7 +29,6 @@ namespace Aki.Launcher private readonly IGameStarterFrontend _frontend; private readonly bool _showOnly; private readonly string _originalGamePath; - private readonly string _gamePath; private readonly string[] _excludeFromCleanup; private const string registryInstall = @"Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\EscapeFromTarkov"; @@ -40,7 +39,6 @@ namespace Aki.Launcher { _frontend = frontend; _showOnly = showOnly; - _gamePath = gamePath ?? LauncherSettingsProvider.Instance.GamePath ?? Environment.CurrentDirectory; _originalGamePath = originalGamePath ??= DetectOriginalGamePath(); _excludeFromCleanup = excludeFromCleanup ?? LauncherSettingsProvider.Instance.ExcludeFromCleanup; } @@ -57,7 +55,7 @@ namespace Aki.Launcher return info?.DirectoryName; } - public async Task LaunchGame(ServerInfo server, AccountInfo account) + public async Task LaunchGame(ServerInfo server, AccountInfo account, string gamePath) { // setup directories if (IsInstalledInLive()) @@ -66,7 +64,7 @@ namespace Aki.Launcher return GameStarterResult.FromError(-1); } - SetupGameFiles(); + SetupGameFiles(gamePath); if (!ValidationUtil.Validate()) { @@ -81,7 +79,7 @@ namespace Aki.Launcher } // check game path - var clientExecutable = Path.Join(_gamePath, "EscapeFromTarkov.exe"); + var clientExecutable = Path.Join(gamePath, "EscapeFromTarkov.exe"); if (!File.Exists(clientExecutable)) { @@ -90,7 +88,7 @@ namespace Aki.Launcher } // apply patches - ProgressReportingPatchRunner patchRunner = new ProgressReportingPatchRunner(_gamePath); + ProgressReportingPatchRunner patchRunner = new ProgressReportingPatchRunner(gamePath); try { @@ -116,7 +114,7 @@ namespace Aki.Launcher { Arguments = args, UseShellExecute = false, - WorkingDirectory = _gamePath, + WorkingDirectory = gamePath, }; Process.Start(clientProcess); @@ -183,17 +181,17 @@ namespace Aki.Launcher return isInstalledInLive; } - void SetupGameFiles() + void SetupGameFiles(string gamePath) { var files = new [] { - GetFileForCleanup("BattlEye"), - GetFileForCleanup("Logs"), - GetFileForCleanup("ConsistencyInfo"), - GetFileForCleanup("EscapeFromTarkov_BE.exe"), - GetFileForCleanup("Uninstall.exe"), - GetFileForCleanup("UnityCrashHandler64.exe"), - GetFileForCleanup("WinPixEventRuntime.dll") + GetFileForCleanup("BattlEye", gamePath), + GetFileForCleanup("Logs", gamePath), + GetFileForCleanup("ConsistencyInfo", gamePath), + GetFileForCleanup("EscapeFromTarkov_BE.exe", gamePath), + GetFileForCleanup("Uninstall.exe", gamePath), + GetFileForCleanup("UnityCrashHandler64.exe", gamePath), + GetFileForCleanup("WinPixEventRuntime.dll", gamePath) }; foreach (var file in files) @@ -215,7 +213,7 @@ namespace Aki.Launcher } } - private string GetFileForCleanup(string fileName) + private string GetFileForCleanup(string fileName, string gamePath) { if (_excludeFromCleanup.Contains(fileName)) { @@ -223,7 +221,7 @@ namespace Aki.Launcher return null; } - return Path.Combine(_gamePath, fileName); + return Path.Combine(gamePath, fileName); } /// diff --git a/project/Aki.Launcher.Base/Helpers/LocalizationProvider.cs b/project/Aki.Launcher.Base/Helpers/LocalizationProvider.cs index eac6378..fe42f93 100644 --- a/project/Aki.Launcher.Base/Helpers/LocalizationProvider.cs +++ b/project/Aki.Launcher.Base/Helpers/LocalizationProvider.cs @@ -123,9 +123,11 @@ namespace Aki.Launcher.Helpers englishLocale.default_language = "Default Language"; englishLocale.game_path = "Game Path"; englishLocale.clear_game_settings = "Clear Game Settings"; - englishLocale.clear_game_settings_warning = "You are about to remove your old game settings files. They will be backed up to:\n{0}\n\nAre you sure?"; englishLocale.clear_game_settings_succeeded = "Game settings cleared."; englishLocale.clear_game_settings_failed = "An issue occurred while clearing game settings."; + englishLocale.reset_game_settings = "Reset Game Settings"; + englishLocale.reset_game_settings_succeeded = "Game settings reset"; + englishLocale.reset_game_settings_failed = "Failed to reset game settings"; englishLocale.remove_registry_keys = "Remove Registry Keys"; englishLocale.remove_registry_keys_succeeded = "Registry keys removed."; englishLocale.remove_registry_keys_failed = "An issue occurred while removing registry keys."; @@ -738,22 +740,6 @@ namespace Aki.Launcher.Helpers } #endregion - #region clear_game_settings_warning - private string _clear_game_settings_warning; - public string clear_game_settings_warning - { - get => _clear_game_settings_warning; - set - { - if (_clear_game_settings_warning != value) - { - _clear_game_settings_warning = value; - RaisePropertyChanged(nameof(clear_game_settings_warning)); - } - } - } - #endregion - #region clear_game_settings_succeeded private string _clear_game_settings_succeeded; public string clear_game_settings_succeeded @@ -786,6 +772,54 @@ namespace Aki.Launcher.Helpers } #endregion + #region reset_game_settings + private string _reset_game_settings; + public string reset_game_settings + { + get => _reset_game_settings; + set + { + if (_reset_game_settings != value) + { + _reset_game_settings = value; + RaisePropertyChanged(nameof(reset_game_settings)); + } + } + } + #endregion + + #region reset_game_settings_failed + private string _reset_game_settings_failed; + public string reset_game_settings_failed + { + get => _reset_game_settings_failed; + set + { + if (_reset_game_settings_failed != value) + { + _reset_game_settings_failed = value; + RaisePropertyChanged(nameof(reset_game_settings_failed)); + } + } + } + #endregion + + #region reset_game_settings_succeeded + private string _reset_game_settings_succeeded; + public string reset_game_settings_succeeded + { + get => _reset_game_settings_succeeded; + set + { + if (_reset_game_settings_succeeded != value) + { + _reset_game_settings_succeeded = value; + RaisePropertyChanged(nameof(reset_game_settings_succeeded)); + } + } + } + #endregion + #region remove_registry_keys private string _remove_registry_keys; public string remove_registry_keys diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Simplified).json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Simplified).json index 4cf5d68..7c8cf46 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Simplified).json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Simplified).json @@ -32,7 +32,6 @@ "default_language": "默认语言", "game_path": "游戏路径", "clear_game_settings": "恢复默认游戏设置", - "clear_game_settings_warning": "您将要删除旧的游戏设置文件。它们将备份到:\n{0}\n\n您确定吗?", "clear_game_settings_succeeded": "游戏设置已恢复默认", "clear_game_settings_failed": "游戏设置恢复失败", "remove_registry_keys": "移除注册表", @@ -83,5 +82,8 @@ "description": "描述", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Traditional).json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Traditional).json index 583f216..0b48153 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Traditional).json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Chinese (Traditional).json @@ -32,7 +32,6 @@ "default_language": "預設語言", "game_path": "遊戲路徑", "clear_game_settings": "重置遊戲設定", - "clear_game_settings_warning": "You are about to remove your old game settings files. They will be backed up to:\n{0}\n\nAre you sure?", "clear_game_settings_succeeded": "遊戲設定已重置", "clear_game_settings_failed": "遊戲設定重置過程中發生錯誤", "remove_registry_keys": "移除登錄檔機碼", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/English.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/English.json index bd30c22..8e45411 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/English.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/English.json @@ -32,7 +32,6 @@ "default_language": "Default Language", "game_path": "SPT Game Path", "clear_game_settings": "Clear Game Settings", - "clear_game_settings_warning": "You are about to remove your old game settings files. They will be backed up to:\n{0}\n\nAre you sure?", "clear_game_settings_succeeded": "Game settings cleared.", "clear_game_settings_failed": "An issue occurred while clearing game settings.", "remove_registry_keys": "Remove Registry Keys", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/French.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/French.json index 34a924b..645c251 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/French.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/French.json @@ -32,7 +32,6 @@ "default_language": "Langue par défaut", "game_path": "Répertoire du jeu", "clear_game_settings": "Réinitialiser les paramètres du jeu", - "clear_game_settings_warning": "You are about to remove your old game settings files. They will be backed up to:\n{0}\n\nAre you sure?", "clear_game_settings_succeeded": "Paramètres du jeu réinitialisés.", "clear_game_settings_failed": "Un problème est survenu pendant la réinitialisation des paramètres de jeu.", "remove_registry_keys": "Réinitialiser les clés du registre", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/German.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/German.json index 1899e64..9403820 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/German.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/German.json @@ -32,7 +32,6 @@ "default_language": "Standardsprache", "game_path": "Spielpfad", "clear_game_settings": "Spieleinstellungen zurücksetzen", - "clear_game_settings_warning": "You are about to remove your old game settings files. They will be backed up to:\n{0}\n\nAre you sure?", "clear_game_settings_succeeded": "Spieleinstellungen zurückgesetzt", "clear_game_settings_failed": "Die Spieleinstellungen konnten aufgrund eines Fehlers nicht zurückgesetzt werden.", "remove_registry_keys": "Registry-Schlüssel entfernen?", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Italian.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Italian.json index fb72c8d..97e818a 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Italian.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Italian.json @@ -32,7 +32,6 @@ "default_language": "Linguaggio predefinito", "game_path": "Cartella di installazione di SPT", "clear_game_settings": "Resetta impostazioni di gioco", - "clear_game_settings_warning": "Stai per cancellare i file delle impostazioni di gioco. Saranno backuppate in:\n{0}\n\nConfermi?", "clear_game_settings_succeeded": "Impostazioni di gioco resettate.", "clear_game_settings_failed": "E' sorto un problema nel resettare le impostazioni di gioco.", "remove_registry_keys": "Rimuovi chiavi di registro", @@ -83,5 +82,8 @@ "description": "Descrizione", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Japanese.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Japanese.json index 30e4728..d9db0b1 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Japanese.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Japanese.json @@ -32,7 +32,6 @@ "default_language": "デフォルト言語", "game_path": "SPTゲームパス", "clear_game_settings": "ゲーム設定をクリア", - "clear_game_settings_warning": "古いゲーム設定ファイルを削除しようとしています。 次の場所にバックアップされます:\n{0}\n\nよろしいですか?", "clear_game_settings_succeeded": "ゲーム設定をクリアしました。", "clear_game_settings_failed": "ゲーム設定のクリア中に問題が発生しました。", "remove_registry_keys": "レジストリキーを削除する", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Korean.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Korean.json index 7dc6d3e..a83fe7b 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Korean.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Korean.json @@ -32,7 +32,6 @@ "default_language": "기본 언어", "game_path": "SPT 게임 경로", "clear_game_settings": "게임 설정 초기화", - "clear_game_settings_warning": "기존 게임의 설정 파일을 초기화 합니다. 기존 파일들은\n{0}\n\n위치에 백업됩니다. 초기화하시겠습니까?", "clear_game_settings_succeeded": "게임 설정이 초기화되었습니다.", "clear_game_settings_failed": "게임 설정을 초기화하는 도중에 문제가 발생하였습니다.", "remove_registry_keys": "레지스트리 키 삭제", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Russian.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Russian.json index 2444e12..64937fb 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Russian.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Russian.json @@ -32,7 +32,6 @@ "default_language": "Язык по-уолчанию", "game_path": "Путь к игре", "clear_game_settings": "Очистить настройки игры", - "clear_game_settings_warning": "Вы собираетесь удалить старые файлы настроек игры. Их копия будет расположена здесь:\n{0}\n\n Продолжить?", "clear_game_settings_succeeded": "Настройки игры очищены", "clear_game_settings_failed": "Неизвестная проблема при очистке настроек игры", "remove_registry_keys": "Очистить реестр", @@ -83,5 +82,8 @@ "description": "Description", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Spanish.json b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Spanish.json index 3735d58..c3d2498 100644 --- a/project/Aki.Launcher/Aki_Data/Launcher/Locales/Spanish.json +++ b/project/Aki.Launcher/Aki_Data/Launcher/Locales/Spanish.json @@ -32,7 +32,6 @@ "default_language": "Idioma", "game_path": "Ruta para SPT", "clear_game_settings": "Limpiar ajustes del juego", - "clear_game_settings_warning": "Estás a punto de borrar tus antiguos ajustes del juego. Ellos estarán respaldados en:\n{0}\n\n¿Estás seguro?", "clear_game_settings_succeeded": "Ajustes limpiados.", "clear_game_settings_failed": "Ha habido un problema mientras se limpiaban los ajustes del juego.", "remove_registry_keys": "Eliminar claves de registro", @@ -83,5 +82,8 @@ "description": "Descripción", "server_mods": "Server Mods", "profile_mods": "Profile Mods", - "author": "Author" + "author": "Author", + "reset_game_settings": "Reset Game Settings", + "reset_game_settings_failed": "Failed to reset game settings", + "reset_game_settings_succeeded": "Game settings reset" } \ No newline at end of file diff --git a/project/Aki.Launcher/ViewModels/ProfileViewModel.cs b/project/Aki.Launcher/ViewModels/ProfileViewModel.cs index 5aa2f55..3d0f675 100644 --- a/project/Aki.Launcher/ViewModels/ProfileViewModel.cs +++ b/project/Aki.Launcher/ViewModels/ProfileViewModel.cs @@ -144,7 +144,7 @@ namespace Aki.Launcher.ViewModels LauncherSettingsProvider.Instance.GameRunning = true; - GameStarterResult gameStartResult = await gameStarter.LaunchGame(ServerManager.SelectedServer, AccountManager.SelectedAccount); + GameStarterResult gameStartResult = await gameStarter.LaunchGame(ServerManager.SelectedServer, AccountManager.SelectedAccount, LauncherSettingsProvider.Instance.GamePath); if (gameStartResult.Succeeded) { diff --git a/project/Aki.Launcher/ViewModels/SettingsViewModel.cs b/project/Aki.Launcher/ViewModels/SettingsViewModel.cs index e23ce4c..bd61bd3 100644 --- a/project/Aki.Launcher/ViewModels/SettingsViewModel.cs +++ b/project/Aki.Launcher/ViewModels/SettingsViewModel.cs @@ -74,79 +74,59 @@ namespace Aki.Launcher.ViewModels } } - public async Task ClearGameSettingsCommand() + public async Task ResetGameSettingsCommand() { + string EFTSettingsFolder = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Battlestate Games", "Escape from Tarkov", "Settings"); + string SPTSettingsFolder = Path.Join(LauncherSettingsProvider.Instance.GamePath, "user", "sptsettings"); - bool BackupAndRemove(string backupFolderPath, FileInfo file) + if (!Directory.Exists(EFTSettingsFolder)) { - try - { - file.Refresh(); - - //if for some reason the file no longer exists /shrug - if (!file.Exists) - { - return false; - } - - //create backup dir and copy file - Directory.CreateDirectory(backupFolderPath); - - string newFilePath = Path.Combine(backupFolderPath, $"{file.Name}_{DateTime.Now.ToString("MM-dd-yyyy_hh-mm-ss-tt")}.bak"); - - File.Copy(file.FullName, newFilePath); - - //copy check - if (!File.Exists(newFilePath)) - { - return false; - } - - //delete old file - file.Delete(); - } - catch (Exception ex) - { - LogManager.Instance.Exception(ex); - } - - //delete check - if (file.Exists) - { - return false; - } - - return true; + LogManager.Instance.Warning($"EFT settings folder not found, can't reset :: Path: {EFTSettingsFolder}"); + SendNotification("", LocalizationProvider.Instance.reset_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error); + return; } - string EFTSettingsFolder = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Escape from Tarkov"); - string backupFolderPath = Path.Combine(EFTSettingsFolder, "Backups"); - - if (Directory.Exists(EFTSettingsFolder)) + try { - FileInfo local_ini = new FileInfo(Path.Combine(EFTSettingsFolder, "local.ini")); - FileInfo shared_ini = new FileInfo(Path.Combine(EFTSettingsFolder, "shared.ini")); + Directory.CreateDirectory(SPTSettingsFolder); - string Message = string.Format(LocalizationProvider.Instance.clear_game_settings_warning, backupFolderPath); - ConfirmationDialogViewModel confirmDelete = new ConfirmationDialogViewModel(null, Message, LocalizationProvider.Instance.clear_game_settings, LocalizationProvider.Instance.cancel); - - var confirmation = await ShowDialog(confirmDelete); - - if (confirmation is bool proceed && !proceed) + foreach (string dirPath in Directory.GetDirectories(EFTSettingsFolder, "*", SearchOption.AllDirectories)) { - return; + Directory.CreateDirectory(dirPath.Replace(EFTSettingsFolder, SPTSettingsFolder)); } - bool localSucceeded = BackupAndRemove(backupFolderPath, local_ini); - bool sharedSucceeded = BackupAndRemove(backupFolderPath, shared_ini); - - //if one fails, I'm considering it bad. Send failed notification. - if (!localSucceeded || !sharedSucceeded) + //Copy all the files & Replaces any files with the same name + foreach (string newPath in Directory.GetFiles(EFTSettingsFolder, "*.*", SearchOption.AllDirectories)) { - SendNotification("", LocalizationProvider.Instance.clear_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error); - return; + File.Copy(newPath, newPath.Replace(EFTSettingsFolder, SPTSettingsFolder), true); } } + catch (Exception ex) + { + LogManager.Instance.Exception(ex); + SendNotification("", LocalizationProvider.Instance.reset_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error); + return; + } + + SendNotification("", LocalizationProvider.Instance.reset_game_settings_succeeded, Avalonia.Controls.Notifications.NotificationType.Success); + } + + public async Task ClearGameSettingsCommand() + { + var SPTSettingsDir = new DirectoryInfo(Path.Join(LauncherSettingsProvider.Instance.GamePath, "user", "sptsettings")); + + try + { + SPTSettingsDir.Delete(true); + + Directory.CreateDirectory(SPTSettingsDir.FullName); + } + catch(Exception ex) + { + LogManager.Instance.Exception(ex); + SendNotification("", LocalizationProvider.Instance.clear_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error); + return; + } SendNotification("", LocalizationProvider.Instance.clear_game_settings_succeeded, Avalonia.Controls.Notifications.NotificationType.Success); } diff --git a/project/Aki.Launcher/Views/SettingsView.axaml b/project/Aki.Launcher/Views/SettingsView.axaml index a04f99f..2cfc5df 100644 --- a/project/Aki.Launcher/Views/SettingsView.axaml +++ b/project/Aki.Launcher/Views/SettingsView.axaml @@ -8,33 +8,39 @@ mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="Aki.Launcher.Views.SettingsView"> - + - + - - +