sourcegit/src/Views/FileHistories.axaml.cs

61 lines
1.6 KiB
C#
Raw Normal View History

using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
namespace SourceGit.Views
{
public partial class FileHistories : ChromelessWindow
{
public FileHistories()
{
InitializeComponent();
}
2024-07-14 00:55:15 -07:00
private void MaximizeOrRestoreWindow(object _, TappedEventArgs e)
{
_pressedTitleBar = false;
if (WindowState == WindowState.Maximized)
WindowState = WindowState.Normal;
else
WindowState = WindowState.Maximized;
e.Handled = true;
}
2024-07-14 00:55:15 -07:00
private void BeginMoveWindow(object _, PointerPressedEventArgs e)
{
if (e.ClickCount != 2)
_pressedTitleBar = true;
}
2024-07-14 00:55:15 -07:00
private void MoveWindow(object _, PointerEventArgs e)
{
2024-07-14 00:55:15 -07:00
if (!_pressedTitleBar || e.Source == null)
return;
var visual = (Visual)e.Source;
2024-07-14 00:55:15 -07:00
if (visual == null)
return;
#pragma warning disable CS0618
BeginMoveDrag(new PointerPressedEventArgs(
e.Source,
e.Pointer,
visual,
e.GetPosition(visual),
e.Timestamp,
new PointerPointProperties(RawInputModifiers.None, PointerUpdateKind.LeftButtonPressed),
e.KeyModifiers));
2024-07-14 00:55:15 -07:00
#pragma warning restore CS0618
}
2024-07-14 00:55:15 -07:00
private void EndMoveWindow(object _1, PointerReleasedEventArgs _2)
{
_pressedTitleBar = false;
}
private bool _pressedTitleBar = false;
}
}