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;
|
gboolean ret = FALSE;
|
||||||
|
|
||||||
if (ev->type == ButtonRelease) {
|
if (ev->type == ButtonRelease || ev->type == ButtonPress) {
|
||||||
ObMenuEntryFrame *e;
|
ObMenuEntryFrame *e;
|
||||||
|
|
||||||
if (menu_hide_delay_reached() &&
|
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,
|
if ((e = menu_entry_frame_under(ev->xbutton.x_root,
|
||||||
ev->xbutton.y_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_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();
|
menu_frame_hide_all();
|
||||||
}
|
}
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
|
|
Loading…
Reference in a new issue