customize quick tab switcher buttons

This commit is contained in:
Fabian Freund
2026-07-06 17:48:58 +02:00
parent 10052ed3a3
commit 1b1c33dee5
30 changed files with 4763 additions and 133 deletions
@@ -45,6 +45,7 @@ import 'package:weblibre/features/geckoview/features/bookmarks/domain/entities/b
import 'package:weblibre/features/geckoview/features/bookmarks/presentation/screens/bookmark_entry_edit.dart';
import 'package:weblibre/features/geckoview/features/bookmarks/presentation/screens/bookmark_folder_edit.dart';
import 'package:weblibre/features/geckoview/features/bookmarks/presentation/screens/bookmark_list.dart';
import 'package:weblibre/features/geckoview/features/browser/features/contextual_toolbar/domain/entities/toolbar_config_location.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/dialogs/tab_tree.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/screens/browser.dart';
import 'package:weblibre/features/geckoview/features/browser/presentation/screens/tab_view.dart';
@@ -1674,6 +1674,11 @@ RouteBase get $settingsRoute => GoRouteData.$route(
name: 'ContextualToolbarSettingsRoute',
factory: $ContextualToolbarSettingsRoute._fromState,
),
GoRouteData.$route(
path: 'quick_switcher_toolbar',
name: 'QuickSwitcherToolbarSettingsRoute',
factory: $QuickSwitcherToolbarSettingsRoute._fromState,
),
GoRouteData.$route(
path: 'desktop_mode_sites',
name: 'DesktopModeSitesRoute',
@@ -2285,6 +2290,28 @@ mixin $ContextualToolbarSettingsRoute on GoRouteData {
void replace(BuildContext context) => context.replace(location);
}
mixin $QuickSwitcherToolbarSettingsRoute on GoRouteData {
static QuickSwitcherToolbarSettingsRoute _fromState(GoRouterState state) =>
const QuickSwitcherToolbarSettingsRoute();
@override
String get location =>
GoRouteData.$location('/settings/quick_switcher_toolbar');
@override
void go(BuildContext context) => context.go(location);
@override
Future<T?> push<T>(BuildContext context) => context.push<T>(location);
@override
void pushReplacement(BuildContext context) =>
context.pushReplacement(location);
@override
void replace(BuildContext context) => context.replace(location);
}
mixin $DesktopModeSitesRoute on GoRouteData {
static DesktopModeSitesRoute _fromState(GoRouterState state) =>
const DesktopModeSitesRoute();
@@ -117,6 +117,10 @@ part of 'routes.dart';
name: 'ContextualToolbarSettingsRoute',
path: 'contextual_toolbar',
),
TypedGoRoute<QuickSwitcherToolbarSettingsRoute>(
name: 'QuickSwitcherToolbarSettingsRoute',
path: 'quick_switcher_toolbar',
),
TypedGoRoute<DesktopModeSitesRoute>(
name: 'DesktopModeSitesRoute',
path: 'desktop_mode_sites',
@@ -354,6 +358,19 @@ class ContextualToolbarSettingsRoute extends GoRouteData
}
}
class QuickSwitcherToolbarSettingsRoute extends GoRouteData
with $QuickSwitcherToolbarSettingsRoute {
const QuickSwitcherToolbarSettingsRoute();
@override
Widget build(BuildContext context, GoRouterState state) {
return const ContextualToolbarSettingsScreen(
location: ToolbarConfigLocation.quickSwitcher,
title: 'Customize Switcher Buttons',
);
}
}
class DesktopModeSitesRoute extends GoRouteData with $DesktopModeSitesRoute {
const DesktopModeSitesRoute();