From adeeb512f827d1773a72df686a3240a48ee9895f Mon Sep 17 00:00:00 2001 From: reionwong Date: Sat, 29 Aug 2026 22:13:29 -0400 Subject: [PATCH] fix(desktop): disable touch flicking --- qml/Dialogs/EmptyTrashDialog.qml | 2 +- qml/FolderGridView.qml | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/qml/Dialogs/EmptyTrashDialog.qml b/qml/Dialogs/EmptyTrashDialog.qml index 613dd05..a7025a2 100644 --- a/qml/Dialogs/EmptyTrashDialog.qml +++ b/qml/Dialogs/EmptyTrashDialog.qml @@ -50,7 +50,7 @@ FishUI.Window { DragHandler { target: null - acceptedDevices: PointerDevice.GenericPointer + acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad grabPermissions: PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything onActiveChanged: if (active) { control.helper.startSystemMove(control) } } diff --git a/qml/FolderGridView.qml b/qml/FolderGridView.qml index feae33b..15a55ab 100644 --- a/qml/FolderGridView.qml +++ b/qml/FolderGridView.qml @@ -273,6 +273,10 @@ GridView { } clip: true + // The desktop uses a GridView for layout, but dragging its surface must + // select icons instead of flicking the desktop like a touch interface. + // WheelHandler remains responsible for wheel and touchpad scrolling. + interactive: !isDesktopView currentIndex: -1 ScrollBar.vertical: ScrollBar { } @@ -520,7 +524,7 @@ GridView { control.rubberBand.close() control.rubberBand = null - control.interactive = true + control.interactive = !control.isDesktopView control.cachedRectangleSelection = null dirModel.unpinSelection() } @@ -666,7 +670,7 @@ GridView { width = 0 height = 0 visible = false - control.interactive = true + control.interactive = !control.isDesktopView } }