Browse Source

Merge pull request #862 from VitalElement/fixes/dont-cover-taskbar-by-default-on-windows

Fixes/dont cover taskbar by default on windows
pull/864/head
Nikita Tsukanov 9 years ago
committed by GitHub
parent
commit
a2caec6ca6
  1. 5
      src/Android/Avalonia.Android/Platform/SkiaPlatform/WindowImpl.cs
  2. 5
      src/Avalonia.Controls/Platform/IWindowImpl.cs
  3. 20
      src/Avalonia.Controls/Window.cs
  4. 5
      src/Gtk/Avalonia.Gtk/WindowImplBase.cs
  5. 20
      src/Windows/Avalonia.Win32/WindowImpl.cs
  6. 5
      src/iOS/Avalonia.iOS/AvaloniaView.cs

5
src/Android/Avalonia.Android/Platform/SkiaPlatform/WindowImpl.cs

@ -108,11 +108,6 @@ namespace Avalonia.Android.Platform.SkiaPlatform
{
}
public void SetCoverTaskbarWhenMaximized(bool enable)
{
//Not supported
}
public void Invalidate(Rect rect)
{
if (Holder?.Surface?.IsValid == true) base.Invalidate();

5
src/Avalonia.Controls/Platform/IWindowImpl.cs

@ -35,11 +35,6 @@ namespace Avalonia.Platform
/// </summary>
void SetSystemDecorations(bool enabled);
/// <summary>
/// When system decorations are disabled sets if the maximized state covers the entire screen or just the working area.
/// </summary>
void SetCoverTaskbarWhenMaximized(bool enable);
/// <summary>
/// Sets the icon of this window.
/// </summary>

20
src/Avalonia.Controls/Window.cs

@ -64,13 +64,6 @@ namespace Avalonia.Controls
public static readonly StyledProperty<bool> HasSystemDecorationsProperty =
AvaloniaProperty.Register<Window, bool>(nameof(HasSystemDecorations), true);
/// <summary>
/// Sets if the window should cover the taskbar when maximized. Only applies to Windows
/// with HasSystemDecorations = false.
/// </summary>
public static readonly StyledProperty<bool> CoverTaskbarOnMaximizeProperty =
AvaloniaProperty.Register<Window, bool>(nameof(CoverTaskbarOnMaximize), true);
/// <summary>
/// Defines the <see cref="Title"/> property.
/// </summary>
@ -97,9 +90,6 @@ namespace Avalonia.Controls
HasSystemDecorationsProperty.Changed.AddClassHandler<Window>(
(s, e) => s.PlatformImpl.SetSystemDecorations((bool) e.NewValue));
CoverTaskbarOnMaximizeProperty.Changed.AddClassHandler<Window>(
(s, e) => s.PlatformImpl.SetCoverTaskbarWhenMaximized((bool)e.NewValue));
IconProperty.Changed.AddClassHandler<Window>((s, e) => s.PlatformImpl.SetIcon(((WindowIcon)e.NewValue).PlatformImpl));
}
@ -168,16 +158,6 @@ namespace Avalonia.Controls
set { SetValue(HasSystemDecorationsProperty, value); }
}
/// <summary>
/// Sets if the window should cover the taskbar when maximized. Only applies to Windows
/// with HasSystemDecorations = false.
/// </summary>
public bool CoverTaskbarOnMaximize
{
get { return GetValue(CoverTaskbarOnMaximizeProperty); }
set { SetValue(CoverTaskbarOnMaximizeProperty, value); }
}
/// <summary>
/// Gets or sets the minimized/maximized state of the window.
/// </summary>

5
src/Gtk/Avalonia.Gtk/WindowImplBase.cs

@ -304,11 +304,6 @@ namespace Avalonia.Gtk
args.RetVal = true;
}
public void SetCoverTaskbarWhenMaximized(bool enable)
{
// No action neccesary on Gtk.
}
public void Dispose()
{
_window.Hide();

20
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -33,7 +33,6 @@ namespace Avalonia.Win32
private bool _trackingMouse;
private bool _isActive;
private bool _decorated = true;
private bool _coverTaskBarWhenMaximized = true;
private double _scaling = 1;
private WindowState _showWindowState;
@ -678,8 +677,6 @@ namespace Avalonia.Win32
{
UnmanagedMethods.ShowWindowCommand command;
bool maximizeFillsDesktop = false; // otherwise we cover entire screen.
switch (state)
{
case WindowState.Minimized:
@ -687,11 +684,6 @@ namespace Avalonia.Win32
break;
case WindowState.Maximized:
command = ShowWindowCommand.Maximize;
if (!_decorated && !_coverTaskBarWhenMaximized)
{
maximizeFillsDesktop = true;
}
break;
case WindowState.Normal:
@ -704,7 +696,7 @@ namespace Avalonia.Win32
UnmanagedMethods.ShowWindow(_hwnd, command);
if (maximizeFillsDesktop)
if (state == WindowState.Maximized)
{
MaximizeWithoutCoveringTaskbar();
}
@ -751,15 +743,5 @@ namespace Avalonia.Win32
return (int)(ptr.ToInt64() & 0xffffffff);
}
public void SetCoverTaskbarWhenMaximized(bool enable)
{
_coverTaskBarWhenMaximized = enable;
if (_showWindowState == WindowState.Maximized)
{
ShowWindow(WindowState.Maximized);
}
}
}
}

5
src/iOS/Avalonia.iOS/AvaloniaView.cs

@ -170,11 +170,6 @@ namespace Avalonia.iOS
//Not supported
}
public void SetCoverTaskbarWhenMaximized(bool enable)
{
//Not supported
}
public override void TouchesEnded(NSSet touches, UIEvent evt)
{
var touch = touches.AnyObject as UITouch;

Loading…
Cancel
Save