diff --git a/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml b/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml index e784a09b5480..66ef10458741 100644 --- a/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml +++ b/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml @@ -371,7 +371,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" /> @@ -390,7 +390,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.TagColumn.Visibility, Mode=OneWay}" /> @@ -410,7 +410,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.OriginalPathColumn.Visibility, Mode=OneWay}" /> @@ -430,7 +430,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateDeletedColumn.Visibility, Mode=OneWay}" /> @@ -450,7 +450,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateModifiedColumn.Visibility, Mode=OneWay}" /> @@ -470,7 +470,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.DateCreatedColumn.Visibility, Mode=OneWay}" /> @@ -490,7 +490,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.ItemTypeColumn.Visibility, Mode=OneWay}" /> @@ -510,7 +510,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.SizeColumn.Visibility, Mode=OneWay}" /> @@ -532,7 +532,7 @@ Loaded="GridSplitter_Loaded" ManipulationCompleted="GridSplitter_ManipulationCompleted" ManipulationDelta="GridSplitter_ManipulationDelta" - ManipulationStarting="GridSplitter_ManipulationStarting" + ManipulationStarted="GridSplitter_ManipulationStarted" PreviewKeyUp="GridSplitter_PreviewKeyUp" Style="{StaticResource HeaderGridSplitterStyle}" Visibility="{x:Bind ColumnsViewModel.StatusColumn.Visibility, Mode=OneWay}" /> diff --git a/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs b/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs index 02cf9708de31..be6ad4cea7e4 100644 --- a/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs +++ b/src/Files.App/Views/LayoutModes/DetailsLayoutBrowser.xaml.cs @@ -34,10 +34,6 @@ public sealed partial class DetailsLayoutBrowser : StandardViewBase private uint currentIconSize; - private InputCursor arrowCursor = InputCursor.CreateFromCoreCursor(new CoreCursor(CoreCursorType.Arrow, 0)); - - private InputCursor resizeCursor = InputCursor.CreateFromCoreCursor(new CoreCursor(CoreCursorType.SizeWestEast, 1)); - private ListedItem? _nextItemToSelect; protected override uint IconSize => currentIconSize; @@ -511,20 +507,20 @@ private void RootGrid_SizeChanged(object? sender, SizeChangedEventArgs? e) MaxWidthForRenameTextbox = Math.Max(0, RootGrid.ActualWidth - 80); } - private void GridSplitter_ManipulationStarting(object sender, ManipulationStartingRoutedEventArgs e) + private void GridSplitter_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) { - this.ChangeCursor(resizeCursor); + this.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); } private void GridSplitter_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e) { FolderSettings.ColumnsViewModel = ColumnsViewModel; - this.ChangeCursor(arrowCursor); + this.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.Arrow)); } private void GridSplitter_Loaded(object sender, RoutedEventArgs e) { - (sender as UIElement).ChangeCursor(resizeCursor); + (sender as UIElement)?.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); } private void ToggleMenuFlyoutItem_Click(object sender, RoutedEventArgs e) @@ -537,7 +533,6 @@ private void GridSplitter_DoubleTapped(object sender, DoubleTappedRoutedEventArg var columnToResize = Grid.GetColumn(sender as CommunityToolkit.WinUI.UI.Controls.GridSplitter) / 2 + 1; ResizeColumnToFit(columnToResize); - this.ChangeCursor(arrowCursor); e.Handled = true; } diff --git a/src/Files.App/Views/MainPage.xaml b/src/Files.App/Views/MainPage.xaml index 56ba31364f69..d80161c3c0ea 100644 --- a/src/Files.App/Views/MainPage.xaml +++ b/src/Files.App/Views/MainPage.xaml @@ -235,9 +235,6 @@ x:Load="{x:Bind ShouldPreviewPaneBeActive, Mode=OneWay}" ManipulationCompleted="PaneSplitter_ManipulationCompleted" ManipulationStarted="PaneSplitter_ManipulationStarted" - PointerCanceled="PaneSplitter_PointerExited" - PointerEntered="PaneSplitter_PointerEntered" - PointerExited="PaneSplitter_PointerExited" ResizeBehavior="BasedOnAlignment" Style="{StaticResource DefaultGridSplitterStyle}" /> diff --git a/src/Files.App/Views/MainPage.xaml.cs b/src/Files.App/Views/MainPage.xaml.cs index a323d4fac855..1b9b3e2828cd 100644 --- a/src/Files.App/Views/MainPage.xaml.cs +++ b/src/Files.App/Views/MainPage.xaml.cs @@ -52,11 +52,6 @@ public sealed partial class MainPage : Page, INotifyPropertyChanged public static AppModel AppModel => App.AppModel; - /// - /// True if the user is currently resizing the preview pane - /// - private bool draggingPreviewPane; - private bool keyReleased = true; public MainPage() @@ -451,6 +446,7 @@ private void UpdatePositioning() PaneSplitter.Width = 2; PaneSplitter.Height = RootGrid.ActualHeight; PaneSplitter.GripperCursor = GridSplitter.GripperCursorType.SizeWestEast; + PaneSplitter.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); PaneColumn.MinWidth = PreviewPane.MinWidth; PaneColumn.MaxWidth = PreviewPane.MaxWidth; PaneColumn.Width = new GridLength(UserSettingsService.PreviewPaneSettingsService.VerticalSizePx, GridUnitType.Pixel); @@ -466,6 +462,7 @@ private void UpdatePositioning() PaneSplitter.Height = 2; PaneSplitter.Width = RootGrid.ActualWidth; PaneSplitter.GripperCursor = GridSplitter.GripperCursorType.SizeNorthSouth; + PaneSplitter.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeNorthSouth)); PaneColumn.MinWidth = 0; PaneColumn.MaxWidth = double.MaxValue; PaneColumn.Width = new GridLength(0); @@ -477,11 +474,6 @@ private void UpdatePositioning() } } - private void PaneSplitter_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) - { - draggingPreviewPane = true; - } - private void PaneSplitter_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e) { switch (PreviewPane?.Position) @@ -494,22 +486,7 @@ private void PaneSplitter_ManipulationCompleted(object sender, ManipulationCompl break; } - draggingPreviewPane = false; - } - - private void PaneSplitter_PointerExited(object sender, PointerRoutedEventArgs e) - { - if (draggingPreviewPane) - return; - - var paneSplitter = (GridSplitter)sender; - paneSplitter.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.Arrow)); - } - - private void PaneSplitter_PointerEntered(object sender, PointerRoutedEventArgs e) - { - var paneSplitter = (GridSplitter)sender; - paneSplitter.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); + this.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.Arrow)); } public bool ShouldPreviewPaneBeActive => UserSettingsService.PreviewPaneSettingsService.IsEnabled && ShouldPreviewPaneBeDisplayed; @@ -563,5 +540,11 @@ private void RootGrid_PreviewKeyDown(object sender, KeyRoutedEventArgs e) } private void NavToolbar_Loaded(object sender, RoutedEventArgs e) => UpdateNavToolbarProperties(); + + private void PaneSplitter_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) + { + this.ChangeCursor(InputSystemCursor.Create(PaneSplitter.GripperCursor == GridSplitter.GripperCursorType.SizeWestEast ? + InputSystemCursorShape.SizeWestEast : InputSystemCursorShape.SizeNorthSouth)); + } } } diff --git a/src/Files.App/Views/PaneHolderPage.xaml b/src/Files.App/Views/PaneHolderPage.xaml index d5a69686e04a..5997ba44f09f 100644 --- a/src/Files.App/Views/PaneHolderPage.xaml +++ b/src/Files.App/Views/PaneHolderPage.xaml @@ -90,13 +90,13 @@ HorizontalAlignment="Left" Background="Transparent" Canvas.ZIndex="150" - CursorBehavior="ChangeOnSplitterHover" DoubleTapped="PaneResizer_OnDoubleTapped" Foreground="Transparent" - GripperCursor="Default" GripperForeground="Transparent" IsTabStop="False" + Loaded="PaneResizer_Loaded" ManipulationCompleted="PaneResizer_ManipulationCompleted" + ManipulationStarted="PaneResizer_ManipulationStarted" ResizeBehavior="BasedOnAlignment" ResizeDirection="Auto" Style="{StaticResource DefaultGridSplitterStyle}"> diff --git a/src/Files.App/Views/PaneHolderPage.xaml.cs b/src/Files.App/Views/PaneHolderPage.xaml.cs index 320e196f446c..5ba12bff55e4 100644 --- a/src/Files.App/Views/PaneHolderPage.xaml.cs +++ b/src/Files.App/Views/PaneHolderPage.xaml.cs @@ -3,6 +3,7 @@ using Files.App.UserControls.MultitaskingControl; using Files.App.Views.LayoutModes; using Files.Backend.Services.Settings; +using Microsoft.UI.Input; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Input; @@ -11,6 +12,7 @@ using System.ComponentModel; using System.Runtime.CompilerServices; using System.Threading.Tasks; +using UWPToWinAppSDKUpgradeHelpers; using Windows.System; namespace Files.App.Views @@ -248,6 +250,8 @@ private void PaneResizer_ManipulationCompleted(object sender, ManipulationComple { if (PaneRight is not null && PaneRight.ActualWidth <= 300) IsRightPaneVisible = false; + + this.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.Arrow)); } private void Pane_ContentChanged(object sender, TabItemArguments e) @@ -338,6 +342,16 @@ private void PaneResizer_OnDoubleTapped(object sender, DoubleTappedRoutedEventAr LeftColumn.Width = new GridLength(1, GridUnitType.Star); RightColumn.Width = new GridLength(1, GridUnitType.Star); } + + private void PaneResizer_Loaded(object sender, RoutedEventArgs e) + { + PaneResizer.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); + } + + private void PaneResizer_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) + { + this.ChangeCursor(InputSystemCursor.Create(InputSystemCursorShape.SizeWestEast)); + } } public class PaneNavigationArguments