scroll to top/bottom

This commit is contained in:
Fabian Freund
2026-03-12 15:14:31 +01:00
parent bf852295c3
commit 585fd7a362
2 changed files with 30 additions and 0 deletions
@@ -106,6 +106,16 @@ class TabSession extends _$TabSession {
return _sessionService.dispatchKeyEvent(keyCode: 93);
}
Future<void> scrollToTop() {
// Android KeyEvent.KEYCODE_MOVE_HOME = 122
return _sessionService.dispatchKeyEvent(keyCode: 122);
}
Future<void> scrollToBottom() {
// Android KeyEvent.KEYCODE_MOVE_END = 123
return _sessionService.dispatchKeyEvent(keyCode: 123);
}
@override
void build({required String? tabId}) {
_sessionService = (tabId != null)
@@ -353,6 +353,16 @@ final List<ToolbarButtonDefinition> toolbarButtonRegistry = [
.pageUp();
}
},
onLongPress: scope.isPreview
? () {}
: () async {
final tabId = scope.selectedTabId;
if (tabId != null) {
await ref
.read(tabSessionProvider(tabId: tabId).notifier)
.scrollToTop();
}
},
icon: const Icon(MdiIcons.chevronDoubleUp),
);
},
@@ -373,6 +383,16 @@ final List<ToolbarButtonDefinition> toolbarButtonRegistry = [
.pageDown();
}
},
onLongPress: scope.isPreview
? () {}
: () async {
final tabId = scope.selectedTabId;
if (tabId != null) {
await ref
.read(tabSessionProvider(tabId: tabId).notifier)
.scrollToBottom();
}
},
icon: const Icon(MdiIcons.chevronDoubleDown),
);
},