From 428d06df36304ed0fa777ff4c82eb31acb478184 Mon Sep 17 00:00:00 2001 From: Serafima Date: Tue, 26 Jan 2021 19:18:27 +0300 Subject: [PATCH] close window if no opened dialogs --- .../editor/FancyZonesEditor/MainWindow.xaml | 8 +++++-- .../FancyZonesEditor/MainWindow.xaml.cs | 21 ++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml index f87445e6a868..ca19d61704db 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml +++ b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml @@ -394,7 +394,9 @@ PrimaryButtonText="{x:Static props:Resources.Save}" PrimaryButtonClick="EditLayoutDialog_PrimaryButtonClick" SecondaryButtonClick="EditLayoutDialog_SecondaryButtonClick" - Title="{x:Static props:Resources.Edit_Layout}"> + Title="{x:Static props:Resources.Edit_Layout}" + Opened="Dialog_Opened" + Closed="Dialog_Closed"> @@ -551,7 +553,9 @@ PrimaryButtonText="{x:Static props:Resources.Create}" PrimaryButtonClick="NewLayoutDialog_PrimaryButtonClick" IsPrimaryButtonEnabled="{Binding ElementName=LayoutNameText, Path=Text.Length}" - Title="{x:Static props:Resources.Choose_layout_type}"> + Title="{x:Static props:Resources.Choose_layout_type}" + Opened="Dialog_Opened" + Closed="Dialog_Closed"> diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs index 1a80fc8816c7..763942bbaace 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs @@ -25,6 +25,8 @@ public partial class MainWindow : Window private readonly MainWindowSettingsModel _settings = ((App)Application.Current).MainWindowSettings; private LayoutModel _backup = null; + private ContentDialog _openedDialog = null; + public int WrapPanelItemSize { get; set; } = DefaultWrapPanelItemSize; public MainWindow(bool spanZonesAcrossMonitors, Rect workArea) @@ -56,7 +58,14 @@ private void MainWindow_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Escape) { - OnClosing(sender, null); + if (_openedDialog != null) + { + _openedDialog.Hide(); + } + else + { + OnClosing(sender, null); + } } } @@ -375,5 +384,15 @@ private async void DeleteLayout(FrameworkElement element) model.Delete(); } } + + private void Dialog_Opened(ContentDialog sender, ContentDialogOpenedEventArgs args) + { + _openedDialog = sender; + } + + private void Dialog_Closed(ContentDialog sender, ContentDialogClosedEventArgs args) + { + _openedDialog = null; + } } }