Browse Source

Fixed start input opacity and clip canvas

flabbet 4 years ago
parent
commit
85e16b8d49

+ 1 - 1
PixiEditor/Models/Controllers/UndoManager.cs

@@ -105,7 +105,7 @@ namespace PixiEditor.Models.Controllers
         /// <param name="amount">Amount of changes to squash.</param>
         /// <param name="amount">Amount of changes to squash.</param>
         public void SquashUndoChanges(int amount)
         public void SquashUndoChanges(int amount)
         {
         {
-            string description = UndoStack.ElementAt(UndoStack.Count - amount - 1).Description;
+            string description = UndoStack.ElementAt(UndoStack.Count - amount).Description;
             SquashUndoChanges(amount, description);
             SquashUndoChanges(amount, description);
         }
         }
 
 

+ 2 - 2
PixiEditor/Models/DataHolders/Document/Document.cs

@@ -181,12 +181,12 @@ namespace PixiEditor.Models.DataHolders
             int oldHeight = Height;
             int oldHeight = Height;
 
 
             MoveOffsets(Layers, moveVector);
             MoveOffsets(Layers, moveVector);
-            Width = width;
-            Height = height;
 
 
             object[] reverseArguments = { oldOffsets, oldWidth, oldHeight };
             object[] reverseArguments = { oldOffsets, oldWidth, oldHeight };
             object[] processArguments = { Layers.Select(x => x.Offset).ToArray(), width, height };
             object[] processArguments = { Layers.Select(x => x.Offset).ToArray(), width, height };
 
 
+            ResizeCanvasProcess(processArguments);
+
             UndoManager.AddUndoChange(new Change(
             UndoManager.AddUndoChange(new Change(
                 ResizeCanvasProcess,
                 ResizeCanvasProcess,
                 reverseArguments,
                 reverseArguments,

+ 12 - 2
PixiEditor/Views/UserControls/LayersManager.xaml.cs

@@ -1,4 +1,5 @@
 using PixiEditor.Models.Controllers;
 using PixiEditor.Models.Controllers;
+using PixiEditor.Models.DataHolders;
 using PixiEditor.Models.Layers;
 using PixiEditor.Models.Layers;
 using PixiEditor.Models.Undo;
 using PixiEditor.Models.Undo;
 using PixiEditor.ViewModels.SubViewModels.Main;
 using PixiEditor.ViewModels.SubViewModels.Main;
@@ -70,16 +71,25 @@ namespace PixiEditor.Views.UserControls
                     var doc = vm.Owner.BitmapManager.ActiveDocument;
                     var doc = vm.Owner.BitmapManager.ActiveDocument;
                     if (doc != null)
                     if (doc != null)
                     {
                     {
+                        if (doc.ActiveLayer != null)
+                        {
+                            manager.SetActiveLayerAsSelectedItem(doc);
+                        }
                         doc.AddPropertyChangedCallback(nameof(doc.ActiveLayer), () =>
                         doc.AddPropertyChangedCallback(nameof(doc.ActiveLayer), () =>
                         {
                         {
-                            manager.SelectedItem = doc.ActiveLayer;
-                            manager.SetInputOpacity(manager.SelectedItem);
+                            manager.SetActiveLayerAsSelectedItem(doc);
                         });
                         });
                     }
                     }
                 });
                 });
             }
             }
         }
         }
 
 
+        private void SetActiveLayerAsSelectedItem(Document doc)
+        {
+            SelectedItem = doc.ActiveLayer;
+            SetInputOpacity(SelectedItem);
+        }
+
         private void SetInputOpacity(object item)
         private void SetInputOpacity(object item)
         {
         {
             if (item is Layer layer)
             if (item is Layer layer)