瀏覽代碼

Fix startup window and close button

Equbuxu 3 年之前
父節點
當前提交
48250c3db4

+ 7 - 6
src/PixiEditor/ViewModels/SubViewModels/Main/FileViewModel.cs

@@ -1,10 +1,13 @@
-using System.Windows.Input;
+using System.IO;
+using System.Windows.Input;
 using ChunkyImageLib.DataHolders;
 using Newtonsoft.Json.Linq;
 using PixiEditor.ChangeableDocument.Enums;
 using PixiEditor.Models.Commands.Attributes.Commands;
+using PixiEditor.Models.Controllers;
 using PixiEditor.Models.DataHolders;
 using PixiEditor.Models.Dialogs;
+using PixiEditor.Models.IO;
 using PixiEditor.Models.UserPreferences;
 using PixiEditor.ViewModels.SubViewModels.Document;
 using PixiEditor.Views.Dialogs;
@@ -143,14 +146,13 @@ internal class FileViewModel : SubViewModel<ViewModelMain>
 
     private void Owner_OnStartupEvent(object sender, System.EventArgs e)
     {
-        /*
-        var args = StartupArgs.Args;
-        var file = args.FirstOrDefault(x => Importer.IsSupportedFile(x) && File.Exists(x));
+        List<string> args = StartupArgs.Args;
+        string file = args.FirstOrDefault(x => Importer.IsSupportedFile(x) && File.Exists(x));
         if (file != null)
         {
             Open(file);
         }
-        else if ((Owner.BitmapManager.Documents.Count == 0
+        else if ((Owner.DocumentManagerSubViewModel.Documents.Count == 0
                   || !args.Contains("--crash")) && !args.Contains("--openedInExisting"))
         {
             if (IPreferences.Current.GetPreference("ShowStartupWindow", true))
@@ -158,7 +160,6 @@ internal class FileViewModel : SubViewModel<ViewModelMain>
                 OpenHelloTherePopup();
             }
         }
-        */
     }
 
     [Command.Internal("PixiEditor.File.OpenRecent")]

+ 1 - 1
src/PixiEditor/ViewModels/ViewModelMain.cs

@@ -216,7 +216,7 @@ internal class ViewModelMain : ViewModelBase
 
         return true;
         */
-        return false;
+        return true;
     }
 
     /// <summary>

+ 11 - 19
src/PixiEditor/Views/MainWindow.xaml.cs

@@ -1,15 +1,13 @@
 using System.ComponentModel;
-using System.Diagnostics;
 using System.Windows;
 using System.Windows.Input;
 using System.Windows.Interop;
 using System.Windows.Media.Imaging;
 using Microsoft.Extensions.DependencyInjection;
-using PixiEditor.Helpers.Extensions;
 using PixiEditor.Models.DataHolders.Document;
 using PixiEditor.Models.IO;
 using PixiEditor.Models.UserPreferences;
-using PixiEditor.ViewModels;
+using PixiEditor.ViewModels.SubViewModels.Document;
 
 namespace PixiEditor.Views;
 
@@ -49,13 +47,11 @@ internal partial class MainWindow : Window
 
         DataContext.CloseAction = Close;
         Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
-        /*
-                preferences.AddCallback<bool>("ImagePreviewInTaskbar", x =>
-                {
-                    UpdateTaskbarIcon(x ? DataContext.BitmapManager.ActiveDocument : null);
-                });*/
 
-        OnReleaseBuild();
+        preferences.AddCallback<bool>("ImagePreviewInTaskbar", x =>
+        {
+            UpdateTaskbarIcon(x ? DataContext?.DocumentManagerSubViewModel.ActiveDocument : null);
+        });
     }
 
     public static MainWindow CreateWithDocuments(IEnumerable<Document> documents)
@@ -102,11 +98,6 @@ internal partial class MainWindow : Window
         ((HwndSource)PresentationSource.FromVisual(this)).AddHook(Helpers.WindowSizeHelper.SetMaxSizeHook);
     }
 
-    [Conditional("RELEASE")]
-    private void OnReleaseBuild()
-    {
-        //rawLayerAnchorable.Hide();
-    }
     /*
     private void BitmapManager_DocumentChanged(object sender, Models.Events.DocumentChangedEventArgs e)
     {
@@ -114,22 +105,23 @@ internal partial class MainWindow : Window
         {
             UpdateTaskbarIcon(e.NewDocument);
         }
-    }
-    private void UpdateTaskbarIcon(Document document)
+    }*/
+
+    private void UpdateTaskbarIcon(DocumentViewModel document)
     {
-        if (document?.PreviewImage == null)
+        if (document?.PreviewBitmap is null)
         {
             Icon = pixiEditorLogo;
             return;
         }
 
-        var previewCopy = document.PreviewImage.Clone()
+        WriteableBitmap previewCopy = document.PreviewBitmap.Clone()
             .Resize(512, 512, WriteableBitmapExtensions.Interpolation.NearestNeighbor);
 
         previewCopy.Blit(new Rect(256, 256, 256, 256), pixiEditorLogo, new Rect(0, 0, 512, 512));
 
         Icon = previewCopy;
-    }*/
+    }
 
     private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
     {