Mercurial > mplayer.hg
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 } |