Browse Source

Start-up menu fixes for occurrences where the text is not centered or the text is missing

Ruben 4 months ago
parent
commit
81652399f0

+ 7 - 4
src/PicView.Avalonia/Navigation/ErrorHandling.cs

@@ -1,4 +1,5 @@
 using Avalonia;
+using Avalonia.Media;
 using Avalonia.Threading;
 using PicView.Avalonia.Clipboard;
 using PicView.Avalonia.Gallery;
@@ -47,11 +48,9 @@ public static class ErrorHandling
                 }
                 vm.CurrentView = startUpMenu;
             }
-            else
-            {
-                TitleManager.SetNoImageTitle(vm);
-            }
+            
             TitleManager.SetNoImageTitle(vm);
+
             vm.GalleryMode = GalleryMode.Closed;
             GalleryFunctions.Clear();
             MenuManager.CloseMenus(vm);
@@ -61,6 +60,10 @@ public static class ErrorHandling
             vm.IsLoading = false;
 
             _ = NavigationManager.DisposeImageIteratorAsync();
+            if (UIHelper.GetEditableTitlebar is not null)
+            {
+                UIHelper.GetEditableTitlebar.TextBlock.TextAlignment = TextAlignment.Center;
+            }
         }
     }
 

+ 10 - 6
src/PicView.Avalonia/StartUp/StartUpHelper.cs

@@ -233,11 +233,7 @@ public static class StartUpHelper
         {
             if (string.IsNullOrWhiteSpace(Settings.StartUp.LastFile))
             {
-                ErrorHandling.ShowStartUpMenu(vm);
-                if (Settings.WindowProperties.AutoFit)
-                {
-                    WindowFunctions.CenterWindowOnScreen(false, true);
-                }
+                ShowStartUpMenu();
             }
             else
             {
@@ -247,7 +243,15 @@ public static class StartUpHelper
         }
         else
         {
-            ErrorHandling.ShowStartUpMenu(vm);
+            ShowStartUpMenu();
+        }
+
+        return;
+
+        void ShowStartUpMenu()
+        {
+            // Starting it in Dispatcher with post fixes occurrences where the text is not centered or the text is missing
+            Dispatcher.UIThread.Post(() => { ErrorHandling.ShowStartUpMenu(vm); });
             if (Settings.WindowProperties.AutoFit)
             {
                 WindowFunctions.CenterWindowOnScreen();