فهرست منبع

misc: chore: Collapse XCIFileTrimmerLog implementations into a single class.

Evan Husted 1 سال پیش
والد
کامیت
9da97bc911

+ 0 - 24
src/Ryujinx/Common/XCIFileTrimmerMainWindowLog.cs

@@ -1,24 +0,0 @@
-using Avalonia.Threading;
-using Ryujinx.Ava.UI.ViewModels;
-
-namespace Ryujinx.Ava.Common
-{
-    internal class XCIFileTrimmerMainWindowLog : Ryujinx.Common.Logging.XCIFileTrimmerLog
-    {
-        private readonly MainWindowViewModel _viewModel;
-
-        public XCIFileTrimmerMainWindowLog(MainWindowViewModel viewModel)
-        {
-            _viewModel = viewModel;
-        }
-
-        public override void Progress(long current, long total, string text, bool complete)
-        {
-            Dispatcher.UIThread.Post(() =>
-            {
-                _viewModel.StatusBarProgressMaximum = (int)(total);
-                _viewModel.StatusBarProgressValue = (int)(current);
-            });
-        }
-    }
-}

+ 0 - 23
src/Ryujinx/Common/XCIFileTrimmerWindowLog.cs

@@ -1,23 +0,0 @@
-using Avalonia.Threading;
-using Ryujinx.Ava.UI.ViewModels;
-
-namespace Ryujinx.Ava.Common
-{
-    internal class XCIFileTrimmerWindowLog : Ryujinx.Common.Logging.XCIFileTrimmerLog
-    {
-        private readonly XCITrimmerViewModel _viewModel;
-
-        public XCIFileTrimmerWindowLog(XCITrimmerViewModel viewModel)
-        {
-            _viewModel = viewModel;
-        }
-
-        public override void Progress(long current, long total, string text, bool complete)
-        {
-            Dispatcher.UIThread.Post(() =>
-            {
-                _viewModel.SetProgress((int)(current), (int)(total));
-            });
-        }
-    }
-}

+ 45 - 0
src/Ryujinx/Common/XCITrimmerLog.cs

@@ -0,0 +1,45 @@
+using Avalonia.Threading;
+using Ryujinx.Ava.UI.ViewModels;
+
+namespace Ryujinx.Ava.Common
+{
+    public static class XCITrimmerLog
+    {
+        internal class MainWindow : Ryujinx.Common.Logging.XCIFileTrimmerLog
+        {
+            private readonly MainWindowViewModel _viewModel;
+
+            public MainWindow(MainWindowViewModel viewModel)
+            {
+                _viewModel = viewModel;
+            }
+
+            public override void Progress(long current, long total, string text, bool complete)
+            {
+                Dispatcher.UIThread.Post(() =>
+                {
+                    _viewModel.StatusBarProgressMaximum = (int)(total);
+                    _viewModel.StatusBarProgressValue = (int)(current);
+                });
+            }
+        }
+        
+        internal class TrimmerWindow : Ryujinx.Common.Logging.XCIFileTrimmerLog
+        {
+            private readonly XCITrimmerViewModel _viewModel;
+
+            public TrimmerWindow(XCITrimmerViewModel viewModel)
+            {
+                _viewModel = viewModel;
+            }
+
+            public override void Progress(long current, long total, string text, bool complete)
+            {
+                Dispatcher.UIThread.Post(() =>
+                {
+                    _viewModel.SetProgress((int)(current), (int)(total));
+                });
+            }
+        }
+    }
+}

+ 2 - 2
src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs

@@ -402,7 +402,7 @@ namespace Ryujinx.Ava.UI.ViewModels
 
 
         public bool OpenDeviceSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.DeviceSaveDataSize > 0;
         public bool OpenDeviceSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.DeviceSaveDataSize > 0;
 
 
-        public bool TrimXCIEnabled => Ryujinx.Common.Utilities.XCIFileTrimmer.CanTrim(SelectedApplication.Path, new Common.XCIFileTrimmerMainWindowLog(this));
+        public bool TrimXCIEnabled => XCIFileTrimmer.CanTrim(SelectedApplication.Path, new XCITrimmerLog.MainWindow(this));
 
 
         public bool OpenBcatSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.BcatDeliveryCacheStorageSize > 0;
         public bool OpenBcatSaveDirectoryEnabled => !SelectedApplication.ControlHolder.ByteSpan.IsZeros() && SelectedApplication.ControlHolder.Value.BcatDeliveryCacheStorageSize > 0;
 
 
