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