From 7241879f5a09d18d559aa65734b4d3308be55ce3 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 20 Jun 2024 09:25:56 +0800 Subject: [PATCH] code_review: PR #190 * check middle button click before other action * pass clicked tab instead of null to avoid closing current active page while clicking on other invalid tab --- src/Views/Launcher.axaml.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Views/Launcher.axaml.cs b/src/Views/Launcher.axaml.cs index dd655703..3fd3b662 100644 --- a/src/Views/Launcher.axaml.cs +++ b/src/Views/Launcher.axaml.cs @@ -258,17 +258,19 @@ namespace SourceGit.Views private void OnPointerPressedTab(object sender, PointerPressedEventArgs e) { - _pressedTab = true; - _startDragTab = false; - _pressedTabPosition = e.GetPosition(sender as Border); - _pressedPoint = e.GetCurrentPoint(sender as Border); - if (_pressedPoint.Properties.IsMiddleButtonPressed) + var border = sender as Border; + var point = e.GetCurrentPoint(border); + if (point.Properties.IsMiddleButtonPressed) { var vm = DataContext as ViewModels.Launcher; - vm.CloseTab(null); + vm.CloseTab(border.DataContext as ViewModels.LauncherPage); e.Handled = true; return; } + + _pressedTab = true; + _startDragTab = false; + _pressedTabPosition = e.GetPosition(sender as Border); } private void OnPointerReleasedTab(object sender, PointerReleasedEventArgs e) @@ -339,6 +341,5 @@ namespace SourceGit.Views private bool _pressedTab = false; private Point _pressedTabPosition = new Point(); private bool _startDragTab = false; - private PointerPoint _pressedPoint = new PointerPoint(); } }