summaryrefslogtreecommitdiffstats
path: root/libmenu
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-20 19:43:19 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-20 19:43:19 +0000
commit6f70e50e6df2ce4dc6c9e84b5358454a457afd0f (patch)
tree47f0bd61e2a1c92dceca0b06999ae6e27fb4eb62 /libmenu
parent2bd0d969a66f250e35319f553068b78b0adedc5d (diff)
downloadmpv-6f70e50e6df2ce4dc6c9e84b5358454a457afd0f.tar.bz2
mpv-6f70e50e6df2ce4dc6c9e84b5358454a457afd0f.tar.xz
Add auto-close option to libmenu playlist handling part.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27104 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmenu')
-rw-r--r--libmenu/menu_pt.c10
1 files changed, 8 insertions, 2 deletions
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;