added setting to disable double back to close tab

This commit is contained in:
Fabian Freund
2026-01-11 18:07:37 +01:00
parent 890d612522
commit edbc157c46
6 changed files with 91 additions and 28 deletions
@@ -67,6 +67,7 @@ class GeneralSettingsScreen extends StatelessWidget {
_BottomSheetTabViewTile(),
_TabBarSwipeBehaviorSection(),
_PullToRefreshTile(),
_DoubleBackCloseTabTile(),
_IconCacheTile(),
],
);
@@ -867,6 +868,34 @@ class _PullToRefreshTile extends HookConsumerWidget {
}
}
class _DoubleBackCloseTabTile extends HookConsumerWidget {
const _DoubleBackCloseTabTile();
@override
Widget build(BuildContext context, WidgetRef ref) {
final doubleBackCloseTab = ref.watch(
generalSettingsWithDefaultsProvider.select((s) => s.doubleBackCloseTab),
);
return SwitchListTile.adaptive(
title: const Text('Double Back to Close Tab'),
subtitle: const Text(
'When enabled, press back twice to close the tab. When disabled, back button only navigates page history.',
),
secondary: const Icon(MdiIcons.gestureDoubleTap),
value: doubleBackCloseTab,
onChanged: (value) async {
await ref
.read(saveGeneralSettingsControllerProvider.notifier)
.save(
(currentSettings) =>
currentSettings.copyWith.doubleBackCloseTab(value),
);
},
);
}
}
class _IconCacheTile extends HookConsumerWidget {
const _IconCacheTile();