From 10e88866f5206bd9669dcb33fd1ce13ca9dcc81e Mon Sep 17 00:00:00 2001 From: BubbaGumpShrump <joshua.p.farrell@gmail.com> Date: Wed, 4 Dec 2024 22:41:56 -0500 Subject: [PATCH] File save updates --- AutoTrackR2/AutoTrackR2.csproj | 4 +++ AutoTrackR2/ConfigPage.xaml.cs | 17 +++++++++--- AutoTrackR2/KillTrackR_MainScript.ps1 | 3 +- AutoTrackR2/MainWindow.xaml.cs | 40 +++++++++++++++++++-------- AutoTrackR2/config.ini | 8 ++++++ AutoTrackR2/kill-log.csv | 0 6 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 AutoTrackR2/config.ini create mode 100644 AutoTrackR2/kill-log.csv diff --git a/AutoTrackR2/AutoTrackR2.csproj b/AutoTrackR2/AutoTrackR2.csproj index 95c6ad6..6c6c944 100644 --- a/AutoTrackR2/AutoTrackR2.csproj +++ b/AutoTrackR2/AutoTrackR2.csproj @@ -17,8 +17,10 @@ <None Remove="Assets\NW.png" /> <None Remove="Assets\VOX.png" /> <None Remove="Assets\WRITH.jpg" /> + <None Remove="config.ini" /> <None Remove="Fonts\Orbitron-Bold.ttf" /> <None Remove="Fonts\Roboto-Regular.ttf" /> + <None Remove="kill-log.csv" /> <None Remove="KillTrackR_MainScript.ps1" /> </ItemGroup> @@ -45,12 +47,14 @@ <Resource Include="Assets\WRITH.jpg"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Resource> + <Resource Include="config.ini" /> <Resource Include="Fonts\Orbitron-Bold.ttf"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Resource> <Resource Include="Fonts\Roboto-Regular.ttf"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Resource> + <Resource Include="kill-log.csv" /> <EmbeddedResource Include="KillTrackR_MainScript.ps1"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </EmbeddedResource> diff --git a/AutoTrackR2/ConfigPage.xaml.cs b/AutoTrackR2/ConfigPage.xaml.cs index fe6dfa4..c359ff8 100644 --- a/AutoTrackR2/ConfigPage.xaml.cs +++ b/AutoTrackR2/ConfigPage.xaml.cs @@ -350,11 +350,20 @@ namespace AutoTrackR2 private void SaveButton_Click(object sender, RoutedEventArgs e) { - // Get the directory of the running executable - string exeDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); + // Get the directory for the user's local application data + string appDataDirectory = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "AutoTrackR2" + ); - // Combine the executable directory with the config file name - string configFilePath = Path.Combine(exeDirectory, "config.ini"); + // Ensure the directory exists + if (!Directory.Exists(appDataDirectory)) + { + Directory.CreateDirectory(appDataDirectory); + } + + // Combine the app data directory with the config file name + string configFilePath = Path.Combine(appDataDirectory, "config.ini"); using (StreamWriter writer = new StreamWriter(configFilePath)) { diff --git a/AutoTrackR2/KillTrackR_MainScript.ps1 b/AutoTrackR2/KillTrackR_MainScript.ps1 index 2076965..dfc6d37 100644 --- a/AutoTrackR2/KillTrackR_MainScript.ps1 +++ b/AutoTrackR2/KillTrackR_MainScript.ps1 @@ -1,7 +1,8 @@ $TrackRver = "2.0" # Path to the config file -$scriptFolder = Split-Path -Parent $MyInvocation.MyCommand.Path +$appName = "AutoTrackR2" +$scriptFolder = Join-Path -Path (Join-Path -Path $env:LOCALAPPDATA -ChildPath $appName) $configFile = Join-Path -Path $scriptFolder -ChildPath "config.ini" # Read the config file into a hashtable diff --git a/AutoTrackR2/MainWindow.xaml.cs b/AutoTrackR2/MainWindow.xaml.cs index 4623129..aa0d46c 100644 --- a/AutoTrackR2/MainWindow.xaml.cs +++ b/AutoTrackR2/MainWindow.xaml.cs @@ -188,8 +188,12 @@ namespace AutoTrackR2 public static void LoadConfig() { - string exeDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); - string configFilePath = Path.Combine(exeDirectory, "config.ini"); + // Define the config file path in a writable location + string configDirectory = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "AutoTrackR2" + ); + string configFilePath = Path.Combine(configDirectory, "config.ini"); if (File.Exists(configFilePath)) { @@ -217,19 +221,31 @@ namespace AutoTrackR2 public static void SaveConfig() { - string exeDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); - string configFilePath = Path.Combine(exeDirectory, "config.ini"); + // Define the config file path in a writable location + string configDirectory = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "YourAppName" + ); + // Ensure the directory exists + if (!Directory.Exists(configDirectory)) + { + Directory.CreateDirectory(configDirectory); + } + + string configFilePath = Path.Combine(configDirectory, "config.ini"); + + // Write the configuration to the file using (StreamWriter writer = new StreamWriter(configFilePath)) { - writer.WriteLine($"LogFile=\"{LogFile}\""); - writer.WriteLine($"ApiUrl=\"{ApiUrl}\""); - writer.WriteLine($"ApiKey=\"{ApiKey}\""); - writer.WriteLine($"VideoPath=\"{VideoPath}\""); - writer.WriteLine($"VisorWipe=\"{VisorWipe}\""); - writer.WriteLine($"VideoRecord=\"{VideoRecord}\""); - writer.WriteLine($"OfflineMode=\"{OfflineMode}\""); - writer.WriteLine($"Theme=\"{Theme}\""); + writer.WriteLine($"LogFile={LogFile}"); + writer.WriteLine($"ApiUrl={ApiUrl}"); + writer.WriteLine($"ApiKey={ApiKey}"); + writer.WriteLine($"VideoPath={VideoPath}"); + writer.WriteLine($"VisorWipe={VisorWipe}"); + writer.WriteLine($"VideoRecord={VideoRecord}"); + writer.WriteLine($"OfflineMode={OfflineMode}"); + writer.WriteLine($"Theme={Theme}"); } } } diff --git a/AutoTrackR2/config.ini b/AutoTrackR2/config.ini new file mode 100644 index 0000000..0f01f82 --- /dev/null +++ b/AutoTrackR2/config.ini @@ -0,0 +1,8 @@ +LogFile= +ApiUrl= +ApiKey= +VideoPath= +VisorWipe=0 +VideoRecord=0 +OfflineMode=0 +Theme=0 diff --git a/AutoTrackR2/kill-log.csv b/AutoTrackR2/kill-log.csv new file mode 100644 index 0000000..e69de29