settings to choose default tab types
This commit is contained in:
+17
-1
@@ -207,9 +207,18 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () async {
|
||||
final isPrivate =
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.addTab(url: ref.read(docsUriProvider));
|
||||
.addTab(
|
||||
url: ref.read(docsUriProvider),
|
||||
private: isPrivate,
|
||||
);
|
||||
},
|
||||
leadingIcon: const Icon(Icons.help),
|
||||
child: const Text('Help and feedback'),
|
||||
@@ -257,10 +266,17 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
),
|
||||
MenuItemButton(
|
||||
onPressed: () async {
|
||||
final isPrivate =
|
||||
ref
|
||||
.read(generalSettingsRepositoryProvider)
|
||||
.defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.addTab(
|
||||
url: Uri.parse('https://addons.mozilla.org'),
|
||||
private: isPrivate,
|
||||
);
|
||||
},
|
||||
leadingIcon: const Icon(MdiIcons.puzzlePlus),
|
||||
|
||||
+4
-1
@@ -313,13 +313,16 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
widget.suggestionTimeout) {
|
||||
//Don't do anything if a child route is active
|
||||
if (GoRouterState.of(context).topRoute?.name == BrowserRoute.name) {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
|
||||
unawaited(
|
||||
showSuggestNewTabMessage(
|
||||
context,
|
||||
onAdd: (searchText) async {
|
||||
await SearchRoute(
|
||||
tabType:
|
||||
ref.read(selectedTabTypeProvider) ?? TabType.regular,
|
||||
ref.read(selectedTabTypeProvider) ??
|
||||
settings.defaultCreateTabType,
|
||||
searchText: searchText ?? SearchRoute.emptySearchText,
|
||||
).push(context);
|
||||
},
|
||||
|
||||
+1
-1
@@ -215,7 +215,7 @@ class ViewTabSheetWidget extends HookConsumerWidget {
|
||||
onTap: () async {
|
||||
final tabId = await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.addTab(url: initialTabState.url);
|
||||
.addTab(url: initialTabState.url, private: false);
|
||||
|
||||
if (context.mounted) {
|
||||
//save reference before pop `ref` gets disposed
|
||||
|
||||
+10
-2
@@ -605,8 +605,12 @@ class ViewTabsSheetWidget extends HookConsumerWidget {
|
||||
),
|
||||
child: FloatingActionButton.small(
|
||||
onPressed: () async {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
|
||||
await SearchRoute(
|
||||
tabType: ref.read(selectedTabTypeProvider) ?? TabType.regular,
|
||||
tabType:
|
||||
ref.read(selectedTabTypeProvider) ??
|
||||
settings.defaultCreateTabType,
|
||||
).push(context);
|
||||
|
||||
onClose();
|
||||
@@ -782,8 +786,12 @@ class ViewTabTreesSheetWidget extends HookConsumerWidget {
|
||||
),
|
||||
child: FloatingActionButton.small(
|
||||
onPressed: () async {
|
||||
final settings = ref.read(generalSettingsRepositoryProvider);
|
||||
|
||||
await SearchRoute(
|
||||
tabType: ref.read(selectedTabTypeProvider) ?? TabType.regular,
|
||||
tabType:
|
||||
ref.read(selectedTabTypeProvider) ??
|
||||
settings.defaultCreateTabType,
|
||||
).push(context);
|
||||
|
||||
onClose();
|
||||
|
||||
+7
-1
@@ -22,9 +22,11 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
|
||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:weblibre/core/routing/routes.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/repositories/tab.dart';
|
||||
import 'package:weblibre/features/geckoview/features/contextmenu/extensions/hit_result.dart';
|
||||
import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
|
||||
import 'package:weblibre/utils/ui_helper.dart';
|
||||
|
||||
class OpenImageInNewTab extends HookConsumerWidget {
|
||||
@@ -43,6 +45,10 @@ class OpenImageInNewTab extends HookConsumerWidget {
|
||||
title: const Text('Open image in new tab'),
|
||||
onTap: () async {
|
||||
final currentTab = ref.read(selectedTabStateProvider);
|
||||
final isPrivate =
|
||||
currentTab?.isPrivate ??
|
||||
ref.read(generalSettingsRepositoryProvider).defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
final tabId = await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
@@ -50,7 +56,7 @@ class OpenImageInNewTab extends HookConsumerWidget {
|
||||
url: hitResult.tryGetLink(),
|
||||
parentId: currentTab?.id,
|
||||
selectTab: false,
|
||||
private: currentTab?.isPrivate ?? false,
|
||||
private: isPrivate,
|
||||
);
|
||||
|
||||
if (context.mounted) {
|
||||
|
||||
+7
-1
@@ -22,9 +22,11 @@ import 'package:flutter_material_design_icons/flutter_material_design_icons.dart
|
||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:weblibre/core/routing/routes.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/repositories/tab.dart';
|
||||
import 'package:weblibre/features/geckoview/features/contextmenu/extensions/hit_result.dart';
|
||||
import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
|
||||
import 'package:weblibre/utils/ui_helper.dart';
|
||||
|
||||
class OpenInNewTab extends HookConsumerWidget {
|
||||
@@ -43,6 +45,10 @@ class OpenInNewTab extends HookConsumerWidget {
|
||||
title: const Text('Open in new tab'),
|
||||
onTap: () async {
|
||||
final currentTab = ref.read(selectedTabStateProvider);
|
||||
final isPrivate =
|
||||
currentTab?.isPrivate ??
|
||||
ref.read(generalSettingsRepositoryProvider).defaultCreateTabType ==
|
||||
TabType.private;
|
||||
|
||||
final tabId = await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
@@ -50,7 +56,7 @@ class OpenInNewTab extends HookConsumerWidget {
|
||||
url: hitResult.tryGetLink(),
|
||||
parentId: currentTab?.id,
|
||||
selectTab: false,
|
||||
private: currentTab?.isPrivate ?? false,
|
||||
private: isPrivate,
|
||||
);
|
||||
|
||||
if (context.mounted) {
|
||||
|
||||
Reference in New Issue
Block a user