improve menu anchor show/hide controls
This commit is contained in:
+34
-4
@@ -453,7 +453,13 @@ class _ExtensionShortcutToolbarButton extends HookConsumerWidget {
|
||||
return ExtensionShortcutMenu(
|
||||
controller: menuController,
|
||||
child: IconButton(
|
||||
onPressed: menuController.open,
|
||||
onPressed: () {
|
||||
if (menuController.isOpen) {
|
||||
menuController.close();
|
||||
} else {
|
||||
menuController.open();
|
||||
}
|
||||
},
|
||||
icon: const Icon(MdiIcons.puzzle),
|
||||
),
|
||||
);
|
||||
@@ -497,7 +503,15 @@ class _ReloadToolbarButton extends HookConsumerWidget {
|
||||
.reload();
|
||||
}
|
||||
},
|
||||
onLongPress: scope.isPreview ? null : menuController.open,
|
||||
onLongPress: scope.isPreview
|
||||
? null
|
||||
: () {
|
||||
if (menuController.isOpen) {
|
||||
menuController.close();
|
||||
} else {
|
||||
menuController.open();
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.refresh),
|
||||
),
|
||||
);
|
||||
@@ -557,7 +571,15 @@ class _CloseTabToolbarButton extends HookConsumerWidget {
|
||||
onPressed: scope.isPreview
|
||||
? () {}
|
||||
: () => _closeTab(context, ref, scope.selectedTabId),
|
||||
onLongPress: scope.isPreview ? null : menuController.open,
|
||||
onLongPress: scope.isPreview
|
||||
? null
|
||||
: () {
|
||||
if (menuController.isOpen) {
|
||||
menuController.close();
|
||||
} else {
|
||||
menuController.open();
|
||||
}
|
||||
},
|
||||
icon: const Icon(MdiIcons.tabMinus),
|
||||
),
|
||||
);
|
||||
@@ -654,7 +676,15 @@ class _BookmarkToolbarButton extends HookConsumerWidget {
|
||||
entryGuid: BookmarkRoot.root.id,
|
||||
).push(context);
|
||||
},
|
||||
onLongPress: scope.isPreview ? null : menuController.open,
|
||||
onLongPress: scope.isPreview
|
||||
? null
|
||||
: () {
|
||||
if (menuController.isOpen) {
|
||||
menuController.close();
|
||||
} else {
|
||||
menuController.open();
|
||||
}
|
||||
},
|
||||
icon: const Icon(MdiIcons.bookmarkMultiple),
|
||||
),
|
||||
);
|
||||
|
||||
+20
-4
@@ -274,7 +274,9 @@ class _NavigationRow extends HookConsumerWidget {
|
||||
onLongPress: isLoading || history?.canGoBack != true
|
||||
? null
|
||||
: () {
|
||||
if (!backMenuController.isOpen) {
|
||||
if (backMenuController.isOpen) {
|
||||
backMenuController.close();
|
||||
} else {
|
||||
backMenuController.open();
|
||||
}
|
||||
},
|
||||
@@ -297,7 +299,9 @@ class _NavigationRow extends HookConsumerWidget {
|
||||
onLongPress: history?.canGoForward != true
|
||||
? null
|
||||
: () {
|
||||
if (!forwardMenuController.isOpen) {
|
||||
if (forwardMenuController.isOpen) {
|
||||
forwardMenuController.close();
|
||||
} else {
|
||||
forwardMenuController.open();
|
||||
}
|
||||
},
|
||||
@@ -379,7 +383,13 @@ class _NavigationRow extends HookConsumerWidget {
|
||||
);
|
||||
}
|
||||
},
|
||||
onLongPress: closeMenuController.open,
|
||||
onLongPress: () {
|
||||
if (closeMenuController.isOpen) {
|
||||
closeMenuController.close();
|
||||
} else {
|
||||
closeMenuController.open();
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
MenuAnchor(
|
||||
@@ -408,7 +418,13 @@ class _NavigationRow extends HookConsumerWidget {
|
||||
.reload();
|
||||
if (context.mounted) Navigator.pop(context);
|
||||
},
|
||||
onLongPress: reloadMenuController.open,
|
||||
onLongPress: () {
|
||||
if (reloadMenuController.isOpen) {
|
||||
reloadMenuController.close();
|
||||
} else {
|
||||
reloadMenuController.open();
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
+6
-2
@@ -102,7 +102,9 @@ class NavigateForwardButton extends HookConsumerWidget {
|
||||
menuControllerToClose?.close();
|
||||
},
|
||||
onLongPress: () {
|
||||
if (!historyMenuController.isOpen) {
|
||||
if (historyMenuController.isOpen) {
|
||||
historyMenuController.close();
|
||||
} else {
|
||||
historyMenuController.open();
|
||||
}
|
||||
},
|
||||
@@ -160,7 +162,9 @@ class NavigateBackButton extends HookConsumerWidget {
|
||||
menuControllerToClose?.close();
|
||||
},
|
||||
onLongPress: () {
|
||||
if (!historyMenuController.isOpen) {
|
||||
if (historyMenuController.isOpen) {
|
||||
historyMenuController.close();
|
||||
} else {
|
||||
historyMenuController.open();
|
||||
}
|
||||
},
|
||||
|
||||
+9
-1
@@ -429,7 +429,15 @@ class _TopSiteGridTileState extends State<_TopSiteGridTile> {
|
||||
child: InkWell(
|
||||
borderRadius: _TopSiteGridTile._borderRadius,
|
||||
onTap: widget.onTap,
|
||||
onLongPress: _hasMenu ? () => _menuController.open() : null,
|
||||
onLongPress: _hasMenu
|
||||
? () {
|
||||
if (_menuController.isOpen) {
|
||||
_menuController.close();
|
||||
} else {
|
||||
_menuController.open();
|
||||
}
|
||||
}
|
||||
: null,
|
||||
child: Stack(
|
||||
fit: StackFit.expand,
|
||||
children: [
|
||||
|
||||
@@ -44,7 +44,11 @@ class FingerprintSettingsScreen extends HookConsumerWidget {
|
||||
builder: (context, controller, child) {
|
||||
return IconButton(
|
||||
onPressed: () {
|
||||
controller.open();
|
||||
if (controller.isOpen) {
|
||||
controller.close();
|
||||
} else {
|
||||
controller.open();
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.more_vert),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user