From 80ac9f511cf6e0666193e49f155024f0e12d9ef8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 16:20:43 +0100 Subject: [PATCH 01/10] Combine Load Content and Load Content (Detect Core) --- intl/msg_hash_chs.c | 2 -- intl/msg_hash_de.c | 18 -------------- intl/msg_hash_de.h | 4 +-- intl/msg_hash_eo.h | 4 +-- intl/msg_hash_es.c | 4 --- intl/msg_hash_fr.h | 4 +-- intl/msg_hash_it.c | 2 -- intl/msg_hash_ja.h | 2 -- intl/msg_hash_lbl.h | 2 -- intl/msg_hash_nl.h | 4 +-- intl/msg_hash_pl.c | 2 -- intl/msg_hash_pt.c | 22 ----------------- intl/msg_hash_ru.h | 4 +-- intl/msg_hash_us.h | 4 +-- intl/msg_hash_vn.c | 2 -- menu/cbs/menu_cbs_deferred_push.c | 9 ++++++- menu/cbs/menu_cbs_get_value.c | 2 +- menu/cbs/menu_cbs_ok.c | 5 ++-- menu/cbs/menu_cbs_title.c | 2 +- menu/drivers/materialui.c | 14 ++++------- menu/drivers/xmb.c | 2 ++ menu/menu_displaylist.c | 41 ++++++++++++++++++++++--------- msg_hash.h | 4 +-- 23 files changed, 58 insertions(+), 101 deletions(-) diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c index b709742a9e..3071107e6b 100644 --- a/intl/msg_hash_chs.c +++ b/intl/msg_hash_chs.c @@ -2452,8 +2452,6 @@ const char *msg_hash_to_str_chs(enum msg_hash_enums msg) return "线性"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "使用核心加载压缩包"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "选择文件"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "加载最近的游戏内容"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_de.c b/intl/msg_hash_de.c index f733340ef1..7d5127f881 100644 --- a/intl/msg_hash_de.c +++ b/intl/msg_hash_de.c @@ -103,24 +103,6 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) break; } break; - case MENU_ENUM_LABEL_LOAD_CONTENT: - snprintf(s, len, - "Lade Content. \n" - "Suche nach Content. \n" - " \n" - "Um Content zu laden benötigst du den passenden \n" - "Libretro-Core und die Content-Datei. \n" - " \n" - "Um einzustellen, welcher Ordner standardmäßig \n" - "geöffnet wird, um nach Content zu suchen, solltest \n" - "du das Content-Verzeichnis setzen. Wenn es nicht \n" - "gesetzt ist, wird es im Root-Verzeichen starten. \n" - " \n" - "Der Browser wird nur Dateierweiterungen des \n" - "zuletzt geladenen Cores zeigen und diesen Core \n" - "nutzen, wenn Content geladen wird." - ); - break; case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: snprintf(s, len, "Lade Content aus dem Verlauf. \n" diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 09fb655303..0f56a79ab8 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -147,7 +147,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Von der Playlist löschen") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Lade Content (Core erkennen)") /* FIXME */ + "Lade Content") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -280,8 +280,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Lade Archiv") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Lade Content") /* FIXME */ MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Lade Content (Verlauf)") /* FIXME/UPDATE */ MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 9fd9252a77..7d59beaea6 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 6b9d709e88..597ec252f8 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -1372,8 +1372,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Error:"; case MSG_FAILED_TO_APPLY_SHADER: return "Error al aplicar shader."; - case MSG_FAILED_TO_LOAD_CONTENT: - return "Error al cargar el contenido"; case MSG_FAILED_TO_LOAD_MOVIE_FILE: return "Error al cargar el archivo de película"; case MSG_FAILED_TO_LOAD_OVERLAY: @@ -1794,8 +1792,6 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Nivel de registro del núcleo"; case MENU_ENUM_LABEL_VALUE_LINEAR: return "Lineal"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Seleccionar archivo"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Cargar archivos recientes"; case MENU_ENUM_LABEL_VALUE_LOAD_STATE: diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 8b27411d2f..72ae42d881 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -481,7 +481,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Via les fichiers (détecter le coeur)") + "Via les fichiers") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -812,8 +812,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linéaire") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Charger l'archive") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Via les fichiers") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Récemment ouvert") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c index c2159671d6..ea90c6ac77 100644 --- a/intl/msg_hash_it.c +++ b/intl/msg_hash_it.c @@ -1729,8 +1729,6 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg) return "Nessun oggetto."; case MENU_ENUM_LABEL_VALUE_CORE_LIST: return "Carica Core"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Seleziona contenuto"; case MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT: return "Chiudi"; case MENU_ENUM_LABEL_VALUE_MANAGEMENT: diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index e583fe216d..1661a6df37 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -834,8 +834,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "コアでアーカイブをロード") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "ファイル選択") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "最近のものをロード") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 77618556b5..b3127be120 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -517,8 +517,6 @@ MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE, "load_archive") MSG_HASH(MENU_ENUM_LABEL_LOAD_ARCHIVE_DETECT_CORE, "load_archive_detect_core") -MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT, - "load_content_default") MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY, "load_recent") MSG_HASH(MENU_ENUM_LABEL_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 9229711edc..121122af4d 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Verwijderen") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Selecteer Bestand En Detecteer Core") + "Selecteer Bestand") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Laad Archief Met Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Selecteer Bestand") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Recentelijk gebruikt") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_pl.c b/intl/msg_hash_pl.c index c32a710bd4..60da28dd16 100644 --- a/intl/msg_hash_pl.c +++ b/intl/msg_hash_pl.c @@ -312,8 +312,6 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg) return "Liniowe"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Wczytaj archiwum"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Wybierz plik"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Wczytaj z ostatnio używanych"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_pt.c b/intl/msg_hash_pt.c index dcf67ab273..d3d895f85f 100644 --- a/intl/msg_hash_pt.c +++ b/intl/msg_hash_pt.c @@ -90,26 +90,6 @@ int menu_hash_get_help_pt_enum(enum msg_hash_enums msg, char *s, size_t len) break; } break; - case MENU_ENUM_LABEL_LOAD_CONTENT: - snprintf(s, len, - "Carregar Conteúdo. \n" - "Busca conteúdo. \n" - " \n" - "Para carregar conteúdo, você precisa de \n" - "um core libretro para usar, e um arquivo \n" - "de conteúdo. \n" - " \n" - "Para controlar onde o menu começa a \n" - "buscar conteúdo, defina o Diretório \n" - "de Navegação. Se não estiver definido, \n" - "o Retroarch começará no diretório raiz. \n" - " \n" - "O navegador vai filtrar pelas extensões \n" - "do mais recente core definido em 'Core', \n" - "e o usará quando o conteúdo estiver \n" - "carregado." - ); - break; case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: snprintf(s, len, "Carregando conteúdo do histórico. \n" @@ -1246,8 +1226,6 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg) return "Linear"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Carregar Arquivo"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Selecionar Arquivo"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Selecionar do Histórico"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 27bdd8a455..a98010cde3 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -485,7 +485,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -818,8 +818,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index bc7e9dd724..f5ec34fa09 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -489,7 +489,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File And Detect Core") + "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, @@ -826,8 +826,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_LINEAR, "Linear") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE, "Load Archive With Core") -MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT, - "Select File") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY, "Load Recent") MSG_HASH(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index 8766639869..12daf54ef0 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -2497,8 +2497,6 @@ const char *msg_hash_to_str_vn(enum msg_hash_enums msg) return "Linear"; case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE: return "Tải Archive With Core"; - case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT: - return "Select File"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: return "Tải Recent"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST: diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 299108bfec..e7e397d4f1 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -533,12 +533,13 @@ static int general_push(menu_displaylist_info_t *info, strlcpy(info->exts, list->all_ext, sizeof(info->exts)); else if (system_menu->valid_extensions) { - if (*system_menu->valid_extensions) + if (!string_is_empty(system_menu->valid_extensions)) strlcpy(info->exts, system_menu->valid_extensions, sizeof(info->exts)); } else strlcpy(info->exts, system->valid_extensions, sizeof(info->exts)); + break; case PUSH_ARCHIVE_OPEN: if (system_menu->valid_extensions) @@ -569,6 +570,12 @@ static int general_push(menu_displaylist_info_t *info, case PUSH_DETECT_CORE_LIST: if (!string_is_empty(list->all_ext)) strlcpy(info->exts, list->all_ext, sizeof(info->exts)); + else if (system_menu->valid_extensions) + { + if (!string_is_empty(system_menu->valid_extensions)) + strlcpy(info->exts, system_menu->valid_extensions, + sizeof(info->exts)); + } break; } diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index eb56c8eb51..361d88808b 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -1704,7 +1704,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: case MENU_ENUM_LABEL_DETECT_CORE_LIST: - case MENU_ENUM_LABEL_LOAD_CONTENT: case MENU_ENUM_LABEL_CORE_OPTIONS: case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS: case MENU_ENUM_LABEL_SHADER_OPTIONS: @@ -1778,6 +1777,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_type( menu_action_setting_disp_set_label_core_option_create); break; case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_menu_file_core); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 314598f6fb..fa27e2ffaa 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -3789,7 +3789,6 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, BIND_ACTION_OK(cbs, action_ok_scan_directory_list); break; case MENU_ENUM_LABEL_SCAN_FILE: - case MENU_ENUM_LABEL_LOAD_CONTENT: case MENU_ENUM_LABEL_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; @@ -3994,7 +3993,6 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, break; case MENU_LABEL_SCAN_FILE: case MENU_LABEL_SCAN_DIRECTORY: - case MENU_LABEL_LOAD_CONTENT: case MENU_LABEL_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; @@ -4306,6 +4304,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, /* TODO/FIXME - handle scan case */ BIND_ACTION_OK(cbs, action_ok_file_load_imageviewer); break; + case FILE_TYPE_DIRECT_LOAD: + BIND_ACTION_OK(cbs, action_ok_file_load); + break; case MENU_SETTINGS: case MENU_SETTING_GROUP: case MENU_SETTING_SUBGROUP: diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 79f0d22f8d..67bc323dbb 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -229,7 +229,7 @@ default_title_generic_macro(action_get_title_list_rdb_entry_database_info,MENU_E static int action_get_title_default(const char *path, const char *label, unsigned menu_type, char *s, size_t len) { - snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), path); + snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), path); return 0; } diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 447d294615..888b7e50b7 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -664,6 +664,7 @@ static void mui_render_label_value(mui_handle_t *mui, case FILE_TYPE_COMPRESSED: case FILE_TYPE_MORE: case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: case FILE_TYPE_RDB: case FILE_TYPE_CURSOR: case FILE_TYPE_PLAIN: @@ -1673,21 +1674,16 @@ static int mui_list_push(void *data, void *userdata, { case DISPLAYLIST_LOAD_CONTENT_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); + menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT), - MENU_ENUM_LABEL_LOAD_CONTENT, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + MENU_ENUM_LABEL_DETECT_CORE_LIST, MENU_SETTING_ACTION, 0, 0); core_info_get_list(&list); if (core_info_list_num_info_files(list)) { - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, - MENU_SETTING_ACTION, 0, 0); - menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST), msg_hash_to_str(MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST), diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 7c12d1bc2e..d519e75a0d 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1908,6 +1908,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case FILE_TYPE_MOVIE: return xmb->textures.list[XMB_TEXTURE_MOVIE]; case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: return xmb->textures.list[XMB_TEXTURE_CORE]; case FILE_TYPE_RDB: return xmb->textures.list[XMB_TEXTURE_RDB]; @@ -2126,6 +2127,7 @@ static void xmb_draw_items(xmb_handle_t *xmb, case FILE_TYPE_COMPRESSED: case FILE_TYPE_MORE: case FILE_TYPE_CORE: + case FILE_TYPE_DIRECT_LOAD: case FILE_TYPE_RDB: case FILE_TYPE_CURSOR: case FILE_TYPE_PLAIN: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 1868c1eae3..55eb4f58fb 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5536,19 +5536,13 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) break; case DISPLAYLIST_LOAD_CONTENT_LIST: menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT), - msg_hash_to_str(MENU_ENUM_LABEL_LOAD_CONTENT), - MENU_ENUM_LABEL_LOAD_CONTENT, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + MENU_ENUM_LABEL_DETECT_CORE_LIST, MENU_SETTING_ACTION, 0, 0); if (core_info_list_num_info_files(list)) { - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, - MENU_SETTING_ACTION, 0, 0); - menu_entries_append_enum(info->list, msg_hash_to_str( MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST), @@ -5906,7 +5900,30 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) (void*)menu->deferred_path, &cores_names_len, &cores_names_size); - if (cores_names_size == 0) + if (!path_is_empty(RARCH_PATH_CORE)) + { + const char *core_name = NULL; + struct retro_system_info *system = NULL; + + menu_entries_append_enum(info->list, + path_get(RARCH_PATH_CORE), + path_get(RARCH_PATH_CORE), + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + FILE_TYPE_DIRECT_LOAD, + 0, + 0); + + menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET, + &system); + + if (system) + core_name = system->library_name; + + if (!string_is_empty(core_name)) + menu_entries_set_alt_at_offset(info->list, 0, + core_name); + } + else if (cores_names_size == 0) { menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE), @@ -5915,7 +5932,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) 0, 0, 0); info->download_core = true; } - else + + if (cores_names_size != 0) { struct string_list *cores_paths = string_list_new_special(STRING_LIST_SUPPORTED_CORES_PATHS, @@ -5947,6 +5965,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) } string_list_free(cores_names); + } break; case DISPLAYLIST_CORE_INFO: diff --git a/msg_hash.h b/msg_hash.h index 777a62f85d..4e3b79348d 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -125,6 +125,8 @@ enum msg_file_type FILE_TYPE_ISO, FILE_TYPE_LUTRO, + FILE_TYPE_DIRECT_LOAD, + FILE_TYPE_LAST }; @@ -1169,7 +1171,6 @@ enum msg_hash_enums MENU_LABEL(DETECT_CORE_LIST_OK), MENU_LABEL(DETECT_CORE_LIST), MENU_LABEL(START_CORE), - MENU_LABEL(LOAD_CONTENT), MENU_LABEL(CORE_UPDATER_LIST), MENU_LABEL(CORE_UPDATER_AUTO_EXTRACT_ARCHIVE), MENU_LABEL(CORE_UPDATER_BUILDBOT_URL), @@ -1749,7 +1750,6 @@ enum msg_hash_enums #define MENU_LABEL_HELP_AUDIO_VIDEO_TROUBLESHOOTING 0xd44d395cU /* Main menu */ -#define MENU_LABEL_LOAD_CONTENT 0x828943c3U #define MENU_LABEL_LOAD_CONTENT_LIST 0x5745de1fU #define MENU_LABEL_LOAD_CONTENT_HISTORY 0xfe1d79e5U #define MENU_LABEL_ADD_CONTENT_LIST 0x046f4668U From b21b237cdb5e668855d424e5629dec2010f68e5a Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 17:27:47 +0100 Subject: [PATCH 02/10] Reset RARCH_PATH_CORE when we select 'Unload Core' --- command.c | 1 + 1 file changed, 1 insertion(+) diff --git a/command.c b/command.c index 7f2193bcaf..6eefad0f02 100644 --- a/command.c +++ b/command.c @@ -1920,6 +1920,7 @@ bool command_event(enum event_command cmd, void *data) #ifdef HAVE_MENU menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_DEINIT, NULL); #endif + path_clear(RARCH_PATH_CORE); #else core_unload_game(); core_unload(); From 508657c410e9d7b96ff6d04d35f3c30288190146 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 18:53:55 +0100 Subject: [PATCH 03/10] List the current core now --- menu/menu_displaylist.c | 74 +++++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 55eb4f58fb..3d4ba8fb20 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5900,37 +5900,43 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) (void*)menu->deferred_path, &cores_names_len, &cores_names_size); - if (!path_is_empty(RARCH_PATH_CORE)) + if (cores_names_size == 0) { - const char *core_name = NULL; - struct retro_system_info *system = NULL; + if (!path_is_empty(RARCH_PATH_CORE)) + { - menu_entries_append_enum(info->list, - path_get(RARCH_PATH_CORE), - path_get(RARCH_PATH_CORE), - MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, - FILE_TYPE_DIRECT_LOAD, - 0, - 0); + menu_entries_append_enum(info->list, + path_get(RARCH_PATH_CORE), + path_get(RARCH_PATH_CORE), + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + FILE_TYPE_DIRECT_LOAD, + 0, + 0); - menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET, - &system); + { + const char *core_name = NULL; + struct retro_system_info *system = NULL; - if (system) - core_name = system->library_name; + menu_driver_ctl(RARCH_MENU_CTL_SYSTEM_INFO_GET, + &system); - if (!string_is_empty(core_name)) - menu_entries_set_alt_at_offset(info->list, 0, - core_name); - } - else if (cores_names_size == 0) - { - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE), - msg_hash_to_str(MENU_ENUM_LABEL_NO_CORES_AVAILABLE), - MENU_ENUM_LABEL_NO_CORES_AVAILABLE, - 0, 0, 0); - info->download_core = true; + if (system) + core_name = system->library_name; + + if (!string_is_empty(core_name)) + menu_entries_set_alt_at_offset(info->list, 0, + core_name); + } + } + else + { + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE), + msg_hash_to_str(MENU_ENUM_LABEL_NO_CORES_AVAILABLE), + MENU_ENUM_LABEL_NO_CORES_AVAILABLE, + 0, 0, 0); + info->download_core = true; + } } if (cores_names_size != 0) @@ -5957,8 +5963,20 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) break; } - menu_entries_set_alt_at_offset(info->list, i, - cores_names->elems[i].data); + if ( !path_is_empty(RARCH_PATH_CORE) && + string_is_equal(cores_paths->elems[i].data, path_get(RARCH_PATH_CORE))) + { + char newstring[1024]; + + newstring[0] = '\0'; + snprintf(newstring, sizeof(newstring), "%s (Current core)", cores_names->elems[i].data); + + menu_entries_set_alt_at_offset(info->list, i, + newstring); + } + else + menu_entries_set_alt_at_offset(info->list, i, + cores_names->elems[i].data); } string_list_free(cores_paths); From 3b63a8a41e8b474932264ccf430c764ff75e7b2c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 19:22:46 +0100 Subject: [PATCH 04/10] Show the current core at the top --- menu/menu_displaylist.c | 65 ++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 24 deletions(-) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 3d4ba8fb20..e16a1ed3bd 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -76,6 +76,9 @@ #include "../wifi/wifi_driver.h" #include "../tasks/tasks_internal.h" +static char new_path_entry[4096] = {0}; +static char new_entry[4096] = {0}; + #ifdef HAVE_NETWORKING static void print_buf_lines(file_list_t *list, char *buf, const char *label, int buf_size, @@ -3874,6 +3877,20 @@ static bool menu_displaylist_push_list_process(menu_displaylist_info_t *info) } #endif + if (!string_is_empty(new_entry)) + { + menu_entries_prepend(info->list, + new_path_entry, + new_entry, + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + FILE_TYPE_CORE, 0, 0); + menu_entries_set_alt_at_offset(info->list, 0, + new_entry); + + new_path_entry[0] = '\0'; + new_entry[0] = '\0'; + } + if (info->need_refresh) menu_entries_ctl(MENU_ENTRIES_CTL_REFRESH, info->list); @@ -5941,6 +5958,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) if (cores_names_size != 0) { + unsigned j = 0; struct string_list *cores_paths = string_list_new_special(STRING_LIST_SUPPORTED_CORES_PATHS, (void*)menu->deferred_path, @@ -5948,35 +5966,34 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) for (i = 0; i < cores_names_size; i++) { - switch (type) - { - case DISPLAYLIST_CORES_COLLECTION_SUPPORTED: - menu_entries_append_enum(info->list, cores_paths->elems[i].data, "", - MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION, - FILE_TYPE_CORE, 0, 0); - break; - default: - menu_entries_append_enum(info->list, cores_paths->elems[i].data, - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK), - MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, - FILE_TYPE_CORE, 0, 0); - break; - } - if ( !path_is_empty(RARCH_PATH_CORE) && - string_is_equal(cores_paths->elems[i].data, path_get(RARCH_PATH_CORE))) + string_is_equal(cores_paths->elems[i].data, path_get(RARCH_PATH_CORE)) + && type != DISPLAYLIST_CORES_COLLECTION_SUPPORTED) { - char newstring[1024]; - - newstring[0] = '\0'; - snprintf(newstring, sizeof(newstring), "%s (Current core)", cores_names->elems[i].data); - - menu_entries_set_alt_at_offset(info->list, i, - newstring); + strlcpy(new_path_entry, cores_paths->elems[i].data, sizeof(new_path_entry)); + snprintf(new_entry, sizeof(new_entry), "Current core (%s)", cores_names->elems[i].data); } else - menu_entries_set_alt_at_offset(info->list, i, + { + switch (type) + { + case DISPLAYLIST_CORES_COLLECTION_SUPPORTED: + menu_entries_append_enum(info->list, cores_paths->elems[i].data, "", + MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION, + FILE_TYPE_CORE, 0, 0); + break; + default: + menu_entries_append_enum(info->list, cores_paths->elems[i].data, + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK), + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + FILE_TYPE_CORE, 0, 0); + break; + } + + menu_entries_set_alt_at_offset(info->list, j, cores_names->elems[i].data); + j++; + } } string_list_free(cores_paths); From d8a92f5bf7c66d8eeead54b05df4f62eea3cee34 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 21:24:06 +0100 Subject: [PATCH 05/10] Call current_core callback function for current core --- intl/msg_hash_lbl.h | 2 ++ menu/cbs/menu_cbs_ok.c | 10 ++++++++++ menu/menu_displaylist.c | 2 +- msg_hash.h | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index b3127be120..3907ab04b3 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1107,6 +1107,8 @@ MSG_HASH(MENU_ENUM_LABEL_SECONDS, "seconds") MSG_HASH(MENU_ENUM_LABEL_STATUS, "status") MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, "detect_core_list_ok") +MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE, + "detect_core_list_ok_current_core") MSG_HASH(MENU_ENUM_LABEL_NO_DISK, "no_disk") MSG_HASH(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS, diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index fa27e2ffaa..c9a3ceafd6 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1944,6 +1944,13 @@ static int action_ok_file_load_imageviewer(const char *path, CONTENT_MODE_LOAD_CONTENT_WITH_IMAGEVIEWER_CORE_FROM_MENU); } +static int action_ok_file_load_current_core(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + return generic_action_ok_file_load(path, detect_content_path, + CORE_TYPE_FFMPEG, CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_MENU); +} + static int action_ok_file_load_detect_core(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { @@ -3798,6 +3805,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DETECT_CORE_LIST_OK: BIND_ACTION_OK(cbs, action_ok_file_load_detect_core); break; + case MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE: + BIND_ACTION_OK(cbs, action_ok_file_load_current_core); + break; case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: case MENU_ENUM_LABEL_CURSOR_MANAGER_LIST: case MENU_ENUM_LABEL_DATABASE_MANAGER_LIST: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index e16a1ed3bd..445fe9e137 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3882,7 +3882,7 @@ static bool menu_displaylist_push_list_process(menu_displaylist_info_t *info) menu_entries_prepend(info->list, new_path_entry, new_entry, - MENU_ENUM_LABEL_DETECT_CORE_LIST_OK, + MENU_ENUM_LABEL_DETECT_CORE_LIST_OK_CURRENT_CORE, FILE_TYPE_CORE, 0, 0); menu_entries_set_alt_at_offset(info->list, 0, new_entry); diff --git a/msg_hash.h b/msg_hash.h index 4e3b79348d..7cf689f997 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1168,6 +1168,7 @@ enum msg_hash_enums MENU_LABEL(DUMMY_ON_CORE_SHUTDOWN), MENU_LABEL(CHECK_FOR_MISSING_FIRMWARE), + MENU_LABEL(DETECT_CORE_LIST_OK_CURRENT_CORE), MENU_LABEL(DETECT_CORE_LIST_OK), MENU_LABEL(DETECT_CORE_LIST), MENU_LABEL(START_CORE), From 5addb2be5c3920f658904ded2264b3acd4920834 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Dec 2016 21:47:12 +0100 Subject: [PATCH 06/10] (XMB) Use folder icons for 'Downloads dir' / 'Select File' --- menu/drivers/xmb.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index d519e75a0d..7e883ade53 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1867,6 +1867,9 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME: return xmb->textures.list[XMB_TEXTURE_SAVESTATE]; + case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: + return xmb->textures.list[XMB_TEXTURE_FOLDER]; default: break; } From 4eaf011f244a8034c97ea14ef68217f64e74a1f0 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 13 Dec 2016 00:50:39 +0100 Subject: [PATCH 07/10] Start making parseable drives work in Load Content --- frontend/drivers/platform_linux.c | 20 ++++--- intl/msg_hash_lbl.h | 2 + menu/cbs/menu_cbs_ok.c | 60 ++++++++++++++------ menu/menu_displaylist.c | 92 +++++++++++-------------------- menu/menu_displaylist.h | 10 ++++ msg_hash.h | 1 + 6 files changed, 102 insertions(+), 83 deletions(-) diff --git a/frontend/drivers/platform_linux.c b/frontend/drivers/platform_linux.c index 6ca9c5c0b8..7d92d2aec2 100644 --- a/frontend/drivers/platform_linux.c +++ b/frontend/drivers/platform_linux.c @@ -61,6 +61,7 @@ #include "platform_linux.h" #ifdef HAVE_MENU +#include "../../menu/menu_driver.h" #include "../../menu/menu_display.h" #include "../../menu/menu_entries.h" #endif @@ -1857,24 +1858,29 @@ static int frontend_linux_parse_drive_list(void *data) menu_entries_append_enum(list, app_dir, msg_hash_to_str(MSG_APPLICATION_DIR), - MSG_APPLICATION_DIR, FILE_TYPE_DIRECTORY, 0, 0); + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, internal_storage_app_path, msg_hash_to_str(MSG_EXTERNAL_APPLICATION_DIR), - MSG_EXTERNAL_APPLICATION_DIR, - FILE_TYPE_DIRECTORY, 0, 0); + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, internal_storage_path, msg_hash_to_str(MSG_INTERNAL_STORAGE), - MSG_INTERNAL_STORAGE, FILE_TYPE_DIRECTORY, 0, 0); + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); menu_entries_append_enum(list, "/storage", msg_hash_to_str(MSG_REMOVABLE_STORAGE), - MSG_REMOVABLE_STORAGE, FILE_TYPE_DIRECTORY, 0, 0); + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); #endif - menu_entries_append_enum(list, "/", "", - MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); + menu_entries_append_enum(list, "/", + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); #endif return 0; diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 3907ab04b3..7d8fd98f7d 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1153,3 +1153,5 @@ MSG_HASH(MENU_ENUM_LABEL_SHADER_PIPELINE_SNOW, "shader_pipeline_snow") MSG_HASH(MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS, "unified_menu_controls") +MSG_HASH(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + "detect_core_list_push_dir") diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index c9a3ceafd6..e882c92855 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -71,6 +71,7 @@ typedef struct #endif /* FIXME - Global variables, refactor */ +static char filebrowser_label[PATH_MAX_LENGTH]; static char detect_content_path[PATH_MAX_LENGTH]; unsigned rpl_entry_selection_ptr = 0; unsigned rdb_entry_start_game_selection_ptr = 0; @@ -294,7 +295,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_AUDIO_DSP_PLUGIN: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.directory_ptr = idx; info_path = settings->directory.audio_filter; info_label = msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN); @@ -302,7 +303,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; break; case ACTION_OK_DL_SHADER_PASS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->directory.video_shader; @@ -326,7 +327,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_FILE_BROWSER_SELECT_DIR: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_SELECT_DIR; if (path) strlcpy(menu->deferred_path, path, sizeof(menu->deferred_path)); @@ -344,7 +345,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_SHADER_PRESET: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->directory.video_shader; @@ -352,7 +353,6 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; break; case ACTION_OK_DL_CONTENT_LIST: - menu_displaylist_reset_filebrowser(); info.type = FILE_TYPE_DIRECTORY; info.directory_ptr = idx; info_path = new_path; @@ -360,6 +360,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_SCAN_DIR_LIST: + filebrowser_types = FILEBROWSER_SCAN_DIR; info.type = FILE_TYPE_DIRECTORY; info.directory_ptr = idx; info_path = new_path; @@ -367,7 +368,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SCAN_DIR; break; case ACTION_OK_DL_REMAP_FILE: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->directory.input_remapping; @@ -377,7 +378,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_RECORD_CONFIGFILE: { global_t *global = global_get_ptr(); - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = global->record.config_dir; @@ -386,7 +387,7 @@ int generic_action_ok_displaylist_push(const char *path, } break; case ACTION_OK_DL_DISK_IMAGE_APPEND_LIST: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->directory.menu_content; @@ -394,7 +395,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; break; case ACTION_OK_DL_PLAYLIST_COLLECTION: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = path; @@ -402,7 +403,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_CHEAT_FILE: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->path.cheat_database; @@ -410,7 +411,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; break; case ACTION_OK_DL_CORE_LIST: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info.type = type; info.directory_ptr = idx; info_path = settings->directory.libretro; @@ -418,7 +419,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_CORE; break; case ACTION_OK_DL_CONTENT_COLLECTION_LIST: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_SELECT_COLLECTION; info.type = type; info.directory_ptr = idx; info_path = settings->directory.playlist; @@ -426,7 +427,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION; break; case ACTION_OK_DL_RDB_ENTRY: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; fill_pathname_join_delim(tmp, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL), path, '|', sizeof(tmp)); @@ -500,7 +501,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_DATABASE_MANAGER_LIST: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; fill_pathname_join(tmp, settings->path.content_database, path, sizeof(tmp)); @@ -513,7 +514,7 @@ int generic_action_ok_displaylist_push(const char *path, dl_type = DISPLAYLIST_GENERIC; break; case ACTION_OK_DL_CURSOR_MANAGER_LIST: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; fill_pathname_join(tmp, settings->directory.cursor, path, sizeof(tmp)); @@ -1424,6 +1425,18 @@ static int generic_action_ok(const char *path, command_event(CMD_EVENT_RESUME, NULL); break; case ACTION_OK_SET_DIRECTORY: + flush_type = MENU_SETTINGS; + { + rarch_setting_t *setting = menu_setting_find(filebrowser_label); + + if (setting) + { + setting_set_with_string_representation( + setting, action_path); + ret = menu_setting_generic(setting, false); + } + } + break; case ACTION_OK_SET_PATH: flush_type = MENU_SETTINGS; { @@ -2700,7 +2713,6 @@ static int action_ok_shader_apply_changes(const char *path, static int action_ok_lookup_setting(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { - menu_displaylist_reset_filebrowser(); return menu_setting_set(type, label, MENU_ACTION_OK, false); } @@ -3106,11 +3118,21 @@ static int action_ok_scan_directory_list(const char *path, entry_idx, ACTION_OK_DL_SCAN_DIR_LIST); } +static int action_ok_push_random_dir(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + settings_t *settings = config_get_ptr(); + return generic_action_ok_displaylist_push(path, path, + msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + type, idx, + entry_idx, ACTION_OK_DL_CONTENT_LIST); +} + static int action_ok_push_downloads_dir(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { settings_t *settings = config_get_ptr(); - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; return generic_action_ok_displaylist_push(path, settings->directory.core_assets, msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), type, idx, @@ -3134,6 +3156,7 @@ int action_ok_push_generic_list(const char *path, int action_ok_push_filebrowser_list_dir_select(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { + strlcpy(filebrowser_label, label, sizeof(filebrowser_label)); return generic_action_ok_displaylist_push(path, NULL, label, type, idx, entry_idx, ACTION_OK_DL_FILE_BROWSER_SELECT_DIR); } @@ -3799,6 +3822,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; + case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR: + BIND_ACTION_OK(cbs, action_ok_push_random_dir); + break; case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: BIND_ACTION_OK(cbs, action_ok_push_downloads_dir); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 445fe9e137..fe35b02170 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3200,15 +3200,7 @@ static int menu_displaylist_parse_options_remappings( return 0; } -enum filebrowser_enums -{ - FILEBROWSER_NONE = 0, - FILEBROWSER_SELECT_DIR, - FILEBROWSER_SCAN_DIR, - FILEBROWSER_SELECT_COLLECTION -}; - -static unsigned filebrowser_types = 0; +unsigned filebrowser_types = 0; static int menu_displaylist_parse_playlists( menu_displaylist_info_t *info, bool horizontal) @@ -3561,7 +3553,7 @@ static int menu_displaylist_parse_generic( true, settings->show_hidden_files, true, false); #ifdef HAVE_LIBRETRODB - if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR)) + if (filebrowser_types == FILEBROWSER_SCAN_DIR) menu_entries_prepend(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY), @@ -3569,7 +3561,7 @@ static int menu_displaylist_parse_generic( FILE_TYPE_SCAN_DIRECTORY, 0 ,0); #endif - if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR)) + if (filebrowser_types == FILEBROWSER_SELECT_DIR) menu_entries_prepend(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY), msg_hash_to_str(MENU_ENUM_LABEL_USE_THIS_DIRECTORY), @@ -3641,9 +3633,9 @@ static int menu_displaylist_parse_generic( if (!is_dir) { - if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR)) + if (filebrowser_types == FILEBROWSER_SELECT_DIR) continue; - if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR)) + if (filebrowser_types == FILEBROWSER_SCAN_DIR) continue; } @@ -3653,7 +3645,7 @@ static int menu_displaylist_parse_generic( if (*info->path && !path_is_compressed) path = path_basename(path); - if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_COLLECTION)) + if (filebrowser_types == FILEBROWSER_SELECT_COLLECTION) { if (is_dir) file_type = FILE_TYPE_DIRECTORY; @@ -3738,9 +3730,9 @@ static int menu_displaylist_parse_generic( } /* We don't want to show 'filter by extension' for this. */ - if (BIT32_GET(filebrowser_types, FILEBROWSER_SELECT_DIR)) + if (filebrowser_types == FILEBROWSER_SELECT_DIR) goto end; - if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR)) + if (filebrowser_types == FILEBROWSER_SCAN_DIR) goto end; if (!extensions_honored) @@ -3926,8 +3918,7 @@ static bool menu_displaylist_push_internal( } else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MUSIC_TAB))) { - - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type = 42; strlcpy(info->exts, file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT), @@ -3942,7 +3933,7 @@ static bool menu_displaylist_push_internal( } else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_TAB))) { - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type = 42; strlcpy(info->exts, file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT), @@ -3958,7 +3949,7 @@ static bool menu_displaylist_push_internal( else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_IMAGES_TAB))) { - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type = 42; strlcpy(info->exts, file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT), @@ -3993,7 +3984,7 @@ static bool menu_displaylist_push_internal( { settings_t *settings = config_get_ptr(); - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type = 42; strlcpy(info->exts, file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT), @@ -4082,11 +4073,6 @@ static bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry) return true; } -void menu_displaylist_reset_filebrowser(void) -{ - BIT32_CLEAR_ALL(filebrowser_types); -} - static void menu_displaylist_parse_playlist_history( menu_handle_t *menu, menu_displaylist_info_t *info, @@ -4264,24 +4250,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) break; } - switch (type) - { - case DISPLAYLIST_FILE_BROWSER_SCAN_DIR: - menu_displaylist_reset_filebrowser(); - BIT32_SET(filebrowser_types, FILEBROWSER_SCAN_DIR); - break; - case DISPLAYLIST_FILE_BROWSER_SELECT_DIR: - menu_displaylist_reset_filebrowser(); - BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_DIR); - break; - case DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION: - menu_displaylist_reset_filebrowser(); - BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_COLLECTION); - break; - default: - break; - } - switch (type) { case DISPLAYLIST_NONE: @@ -5552,6 +5520,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) info->need_refresh = true; break; case DISPLAYLIST_LOAD_CONTENT_LIST: + if (frontend_driver_parse_drive_list(info->list) != 0) + menu_entries_append_enum(info->list, "/", + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); + menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), @@ -6063,7 +6037,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) info->need_push = true; break; case DISPLAYLIST_DATABASES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_RDB; strlcpy(info->exts, file_path_str(FILE_PATH_RDB_EXTENSION), @@ -6102,7 +6076,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) info->need_push = true; break; case DISPLAYLIST_DATABASE_CURSORS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_CURSOR; strlcpy(info->exts, "dbc", sizeof(info->exts)); strlcpy(info->path, settings->directory.cursor, sizeof(info->path)); @@ -6113,14 +6087,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) ext_name[0] = '\0'; - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_PLAIN; if (frontend_driver_get_core_extension(ext_name, sizeof(ext_name))) strlcpy(info->exts, ext_name, sizeof(info->exts)); } break; case DISPLAYLIST_CONFIG_FILES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_CONFIG; strlcpy(info->exts, "cfg", sizeof(info->exts)); break; @@ -6131,7 +6105,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) (void)attr; - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_SHADER_PRESET; #ifdef HAVE_CG @@ -6152,7 +6126,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) union string_list_elem_attr attr = {0}; struct string_list *str_list = string_list_new(); - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_SHADER; (void)attr; @@ -6171,12 +6145,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) } break; case DISPLAYLIST_VIDEO_FILTERS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_VIDEOFILTER; strlcpy(info->exts, "filt", sizeof(info->exts)); break; case DISPLAYLIST_IMAGES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_IMAGE; { union string_list_elem_attr attr = {0}; @@ -6200,37 +6174,37 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) } break; case DISPLAYLIST_AUDIO_FILTERS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_AUDIOFILTER; strlcpy(info->exts, "dsp", sizeof(info->exts)); break; case DISPLAYLIST_CHEAT_FILES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_CHEAT; strlcpy(info->exts, "cht", sizeof(info->exts)); break; case DISPLAYLIST_CONTENT_HISTORY: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_PLAIN; strlcpy(info->exts, "lpl", sizeof(info->exts)); break; case DISPLAYLIST_FONTS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_FONT; strlcpy(info->exts, "ttf", sizeof(info->exts)); break; case DISPLAYLIST_OVERLAYS: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_OVERLAY; strlcpy(info->exts, "cfg", sizeof(info->exts)); break; case DISPLAYLIST_RECORD_CONFIG_FILES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_RECORD_CONFIG; strlcpy(info->exts, "cfg", sizeof(info->exts)); break; case DISPLAYLIST_REMAP_FILES: - menu_displaylist_reset_filebrowser(); + filebrowser_types = FILEBROWSER_NONE; info->type_default = FILE_TYPE_REMAP; strlcpy(info->exts, "rmp", sizeof(info->exts)); break; diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index d03324acea..dfd2de0d26 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -159,6 +159,14 @@ enum menu_displaylist_ctl_state DISPLAYLIST_PENDING_CLEAR }; +enum filebrowser_enums +{ + FILEBROWSER_NONE = 0, + FILEBROWSER_SELECT_DIR, + FILEBROWSER_SCAN_DIR, + FILEBROWSER_SELECT_COLLECTION +}; + typedef struct menu_displaylist_info { bool need_sort; @@ -205,6 +213,8 @@ void menu_displaylist_reset_filebrowser(void); bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data); +extern unsigned filebrowser_types; + RETRO_END_DECLS #endif diff --git a/msg_hash.h b/msg_hash.h index 7cf689f997..d39f31f06c 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -833,6 +833,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST, MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST, + MENU_LABEL(FILE_DETECT_CORE_LIST_PUSH_DIR), MENU_LABEL(DOWNLOADED_FILE_DETECT_CORE_LIST), MENU_ENUM_LABEL_VALUE_SEARCH, From 6354d7ee5ff119dc4be39ce8dc2800c540d5eef4 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 13 Dec 2016 01:06:28 +0100 Subject: [PATCH 08/10] Rename 'Select File' to 'Favorites' --- intl/msg_hash_chs.c | 4 ++-- intl/msg_hash_de.h | 4 ++-- intl/msg_hash_eo.h | 4 ++-- intl/msg_hash_es.c | 4 ++-- intl/msg_hash_fr.h | 4 ++-- intl/msg_hash_it.c | 4 ++-- intl/msg_hash_ja.h | 4 ++-- intl/msg_hash_lbl.h | 4 ++-- intl/msg_hash_nl.h | 4 ++-- intl/msg_hash_pl.c | 2 +- intl/msg_hash_pt.c | 4 ++-- intl/msg_hash_ru.h | 4 ++-- intl/msg_hash_us.h | 4 ++-- intl/msg_hash_vn.c | 4 ++-- menu/cbs/menu_cbs_deferred_push.c | 2 +- menu/cbs/menu_cbs_get_value.c | 2 +- menu/cbs/menu_cbs_ok.c | 14 +++++++------- menu/cbs/menu_cbs_title.c | 2 +- menu/drivers/materialui.c | 6 +++--- menu/drivers/xmb.c | 2 +- menu/menu_displaylist.c | 11 ++++++----- msg_hash.h | 3 ++- 22 files changed, 49 insertions(+), 47 deletions(-) diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c index 3071107e6b..fd0ef1df5b 100644 --- a/intl/msg_hash_chs.c +++ b/intl/msg_hash_chs.c @@ -2116,8 +2116,8 @@ const char *msg_hash_to_str_chs(enum msg_hash_enums msg) return "选择数据库"; case MENU_ENUM_LABEL_VALUE_DELETE_ENTRY: return "移除"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: - return "选择文件并探测核心"; + case MENU_ENUM_LABEL_VALUE_FAVORITES: + return "选择文件并探测核心"; /* TODO/FIXME - update */ case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT: return "<游戏内容目录>"; case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT: diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 0f56a79ab8..f14d94adc9 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -146,8 +146,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER, "Datenbankmanager") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Von der Playlist löschen") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Lade Content") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Lesezeichen") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 7d59beaea6..6ebaf86f80 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selection") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Favorites") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 597ec252f8..478c410e32 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -1653,8 +1653,8 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg) return "Proporción personalizada"; case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER: return "Gestor de bases de datos"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: - return "Seleccionar archivo y detectar núcleo"; + case MENU_ENUM_LABEL_VALUE_FAVORITES: + return "Seleccionar archivo y detectar núcleo"; /* TODO/FIXME - update */ case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT: return "(Carpeta de contenido)"; case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT: diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 72ae42d881..107d9c1148 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -480,8 +480,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selection") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Via les fichiers") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Via les fichiers") /* TODO/FIXME - update */ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c index ea90c6ac77..480fad296c 100644 --- a/intl/msg_hash_it.c +++ b/intl/msg_hash_it.c @@ -1611,8 +1611,8 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg) return "Abilita riavvolgi"; case MENU_ENUM_LABEL_VALUE_CONTENT_COLLECTION_LIST: return "Collezione"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: - return "Seleziona il file ed intercetta il core"; + case MENU_ENUM_LABEL_VALUE_FAVORITES: + return "Seleziona il file ed intercetta il core"; /* TODO/FIXME - update */ case MENU_ENUM_LABEL_VALUE_DOWNLOADED_FILE_DETECT_CORE_LIST: return "Scarica su directories"; case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_HISTORY: diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 1661a6df37..26cc96c72d 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -498,8 +498,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selection") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "削除") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "ファイルを選択とコア検出") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "ファイルを選択とコア検出") /* TODO/FIXME - update */ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 7d8fd98f7d..58bb2b135f 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -307,8 +307,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST, "deferred_wifi_settings_list") MSG_HASH(MENU_ENUM_LABEL_DELETE_ENTRY, "delete_entry") -MSG_HASH(MENU_ENUM_LABEL_DETECT_CORE_LIST, - "detect_core_list") +MSG_HASH(MENU_ENUM_LABEL_FAVORITES, + "favorites") MSG_HASH(MENU_ENUM_LABEL_DIRECTORY_SETTINGS, "directory_settings") MSG_HASH(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS, diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index 121122af4d..ba2abb1167 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selectie") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Verwijderen") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Selecteer Bestand") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Favorieten") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_pl.c b/intl/msg_hash_pl.c index 60da28dd16..bee8cf1bc7 100644 --- a/intl/msg_hash_pl.c +++ b/intl/msg_hash_pl.c @@ -176,7 +176,7 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg) return "Włąsny współczynnik"; case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER: return "Menedżer bazy danych"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_VALUE_FAVORITES: /* TODO/FIXME - update */ return "Wybierz plik i dopasuj rdzeń"; case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT: return ""; diff --git a/intl/msg_hash_pt.c b/intl/msg_hash_pt.c index d3d895f85f..a720feee37 100644 --- a/intl/msg_hash_pt.c +++ b/intl/msg_hash_pt.c @@ -1094,8 +1094,8 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg) return "Relação de Aspecto Personalizada"; case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER: return "Gerenciador de Databases"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: - return "Selecionar Arquivo e Detectar Core"; + case MENU_ENUM_LABEL_VALUE_FAVORITES: + return "Selecionar Arquivo e Detectar Core"; /* TODO/FIXME - update */ case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT: return ""; case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT: diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index a98010cde3..413c096a39 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -484,8 +484,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selection") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Favorites") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index f5ec34fa09..b785717911 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -488,8 +488,8 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DATABASE_SELECTION, "Database Selection") MSG_HASH(MENU_ENUM_LABEL_VALUE_DELETE_ENTRY, "Remove") -MSG_HASH(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST, - "Select File") +MSG_HASH(MENU_ENUM_LABEL_VALUE_FAVORITES, + "Favorites") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT, "") MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index 12daf54ef0..30915360e2 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -2162,8 +2162,8 @@ const char *msg_hash_to_str_vn(enum msg_hash_enums msg) return "Database Selection"; case MENU_ENUM_LABEL_VALUE_DELETE_ENTRY: return "Remove"; - case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST: - return "Select File And Detect Core"; + case MENU_ENUM_LABEL_VALUE_FAVORITES: + return "Favorites"; case MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT: return ""; case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT: diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index e7e397d4f1..a8b905b690 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -1118,7 +1118,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label( BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list); break; case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: - case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_FAVORITES: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list); break; default: diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 361d88808b..6b547c8a8d 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -1703,7 +1703,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( case MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST: case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY: case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: - case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_FAVORITES: case MENU_ENUM_LABEL_CORE_OPTIONS: case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS: case MENU_ENUM_LABEL_SHADER_OPTIONS: diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index e882c92855..faf3c69753 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -3123,7 +3123,7 @@ static int action_ok_push_random_dir(const char *path, { settings_t *settings = config_get_ptr(); return generic_action_ok_displaylist_push(path, path, - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES), type, idx, entry_idx, ACTION_OK_DL_CONTENT_LIST); } @@ -3134,7 +3134,7 @@ static int action_ok_push_downloads_dir(const char *path, settings_t *settings = config_get_ptr(); filebrowser_types = FILEBROWSER_NONE; return generic_action_ok_displaylist_push(path, settings->directory.core_assets, - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), + msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES), type, idx, entry_idx, ACTION_OK_DL_CONTENT_LIST); } @@ -3819,7 +3819,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, BIND_ACTION_OK(cbs, action_ok_scan_directory_list); break; case MENU_ENUM_LABEL_SCAN_FILE: - case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_FAVORITES: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; case MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR: @@ -4029,7 +4029,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, break; case MENU_LABEL_SCAN_FILE: case MENU_LABEL_SCAN_DIRECTORY: - case MENU_LABEL_DETECT_CORE_LIST: + case MENU_LABEL_FAVORITES: BIND_ACTION_OK(cbs, action_ok_push_content_list); break; case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: @@ -4164,7 +4164,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, case FILE_TYPE_CARCHIVE: switch (menu_label_hash) { - case MENU_LABEL_DETECT_CORE_LIST: + case MENU_LABEL_FAVORITES: BIND_ACTION_OK(cbs, action_ok_compressed_archive_push_detect_core); break; case MENU_LABEL_SCAN_FILE: @@ -4276,7 +4276,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, break; #endif case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: - case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_FAVORITES: case MENU_ENUM_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE: #ifdef HAVE_COMPRESSION if (type == FILE_TYPE_IN_CARCHIVE) @@ -4307,7 +4307,7 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, break; #endif case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: - case MENU_LABEL_DETECT_CORE_LIST: + case MENU_LABEL_FAVORITES: case MENU_LABEL_DEFERRED_ARCHIVE_OPEN_DETECT_CORE: #ifdef HAVE_COMPRESSION if (type == FILE_TYPE_IN_CARCHIVE) diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 67bc323dbb..83736870f4 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -229,7 +229,7 @@ default_title_generic_macro(action_get_title_list_rdb_entry_database_info,MENU_E static int action_get_title_default(const char *path, const char *label, unsigned menu_type, char *s, size_t len) { - snprintf(s, len, "%s %s", msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), path); + snprintf(s, len, "%s %s", "Select File", path); return 0; } diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 888b7e50b7..0258810844 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1676,9 +1676,9 @@ static int mui_list_push(void *data, void *userdata, menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES), + msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES), + MENU_ENUM_LABEL_FAVORITES, MENU_SETTING_ACTION, 0, 0); core_info_get_list(&list); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 7e883ade53..7dc829aa02 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1867,7 +1867,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE: case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_GAME: return xmb->textures.list[XMB_TEXTURE_SAVESTATE]; - case MENU_ENUM_LABEL_DETECT_CORE_LIST: + case MENU_ENUM_LABEL_FAVORITES: case MENU_ENUM_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: return xmb->textures.list[XMB_TEXTURE_FOLDER]; default: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index fe35b02170..15d29cbc6e 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -5526,11 +5526,12 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, MENU_SETTING_ACTION, 0, 0); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST), - msg_hash_to_str(MENU_ENUM_LABEL_DETECT_CORE_LIST), - MENU_ENUM_LABEL_DETECT_CORE_LIST, - MENU_SETTING_ACTION, 0, 0); + if (!string_is_empty(settings->directory.menu_content)) + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FAVORITES), + msg_hash_to_str(MENU_ENUM_LABEL_FAVORITES), + MENU_ENUM_LABEL_FAVORITES, + MENU_SETTING_ACTION, 0, 0); if (core_info_list_num_info_files(list)) { diff --git a/msg_hash.h b/msg_hash.h index d39f31f06c..77117e1819 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1171,7 +1171,7 @@ enum msg_hash_enums MENU_LABEL(DETECT_CORE_LIST_OK_CURRENT_CORE), MENU_LABEL(DETECT_CORE_LIST_OK), - MENU_LABEL(DETECT_CORE_LIST), + MENU_LABEL(FAVORITES), MENU_LABEL(START_CORE), MENU_LABEL(CORE_UPDATER_LIST), MENU_LABEL(CORE_UPDATER_AUTO_EXTRACT_ARCHIVE), @@ -1695,6 +1695,7 @@ enum msg_hash_enums #define MENU_LABEL_RDB_ENTRY_RELEASE_YEAR 0x14c9c6bfU #define MENU_LABEL_RDB_ENTRY_MAX_USERS 0xfae91cc4U +#define MENU_LABEL_FAVORITES 0x67325138U #define MENU_LABEL_DETECT_CORE_LIST 0xaa07c341U #define MENU_LABEL_DETECT_CORE_LIST_OK 0xabba2a7aU #define MENU_LABEL_CORE_LIST 0xa22bb14dU From fcd49b0341a876248ba914887c7785457c604123 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 13 Dec 2016 01:26:54 +0100 Subject: [PATCH 09/10] Fix deferred callback for Favorites --- menu/cbs/menu_cbs_deferred_push.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index a8b905b690..9423b2a173 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -1348,7 +1348,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label( BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_content_history_path); break; case MENU_LABEL_DOWNLOADED_FILE_DETECT_CORE_LIST: - case MENU_LABEL_DETECT_CORE_LIST: + case MENU_LABEL_FAVORITES: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_detect_core_list); break; default: From 7feea5d2e8ac166755cfca7a3acaf8ffb42fc06f Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Tue, 13 Dec 2016 01:32:41 +0100 Subject: [PATCH 10/10] (OSX) Buildfixes --- frontend/drivers/platform_darwin.m | 11 ++++++++--- menu/cbs/menu_cbs_deferred_push.c | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/drivers/platform_darwin.m b/frontend/drivers/platform_darwin.m index 07b113b557..88f1d2bedd 100644 --- a/frontend/drivers/platform_darwin.m +++ b/frontend/drivers/platform_darwin.m @@ -640,9 +640,14 @@ static int frontend_darwin_parse_drive_list(void *data) CFSearchPathForDirectoriesInDomains(CFDocumentDirectory, CFUserDomainMask, 1, home_dir_buf, sizeof(home_dir_buf)); menu_entries_append_enum(list, - home_dir_buf, "", MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); - menu_entries_append_enum(list, "/", "", - MSG_UNKNOWN, FILE_TYPE_DIRECTORY, 0, 0); + home_dir_buf, + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); + menu_entries_append_enum(list, "/", + msg_hash_to_str(MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR), + MENU_ENUM_LABEL_FILE_DETECT_CORE_LIST_PUSH_DIR, + MENU_SETTING_ACTION, 0, 0); ret = 0; diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 9423b2a173..47e2f4c4e9 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -568,7 +568,7 @@ static int general_push(menu_displaylist_info_t *info, } break; case PUSH_DETECT_CORE_LIST: - if (!string_is_empty(list->all_ext)) + if (list && !string_is_empty(list->all_ext)) strlcpy(info->exts, list->all_ext, sizeof(info->exts)); else if (system_menu->valid_extensions) {