can open the item menu on the right click for requests

This commit is contained in:
Clement
2024-10-05 23:08:39 -03:00
parent 04b486d198
commit 4c3002c20b
2 changed files with 103 additions and 72 deletions

View File

@ -49,7 +49,11 @@ class SidebarRequestCard extends StatelessWidget {
String nm = (name != null && name!.trim().isNotEmpty) String nm = (name != null && name!.trim().isNotEmpty)
? name! ? name!
: getRequestTitleFromUrl(url); : getRequestTitleFromUrl(url);
return Tooltip( return GestureDetector(
onSecondaryTapUp: (details) {
showItemCardMenu(context, details, onMenuSelected);
},
child: Tooltip(
message: nm, message: nm,
triggerMode: TooltipTriggerMode.manual, triggerMode: TooltipTriggerMode.manual,
waitDuration: const Duration(seconds: 1), waitDuration: const Duration(seconds: 1),
@ -129,6 +133,7 @@ class SidebarRequestCard extends StatelessWidget {
), ),
), ),
), ),
),
); );
} }
} }

View File

@ -41,3 +41,29 @@ class ItemCardMenu extends StatelessWidget {
); );
} }
} }
/// Open the item card menu where the right click has been released
Future<void> showItemCardMenu(
BuildContext context,
TapUpDetails details,
Function(ItemMenuOption)? onSelected,
) async {
showMenu(
context: context,
position: RelativeRect.fromLTRB(
details.globalPosition.dx,
details.globalPosition.dy,
details.globalPosition.dx,
details.globalPosition.dy,
),
items: ItemMenuOption.values
.map<PopupMenuEntry<ItemMenuOption>>(
(e) => PopupMenuItem<ItemMenuOption>(
onTap: () => onSelected?.call(e),
value: e,
child: Text(e.label),
),
)
.toList(),
);
}