mirror of
https://github.com/sp-tarkov/launcher.git
synced 2025-02-12 17:10:44 -05:00
add reset button
This commit is contained in:
parent
3517f5e9e1
commit
2e882683c4
@ -74,6 +74,43 @@ namespace Aki.Launcher.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public async Task ResetGameSettingsCommand()
|
||||
{
|
||||
string EFTSettingsFolder = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Escape from Tarkov", "Settings");
|
||||
string SPTSettingsFolder = Path.Join(LauncherSettingsProvider.Instance.GamePath, "user", "sptsettings");
|
||||
|
||||
if (!Directory.Exists(EFTSettingsFolder))
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Directory.CreateDirectory(SPTSettingsFolder);
|
||||
|
||||
foreach (string dirPath in Directory.GetDirectories(EFTSettingsFolder, "*", SearchOption.AllDirectories))
|
||||
{
|
||||
Directory.CreateDirectory(dirPath.Replace(EFTSettingsFolder, SPTSettingsFolder));
|
||||
}
|
||||
|
||||
//Copy all the files & Replaces any files with the same name
|
||||
foreach (string newPath in Directory.GetFiles(EFTSettingsFolder, "*.*", SearchOption.AllDirectories))
|
||||
{
|
||||
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"));
|
||||
@ -86,8 +123,8 @@ namespace Aki.Launcher.ViewModels
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
SendNotification("", LocalizationProvider.Instance.clear_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error);
|
||||
LogManager.Instance.Exception(ex);
|
||||
SendNotification("", LocalizationProvider.Instance.clear_game_settings_failed, Avalonia.Controls.Notifications.NotificationType.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -8,33 +8,39 @@
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Aki.Launcher.Views.SettingsView">
|
||||
|
||||
<Grid RowDefinitions="10,AUTO,AUTO,AUTO,*,10" ColumnDefinitions="10,2*,2*,10">
|
||||
<Grid RowDefinitions="10,AUTO,AUTO,AUTO,*,10" ColumnDefinitions="10,2*,2*,AUTO,10">
|
||||
|
||||
<!-- Backdrop -->
|
||||
<Rectangle Fill="{StaticResource AKI_Background_Dark}"
|
||||
Grid.RowSpan="6" Grid.ColumnSpan="4"
|
||||
Grid.RowSpan="6" Grid.ColumnSpan="5"
|
||||
Opacity=".7"
|
||||
/>
|
||||
<StackPanel Spacing="10" Grid.Row="1" Grid.Column="1" Orientation="Horizontal">
|
||||
<WrapPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" Orientation="Horizontal">
|
||||
<Button Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=remove_registry_keys}"
|
||||
Command="{Binding RemoveRegistryKeysCommand}"
|
||||
Classes="borderedlink"
|
||||
Margin="0 0 10 5"
|
||||
/>
|
||||
<Button Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=clear_game_settings}"
|
||||
Command="{Binding ClearGameSettingsCommand}"
|
||||
Classes="borderedlink"
|
||||
Margin="0 0 10 5"
|
||||
/>
|
||||
<Button Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=clean_temp_files}"
|
||||
Command="{Binding CleanTempFilesCommand}"
|
||||
Classes="borderedlink"
|
||||
Margin="0 0 10 5"
|
||||
/>
|
||||
</StackPanel>
|
||||
<Button Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=reset_game_settings}"
|
||||
Command="{Binding ResetGameSettingsCommand}"
|
||||
Classes="borderedlink"
|
||||
Margin="0 0 10 5"
|
||||
/>
|
||||
</WrapPanel>
|
||||
|
||||
<!-- Go Back -->
|
||||
<Button Content="➜" FontSize="25"
|
||||
Grid.Row="1" Grid.ColumnSpan="3"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top"
|
||||
Grid.Row="1" Grid.Column="3"
|
||||
Command="{Binding GoBackCommand}"
|
||||
Classes="link"
|
||||
/>
|
||||
@ -64,9 +70,9 @@
|
||||
/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="3" Grid.Row="3" Grid.Column="2" Margin="0 20 0 0">
|
||||
<WrapPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="2" Margin="0 30 0 0">
|
||||
<!-- Select Folder -->
|
||||
<Button x:Name="sfb" Command="{Binding SelectGameFolderCommand}">
|
||||
<Button x:Name="sfb" Command="{Binding SelectGameFolderCommand}" Margin="0 0 10 5">
|
||||
<StackPanel Orientation="Horizontal" Spacing="5">
|
||||
<Path Data="{StaticResource FolderWithPlus}" Fill="{Binding ElementName=sfb, Path=Foreground}"
|
||||
/>
|
||||
@ -75,7 +81,7 @@
|
||||
</Button>
|
||||
|
||||
<!-- Open Folder -->
|
||||
<Button x:Name="ofb" Command="{Binding OpenGameFolderCommand}">
|
||||
<Button x:Name="ofb" Command="{Binding OpenGameFolderCommand}" Margin="0 0 10 5">
|
||||
<StackPanel Orientation="Horizontal" Spacing="5">
|
||||
<!-- This geometry data isn't centered and I'm far too lazy to fix it, so I'm just adding a margin (waffle.lazy) -->
|
||||
<Path Data="{StaticResource OpenFolder}" Fill="{Binding ElementName=ofb, Path=Foreground}"
|
||||
@ -84,7 +90,7 @@
|
||||
<Label Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=open_folder}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</WrapPanel>
|
||||
|
||||
<!-- Server URL -->
|
||||
<StackPanel Grid.Row="4" Grid.Column="1">
|
||||
|
Loading…
x
Reference in New Issue
Block a user