Browse Source

Delete group if no keyframes are present

flabbet 1 year ago
parent
commit
59eced0507

+ 6 - 0
src/PixiEditor.ChangeableDocument/Changeables/Animations/AnimationData.cs

@@ -70,6 +70,12 @@ internal class AnimationData : IReadOnlyAnimationData
             }
 
             parent?.Children.Remove(frame);
+            
+            if (parent?.Children.Count == 0)
+            {
+                keyFrames.Remove(parent);
+            }
+            
             UnsubscribeFromKeyFrameEvents(frame);
         });
     }

+ 5 - 0
src/PixiEditor/ViewModels/Document/AnimationDataViewModel.cs

@@ -174,6 +174,11 @@ internal class AnimationDataViewModel : ObservableObject, IAnimationHandler
             {
                 parent.Children.Remove(frame);
                 keyFrames.NotifyCollectionChanged(NotifyCollectionChangedAction.Remove, (KeyFrameViewModel)frame);
+                
+                if(parent.Children.Count == 0)
+                {
+                    keyFrames.Remove(parent as KeyFrameGroupViewModel);
+                }
             }
             else
             {