diff --git a/src/Avalonia.Controls/Platform/IWindowImpl.cs b/src/Avalonia.Controls/Platform/IWindowImpl.cs index 08899d5c14..609e9834cb 100644 --- a/src/Avalonia.Controls/Platform/IWindowImpl.cs +++ b/src/Avalonia.Controls/Platform/IWindowImpl.cs @@ -28,7 +28,6 @@ namespace Avalonia.Platform /// /// An that should be used to close the window. /// - [Obsolete("Use Avalonia.Controls.Window.ShowDialog() instead.")] IDisposable ShowDialog(); /// diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs index 0a1fb55ced..94ee3e9415 100644 --- a/src/Avalonia.Controls/Window.cs +++ b/src/Avalonia.Controls/Window.cs @@ -47,7 +47,7 @@ namespace Avalonia.Controls /// public class Window : TopLevel, IStyleable, IFocusScope, ILayoutRoot, INameScope { - private static IList s_windows = new List(); + private static IList s_windows = new List(); /// /// Retrieves an enumeration of all Windows in the currently running application. @@ -91,7 +91,7 @@ namespace Avalonia.Controls TitleProperty.Changed.AddClassHandler((s, e) => s.PlatformImpl.SetTitle((string)e.NewValue)); HasSystemDecorationsProperty.Changed.AddClassHandler( (s, e) => s.PlatformImpl.SetSystemDecorations((bool) e.NewValue)); - + IconProperty.Changed.AddClassHandler((s, e) => s.PlatformImpl.SetIcon(((WindowIcon)e.NewValue).PlatformImpl)); } @@ -182,7 +182,7 @@ namespace Avalonia.Controls Size ILayoutRoot.MaxClientSize => _maxPlatformClientSize; /// - Type IStyleable.StyleKey => typeof(Window); + Type IStyleable.StyleKey => typeof(Window); /// /// Closes the window. @@ -240,7 +240,7 @@ namespace Avalonia.Controls PlatformImpl.Show(); } } - + /// /// Shows the window as a dialog. /// @@ -265,14 +265,14 @@ namespace Avalonia.Controls { s_windows.Add(this); - EnsureInitialized(); - LayoutManager.Instance.ExecuteInitialLayoutPass(this); + EnsureInitialized(); + LayoutManager.Instance.ExecuteInitialLayoutPass(this); using (BeginAutoSizing()) { - var modal = GetModal(); + var modal = ShowModal(); var result = new TaskCompletionSource(); - + Observable.FromEventPattern(this, nameof(Closed)) .Take(1) .Subscribe(_ => @@ -284,8 +284,8 @@ namespace Avalonia.Controls return result.Task; } } - - private IDisposable GetModal() + + private IDisposable ShowModal() { var disabled = s_windows.Where(w => w.IsEnabled && w != this); Window activated = null; @@ -299,7 +299,7 @@ namespace Avalonia.Controls window.IsEnabled = false; } - PlatformImpl.Show(); + PlatformImpl.ShowDialog(); return Disposable.Create(() => { @@ -335,7 +335,7 @@ namespace Avalonia.Controls var sizeToContent = SizeToContent; var size = ClientSize; var desired = base.MeasureOverride(availableSize.Constrain(_maxPlatformClientSize)); - + switch (sizeToContent) { case SizeToContent.Width: @@ -376,7 +376,7 @@ namespace Avalonia.Controls init.BeginInit(); init.EndInit(); } - } + } } } diff --git a/src/Gtk/Avalonia.Gtk/EmbeddableImpl.cs b/src/Gtk/Avalonia.Gtk/EmbeddableImpl.cs index 5ef1788073..a5a34cd47b 100644 --- a/src/Gtk/Avalonia.Gtk/EmbeddableImpl.cs +++ b/src/Gtk/Avalonia.Gtk/EmbeddableImpl.cs @@ -45,7 +45,6 @@ namespace Avalonia.Gtk { } - [Obsolete("Use Avalonia.Controls.Window.ShowDialog() instead.")] public override IDisposable ShowDialog() => Disposable.Create(() => { }); public override void SetSystemDecorations(bool enabled) diff --git a/src/Gtk/Avalonia.Gtk/WindowImpl.cs b/src/Gtk/Avalonia.Gtk/WindowImpl.cs index c82ded1263..eca7c24136 100644 --- a/src/Gtk/Avalonia.Gtk/WindowImpl.cs +++ b/src/Gtk/Avalonia.Gtk/WindowImpl.cs @@ -108,7 +108,6 @@ namespace Avalonia.Gtk } } - [Obsolete("Use Avalonia.Controls.Window.ShowDialog() instead.")] public override IDisposable ShowDialog() { Window.Modal = true; diff --git a/src/Gtk/Avalonia.Gtk/WindowImplBase.cs b/src/Gtk/Avalonia.Gtk/WindowImplBase.cs index 7310a12289..4d7552aa72 100644 --- a/src/Gtk/Avalonia.Gtk/WindowImplBase.cs +++ b/src/Gtk/Avalonia.Gtk/WindowImplBase.cs @@ -167,7 +167,6 @@ namespace Avalonia.Gtk } public abstract void SetTitle(string title); - [Obsolete("Use Avalonia.Controls.Window.ShowDialog() instead.")] public abstract IDisposable ShowDialog(); public abstract void SetSystemDecorations(bool enabled); public abstract void SetIcon(IWindowIconImpl icon); diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index cb2bc84094..189f27593f 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -137,7 +137,7 @@ namespace Avalonia.Win32 public WindowState WindowState { get - { + { var placement = default(UnmanagedMethods.WINDOWPLACEMENT); UnmanagedMethods.GetWindowPlacement(_hwnd, ref placement); @@ -176,7 +176,7 @@ namespace Avalonia.Win32 } public IPopupImpl CreatePopup() - { + { return new PopupImpl(); } @@ -342,33 +342,11 @@ namespace Avalonia.Win32 } } - [Obsolete("Use Avalonia.Controls.Window.ShowDialog() instead.")] public virtual IDisposable ShowDialog() { - var disabled = s_instances.Where(x => x != this && x.IsEnabled).ToList(); - WindowImpl activated = null; - - foreach (var window in disabled) - { - if (window._isActive) - { - activated = window; - } - - window.IsEnabled = false; - } - Show(); - return Disposable.Create(() => - { - foreach (var window in disabled) - { - window.IsEnabled = true; - } - - activated?.Activate(); - }); + return Disposable.Empty; } public void SetCursor(IPlatformHandle cursor)