diff --git a/src/App.axaml b/src/App.axaml
index f917010..3e63c9d 100644
--- a/src/App.axaml
+++ b/src/App.axaml
@@ -106,6 +106,9 @@
+
+
+
diff --git a/src/ViewModels/MainViewModel.cs b/src/ViewModels/MainViewModel.cs
index d622f0f..a89144f 100644
--- a/src/ViewModels/MainViewModel.cs
+++ b/src/ViewModels/MainViewModel.cs
@@ -257,6 +257,17 @@ class MainViewModel : BaseViewModel, IFontResolver, ICanCheckShutdown
DialogHost.Show(new AboutViewModel());
}
+ public async Task ShowSettings()
+ {
+ var updatedSettings = await DialogHost.Show(new SettingsViewModel(_settings));
+ if (updatedSettings != null)
+ {
+ _settings = (Settings)updatedSettings;
+ await _settings.SaveSettingsAsync();
+ LogInfo("Saved updated settings!");
+ }
+ }
+
public void RemoveFile(object f) => RemoveFileImpl((ReportFile)f);
public async void RemoveFileImpl(ReportFile file)
diff --git a/src/ViewModels/SettingsViewModel.cs b/src/ViewModels/SettingsViewModel.cs
new file mode 100644
index 0000000..04e0afa
--- /dev/null
+++ b/src/ViewModels/SettingsViewModel.cs
@@ -0,0 +1,58 @@
+#nullable enable
+
+using System;
+using System.Collections.ObjectModel;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Threading.Tasks;
+using Avalonia.Platform.Storage;
+using Avalonia.Themes.Fluent;
+using DialogHostAvalonia;
+using ImageMagick;
+using MigraDoc.DocumentObjectModel;
+using MigraDoc.Rendering;
+using PdfSharp.Fonts;
+using PdfSharp.Pdf.IO;
+using PdfSharp.Snippets.Font;
+using MayShow.Interfaces;
+using MayShow.Models;
+using MayShow.Helpers;
+
+namespace MayShow.ViewModels;
+
+class SettingsViewModel: ChangeNotifier
+{
+ private Settings _previousSettings;
+ private Settings _settings;
+
+ public SettingsViewModel(Settings settingsToEdit)
+ {
+ _previousSettings = settingsToEdit;
+ _settings = new Settings
+ {
+ LastUsedPath = _previousSettings.LastUsedPath,
+ UseDocnetPFDImageRendering = _previousSettings.UseDocnetPFDImageRendering
+ };
+ }
+
+ public bool UseDocnetPDFImageRendering
+ {
+ get => _settings.UseDocnetPFDImageRendering;
+ set
+ {
+ _settings.UseDocnetPFDImageRendering = value;
+ NotifyPropertyChanged();
+ }
+ }
+
+ public void Cancel()
+ {
+ DialogHost.Close("DialogHost", null);
+ }
+
+ public void Save()
+ {
+ DialogHost.Close("DialogHost", _settings);
+ }
+}
\ No newline at end of file
diff --git a/src/Views/MainView.axaml b/src/Views/MainView.axaml
index 3399c18..40be5ec 100644
--- a/src/Views/MainView.axaml
+++ b/src/Views/MainView.axaml
@@ -12,15 +12,23 @@
x:DataType="vm:MainViewModel">
+
+ Spacing="2"
+ Margin="0,4,0,0">