trunk/src/emu/inpttype.h
| r253721 | r253722 | |
| 758 | 758 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_TAPE_STOP, "UI (First) Tape Stop", input_seq(KEYCODE_F2, KEYCODE_LSHIFT) ) |
| 759 | 759 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_DATS, "UI External DAT View", input_seq(KEYCODE_LALT, KEYCODE_D) ) |
| 760 | 760 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_FAVORITES, "UI Add/Remove favorites",input_seq(KEYCODE_LALT, KEYCODE_F) ) |
| 761 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_UP_FILTER, NULL, input_seq() ) |
| 762 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_DOWN_FILTER, NULL, input_seq() ) |
| 763 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_LEFT_PANEL, NULL, input_seq() ) |
| 764 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_RIGHT_PANEL, "UI Right switch image/info", input_seq(KEYCODE_RIGHT, KEYCODE_LCONTROL) ) |
| 765 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_UP_PANEL, NULL, input_seq() ) |
| 766 | | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_DOWN_PANEL, NULL, input_seq() ) |
| 761 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_UP_FILTER, nullptr, input_seq() ) |
| 762 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_DOWN_FILTER, nullptr, input_seq() ) |
| 763 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_LEFT_PANEL, nullptr, input_seq() ) |
| 764 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_RIGHT_PANEL, "UI Right switch image/info",input_seq(KEYCODE_RIGHT, KEYCODE_LCONTROL) ) |
| 765 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_UP_PANEL, nullptr, input_seq() ) |
| 766 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_DOWN_PANEL, nullptr, input_seq() ) |
| 767 | 767 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_EXPORT, "UI Export list to xml", input_seq(KEYCODE_LALT, KEYCODE_E) ) |
| 768 | 768 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_AUDIT_FAST, "UI Audit Unavailable", input_seq(KEYCODE_F1, input_seq::not_code, KEYCODE_LSHIFT) ) |
| 769 | 769 | INPUT_PORT_DIGITAL_TYPE( 0, UI, UI_AUDIT_ALL, "UI Audit All", input_seq(KEYCODE_F1, KEYCODE_LSHIFT) ) |
trunk/src/emu/ui/dirmenu.cpp
| r253721 | r253722 | |
| 28 | 28 | |
| 29 | 29 | static const folders_entry s_folders[] = |
| 30 | 30 | { |
| 31 | | { __("ROMs"), OPTION_MEDIAPATH, ADDING }, |
| 32 | | { __("UI"), OPTION_UI_PATH, CHANGE }, |
| 33 | | { __("Language"), OPTION_LANGUAGEPATH, CHANGE }, |
| 34 | | { __("Samples"), OPTION_SAMPLEPATH, ADDING }, |
| 35 | | { __("DATs"), OPTION_HISTORY_PATH, CHANGE }, |
| 36 | | { __("INIs"), OPTION_INIPATH, ADDING }, |
| 37 | | { __("Extra INIs"), OPTION_EXTRAINI_PATH, CHANGE }, |
| 38 | | { __("Icons"), OPTION_ICONS_PATH, ADDING }, |
| 39 | | { __("Cheats"), OPTION_CHEATPATH, ADDING }, |
| 40 | | { __("Snapshots"), OPTION_SNAPSHOT_DIRECTORY, ADDING }, |
| 41 | | { __("Cabinets"), OPTION_CABINETS_PATH, ADDING }, |
| 42 | | { __("Flyers"), OPTION_FLYERS_PATH, ADDING }, |
| 43 | | { __("Titles"), OPTION_TITLES_PATH, ADDING }, |
| 44 | | { __("Ends"), OPTION_ENDS_PATH, ADDING }, |
| 45 | | { __("PCBs"), OPTION_PCBS_PATH, ADDING }, |
| 46 | | { __("Marquees"), OPTION_MARQUEES_PATH, ADDING }, |
| 47 | | { __("Controls Panels"), OPTION_CPANELS_PATH, ADDING }, |
| 48 | | { __("Crosshairs"), OPTION_CROSSHAIRPATH, ADDING }, |
| 49 | | { __("Artworks"), OPTION_ARTPATH, ADDING }, |
| 50 | | { __("Bosses"), OPTION_BOSSES_PATH, ADDING }, |
| 51 | | { __("Artworks Preview"), OPTION_ARTPREV_PATH, ADDING }, |
| 52 | | { __("Select"), OPTION_SELECT_PATH, ADDING }, |
| 53 | | { __("GameOver"), OPTION_GAMEOVER_PATH, ADDING }, |
| 54 | | { __("HowTo"), OPTION_HOWTO_PATH, ADDING }, |
| 55 | | { __("Logos"), OPTION_LOGOS_PATH, ADDING }, |
| 56 | | { __("Scores"), OPTION_SCORES_PATH, ADDING }, |
| 57 | | { __("Versus"), OPTION_VERSUS_PATH, ADDING }, |
| 31 | { __("ROMs"), OPTION_MEDIAPATH, ADDING }, |
| 32 | { __("UI"), OPTION_UI_PATH, CHANGE }, |
| 33 | { __("Language"), OPTION_LANGUAGEPATH, CHANGE }, |
| 34 | { __("Samples"), OPTION_SAMPLEPATH, ADDING }, |
| 35 | { __("DATs"), OPTION_HISTORY_PATH, CHANGE }, |
| 36 | { __("INIs"), OPTION_INIPATH, ADDING }, |
| 37 | { __("Extra INIs"), OPTION_EXTRAINI_PATH, CHANGE }, |
| 38 | { __("Icons"), OPTION_ICONS_PATH, ADDING }, |
| 39 | { __("Cheats"), OPTION_CHEATPATH, ADDING }, |
| 40 | { __("Snapshots"), OPTION_SNAPSHOT_DIRECTORY, ADDING }, |
| 41 | { __("Cabinets"), OPTION_CABINETS_PATH, ADDING }, |
| 42 | { __("Flyers"), OPTION_FLYERS_PATH, ADDING }, |
| 43 | { __("Titles"), OPTION_TITLES_PATH, ADDING }, |
| 44 | { __("Ends"), OPTION_ENDS_PATH, ADDING }, |
| 45 | { __("PCBs"), OPTION_PCBS_PATH, ADDING }, |
| 46 | { __("Marquees"), OPTION_MARQUEES_PATH, ADDING }, |
| 47 | { __("Controls Panels"), OPTION_CPANELS_PATH, ADDING }, |
| 48 | { __("Crosshairs"), OPTION_CROSSHAIRPATH, ADDING }, |
| 49 | { __("Artworks"), OPTION_ARTPATH, ADDING }, |
| 50 | { __("Bosses"), OPTION_BOSSES_PATH, ADDING }, |
| 51 | { __("Artworks Preview"), OPTION_ARTPREV_PATH, ADDING }, |
| 52 | { __("Select"), OPTION_SELECT_PATH, ADDING }, |
| 53 | { __("GameOver"), OPTION_GAMEOVER_PATH, ADDING }, |
| 54 | { __("HowTo"), OPTION_HOWTO_PATH, ADDING }, |
| 55 | { __("Logos"), OPTION_LOGOS_PATH, ADDING }, |
| 56 | { __("Scores"), OPTION_SCORES_PATH, ADDING }, |
| 57 | { __("Versus"), OPTION_VERSUS_PATH, ADDING }, |
| 58 | 58 | }; |
| 59 | 59 | |
| 60 | 60 | |
| r253721 | r253722 | |
| 94 | 94 | |
| 95 | 95 | void ui_menu_directory::populate() |
| 96 | 96 | { |
| 97 | |
| 97 | 98 | for (auto & elem : s_folders) |
| 98 | 99 | item_append(_(elem.name), nullptr, 0, (void *)(FPTR)elem.action); |
| 99 | 100 | |
| r253721 | r253722 | |
| 142 | 143 | // ctor / dtor |
| 143 | 144 | //------------------------------------------------- |
| 144 | 145 | |
| 145 | | ui_menu_display_actual::ui_menu_display_actual(running_machine &machine, render_container *container, int ref) |
| 146 | ui_menu_display_actual::ui_menu_display_actual(running_machine &machine, render_container *container, int ref) |
| 146 | 147 | : ui_menu(machine, container), m_ref(ref) |
| 147 | 148 | { |
| 148 | 149 | } |
| r253721 | r253722 | |
| 179 | 180 | void ui_menu_display_actual::populate() |
| 180 | 181 | { |
| 181 | 182 | m_tempbuf.assign(_("Current ")).append(_(s_folders[m_ref].name)).append(_(" Folders")); |
| 182 | | if (machine().ui().options().exists(s_folders[m_ref].option)) { |
| 183 | if (machine().ui().options().exists(s_folders[m_ref].option)) |
| 183 | 184 | m_searchpath.assign(machine().ui().options().value(s_folders[m_ref].option)); |
| 184 | | } |
| 185 | | else { |
| 185 | else |
| 186 | 186 | m_searchpath.assign(machine().options().value(s_folders[m_ref].option)); |
| 187 | | } |
| 187 | |
| 188 | 188 | path_iterator path(m_searchpath.c_str()); |
| 189 | 189 | std::string curpath; |
| 190 | 190 | m_folders.clear(); |
| r253721 | r253722 | |
| 237 | 237 | y1 += UI_BOX_TB_BORDER; |
| 238 | 238 | |
| 239 | 239 | // draw the text within it |
| 240 | | mui.draw_text_full(container, m_tempbuf.c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE, |
| 240 | mui.draw_text_full(container, m_tempbuf.c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_TRUNCATE, |
| 241 | 241 | DRAW_NORMAL, UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr); |
| 242 | 242 | |
| 243 | 243 | // compute our bounds |
| r253721 | r253722 | |
| 285 | 285 | |
| 286 | 286 | std::string searchpath; |
| 287 | 287 | if (machine.ui().options().exists(s_folders[m_ref].option)) |
| 288 | | { |
| 289 | 288 | searchpath = machine.ui().options().value(s_folders[m_ref].option); |
| 290 | | } |
| 291 | 289 | else |
| 292 | | { |
| 293 | 290 | searchpath = machine.options().value(s_folders[m_ref].option); |
| 294 | | } |
| 295 | 291 | |
| 296 | 292 | path_iterator path(searchpath.c_str()); |
| 297 | 293 | std::string curpath; |
| 298 | 294 | while (path.next(curpath, nullptr)) |
| 299 | 295 | m_folders.push_back(curpath); |
| 300 | | |
| 301 | 296 | } |
| 302 | 297 | |
| 303 | 298 | ui_menu_add_change_folder::~ui_menu_add_change_folder() |
| r253721 | r253722 | |
| 372 | 367 | if (m_change) |
| 373 | 368 | { |
| 374 | 369 | if (machine().ui().options().exists(s_folders[m_ref].option)) |
| 375 | | { |
| 376 | 370 | machine().ui().options().set_value(s_folders[m_ref].option, m_current_path.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 377 | | } |
| 378 | | else |
| 371 | else if (strcmp(machine().options().value(s_folders[m_ref].option), m_current_path.c_str()) != 0) |
| 379 | 372 | { |
| 380 | | if (strcmp(machine().options().value(s_folders[m_ref].option), m_current_path.c_str()) != 0) |
| 381 | | { |
| 382 | | machine().options().set_value(s_folders[m_ref].option, m_current_path.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 383 | | machine().options().mark_changed(s_folders[m_ref].option); |
| 384 | | } |
| 373 | machine().options().set_value(s_folders[m_ref].option, m_current_path.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 374 | machine().options().mark_changed(s_folders[m_ref].option); |
| 385 | 375 | } |
| 386 | 376 | machine().datfile().reset_run(); |
| 387 | 377 | } |
| r253721 | r253722 | |
| 397 | 387 | } |
| 398 | 388 | |
| 399 | 389 | if (machine().ui().options().exists(s_folders[m_ref].option)) |
| 400 | | { |
| 401 | 390 | machine().ui().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 402 | | } |
| 403 | | else |
| 391 | else if (strcmp(machine().options().value(s_folders[m_ref].option), tmppath.c_str()) != 0) |
| 404 | 392 | { |
| 405 | | if (strcmp(machine().options().value(s_folders[m_ref].option), tmppath.c_str()) != 0) |
| 406 | | { |
| 407 | | machine().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 408 | | machine().options().mark_changed(s_folders[m_ref].option); |
| 409 | | } |
| 393 | machine().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 394 | machine().options().mark_changed(s_folders[m_ref].option); |
| 410 | 395 | } |
| 411 | 396 | } |
| 412 | 397 | |
| r253721 | r253722 | |
| 476 | 461 | void ui_menu_add_change_folder::populate() |
| 477 | 462 | { |
| 478 | 463 | // open a path |
| 479 | | const char *volume_name; |
| 464 | const char *volume_name = nullptr; |
| 480 | 465 | file_enumerator path(m_current_path.c_str()); |
| 481 | 466 | const osd_directory_entry *dirent; |
| 482 | 467 | int folders_count = 0; |
| 483 | 468 | |
| 484 | 469 | // add the drives |
| 485 | | for (int i = 0; (volume_name = osd_get_volume_name(i)) != nullptr; i++) |
| 470 | for (int i = 0; (volume_name = osd_get_volume_name(i)) != nullptr; ++i) |
| 486 | 471 | item_append(volume_name, "[DRIVE]", 0, (void *)(FPTR)++folders_count); |
| 487 | 472 | |
| 488 | 473 | // add the directories |
| r253721 | r253722 | |
| 581 | 566 | ui_menu_remove_folder::ui_menu_remove_folder(running_machine &machine, render_container *container, int ref) : ui_menu(machine, container) |
| 582 | 567 | { |
| 583 | 568 | m_ref = ref; |
| 584 | | if (machine.ui().options().exists(s_folders[m_ref].option)) |
| 569 | if (machine.ui().options().exists(s_folders[m_ref].option)) |
| 585 | 570 | m_searchpath.assign(machine.ui().options().value(s_folders[m_ref].option)); |
| 586 | | else |
| 571 | else |
| 587 | 572 | m_searchpath.assign(machine.options().value(s_folders[m_ref].option)); |
| 588 | 573 | |
| 589 | 574 | path_iterator path(m_searchpath.c_str()); |
| r253721 | r253722 | |
| 616 | 601 | } |
| 617 | 602 | |
| 618 | 603 | if (machine().ui().options().exists(s_folders[m_ref].option)) |
| 619 | | { |
| 620 | 604 | machine().ui().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 621 | | } |
| 622 | | else |
| 605 | else if (strcmp(machine().options().value(s_folders[m_ref].option),tmppath.c_str())!=0) |
| 623 | 606 | { |
| 624 | | if (strcmp(machine().options().value(s_folders[m_ref].option),tmppath.c_str())!=0) |
| 625 | | { |
| 626 | | machine().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 627 | | machine().options().mark_changed(s_folders[m_ref].option); |
| 628 | | } |
| 607 | machine().options().set_value(s_folders[m_ref].option, tmppath.c_str(), OPTION_PRIORITY_CMDLINE, error_string); |
| 608 | machine().options().mark_changed(s_folders[m_ref].option); |
| 629 | 609 | } |
| 630 | 610 | |
| 631 | 611 | ui_menu::menu_stack->parent->reset(UI_MENU_RESET_REMEMBER_REF); |
| r253721 | r253722 | |
| 644 | 624 | item_append(elem.c_str(), nullptr, 0, (void *)(FPTR)++folders_count); |
| 645 | 625 | |
| 646 | 626 | item_append(MENU_SEPARATOR_ITEM, nullptr, 0, nullptr); |
| 647 | | |
| 648 | 627 | customtop = machine().ui().get_line_height() + 3.0f * UI_BOX_TB_BORDER; |
| 649 | 628 | } |
| 650 | 629 | |
| r253721 | r253722 | |
| 678 | 657 | y1 += UI_BOX_TB_BORDER; |
| 679 | 658 | |
| 680 | 659 | // draw the text within it |
| 681 | | mui.draw_text_full(container, tempbuf.c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_NEVER, DRAW_NORMAL, |
| 660 | mui.draw_text_full(container, tempbuf.c_str(), x1, y1, x2 - x1, JUSTIFY_CENTER, WRAP_NEVER, DRAW_NORMAL, |
| 682 | 661 | UI_TEXT_COLOR, UI_TEXT_BG_COLOR, nullptr, nullptr); |
| 683 | 662 | } |