From f7d9c08de3beaa99fdc489245d46db1addaf80c8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 11 Dec 2015 19:13:40 +0100 Subject: [PATCH] Add 'Extracting' message when extracting a bundle --- configuration.h | 2 ++ menu/drivers/menu_generic.c | 15 +++++++++++++-- menu/menu_driver.c | 3 +++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/configuration.h b/configuration.h index dce6119433..877f01c12b 100644 --- a/configuration.h +++ b/configuration.h @@ -41,6 +41,8 @@ typedef struct settings char playlist_names[PATH_MAX_LENGTH]; char playlist_cores[PATH_MAX_LENGTH]; + bool bundle_finished; + struct { char driver[32]; diff --git a/menu/drivers/menu_generic.c b/menu/drivers/menu_generic.c index f26f27800c..4662118878 100644 --- a/menu/drivers/menu_generic.c +++ b/menu/drivers/menu_generic.c @@ -40,6 +40,7 @@ static int action_iterate_help(menu_handle_t *menu, char *s, size_t len, const char *label) { + bool do_exit = false; settings_t *settings = config_get_ptr(); switch (menu->help_screen_type) @@ -70,8 +71,7 @@ static int action_iterate_help(menu_handle_t *menu, timer_end = true; timer_begin = false; timeout_end = 0; - menu->help_screen_type = MENU_HELP_NONE; - return 1; + do_exit = true; } } break; @@ -169,12 +169,23 @@ static int action_iterate_help(menu_handle_t *menu, case MENU_HELP_EXTRACT: menu_hash_get_help(MENU_LABEL_VALUE_EXTRACTING_PLEASE_WAIT, s, len); + + if (settings->bundle_finished) + { + settings->bundle_finished = false; + do_exit = true; + } break; case MENU_HELP_NONE: default: break; } + if (do_exit) + { + menu->help_screen_type = MENU_HELP_NONE; + return 1; + } return 0; } diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 4564eefa6c..659e65fa5b 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -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_finished = true; } /** @@ -614,6 +615,8 @@ void *menu_init(const void *data) 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, settings->bundle_assets_dst_path_subdir, NULL, bundle_decompressed, NULL); }