comparison libmenu/menu_cmdlist.c @ 25320:4fbf536cc033

Support to run multiple mplayer commands set in menu.conf
author ulion
date Tue, 11 Dec 2007 08:11:21 +0000
parents 96d0992c7920
children f3acd58a3eff
comparison
equal deleted inserted replaced
25319:50a30be5300c 25320:4fbf536cc033
56 56
57 static void read_cmd(menu_t* menu,int cmd) { 57 static void read_cmd(menu_t* menu,int cmd) {
58 switch(cmd) { 58 switch(cmd) {
59 case MENU_CMD_RIGHT: 59 case MENU_CMD_RIGHT:
60 if(mpriv->p.current->right) { 60 if(mpriv->p.current->right) {
61 mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->right); 61 mp_input_parse_and_queue_cmds(mpriv->p.current->right);
62 if(c) mp_input_queue_cmd(c);
63 break; 62 break;
64 } // fallback on ok if right is not defined 63 } // fallback on ok if right is not defined
65 case MENU_CMD_OK: { 64 case MENU_CMD_OK: {
66 if(mpriv->p.current->ok) { 65 if(mpriv->p.current->ok) {
67 mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->ok); 66 if (mp_input_parse_and_queue_cmds(mpriv->p.current->ok))
68 if(c)
69 { 67 {
70 if (mpriv->auto_close) 68 if (mpriv->auto_close)
71 mp_input_queue_cmd (mp_input_parse_cmd ("menu hide")); 69 mp_input_queue_cmd (mp_input_parse_cmd ("menu hide"));
72 mp_input_queue_cmd(c);
73 } 70 }
74 } 71 }
75 } break; 72 } break;
76 case MENU_CMD_LEFT: 73 case MENU_CMD_LEFT:
77 if(mpriv->p.current->left) { 74 if(mpriv->p.current->left) {
78 mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->left); 75 mp_input_parse_and_queue_cmds(mpriv->p.current->left);
79 if(c) mp_input_queue_cmd(c);
80 break; 76 break;
81 } // fallback on cancel if left is not defined 77 } // fallback on cancel if left is not defined
82 case MENU_CMD_CANCEL: 78 case MENU_CMD_CANCEL:
83 if(mpriv->p.current->cancel) { 79 if(mpriv->p.current->cancel) {
84 mp_cmd_t* c = mp_input_parse_cmd(mpriv->p.current->cancel); 80 mp_input_parse_and_queue_cmds(mpriv->p.current->cancel);
85 if(c)
86 mp_input_queue_cmd(c);
87 break; 81 break;
88 } 82 }
89 default: 83 default:
90 menu_list_read_cmd(menu,cmd); 84 menu_list_read_cmd(menu,cmd);
91 } 85 }