Browse Source

UI: Directly proxy window properties on the view model back to the stored window

Evan Husted 1 year ago
parent
commit
9754d247b5

+ 2 - 5
src/Ryujinx/RyujinxApp.axaml.cs

@@ -33,11 +33,8 @@ namespace Ryujinx.Ava
             .ApplicationLifetime.Cast<IClassicDesktopStyleApplicationLifetime>()
             .MainWindow.Cast<MainWindow>();
 
-        public static bool IsClipboardAvailable(out IClipboard clipboard)
-        {
-            clipboard = MainWindow.Clipboard;
-            return clipboard != null;
-        }
+        public static bool IsClipboardAvailable(out IClipboard clipboard) 
+            => (clipboard = MainWindow.Clipboard) != null;
 
         public static void SetTaskbarProgress(TaskBarProgressBarState state) => MainWindow.PlatformFeatures.SetTaskBarProgressBarState(state);
         public static void SetTaskbarProgressValue(ulong current, ulong total) => MainWindow.PlatformFeatures.SetTaskBarProgressBarValue(current, total);

+ 12 - 33
src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs

@@ -109,13 +109,8 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         private bool _areMimeTypesRegistered = FileAssociationHelper.AreMimeTypesRegistered;
         private bool _canUpdate = true;
-        private Cursor _cursor;
-        private string _title;
         private ApplicationData _currentApplicationData;
         private readonly AutoResetEvent _rendererWaitEvent;
-        private WindowState _windowState;
-        private double _windowWidth;
-        private double _windowHeight;
         private int _customVSyncInterval;
         private int _customVSyncIntervalPercentageProxy;
 
@@ -216,7 +211,7 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public bool CanUpdate
         {
-            get => _canUpdate && EnableNonGameRunningControls && Updater.CanUpdate(false);
+            get => _canUpdate && EnableNonGameRunningControls && Updater.CanUpdate();
             set
             {
                 _canUpdate = value;
@@ -226,12 +221,8 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public Cursor Cursor
         {
-            get => _cursor;
-            set
-            {
-                _cursor = value;
-                OnPropertyChanged();
-            }
+            get => Window.Cursor;
+            set => Window.Cursor = value;
         }
 
         public ReadOnlyObservableCollection<ApplicationData> AppsObservableList
@@ -813,35 +804,23 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public WindowState WindowState
         {
-            get => _windowState;
+            get => Window.WindowState;
             internal set
             {
-                _windowState = value;
-
-                OnPropertyChanged();
+                Window.WindowState = value;
             }
         }
 
         public double WindowWidth
         {
-            get => _windowWidth;
-            set
-            {
-                _windowWidth = value;
-
-                OnPropertyChanged();
-            }
+            get => Window.Width;
+            set => Window.Width = value;
         }
 
         public double WindowHeight
         {
-            get => _windowHeight;
-            set
-            {
-                _windowHeight = value;
-
-                OnPropertyChanged();
-            }
+            get => Window.Height;
+            set => Window.Height = value;
         }
 
         public bool IsGrid => Glyph == Glyph.Grid;
@@ -889,11 +868,11 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public string Title
         {
-            get => _title;
+            get => Window.Title;
             set
             {
-                _title = value;
-
+                Window.Title = value;
+                
                 OnPropertyChanged();
             }
         }

+ 0 - 5
src/Ryujinx/UI/Windows/MainWindow.axaml

@@ -9,11 +9,6 @@
     xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
     xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
     xmlns:main="clr-namespace:Ryujinx.Ava.UI.Views.Main"
-    Cursor="{Binding Cursor}"
-    Title="{Binding Title}"
-    WindowState="{Binding WindowState}"
-    Width="{Binding WindowWidth}"
-    Height="{Binding WindowHeight}"
     MinWidth="800"
     MinHeight="500"
     d:DesignHeight="720"