diff --git a/ReadMe.md b/ReadMe.md
index 3432c13..5515425 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -33,6 +33,7 @@ A Windows desktop application for validating ROM files against DAT files and gen
- **Fluent Dark Theme**: Modern dark UI built on WPF-UI (Windows 11 style)
- **Screenshot Capture**: Press **F8** to save a screenshot of the active window to the `Screenshot\` folder next to the executable (falling back to `%LOCALAPPDATA%\ROM Validator\Screenshot` when the application folder is read-only)
- **App Data Button**: the **App Data** button in the top-right corner opens `%LOCALAPPDATA%\ROM Validator` in Explorer — logs (`Logs\`) and fallback screenshots (`Screenshot\`) live there, always writable even when installed under Program Files
+- **Donate Button**: the **Donate** button in the top-right corner (next to **About**) opens the [donation page](https://www.purelogiccode.com/donate) in your default browser
- **Version Checking**: Automatic GitHub version checking at startup, with a prompt to open the release page when an update is available
- **Robust Error Handling**: Retry-based temp-directory cleanup, binary-format detection for wrongly selected DAT files, and automatic bug reports (Serilog) — all Warning, Error, and Fatal events are forwarded to the bug report API
diff --git a/RomValidator/MainWindow.xaml b/RomValidator/MainWindow.xaml
index 802e46f..846851d 100644
--- a/RomValidator/MainWindow.xaml
+++ b/RomValidator/MainWindow.xaml
@@ -34,6 +34,7 @@
+
diff --git a/RomValidator/MainWindow.xaml.cs b/RomValidator/MainWindow.xaml.cs
index 4905a9f..6eac705 100644
--- a/RomValidator/MainWindow.xaml.cs
+++ b/RomValidator/MainWindow.xaml.cs
@@ -158,6 +158,31 @@ private void GenerateDat_Click(object sender, RoutedEventArgs e)
}
}
+ ///
+ /// Handles the "Donate" header button: opens the donation page in the default browser.
+ ///
+ private void Donate_Click(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = "https://www.purelogiccode.com/donate",
+ UseShellExecute = true
+ });
+ UpdateStatusBarMessage("Opened donation page: https://www.purelogiccode.com/donate");
+ }
+ catch (Exception ex)
+ {
+ LoggerService.LogException("MainWindow", ex, "Error opening donation page");
+ MessageBox.Show(
+ "Could not open the donation page.\n\nYou can visit it here:\nhttps://www.purelogiccode.com/donate",
+ "Donate",
+ MessageBoxButton.OK,
+ MessageBoxImage.Information);
+ }
+ }
+
///
/// Handles the "About" header button: opens the About window.
///
diff --git a/docs/getting-started.md b/docs/getting-started.md
index b6b4ffe..6fa7385 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -41,7 +41,7 @@ start the application again.
When the application starts you will see:
- the **Validate ROMs** and **Generate DAT** tabs in the header,
-- the **App Data**, **About** and **Exit** buttons on the right,
+- the **App Data**, **Donate**, **About** and **Exit** buttons on the right,
- a status bar at the bottom that reports what the application is doing.
The application checks GitHub for a newer release on every launch. If an update is available you