Add 'Extracting' message when extracting a bundle

This commit is contained in:
twinaphex 2015-12-11 19:13:40 +01:00
parent f9dfa403a9
commit f7d9c08de3
3 changed files with 18 additions and 2 deletions

View File

@ -41,6 +41,8 @@ typedef struct settings
char playlist_names[PATH_MAX_LENGTH]; char playlist_names[PATH_MAX_LENGTH];
char playlist_cores[PATH_MAX_LENGTH]; char playlist_cores[PATH_MAX_LENGTH];
bool bundle_finished;
struct struct
{ {
char driver[32]; char driver[32];

View File

@ -40,6 +40,7 @@
static int action_iterate_help(menu_handle_t *menu, static int action_iterate_help(menu_handle_t *menu,
char *s, size_t len, const char *label) char *s, size_t len, const char *label)
{ {
bool do_exit = false;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
switch (menu->help_screen_type) switch (menu->help_screen_type)
@ -70,8 +71,7 @@ static int action_iterate_help(menu_handle_t *menu,
timer_end = true; timer_end = true;
timer_begin = false; timer_begin = false;
timeout_end = 0; timeout_end = 0;
menu->help_screen_type = MENU_HELP_NONE; do_exit = true;
return 1;
} }
} }
break; break;
@ -169,12 +169,23 @@ static int action_iterate_help(menu_handle_t *menu,
case MENU_HELP_EXTRACT: case MENU_HELP_EXTRACT:
menu_hash_get_help(MENU_LABEL_VALUE_EXTRACTING_PLEASE_WAIT, menu_hash_get_help(MENU_LABEL_VALUE_EXTRACTING_PLEASE_WAIT,
s, len); s, len);
if (settings->bundle_finished)
{
settings->bundle_finished = false;
do_exit = true;
}
break; break;
case MENU_HELP_NONE: case MENU_HELP_NONE:
default: default:
break; break;
} }
if (do_exit)
{
menu->help_screen_type = MENU_HELP_NONE;
return 1;
}
return 0; return 0;
} }

View File

@ -568,6 +568,7 @@ static void bundle_decompressed(void *task_data, void *user_data, const char *er
} }
settings->bundle_assets_extract_last_version = settings->bundle_assets_extract_version_current; settings->bundle_assets_extract_last_version = settings->bundle_assets_extract_version_current;
settings->bundle_finished = true;
} }
/** /**
@ -614,6 +615,8 @@ void *menu_init(const void *data)
settings->bundle_assets_extract_version_current != settings->bundle_assets_extract_last_version settings->bundle_assets_extract_version_current != settings->bundle_assets_extract_last_version
) )
{ {
menu->help_screen_type = MENU_HELP_EXTRACT;
menu->push_help_screen = true;
rarch_task_push_decompress(settings->bundle_assets_src_path, settings->bundle_assets_dst_path, rarch_task_push_decompress(settings->bundle_assets_src_path, settings->bundle_assets_dst_path,
settings->bundle_assets_dst_path_subdir, NULL, bundle_decompressed, NULL); settings->bundle_assets_dst_path_subdir, NULL, bundle_decompressed, NULL);
} }