Improve menu behaviour when clicking on grandparents.
Some time ago the menus were changed to not trigger on mouseover on a grandparent or higher so that you wouldn't lose a carefully navigated menu structure. Clicking on an item opens it though. It used to be on ButtonRelease but now it is on ButtonPress. Additionally, a Press now causes grandchildren to be closed when clicking on already selected parts of the hierarchy.
This commit is contained in:
parent
f6193ad9e0
commit
9f88642bf4
1 changed files with 6 additions and 3 deletions
|
@ -1701,7 +1701,7 @@ static gboolean event_handle_menu_input(XEvent *ev)
|
|||
{
|
||||
gboolean ret = FALSE;
|
||||
|
||||
if (ev->type == ButtonRelease) {
|
||||
if (ev->type == ButtonRelease || ev->type == ButtonPress) {
|
||||
ObMenuEntryFrame *e;
|
||||
|
||||
if (menu_hide_delay_reached() &&
|
||||
|
@ -1710,10 +1710,13 @@ static gboolean event_handle_menu_input(XEvent *ev)
|
|||
if ((e = menu_entry_frame_under(ev->xbutton.x_root,
|
||||
ev->xbutton.y_root)))
|
||||
{
|
||||
if (ev->type == ButtonPress && e->frame->child)
|
||||
menu_frame_select(e->frame->child, NULL, TRUE);
|
||||
menu_frame_select(e->frame, e, TRUE);
|
||||
menu_entry_frame_execute(e, ev->xbutton.state);
|
||||
if (ev->type == ButtonRelease)
|
||||
menu_entry_frame_execute(e, ev->xbutton.state);
|
||||
}
|
||||
else
|
||||
else if (ev->type == ButtonRelease)
|
||||
menu_frame_hide_all();
|
||||
}
|
||||
ret = TRUE;
|
||||
|
|
Loading…
Reference in a new issue