branches/new_menus/src/emu/ui/imgcntrl.c
| r29317 | r29318 | |
| 173 | 173 | zippath_closedir(directory); |
| 174 | 174 | } |
| 175 | 175 | submenu_result = -1; |
| 176 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_file_selector(machine(), container, image, current_directory, current_file, true, image->image_interface()!=NULL, can_create, &submenu_result))); |
| 176 | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_file_selector(machine(), container, image, current_directory, current_file, true, can_create, &submenu_result))); |
| 177 | 177 | state = SELECT_FILE; |
| 178 | 178 | break; |
| 179 | 179 | } |
| 180 | 180 | |
| 181 | | case START_SOFTLIST: |
| 182 | | sld = 0; |
| 183 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software(machine(), container, image->image_interface(), &sld))); |
| 184 | | state = SELECT_SOFTLIST; |
| 185 | | break; |
| 186 | | |
| 187 | | case START_OTHER_PART: { |
| 188 | | submenu_result = -1; |
| 189 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_parts(machine(), container, swi, swp->interface(), &swp, true, &submenu_result))); |
| 190 | | state = SELECT_OTHER_PART; |
| 191 | | break; |
| 192 | | } |
| 193 | | |
| 194 | | case SELECT_SOFTLIST: |
| 195 | | if(!sld) { |
| 196 | | ui_menu::stack_pop(machine()); |
| 197 | | break; |
| 198 | | } |
| 199 | | software_info_name = ""; |
| 200 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_list(machine(), container, sld, image->image_interface(), software_info_name))); |
| 201 | | state = SELECT_PARTLIST; |
| 202 | | break; |
| 203 | | |
| 204 | | case SELECT_PARTLIST: |
| 205 | | swi = sld->find(software_info_name); |
| 206 | | if(swi->has_multiple_parts(image->image_interface())) { |
| 207 | | submenu_result = -1; |
| 208 | | swp = 0; |
| 209 | | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_parts(machine(), container, swi, image->image_interface(), &swp, false, &submenu_result))); |
| 210 | | state = SELECT_ONE_PART; |
| 211 | | } else { |
| 212 | | swp = swi->first_part(); |
| 213 | | load_software_part(); |
| 214 | | ui_menu::stack_pop(machine()); |
| 215 | | } |
| 216 | | break; |
| 217 | | |
| 218 | 181 | case SELECT_ONE_PART: |
| 219 | 182 | switch(submenu_result) { |
| 220 | 183 | case ui_menu_software_parts::T_ENTRY: { |
| r29317 | r29318 | |
| 265 | 228 | state = CREATE_FILE; |
| 266 | 229 | break; |
| 267 | 230 | |
| 268 | | case ui_menu_file_selector::R_SOFTLIST: |
| 269 | | state = START_SOFTLIST; |
| 270 | | handle(); |
| 271 | | break; |
| 272 | | |
| 273 | 231 | case -1: // return to system |
| 274 | 232 | ui_menu::stack_pop(machine()); |
| 275 | 233 | break; |