Get rid of one of the last remaining hash dependencies in menu_displaylist.c
This commit is contained in:
parent
4e347d96b8
commit
c938f86235
|
@ -257,6 +257,13 @@ int generic_action_ok_displaylist_push(const char *path,
|
||||||
info_label = label;
|
info_label = label;
|
||||||
dl_type = DISPLAYLIST_GENERIC;
|
dl_type = DISPLAYLIST_GENERIC;
|
||||||
break;
|
break;
|
||||||
|
case ACTION_OK_DL_SCAN_DIR_LIST:
|
||||||
|
info.type = FILE_TYPE_DIRECTORY;
|
||||||
|
info.directory_ptr = idx;
|
||||||
|
info_path = new_path;
|
||||||
|
info_label = label;
|
||||||
|
dl_type = DISPLAYLIST_FILE_BROWSER_SCAN_DIR;
|
||||||
|
break;
|
||||||
case ACTION_OK_DL_REMAP_FILE:
|
case ACTION_OK_DL_REMAP_FILE:
|
||||||
info.type = type;
|
info.type = type;
|
||||||
info.directory_ptr = idx;
|
info.directory_ptr = idx;
|
||||||
|
@ -2651,6 +2658,15 @@ static int action_ok_push_content_list(const char *path,
|
||||||
entry_idx, ACTION_OK_DL_CONTENT_LIST);
|
entry_idx, ACTION_OK_DL_CONTENT_LIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int action_ok_scan_directory_list(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,
|
||||||
|
settings->directory.menu_content, label, type, idx,
|
||||||
|
entry_idx, ACTION_OK_DL_SCAN_DIR_LIST);
|
||||||
|
}
|
||||||
|
|
||||||
static int action_ok_push_downloads_dir(const char *path,
|
static int action_ok_push_downloads_dir(const char *path,
|
||||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||||
{
|
{
|
||||||
|
@ -3201,8 +3217,10 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
|
||||||
case MENU_ENUM_LABEL_CONTENT_SETTINGS:
|
case MENU_ENUM_LABEL_CONTENT_SETTINGS:
|
||||||
BIND_ACTION_OK(cbs, action_ok_push_default);
|
BIND_ACTION_OK(cbs, action_ok_push_default);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_SCAN_FILE:
|
|
||||||
case MENU_ENUM_LABEL_SCAN_DIRECTORY:
|
case MENU_ENUM_LABEL_SCAN_DIRECTORY:
|
||||||
|
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_LOAD_CONTENT:
|
||||||
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
case MENU_ENUM_LABEL_DETECT_CORE_LIST:
|
||||||
BIND_ACTION_OK(cbs, action_ok_push_content_list);
|
BIND_ACTION_OK(cbs, action_ok_push_content_list);
|
||||||
|
|
|
@ -27,6 +27,7 @@ enum
|
||||||
ACTION_OK_DL_DEFAULT = 0,
|
ACTION_OK_DL_DEFAULT = 0,
|
||||||
ACTION_OK_DL_OPEN_ARCHIVE,
|
ACTION_OK_DL_OPEN_ARCHIVE,
|
||||||
ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE,
|
ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE,
|
||||||
|
ACTION_OK_DL_SCAN_DIR_LIST,
|
||||||
ACTION_OK_DL_HELP,
|
ACTION_OK_DL_HELP,
|
||||||
ACTION_OK_DL_RPL_ENTRY,
|
ACTION_OK_DL_RPL_ENTRY,
|
||||||
ACTION_OK_DL_RDB_ENTRY,
|
ACTION_OK_DL_RDB_ENTRY,
|
||||||
|
|
|
@ -3208,6 +3208,7 @@ enum filebrowser_enums
|
||||||
{
|
{
|
||||||
FILEBROWSER_NONE = 0,
|
FILEBROWSER_NONE = 0,
|
||||||
FILEBROWSER_SELECT_DIR,
|
FILEBROWSER_SELECT_DIR,
|
||||||
|
FILEBROWSER_SCAN_DIR,
|
||||||
FILEBROWSER_SELECT_COLLECTION
|
FILEBROWSER_SELECT_COLLECTION
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3340,7 +3341,7 @@ static int menu_displaylist_parse_generic(
|
||||||
filter_ext ? info->exts : NULL,
|
filter_ext ? info->exts : NULL,
|
||||||
true, true);
|
true, true);
|
||||||
|
|
||||||
if (string_is_equal(info->label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_DIRECTORY)))
|
if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR))
|
||||||
menu_entries_prepend(info->list,
|
menu_entries_prepend(info->list,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY),
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY),
|
msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY),
|
||||||
|
@ -3448,8 +3449,9 @@ static int menu_displaylist_parse_generic(
|
||||||
|
|
||||||
if (!is_dir)
|
if (!is_dir)
|
||||||
{
|
{
|
||||||
uint32_t hash_label = msg_hash_calculate(info->label);
|
if (push_dir)
|
||||||
if (push_dir || hash_label == MENU_LABEL_SCAN_DIRECTORY)
|
continue;
|
||||||
|
if (BIT32_GET(filebrowser_types, FILEBROWSER_SCAN_DIR))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3928,6 +3930,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
|
case DISPLAYLIST_FILE_BROWSER_SCAN_DIR:
|
||||||
|
BIT32_CLEAR_ALL(filebrowser_types);
|
||||||
|
BIT32_SET(filebrowser_types, FILEBROWSER_SCAN_DIR);
|
||||||
|
break;
|
||||||
case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
|
case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
|
||||||
BIT32_CLEAR_ALL(filebrowser_types);
|
BIT32_CLEAR_ALL(filebrowser_types);
|
||||||
BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_DIR);
|
BIT32_SET(filebrowser_types, FILEBROWSER_SELECT_DIR);
|
||||||
|
@ -3948,6 +3954,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||||
menu_entries_add_enum(info->list, info->path,
|
menu_entries_add_enum(info->list, info->path,
|
||||||
info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
|
info->label, MSG_UNKNOWN, info->type, info->directory_ptr, 0);
|
||||||
break;
|
break;
|
||||||
|
case DISPLAYLIST_FILE_BROWSER_SCAN_DIR:
|
||||||
case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
|
case DISPLAYLIST_FILE_BROWSER_SELECT_DIR:
|
||||||
case DISPLAYLIST_FILE_BROWSER_SELECT_FILE:
|
case DISPLAYLIST_FILE_BROWSER_SELECT_FILE:
|
||||||
case DISPLAYLIST_FILE_BROWSER_SELECT_CORE:
|
case DISPLAYLIST_FILE_BROWSER_SELECT_CORE:
|
||||||
|
|
|
@ -65,6 +65,7 @@ enum menu_displaylist_ctl_state
|
||||||
DISPLAYLIST_PLAYLIST_COLLECTION,
|
DISPLAYLIST_PLAYLIST_COLLECTION,
|
||||||
DISPLAYLIST_DEFAULT,
|
DISPLAYLIST_DEFAULT,
|
||||||
DISPLAYLIST_FILE_BROWSER_SELECT_DIR,
|
DISPLAYLIST_FILE_BROWSER_SELECT_DIR,
|
||||||
|
DISPLAYLIST_FILE_BROWSER_SCAN_DIR,
|
||||||
DISPLAYLIST_FILE_BROWSER_SELECT_FILE,
|
DISPLAYLIST_FILE_BROWSER_SELECT_FILE,
|
||||||
DISPLAYLIST_FILE_BROWSER_SELECT_CORE,
|
DISPLAYLIST_FILE_BROWSER_SELECT_CORE,
|
||||||
DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION,
|
DISPLAYLIST_FILE_BROWSER_SELECT_COLLECTION,
|
||||||
|
|
Loading…
Reference in New Issue