(Widgets) onscreen Notifications -> Add setting to enable/disable 'take

screenshot' widget individually
This commit is contained in:
twinaphex 2020-07-19 23:26:14 +02:00
parent 723b42f655
commit ccd9b8ead4
10 changed files with 52 additions and 1 deletions

View File

@ -741,6 +741,12 @@ static const bool audio_enable_menu_bgm = false;
#define DEFAULT_NOTIFICATION_SHOW_AUTOCONFIG true
#endif
#if defined(HAVE_SCREENSHOTS)
#define DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_TAKEN true
#else
#define DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_TAKEN false
#endif
/* Display a notification when cheats are being
* applied */
#define DEFAULT_NOTIFICATION_SHOW_CHEATS_APPLIED true

View File

@ -1473,6 +1473,7 @@ static struct config_bool_setting *populate_settings_bool(
SETTING_BOOL("audio_enable", &settings->bools.audio_enable, true, DEFAULT_AUDIO_ENABLE, false);
SETTING_BOOL("menu_enable_widgets", &settings->bools.menu_enable_widgets, true, DEFAULT_MENU_ENABLE_WIDGETS, false);
SETTING_BOOL("menu_show_load_content_animation", &settings->bools.menu_show_load_content_animation, true, DEFAULT_MENU_SHOW_LOAD_CONTENT_ANIMATION, false);
SETTING_BOOL("notification_show_screenshot_taken", &settings->bools.notification_show_screenshot_taken, true, DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_TAKEN, false);
SETTING_BOOL("notification_show_autoconfig", &settings->bools.notification_show_autoconfig, true, DEFAULT_NOTIFICATION_SHOW_AUTOCONFIG, false);
SETTING_BOOL("notification_show_cheats_applied", &settings->bools.notification_show_cheats_applied, true, DEFAULT_NOTIFICATION_SHOW_CHEATS_APPLIED, false);
SETTING_BOOL("notification_show_remap_load", &settings->bools.notification_show_remap_load, true, DEFAULT_NOTIFICATION_SHOW_REMAP_LOAD, false);

View File

@ -159,6 +159,7 @@ typedef struct settings
bool filter_by_current_core;
bool menu_enable_widgets;
bool menu_show_load_content_animation;
bool notification_show_screenshot_taken;
bool notification_show_autoconfig;
bool notification_show_cheats_applied;
bool notification_show_remap_load;

View File

@ -4320,6 +4320,10 @@ MSG_HASH(
MENU_ENUM_LABEL_NOTIFICATION_SHOW_AUTOCONFIG,
"notification_show_autoconfig"
)
MSG_HASH(
MENU_ENUM_LABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
"notification_show_screenshot_taken"
)
MSG_HASH(
MENU_ENUM_LABEL_NOTIFICATION_SHOW_CHEATS_APPLIED,
"notification_show_cheats_applied"

View File

@ -3408,6 +3408,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_AUTOCONFIG,
"Input (Autoconfig) Connection Notifications"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
"Screenshot Notifications"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_CHEATS_APPLIED,
"Cheat Code Notifications"
@ -3420,6 +3424,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_AUTOCONFIG,
"Display an on-screen message when connecting/disconnecting input devices."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
"Display an on-screen message when screenshots are taken."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_REMAP_LOAD,
"Input Remap Loaded Notifications"

View File

@ -381,6 +381,9 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_restart_retroarch, MENU_
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_widgets, MENU_ENUM_SUBLABEL_MENU_WIDGETS_ENABLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_show_load_content_animation, MENU_ENUM_SUBLABEL_MENU_SHOW_LOAD_CONTENT_ANIMATION)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_autoconfig, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_AUTOCONFIG)
#ifdef HAVE_SCREENSHOTS
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_screenshot_taken, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN)
#endif
#ifdef HAVE_CHEATS
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_notification_show_cheats_applied, MENU_ENUM_SUBLABEL_NOTIFICATION_SHOW_CHEATS_APPLIED)
#endif
@ -2991,6 +2994,11 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_NOTIFICATION_SHOW_AUTOCONFIG:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_autoconfig);
break;
case MENU_ENUM_LABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN:
#ifdef HAVE_SCREENSHOTS
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_screenshot_taken);
#endif
break;
case MENU_ENUM_LABEL_NOTIFICATION_SHOW_CHEATS_APPLIED:
#ifdef HAVE_CHEATS
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_notification_show_cheats_applied);

View File

@ -7563,6 +7563,9 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_MEMORY_UPDATE_INTERVAL, PARSE_ONLY_UINT, false },
{MENU_ENUM_LABEL_MENU_SHOW_LOAD_CONTENT_ANIMATION, PARSE_ONLY_BOOL, false },
{MENU_ENUM_LABEL_NOTIFICATION_SHOW_AUTOCONFIG, PARSE_ONLY_BOOL, true },
#ifdef HAVE_SCREENSHOTS
{MENU_ENUM_LABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN, PARSE_ONLY_BOOL, true },
#endif
{MENU_ENUM_LABEL_NOTIFICATION_SHOW_CHEATS_APPLIED, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_NOTIFICATION_SHOW_REMAP_LOAD, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD, PARSE_ONLY_BOOL, true },

View File

@ -12606,6 +12606,21 @@ static bool setting_append_list(
general_read_handler,
SD_FLAG_NONE);
CONFIG_BOOL(
list, list_info,
&settings->bools.notification_show_screenshot_taken,
MENU_ENUM_LABEL_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
MENU_ENUM_LABEL_VALUE_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_TAKEN,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
CONFIG_BOOL(
list, list_info,
&settings->bools.notification_show_cheats_applied,

View File

@ -2565,6 +2565,7 @@ enum msg_hash_enums
MENU_LABEL(MENU_SHOW_LOAD_CONTENT_ANIMATION),
MENU_LABEL(NOTIFICATION_SHOW_AUTOCONFIG),
MENU_LABEL(NOTIFICATION_SHOW_SCREENSHOT_TAKEN),
MENU_LABEL(NOTIFICATION_SHOW_CHEATS_APPLIED),
MENU_LABEL(NOTIFICATION_SHOW_REMAP_LOAD),
MENU_LABEL(NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD),

View File

@ -67,6 +67,7 @@ struct screenshot_task_state
bool is_paused;
bool history_list_enable;
bool widgets_ready;
bool widgets_take_screenshot;
int pitch;
unsigned width;
@ -236,7 +237,8 @@ static void task_screenshot_callback(retro_task_t *task,
if (!state)
return;
if (!state->silence && state->widgets_ready)
if (!state->silence && state->widgets_ready
&& state->widgets_take_screenshot)
gfx_widget_screenshot_taken(dispwidget_get_ptr(),
state->shotname, state->filename);
@ -288,8 +290,10 @@ static bool screenshot_dump(
state->userbuf = userbuf;
#if defined(HAVE_GFX_WIDGETS)
state->widgets_ready = gfx_widgets_ready();
state->widgets_take_screenshot= settings->bools.notification_show_screenshot_taken;
#else
state->widgets_ready = false;
state->widgets_take_screenshot= false;
#endif
state->silence = savestate;
state->history_list_enable = settings->bools.history_list_enable;