diff --git a/Examples/UICatalog/Scenarios/Dialogs.cs b/Examples/UICatalog/Scenarios/Dialogs.cs index e7fd1ac77..8e8a6ec99 100644 --- a/Examples/UICatalog/Scenarios/Dialogs.cs +++ b/Examples/UICatalog/Scenarios/Dialogs.cs @@ -266,7 +266,7 @@ public class Dialogs : Scenario { Title = titleEdit.Text, Text = "Dialog Text", - ButtonAlignment = (Alignment)Enum.Parse (typeof (Alignment), alignmentGroup.Labels! [(int)alignmentGroup.Value!.Value] [1..]), + ButtonAlignment = (Alignment)Enum.Parse (typeof (Alignment), alignmentGroup.Labels! [(int)alignmentGroup.Value!.Value] [0..]), Buttons = buttons.ToArray () }; diff --git a/Examples/UICatalog/Scenarios/DynamicStatusBar.cs b/Examples/UICatalog/Scenarios/DynamicStatusBar.cs index 73dd3b802..8e9a23fd1 100644 --- a/Examples/UICatalog/Scenarios/DynamicStatusBar.cs +++ b/Examples/UICatalog/Scenarios/DynamicStatusBar.cs @@ -200,7 +200,7 @@ public class DynamicStatusBar : Scenario TextTitle.Text = string.Empty; Application.RequestStop (); }; - var dialog = new Dialog { Title = "Enter the menu details.", Buttons = [btnOk, btnCancel], Height = Dim.Auto (DimAutoStyle.Content, 17, Application.Screen.Height) }; + var dialog = new Dialog { Title = "Enter the menu details.", Buttons = [btnOk, btnCancel], Height = Dim.Auto (DimAutoStyle.Content, 17, App?.Screen.Height) }; Width = Dim.Fill (); Height = Dim.Fill () - 2; diff --git a/Terminal.Gui/Views/Color/ColorPicker.Prompt.cs b/Terminal.Gui/Views/Color/ColorPicker.Prompt.cs index 400040e63..11609be67 100644 --- a/Terminal.Gui/Views/Color/ColorPicker.Prompt.cs +++ b/Terminal.Gui/Views/Color/ColorPicker.Prompt.cs @@ -37,7 +37,7 @@ public partial class ColorPicker { accept = true; e.Handled = true; - Application.RequestStop (); + (s as View)?.App?.RequestStop (); }; var btnCancel = new Button @@ -51,7 +51,7 @@ public partial class ColorPicker btnCancel.Accepting += (s, e) => { e.Handled = true; - Application.RequestStop (); + (s as View)?.App ?.RequestStop (); }; d.Add (btnOk); diff --git a/Terminal.Gui/Views/Dialog.cs b/Terminal.Gui/Views/Dialog.cs index 1a5b4b362..5396520b0 100644 --- a/Terminal.Gui/Views/Dialog.cs +++ b/Terminal.Gui/Views/Dialog.cs @@ -11,7 +11,7 @@ namespace Terminal.Gui.Views; /// . This will execute the dialog until /// it terminates via the (`Esc` by default), /// or when one of the views or buttons added to the dialog calls -/// . +/// . /// public class Dialog : Window { diff --git a/Terminal.Gui/Views/FileDialogs/DefaultFileOperations.cs b/Terminal.Gui/Views/FileDialogs/DefaultFileOperations.cs index 467e8d74c..8aad9ede1 100644 --- a/Terminal.Gui/Views/FileDialogs/DefaultFileOperations.cs +++ b/Terminal.Gui/Views/FileDialogs/DefaultFileOperations.cs @@ -138,7 +138,7 @@ public class DefaultFileOperations : IFileOperations btnOk.Accepting += (s, e) => { confirm = true; - Application.RequestStop (); + (s as View)?.App?.RequestStop (); // When Accepting is handled, set e.Handled to true to prevent further processing. e.Handled = true; }; @@ -147,7 +147,7 @@ public class DefaultFileOperations : IFileOperations btnCancel.Accepting += (s, e) => { confirm = false; - Application.RequestStop (); + (s as View)?.App?.RequestStop (); // When Accepting is handled, set e.Handled to true to prevent further processing. e.Handled = true; }; diff --git a/Terminal.Gui/Views/FileDialogs/FileDialog.cs b/Terminal.Gui/Views/FileDialogs/FileDialog.cs index a24c82f0a..f8e333fff 100644 --- a/Terminal.Gui/Views/FileDialogs/FileDialog.cs +++ b/Terminal.Gui/Views/FileDialogs/FileDialog.cs @@ -108,7 +108,7 @@ public class FileDialog : Dialog, IDesignable if (Modal) { - Application.RequestStop (); + (s as View)?.App?.RequestStop (); } }; @@ -468,7 +468,6 @@ public class FileDialog : Dialog, IDesignable Style.IconProvider.IsOpenGetter = _treeView.IsExpanded; _treeView.AddObjects (_treeRoots.Keys); -#if MENU_V1 // if filtering on file type is configured then create the ComboBox and establish // initial filtering by extension(s) @@ -479,6 +478,7 @@ public class FileDialog : Dialog, IDesignable // Fiddle factor int width = AllowedTypes.Max (a => a.ToString ()!.Length) + 6; +#if MENU_V1 _allowedTypeMenu = new ( "", _allowedTypeMenuItems = AllowedTypes.Select ( @@ -512,8 +512,8 @@ public class FileDialog : Dialog, IDesignable }; Add (_allowedTypeMenuBar); - } #endif + } // if no path has been provided if (_tbPath.Text.Length <= 0) @@ -879,7 +879,7 @@ public class FileDialog : Dialog, IDesignable if (Modal) { - Application.RequestStop (); + App?.RequestStop (); } } diff --git a/Terminal.Gui/Views/MessageBox.cs b/Terminal.Gui/Views/MessageBox.cs index bdbf323a0..a913286c4 100644 --- a/Terminal.Gui/Views/MessageBox.cs +++ b/Terminal.Gui/Views/MessageBox.cs @@ -360,7 +360,7 @@ public static class MessageBox if (count == defaultButton) { b.IsDefault = true; - b.Accepting += (_, e) => + b.Accepting += (s, e) => { if (e?.Context?.Source is Button button) { @@ -376,7 +376,7 @@ public static class MessageBox e.Handled = true; } - Application.RequestStop (); + (s as View)?.App?.RequestStop (); }; } diff --git a/Terminal.Gui/Views/TableView/TableView.cs b/Terminal.Gui/Views/TableView/TableView.cs index 1c5f298e0..5d1e79f7f 100644 --- a/Terminal.Gui/Views/TableView/TableView.cs +++ b/Terminal.Gui/Views/TableView/TableView.cs @@ -1534,7 +1534,7 @@ public class TableView : View, IDesignable /// private void ClearLine (int row, int width) { - if (Application.Screen.Height == 0) + if (App?.Screen.Height == 0) { return; } @@ -1810,7 +1810,7 @@ public class TableView : View, IDesignable } } - if (Application.Screen.Height > 0) + if (App?.Screen.Height > 0) { AddRuneAt (c, row, rune); } diff --git a/Terminal.Gui/Views/Wizard/Wizard.cs b/Terminal.Gui/Views/Wizard/Wizard.cs index 50b21c7ed..3415c572a 100644 --- a/Terminal.Gui/Views/Wizard/Wizard.cs +++ b/Terminal.Gui/Views/Wizard/Wizard.cs @@ -458,7 +458,7 @@ public class Wizard : Dialog if (IsCurrentTop) { - Application.RequestStop (this); + (sender as View)?.App?.RequestStop (this); e.Handled = true; } diff --git a/Tests/IntegrationTests/FluentTests/FileDialogFluentTests.cs b/Tests/IntegrationTests/FluentTests/FileDialogFluentTests.cs index 6cc94ec45..50aba981c 100644 --- a/Tests/IntegrationTests/FluentTests/FileDialogFluentTests.cs +++ b/Tests/IntegrationTests/FluentTests/FileDialogFluentTests.cs @@ -60,10 +60,10 @@ public class FileDialogFluentTests public void CancelFileDialog_QuitKey_Quits (TestDriver d) { SaveDialog? sd = null; - using var c = With.A (() => NewSaveDialog (out sd), 100, 20, d) - .ScreenShot ("Save dialog", _out) - .EnqueueKeyEvent (Application.QuitKey) - .AssertTrue (sd!.Canceled); + using GuiTestContext c = With.A (() => NewSaveDialog (out sd), 100, 20, d, logWriter: _out) + .ScreenShot ("Save dialog", _out) + .EnqueueKeyEvent (Application.QuitKey) + .AssertTrue (sd!.Canceled); } [Theory] @@ -93,7 +93,7 @@ public class FileDialogFluentTests public void CancelFileDialog_UsingCancelButton_AltC (TestDriver d) { SaveDialog? sd = null; - using var c = With.A (() => NewSaveDialog (out sd), 100, 20, d) + using var c = With.A (() => NewSaveDialog (out sd), 100, 20, d, _out) .ScreenShot ("Save dialog", _out) .EnqueueKeyEvent (Key.C.WithAlt) .AssertTrue (sd!.Canceled); @@ -132,12 +132,13 @@ public class FileDialogFluentTests { SaveDialog? sd = null; MockFileSystem? fs = null; - using var c = With.A (() => NewSaveDialog (out sd, out fs, modal: false), 100, 20, d) - .ScreenShot ("Save dialog", _out) - .Focus