From 7de7c98b27ae5865dcdb3f78391bf4596b5f7af1 Mon Sep 17 00:00:00 2001 From: duduke Date: Mon, 18 Jan 2016 21:31:38 +0200 Subject: [PATCH] Added a reboot menu item --- command_event.c | 5 +++++ command_event.h | 2 ++ menu/drivers/xmb.c | 2 ++ menu/intl/menu_hash_us.c | 2 ++ menu/menu_hash.h | 2 ++ menu/menu_setting.c | 11 +++++++++++ 6 files changed, 24 insertions(+) diff --git a/command_event.c b/command_event.c index 88d37ce6f7..859036cd55 100644 --- a/command_event.c +++ b/command_event.c @@ -1310,6 +1310,11 @@ bool event_command(enum event_command cmd) system("shutdown -P now"); #endif break; + case EVENT_CMD_REBOOT: + runloop_msg_queue_push("Rebooting...", 1, 180, true); + rarch_ctl(RARCH_CTL_FORCE_QUIT, NULL); + system("shutdown -r now"); + break; case EVENT_CMD_RESUME: rarch_ctl(RARCH_CTL_MENU_RUNNING_FINISHED, NULL); break; diff --git a/command_event.h b/command_event.h index 5219dcd1af..662d789b94 100644 --- a/command_event.h +++ b/command_event.h @@ -120,6 +120,8 @@ enum event_command EVENT_CMD_QUIT_RETROARCH, /* Shutdown the OS */ EVENT_CMD_SHUTDOWN, + /* Reboot the OS */ + EVENT_CMD_REBOOT /* Resume RetroArch when in menu. */ EVENT_CMD_RESUME, /* Toggles pause. */ diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index b5c99ed918..9872c93ca8 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2606,6 +2606,8 @@ static int xmb_list_push(void *data, void *userdata, menu_displaylist_info_t *in #endif menu_displaylist_parse_settings(menu, info, menu_hash_to_str(MENU_LABEL_SHUTDOWN), PARSE_ACTION, false); + menu_displaylist_parse_settings(menu, info, + menu_hash_to_str(MENU_LABEL_REBOOT), PARSE_ACTION, false); info->need_push = true; ret = 0; break; diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 006ca9a878..550e34c1fb 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -1246,6 +1246,8 @@ const char *menu_hash_to_str_us(uint32_t hash) return "Quit RetroArch"; case MENU_LABEL_VALUE_SHUTDOWN: return "Shutdown"; + case MENU_LABEL_VALUE_REBOOT: + return "Reboot": case MENU_LABEL_VALUE_HELP: return "help"; case MENU_LABEL_VALUE_SAVE_NEW_CONFIG: diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 7fc2f8b6e9..729ec57b99 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -689,6 +689,8 @@ extern "C" { #define MENU_LABEL_VALUE_QUIT_RETROARCH 0x8e7024f2U #define MENU_LABEL_SHUTDOWN 0xfc460361U #define MENU_LABEL_VALUE_SHUTDOWN 0x740b6741U +#define MENU_LABEL_REBOOT 0xac460361U +#define MENU_LABEL_VALUE_REBOOT 0xa40b6741U #define MENU_LABEL_DEFERRED_VIDEO_FILTER 0x966ad201U #define MENU_LABEL_DEFERRED_CORE_LIST_SET 0xa6d5fdb4U #define MENU_LABEL_VALUE_STARTING_DOWNLOAD 0x42e10f03U diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 2fe60afa29..e4621def23 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3413,6 +3413,17 @@ static bool setting_append_list_main_menu_options( menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_SHUTDOWN); #endif +#if defined(HAVE_LAKKA) + CONFIG_ACTION( + list, list_info, + menu_hash_to_str(MENU_LABEL_REBOOT), + menu_hash_to_str(MENU_LABEL_VALUE_REBOOT), + &group_info, + &subgroup_info, + parent_group); + menu_settings_list_current_add_cmd(list, list_info, EVENT_CMD_REBOOT); +#endif + CONFIG_ACTION( list, list_info, menu_hash_to_str(MENU_LABEL_INPUT_SETTINGS),