From 72193ba8f343cb70b852c1c12ed11f49a78a38f8 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 7 Sep 2025 02:09:07 +0800 Subject: [PATCH] :sparkles: Allow use mosue drag to scroll vertical lists --- lib/main.dart | 1 + lib/widgets/app_scaffold.dart | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/lib/main.dart b/lib/main.dart index 18d79d09..bfcd0cb2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -240,6 +240,7 @@ class IslandApp extends HookConsumerWidget { themeMode: ThemeMode.system, routerConfig: router, supportedLocales: context.supportedLocales, + scrollBehavior: AppScrollBehavior(), localizationsDelegates: [ ...context.localizationDelegates, CroppyLocalizations.delegate, diff --git a/lib/widgets/app_scaffold.dart b/lib/widgets/app_scaffold.dart index fa719bf9..5441fd23 100644 --- a/lib/widgets/app_scaffold.dart +++ b/lib/widgets/app_scaffold.dart @@ -1,4 +1,5 @@ import 'dart:io'; +import 'dart:ui'; import 'package:bitsdojo_window/bitsdojo_window.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/foundation.dart'; @@ -15,6 +16,14 @@ import 'package:material_symbols_icons/material_symbols_icons.dart'; import 'package:path_provider/path_provider.dart'; import 'package:styled_widget/styled_widget.dart'; +class AppScrollBehavior extends MaterialScrollBehavior { + @override + Set get dragDevices => { + PointerDeviceKind.touch, // default + PointerDeviceKind.mouse, // add mouse dragging + }; +} + class WindowScaffold extends HookConsumerWidget { final Widget child; const WindowScaffold({super.key, required this.child});