added setting to disable double back to close tab
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user