From 95974f9f3a7445de451d81b1bb0b7e094256ac87 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 26 Sep 2018 23:50:29 +0200 Subject: [PATCH] Should correct setting somewhat --- menu/cbs/menu_cbs_ok.c | 25 +++++++++++++++++++++++++ menu/menu_cbs.h | 1 + menu/menu_displaylist.c | 11 ++++++++++- msg_hash.h | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 64520b48a6..97c5885fcb 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -78,6 +78,7 @@ enum { ACTION_OK_LOAD_PRESET = 0, ACTION_OK_LOAD_SHADER_PASS, + ACTION_OK_LOAD_STREAM_CONFIGFILE, ACTION_OK_LOAD_RECORD_CONFIGFILE, ACTION_OK_LOAD_REMAPPING_FILE, ACTION_OK_LOAD_CHEAT_FILE, @@ -475,6 +476,14 @@ int generic_action_ok_displaylist_push(const char *path, info_label = label; dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; break; + case ACTION_OK_DL_STREAM_CONFIGFILE: + filebrowser_clear_type(); + info.type = type; + info.directory_ptr = idx; + info_path = settings->paths.path_stream_config; + info_label = label; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + break; case ACTION_OK_DL_RECORD_CONFIGFILE: filebrowser_clear_type(); { @@ -1291,6 +1300,14 @@ static int generic_action_ok(const char *path, } } break; + case ACTION_OK_LOAD_STREAM_CONFIGFILE: + { + settings_t *settings = config_get_ptr(); + flush_char = msg_hash_to_str(flush_id); + strlcpy(settings->paths.path_stream_config, action_path, + sizeof(settings->paths.path_stream_config)); + } + break; case ACTION_OK_LOAD_RECORD_CONFIGFILE: { global_t *global = global_get_ptr(); @@ -1417,6 +1434,7 @@ default_action_ok_set(action_ok_subsystem_add, ACTION_OK_SUBSYSTEM_ADD, default_action_ok_set(action_ok_cheat_file_load, ACTION_OK_LOAD_CHEAT_FILE, MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS) default_action_ok_set(action_ok_cheat_file_load_append, ACTION_OK_LOAD_CHEAT_FILE_APPEND, MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS) default_action_ok_set(action_ok_record_configfile_load, ACTION_OK_LOAD_RECORD_CONFIGFILE, MENU_ENUM_LABEL_RECORDING_SETTINGS) +default_action_ok_set(action_ok_stream_configfile_load, ACTION_OK_LOAD_STREAM_CONFIGFILE, MENU_ENUM_LABEL_RECORDING_SETTINGS) default_action_ok_set(action_ok_remap_file_load, ACTION_OK_LOAD_REMAPPING_FILE, MENU_ENUM_LABEL_CORE_INPUT_REMAPPING_OPTIONS ) default_action_ok_set(action_ok_shader_preset_load, ACTION_OK_LOAD_PRESET , MENU_ENUM_LABEL_SHADER_OPTIONS) default_action_ok_set(action_ok_shader_pass_load, ACTION_OK_LOAD_SHADER_PASS, MENU_ENUM_LABEL_SHADER_OPTIONS) @@ -3718,6 +3736,7 @@ default_action_ok_func(action_ok_disk_image_append_list, ACTION_OK_DL_DISK_IMAGE default_action_ok_func(action_ok_subsystem_add_list, ACTION_OK_DL_SUBSYSTEM_ADD_LIST) default_action_ok_func(action_ok_subsystem_add_load, ACTION_OK_DL_SUBSYSTEM_LOAD) default_action_ok_func(action_ok_record_configfile, ACTION_OK_DL_RECORD_CONFIGFILE) +default_action_ok_func(action_ok_stream_configfile, ACTION_OK_DL_STREAM_CONFIGFILE) default_action_ok_func(action_ok_remap_file, ACTION_OK_DL_REMAP_FILE) default_action_ok_func(action_ok_shader_preset, ACTION_OK_DL_SHADER_PRESET) default_action_ok_func(action_ok_push_generic_list, ACTION_OK_DL_GENERIC) @@ -4846,6 +4865,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_RECORD_CONFIG: BIND_ACTION_OK(cbs, action_ok_record_configfile); break; + case MENU_ENUM_LABEL_STREAM_CONFIG: + BIND_ACTION_OK(cbs, action_ok_stream_configfile); + break; #ifdef HAVE_NETWORKING case MENU_ENUM_LABEL_DOWNLOAD_CORE_CONTENT: BIND_ACTION_OK(cbs, action_ok_core_content_list); @@ -5382,6 +5404,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs, case FILE_TYPE_RECORD_CONFIG: BIND_ACTION_OK(cbs, action_ok_record_configfile_load); break; + case FILE_TYPE_STREAM_CONFIG: + BIND_ACTION_OK(cbs, action_ok_stream_configfile_load); + break; case FILE_TYPE_REMAP: BIND_ACTION_OK(cbs, action_ok_remap_file_load); break; diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index fbddf0e4d9..76482efcb9 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -91,6 +91,7 @@ enum ACTION_OK_DL_CONTENT_LIST, ACTION_OK_DL_REMAP_FILE, ACTION_OK_DL_RECORD_CONFIGFILE, + ACTION_OK_DL_STREAM_CONFIGFILE, ACTION_OK_DL_DISK_IMAGE_APPEND_LIST, ACTION_OK_DL_SUBSYSTEM_ADD_LIST, ACTION_OK_DL_SUBSYSTEM_LOAD, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 556adcdf1b..9eca05ff91 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -7690,8 +7690,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) free(info->exts); info->exts = strdup("cfg"); break; - case DISPLAYLIST_RECORD_CONFIG_FILES: case DISPLAYLIST_STREAM_CONFIG_FILES: + menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); + filebrowser_clear_type(); + info->type_default = FILE_TYPE_STREAM_CONFIG; + load_content = false; + use_filebrowser = true; + if (!string_is_empty(info->exts)) + free(info->exts); + info->exts = strdup("cfg"); + break; + case DISPLAYLIST_RECORD_CONFIG_FILES: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); filebrowser_clear_type(); info->type_default = FILE_TYPE_RECORD_CONFIG; diff --git a/msg_hash.h b/msg_hash.h index 87a77e7865..f2a541a9e9 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -74,6 +74,7 @@ enum msg_file_type FILE_TYPE_BOOL_ON, FILE_TYPE_BOOL_OFF, FILE_TYPE_RECORD_CONFIG, + FILE_TYPE_STREAM_CONFIG, FILE_TYPE_PLAYLIST_COLLECTION, FILE_TYPE_PLAYLIST_ASSOCIATION, FILE_TYPE_MOVIE,