@@ -2165,7 +2165,7 @@ namespace Ryujinx.Ava.UI.ViewModels
                 return;
                 return;
             }
             }
 
 
-            var trimmer = new XCIFileTrimmer(filename, new Common.XCIFileTrimmerMainWindowLog(this));
+            var trimmer = new XCIFileTrimmer(filename, new XCITrimmerLog.MainWindow(this));
 
 
             if (trimmer.CanBeTrimmed)
             if (trimmer.CanBeTrimmed)
             {
             {

+ 5 - 6
src/Ryujinx/UI/ViewModels/XCITrimmerViewModel.cs

@@ -33,7 +33,7 @@ namespace Ryujinx.Ava.UI.ViewModels
         private const string _FileExtXCI = "XCI";
         private const string _FileExtXCI = "XCI";
 
 
         private readonly Ryujinx.Common.Logging.XCIFileTrimmerLog _logger;
         private readonly Ryujinx.Common.Logging.XCIFileTrimmerLog _logger;
-        private readonly ApplicationLibrary _applicationLibrary;
+        private ApplicationLibrary ApplicationLibrary => _mainWindowViewModel.ApplicationLibrary;
         private Optional<XCITrimmerFileModel> _processingApplication = null;
         private Optional<XCITrimmerFileModel> _processingApplication = null;
         private AvaloniaList<XCITrimmerFileModel> _allXCIFiles = new();
         private AvaloniaList<XCITrimmerFileModel> _allXCIFiles = new();
         private AvaloniaList<XCITrimmerFileModel> _selectedXCIFiles = new();
         private AvaloniaList<XCITrimmerFileModel> _selectedXCIFiles = new();
@@ -47,15 +47,14 @@ namespace Ryujinx.Ava.UI.ViewModels
 
 
         public XCITrimmerViewModel(MainWindowViewModel mainWindowViewModel)
         public XCITrimmerViewModel(MainWindowViewModel mainWindowViewModel)
         {
         {
-            _logger = new XCIFileTrimmerWindowLog(this);
+            _logger = new XCITrimmerLog.TrimmerWindow(this);
             _mainWindowViewModel = mainWindowViewModel;
             _mainWindowViewModel = mainWindowViewModel;
-            _applicationLibrary = _mainWindowViewModel.ApplicationLibrary;
             LoadXCIApplications();
             LoadXCIApplications();
         }
         }
 
 
         private void LoadXCIApplications()
         private void LoadXCIApplications()
         {
         {
-            var apps = _applicationLibrary.Applications.Items
+            var apps = ApplicationLibrary.Applications.Items
                 .Where(app => app.FileExtension == _FileExtXCI);
                 .Where(app => app.FileExtension == _FileExtXCI);
 
 
             foreach (var xciApp in apps)
             foreach (var xciApp in apps)
@@ -68,7 +67,7 @@ namespace Ryujinx.Ava.UI.ViewModels
             string path,
             string path,
             OperationOutcome operationOutcome = OperationOutcome.Undetermined)
             OperationOutcome operationOutcome = OperationOutcome.Undetermined)
         {
         {
-            var xciApp = _applicationLibrary.Applications.Items.First(app => app.FileExtension == _FileExtXCI && app.Path == path);
+            var xciApp = ApplicationLibrary.Applications.Items.First(app => app.FileExtension == _FileExtXCI && app.Path == path);
             return XCITrimmerFileModel.FromApplicationData(xciApp, _logger) with { ProcessingOutcome = operationOutcome };
             return XCITrimmerFileModel.FromApplicationData(xciApp, _logger) with { ProcessingOutcome = operationOutcome };
         }
         }
 
 
@@ -538,4 +537,4 @@ namespace Ryujinx.Ava.UI.ViewModels
             }
             }
         }
         }
     }
     }
-}
+}