From 6f70e50e6df2ce4dc6c9e84b5358454a457afd0f Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 20 Jun 2008 19:43:19 +0000 Subject: Add auto-close option to libmenu playlist handling part. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27104 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmenu/menu_pt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libmenu') diff --git a/libmenu/menu_pt.c b/libmenu/menu_pt.c index 27ce5ae0e3..c8d8ec0b85 100644 --- a/libmenu/menu_pt.c +++ b/libmenu/menu_pt.c @@ -32,11 +32,13 @@ struct list_entry_s { struct menu_priv_s { menu_list_priv_t p; char* title; + int auto_close; }; static struct menu_priv_s cfg_dflt = { MENU_LIST_PRIV_DFLT, - "Jump to" + "Jump to", + 0 }; #define ST_OFF(m) M_ST_OFF(struct menu_priv_s,m) @@ -44,6 +46,7 @@ static struct menu_priv_s cfg_dflt = { static m_option_t cfg_fields[] = { MENU_LIST_PRIV_FIELDS, { "title", ST_OFF(title), CONF_TYPE_STRING, 0, 0, 0, NULL }, + { "auto-close", ST_OFF(auto_close), CONF_TYPE_FLAG, 0, 0, 1, NULL }, { NULL, NULL, NULL, 0,0,0,NULL } }; @@ -85,8 +88,11 @@ static void read_cmd(menu_t* menu,int cmd) { snprintf(str,15,"pt_step %d",d); } c = mp_input_parse_cmd(str); - if(c) + if(c) { + if(mpriv->auto_close) + mp_input_queue_cmd(mp_input_parse_cmd("menu hide")); mp_input_queue_cmd(c); + } else mp_msg(MSGT_GLOBAL,MSGL_WARN,MSGTR_LIBMENU_FailedToBuildCommand,str); } break; -- cgit v1.2.3