Browse Source

Prevent overwriting `StartUpDirectory` when unnecessary and fix settings saving: ensure `LastFile` defaults to an empty string.

Ruben 4 months ago
parent
commit
d029907df2

+ 5 - 1
src/PicView.Avalonia/Navigation/ImageIterator.cs

@@ -98,7 +98,11 @@ public class ImageIterator : IAsyncDisposable
     private void InitiateFileSystemWatcher(FileInfo fileInfo)
     {
         InitialFileInfo = fileInfo;
-        Settings.StartUp.StartUpDirectory = fileInfo.DirectoryName;
+        if (!fileInfo.FullName.Contains(Settings.StartUp.StartUpDirectory))
+        {
+            Settings.StartUp.StartUpDirectory = fileInfo.DirectoryName;
+        }
+        
         if (_watcher is not null)
         {
             _watcher.Dispose();

+ 1 - 1
src/PicView.Avalonia/WindowBehavior/WindowFunctions.cs

@@ -59,7 +59,7 @@ public static class WindowFunctions
             lastFile = !string.IsNullOrWhiteSpace(url) ? url : FileHistoryManager.GetLastEntry();
         }
 
-        Settings.StartUp.LastFile = lastFile;
+        Settings.StartUp.LastFile = lastFile ?? "";
         await SaveSettingsAsync();
         await KeybindingManager.UpdateKeyBindingsFile(); // Save keybindings
         TempFileHelper.DeleteTempFiles();