Mercurial > mplayer.hg
changeset 25320:4fbf536cc033
Support to run multiple mplayer commands set in menu.conf
author | ulion |
---|---|
date | Tue, 11 Dec 2007 08:11:21 +0000 |
parents | 50a30be5300c |
children | 6b90fc097785 |
files | libmenu/menu.c libmenu/menu_cmdlist.c libmenu/menu_filesel.c |
diffstat | 3 files changed, 10 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/libmenu/menu.c Tue Dec 11 08:03:47 2007 +0000 +++ b/libmenu/menu.c Tue Dec 11 08:11:21 2007 +0000 @@ -275,7 +275,7 @@ for (i = 0; i < bindings->binding_num; ++i) { if (bindings->bindings[i].key == cmd) { if (bindings->bindings[i].cmd) - mp_input_queue_cmd(mp_input_parse_cmd(bindings->bindings[i].cmd)); + mp_input_parse_and_queue_cmds(bindings->bindings[i].cmd); return 1; } }
--- a/libmenu/menu_cmdlist.c Tue Dec 11 08:03:47 2007 +0000 +++ b/libmenu/menu_cmdlist.c Tue Dec 11 08:11:21 2007 +0000 @@ -58,32 +58,26 @@ switch(cmd) { case MENU_CMD_RIGHT: if(mpriv->p.current->right) { - mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->right); - if(c) mp_input_queue_cmd(c); + mp_input_parse_and_queue_cmds(mpriv->p.current->right); break; } // fallback on ok if right is not defined case MENU_CMD_OK: { if(mpriv->p.current->ok) { - mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->ok); - if(c) + if (mp_input_parse_and_queue_cmds(mpriv->p.current->ok)) { if (mpriv->auto_close) mp_input_queue_cmd (mp_input_parse_cmd ("menu hide")); - mp_input_queue_cmd(c); } } } break; case MENU_CMD_LEFT: if(mpriv->p.current->left) { - mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->left); - if(c) mp_input_queue_cmd(c); + mp_input_parse_and_queue_cmds(mpriv->p.current->left); break; } // fallback on cancel if left is not defined case MENU_CMD_CANCEL: if(mpriv->p.current->cancel) { - mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->cancel); - if(c) - mp_input_queue_cmd(c); + mp_input_parse_and_queue_cmds(mpriv->p.current->cancel); break; } default:
--- a/libmenu/menu_filesel.c Tue Dec 11 08:03:47 2007 +0000 +++ b/libmenu/menu_filesel.c Tue Dec 11 08:11:21 2007 +0000 @@ -355,21 +355,18 @@ } free(p); } else { // File and directory dealt with action string. - mp_cmd_t* c; int fname_len = strlen(mpriv->dir) + strlen(mpriv->p.current->p.txt) + 1; char filename[fname_len]; char *str; char *action = mpriv->p.current->d ? mpriv->dir_action:mpriv->file_action; sprintf(filename,"%s%s",mpriv->dir,mpriv->p.current->p.txt); str = replace_path(action, filename); - c = mp_input_parse_cmd(str); + if (mp_input_parse_and_queue_cmds(str)) { + if(mpriv->auto_close) + menu->cl = 1; + } if (str != action) free(str); - if(c) { - mp_input_queue_cmd(c); - if(mpriv->auto_close) - menu->cl = 1; - } } } break; case MENU_CMD_ACTION: { @@ -378,7 +375,7 @@ char *str; sprintf(filename,"%s%s",mpriv->dir,mpriv->p.current->p.txt); str = replace_path(action, filename); - mp_input_queue_cmd(mp_input_parse_cmd(str)); + mp_input_parse_and_queue_cmds(str); if(str != action) free(str); } break;