diff --git a/Minint/ViewModels/EditorViewModel.cs b/Minint/ViewModels/EditorViewModel.cs index b0f1ca0..3472126 100644 --- a/Minint/ViewModels/EditorViewModel.cs +++ b/Minint/ViewModels/EditorViewModel.cs @@ -640,6 +640,8 @@ public partial class EditorViewModel : ViewModelBase _animationTimer?.Stop(); _animationTimer = null; IsPlaying = false; + if (ActiveDocument is not null) + SyncLayersAndCanvas(ActiveDocument); } private void AdvanceAnimationFrame() diff --git a/Minint/ViewModels/MainWindowViewModel.cs b/Minint/ViewModels/MainWindowViewModel.cs index 769933b..5251e7c 100644 --- a/Minint/ViewModels/MainWindowViewModel.cs +++ b/Minint/ViewModels/MainWindowViewModel.cs @@ -50,10 +50,18 @@ public partial class MainWindowViewModel : ViewModelBase #region File commands [RelayCommand] - private void NewFile() + private async Task NewFileAsync() { - Editor.NewContainer(64, 64); - StatusText = "New 64×64 container created."; + if (Owner is not Window window) return; + + var dialog = new NewContainerDialog(); + var result = await dialog.ShowDialog(window); + if (result != true) return; + + int w = dialog.CanvasWidth; + int h = dialog.CanvasHeight; + Editor.NewContainer(w, h); + StatusText = $"New {w}×{h} container created."; } [RelayCommand] diff --git a/Minint/Views/NewContainerDialog.axaml b/Minint/Views/NewContainerDialog.axaml new file mode 100644 index 0000000..bf7762a --- /dev/null +++ b/Minint/Views/NewContainerDialog.axaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + +