From 63bd407cea5a7ec360aa1271da33025818a79232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=8B=D1=82=D0=BA=D0=BE=D0=B2=20=D0=A0=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD?= Date: Sun, 29 Mar 2026 23:49:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B8=D0=B0=D0=BB=D0=BE=D0=B3=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=B0,=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=B0=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B4=D0=BE=D0=BA?= =?UTF-8?q?=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Minint/ViewModels/EditorViewModel.cs | 2 ++ Minint/ViewModels/MainWindowViewModel.cs | 14 ++++++++--- Minint/Views/NewContainerDialog.axaml | 31 ++++++++++++++++++++++++ Minint/Views/NewContainerDialog.axaml.cs | 17 +++++++++++++ Minint/Views/PatternDialog.axaml | 8 +++--- 5 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 Minint/Views/NewContainerDialog.axaml create mode 100644 Minint/Views/NewContainerDialog.axaml.cs 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 @@ + + + + + + + + + + + + + +