From e28e457a7f02b46b8894c61c4a464f374b64ac49 Mon Sep 17 00:00:00 2001 From: LL4nc33 Date: Sat, 23 Aug 2025 18:30:45 +0200 Subject: [PATCH 1/3] Add GUI version with terminal-style interface for v0.2 - Modern Avalonia GUI with dark theme - Auto-detection for save files and emulator - Settings persistence and backup creation - File validation and proper error handling - Updated README with GUI screenshot --- .gitignore | 6 + GUI/App.axaml | 136 +++++++++++ GUI/App.axaml.cs | 23 ++ GUI/MainWindow.axaml | 226 ++++++++++++++++++ GUI/MainWindow.axaml.cs | 445 ++++++++++++++++++++++++++++++++++++ GUI/Program.cs | 17 ++ GUI/SoundCrashFixGUI.csproj | 27 +++ GUI/app.manifest | 18 ++ GUI/screenshot.png | Bin 0 -> 19183 bytes 9 files changed, 898 insertions(+) create mode 100644 .gitignore create mode 100644 GUI/App.axaml create mode 100644 GUI/App.axaml.cs create mode 100644 GUI/MainWindow.axaml create mode 100644 GUI/MainWindow.axaml.cs create mode 100644 GUI/Program.cs create mode 100644 GUI/SoundCrashFixGUI.csproj create mode 100644 GUI/app.manifest create mode 100644 GUI/screenshot.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..935bcae --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +bin/ +obj/ +.vs/ +*.suo +*.user +*.cache \ No newline at end of file diff --git a/GUI/App.axaml b/GUI/App.axaml new file mode 100644 index 0000000..db1fd45 --- /dev/null +++ b/GUI/App.axaml @@ -0,0 +1,136 @@ + + + + + + #FF000000 + #FF1A1A1A + #FFFFFFFF + #FF808080 + #FF333333 + #FFFFFFFF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GUI/App.axaml.cs b/GUI/App.axaml.cs new file mode 100644 index 0000000..6cc11be --- /dev/null +++ b/GUI/App.axaml.cs @@ -0,0 +1,23 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; + +namespace SoundCrashFixGUI; + +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow(); + } + + base.OnFrameworkInitializationCompleted(); + } +} \ No newline at end of file diff --git a/GUI/MainWindow.axaml b/GUI/MainWindow.axaml new file mode 100644 index 0000000..5e13b78 --- /dev/null +++ b/GUI/MainWindow.axaml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +