feat: repository tab add the ability to close repository tabs using the middle mouse button

This commit is contained in:
Gadfly 2024-04-26 23:26:19 +08:00
parent a74851de4a
commit 27fd5829f5
No known key found for this signature in database
GPG key ID: 9128145F93CFC69C

View file

@ -237,14 +237,37 @@ namespace SourceGit.Views
}
private void OnPointerPressedTab(object sender, PointerPressedEventArgs e)
{
var point = e.GetCurrentPoint(this);
if (point.Properties.IsMiddleButtonPressed)
{
_middleButtonPressed = true;
}
else
{
_pressedTab = true;
_startDrag = false;
_pressedTabPosition = e.GetPosition(sender as Border);
}
}
private void OnPointerReleasedTab(object sender, PointerReleasedEventArgs e)
{
if (_middleButtonPressed)
{
if (sender is Border border)
{
var point = e.GetPosition(border);
if (border.Bounds.Contains(point))
{
if (DataContext is ViewModels.Launcher vm)
{
vm.CloseTab(border.DataContext as ViewModels.LauncherPage);
}
}
}
_middleButtonPressed = false;
}
_pressedTab = false;
_startDrag = false;
}
@ -337,5 +360,6 @@ namespace SourceGit.Views
private bool _pressedTab = false;
private Point _pressedTabPosition = new Point();
private bool _startDrag = false;
private bool _middleButtonPressed = false;
}
}