Mercurial > pidgin.yaz
diff finch/libgnt/gntwm.c @ 21212:b65f1bff6412
Allow binding key-shortcuts to menuitems.
For example, to bind ctrl+m to the 'Options -> Send IM...' menu, you would add:
[buddylist::menu]
c-m = send-im
in ~/.gntrc
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 03 Oct 2007 06:51:26 +0000 |
parents | 9b2376dde204 |
children | 4d6828b8da3e |
line wrap: on
line diff
--- a/finch/libgnt/gntwm.c Wed Oct 03 05:42:31 2007 +0000 +++ b/finch/libgnt/gntwm.c Wed Oct 03 06:51:26 2007 +0000 @@ -1853,8 +1853,17 @@ ret = gnt_widget_key_pressed(GNT_WIDGET(wm->menu), keys); else if (wm->_list.window) ret = gnt_widget_key_pressed(wm->_list.window, keys); - else if (wm->cws->ordered) - ret = gnt_widget_key_pressed(GNT_WIDGET(wm->cws->ordered->data), keys); + else if (wm->cws->ordered) { + GntWidget *win = wm->cws->ordered->data; + GntMenu *menu = GNT_WINDOW(win)->menu; + if (menu) { + const char *id = gnt_window_get_accel_item(GNT_WINDOW(win), keys); + if (id) + ret = (gnt_menu_get_item(menu, id) != NULL); + } + if (!ret) + ret = gnt_widget_key_pressed(win, keys); + } return ret; }