This commit is contained in:
Ömercan Kömür 2020-12-19 15:14:14 +03:00
parent 4e33e71a47
commit 6256b8ca2b
17 changed files with 108 additions and 2 deletions

View File

@ -1233,6 +1233,7 @@ static struct config_array_setting *populate_settings_array(settings_t *settings
SETTING_ARRAY("midi_output", settings->arrays.midi_output, true, DEFAULT_MIDI_OUTPUT, true);
SETTING_ARRAY("youtube_stream_key", settings->arrays.youtube_stream_key, true, NULL, true);
SETTING_ARRAY("twitch_stream_key", settings->arrays.twitch_stream_key, true, NULL, true);
SETTING_ARRAY("facebook_stream_key", settings->arrays.facebook_stream_key, true, NULL, true);
SETTING_ARRAY("discord_app_id", settings->arrays.discord_app_id, true, DEFAULT_DISCORD_APP_ID, true);
SETTING_ARRAY("ai_service_url", settings->arrays.ai_service_url, true, DEFAULT_AI_SERVICE_URL, true);
SETTING_ARRAY("crt_switch_timings", settings->arrays.crt_switch_timings, false, NULL, true);

View File

@ -367,6 +367,7 @@ typedef struct settings
char bundle_assets_dst_subdir[PATH_MAX_LENGTH];
char youtube_stream_key[PATH_MAX_LENGTH];
char twitch_stream_key[PATH_MAX_LENGTH];
char facebook_stream_key[PATH_MAX_LENGTH];
char discord_app_id[PATH_MAX_LENGTH];
char ai_service_url[PATH_MAX_LENGTH];

View File

@ -30,6 +30,10 @@ MSG_HASH(
MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE,
"youtube"
)
MSG_HASH(
MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK,
"facebook"
)
MSG_HASH(
MENU_ENUM_LABEL_ACHIEVEMENT_LIST,
"achievement_list"

View File

@ -5343,6 +5343,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH,
"Twitch"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK,
"Facebook Gaming"
)
/* Settings > User > Accounts > RetroAchievements */
@ -5377,6 +5381,13 @@ MSG_HASH(
"Twitch Stream Key"
)
/* Settings > User > Accounts > Facebook Gaming */
MSG_HASH(
MENU_ENUM_LABEL_VALUE_FACEBOOK_STREAM_KEY,
"Facebook Gaming Stream Key"
)
/* Settings > Directory */
MSG_HASH(

View File

@ -229,6 +229,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_input_hotkey_binds_list, DISPLAYLIST_
GENERIC_DEFERRED_PUSH(deferred_push_accounts_cheevos_list, DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_accounts_twitch_list, DISPLAYLIST_ACCOUNTS_TWITCH_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_accounts_youtube_list, DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_accounts_facebook_list, DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_help, DISPLAYLIST_HELP_SCREEN_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_rdb_entry_detail, DISPLAYLIST_DATABASE_ENTRY)
GENERIC_DEFERRED_PUSH(deferred_push_rpl_entry_actions, DISPLAYLIST_HORIZONTAL_CONTENT_ACTIONS)
@ -780,6 +781,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
{MENU_ENUM_LABEL_DEFERRED_QUICK_MENU_OVERRIDE_OPTIONS, deferred_push_quick_menu_override_options},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, deferred_push_accounts_youtube_list},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST, deferred_push_accounts_twitch_list},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, deferred_push_accounts_facebook_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SHADER_PRESET_SAVE_LIST, deferred_push_video_shader_preset_save},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SHADER_PRESET_REMOVE_LIST, deferred_push_video_shader_preset_remove},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME, deferred_push_dropdown_box_list_manual_content_scan_system_name},
@ -922,6 +924,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_accounts_twitch_list);
break;
case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_accounts_facebook_list);
break;
case MENU_ENUM_LABEL_DEFERRED_ARCHIVE_ACTION_DETECT_CORE:
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_archive_action_detect_core);
break;

View File

@ -424,6 +424,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST;
case ACTION_OK_DL_ACCOUNTS_TWITCH_LIST:
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST;
case ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST:
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST;
case ACTION_OK_DL_DUMP_DISC_LIST:
return MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST;
case ACTION_OK_DL_LOAD_DISC_LIST:
@ -1307,6 +1309,7 @@ int generic_action_ok_displaylist_push(const char *path,
case ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST:
case ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST:
case ACTION_OK_DL_ACCOUNTS_TWITCH_LIST:
case ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST:
case ACTION_OK_DL_PLAYLIST_COLLECTION:
case ACTION_OK_DL_FAVORITES_LIST:
case ACTION_OK_DL_BROWSE_URL_LIST:
@ -5376,6 +5379,7 @@ DEFAULT_ACTION_OK_FUNC(action_ok_push_user_binds_list, ACTION_OK_DL_USER_BINDS_L
DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_cheevos_list, ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_youtube_list, ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_twitch_list, ACTION_OK_DL_ACCOUNTS_TWITCH_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_push_accounts_facebook_list, ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_push_dump_disc_list, ACTION_OK_DL_DUMP_DISC_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_push_load_disc_list, ACTION_OK_DL_LOAD_DISC_LIST)
DEFAULT_ACTION_OK_FUNC(action_ok_open_archive, ACTION_OK_DL_OPEN_ARCHIVE)
@ -7425,6 +7429,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
{MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS, action_ok_push_accounts_cheevos_list},
{MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, action_ok_push_accounts_youtube_list},
{MENU_ENUM_LABEL_ACCOUNTS_TWITCH, action_ok_push_accounts_twitch_list},
{MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, action_ok_push_accounts_facebook_list},
{MENU_ENUM_LABEL_DUMP_DISC, action_ok_push_dump_disc_list},
{MENU_ENUM_LABEL_LOAD_DISC, action_ok_push_load_disc_list},
{MENU_ENUM_LABEL_SHADER_OPTIONS, action_ok_push_default},

View File

@ -502,6 +502,7 @@ DEFAULT_TITLE_MACRO(action_get_quick_menu_override_options, MENU_ENUM_LABEL_
DEFAULT_TITLE_MACRO(action_get_user_accounts_cheevos_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS)
DEFAULT_TITLE_MACRO(action_get_user_accounts_youtube_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE)
DEFAULT_TITLE_MACRO(action_get_user_accounts_twitch_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH)
DEFAULT_TITLE_MACRO(action_get_user_accounts_facebook_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK)
DEFAULT_TITLE_MACRO(action_get_download_core_content_list, MENU_ENUM_LABEL_VALUE_DOWNLOAD_CORE_CONTENT)
DEFAULT_TITLE_MACRO(action_get_user_accounts_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_LIST)
DEFAULT_TITLE_MACRO(action_get_core_list, MENU_ENUM_LABEL_VALUE_CORE_LIST)
@ -921,6 +922,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
{MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, action_get_crt_switchres_settings_list},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST, action_get_user_accounts_twitch_list},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST, action_get_user_accounts_youtube_list},
{MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST, action_get_user_accounts_facebook_list},
{MENU_ENUM_LABEL_ONLINE_UPDATER, action_get_online_updater_list},
{MENU_ENUM_LABEL_DEFERRED_RECORDING_SETTINGS_LIST, action_get_recording_settings_list},
{MENU_ENUM_LABEL_DEFERRED_VIDEO_SCALING_SETTINGS_LIST, action_get_video_scaling_settings_list},
@ -1466,6 +1468,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_user_accounts_youtube_list);
break;
case MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_user_accounts_facebook_list);
break;
case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_LIST:
case MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_SUBDIR_LIST:
BIND_ACTION_GET_TITLE(cbs, action_get_download_core_content_list);

View File

@ -10137,6 +10137,7 @@ static void materialui_list_insert(
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_TWITCH)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_BLUETOOTH_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_WIFI_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_SETTINGS)) ||

View File

@ -124,6 +124,7 @@ enum
ACTION_OK_DL_ACCOUNTS_CHEEVOS_LIST,
ACTION_OK_DL_ACCOUNTS_YOUTUBE_LIST,
ACTION_OK_DL_ACCOUNTS_TWITCH_LIST,
ACTION_OK_DL_ACCOUNTS_FACEBOOK_LIST,
ACTION_OK_DL_USER_BINDS_LIST,
ACTION_OK_DL_CONTENT_LIST,
ACTION_OK_DL_REMAP_FILE,

View File

@ -7156,6 +7156,12 @@ unsigned menu_displaylist_build_list(
PARSE_ONLY_STRING, false) == 0)
count++;
break;
case DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST:
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list,
MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY,
PARSE_ONLY_STRING, false) == 0)
count++;
break;
case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
{
settings_t *settings = config_get_ptr();
@ -7606,6 +7612,7 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS, PARSE_ACTION},
{MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE, PARSE_ACTION},
{MENU_ENUM_LABEL_ACCOUNTS_TWITCH, PARSE_ACTION},
{MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK, PARSE_ACTION},
};
for (i = 0; i < ARRAY_SIZE(build_list); i++)
@ -11068,6 +11075,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_ACCOUNTS_TWITCH_LIST:
case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
case DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST:
case DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST:
case DISPLAYLIST_RECORDING_SETTINGS_LIST:
case DISPLAYLIST_CHEAT_DETAILS_SETTINGS_LIST:
case DISPLAYLIST_CHEAT_SEARCH_SETTINGS_LIST:

View File

@ -207,6 +207,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST,
DISPLAYLIST_ACCOUNTS_YOUTUBE_LIST,
DISPLAYLIST_ACCOUNTS_TWITCH_LIST,
DISPLAYLIST_ACCOUNTS_FACEBOOK_LIST,
DISPLAYLIST_BROWSE_URL_LIST,
DISPLAYLIST_BROWSE_URL_START,
DISPLAYLIST_LOAD_CONTENT_LIST,

View File

@ -296,6 +296,7 @@ enum settings_list_type
SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS,
SETTINGS_LIST_USER_ACCOUNTS_YOUTUBE,
SETTINGS_LIST_USER_ACCOUNTS_TWITCH,
SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK,
SETTINGS_LIST_DIRECTORY,
SETTINGS_LIST_PRIVACY,
SETTINGS_LIST_MIDI,
@ -2855,6 +2856,9 @@ static void setting_get_string_representation_streaming_mode(
case STREAMING_MODE_YOUTUBE:
strcpy_literal(s, "YouTube");
break;
case STREAMING_MODE_FACEBOOK:
strcpy_literal(s, "Facebook Gaming");
break;
case STREAMING_MODE_LOCAL:
strlcpy(s, "Local", len);
break;
@ -18132,6 +18136,14 @@ static bool setting_append_list(
&group_info,
&subgroup_info,
parent_group);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_ACCOUNTS_FACEBOOK,
MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK,
&group_info,
&subgroup_info,
parent_group);
#endif
END_SUB_GROUP(list, list_info, parent_group);
@ -18193,6 +18205,34 @@ static bool setting_append_list(
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);
break;
case SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK:
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
CONFIG_STRING(
list, list_info,
settings->arrays.facebook_stream_key,
sizeof(settings->arrays.facebook_stream_key),
MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY,
MENU_ENUM_LABEL_VALUE_FACEBOOK_STREAM_KEY,
"",
&group_info,
&subgroup_info,
parent_group,
update_streaming_url_write_handler,
general_read_handler);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ALLOW_INPUT);
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_STRING_LINE_EDIT;
(*list)[list_info->index - 1].action_start = setting_generic_action_start_default;
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);
break;
case SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS:
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_CHEEVOS_SETTINGS),
@ -19072,6 +19112,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf
SETTINGS_LIST_USER_ACCOUNTS_CHEEVOS,
SETTINGS_LIST_USER_ACCOUNTS_YOUTUBE,
SETTINGS_LIST_USER_ACCOUNTS_TWITCH,
SETTINGS_LIST_USER_ACCOUNTS_FACEBOOK,
SETTINGS_LIST_DIRECTORY,
SETTINGS_LIST_PRIVACY,
SETTINGS_LIST_MIDI,

View File

@ -501,6 +501,7 @@ enum msg_hash_enums
MENU_LABEL(ADD_TO_MIXER_AND_COLLECTION_AND_PLAY),
MENU_LABEL(TWITCH_STREAM_KEY),
MENU_LABEL(YOUTUBE_STREAM_KEY),
MENU_LABEL(FACEBOOK_STREAM_KEY),
MENU_ENUM_LABEL_MENU_TOGGLE,
MENU_LABEL(FILTER_BY_CURRENT_CORE),
@ -1362,6 +1363,7 @@ enum msg_hash_enums
MENU_LABEL(ACCOUNTS_RETRO_ACHIEVEMENTS),
MENU_LABEL(ACCOUNTS_TWITCH),
MENU_LABEL(ACCOUNTS_YOUTUBE),
MENU_LABEL(ACCOUNTS_FACEBOOK),
MENU_LABEL(ACCOUNTS_LIST),
@ -1520,6 +1522,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_CHEEVOS_LIST,
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_TWITCH_LIST,
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_YOUTUBE_LIST,
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_FACEBOOK_LIST,
MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST,
MENU_ENUM_LABEL_DEFERRED_INFORMATION,
MENU_ENUM_LABEL_DEFERRED_MANUAL_CONTENT_SCAN_LIST,

View File

@ -760,7 +760,8 @@ static bool ffmpeg_init_config_common(struct ff_config_param *params,
else
params->scale_factor = 1;
if ( streaming_mode == STREAMING_MODE_YOUTUBE ||
streaming_mode == STREAMING_MODE_TWITCH)
streaming_mode == STREAMING_MODE_TWITCH ||
streaming_mode == STREAMING_MODE_FACEBOOK)
strlcpy(params->format, "flv", sizeof(params->format));
else
strlcpy(params->format, "mpegts", sizeof(params->format));

View File

@ -19799,6 +19799,7 @@ void recording_driver_update_streaming_url(void)
settings_t *settings = p_rarch->configuration_settings;
const char *youtube_url = "rtmp://a.rtmp.youtube.com/live2/";
const char *twitch_url = "rtmp://live.twitch.tv/app/";
const char *facebook_url = "rtmps://live-api-s.facebook.com:443/rtmp/";
if (!settings)
return;
@ -19826,7 +19827,7 @@ void recording_driver_update_streaming_url(void)
settings->arrays.youtube_stream_key,
sizeof(settings->paths.path_stream_url));
}
break;
break;
case STREAMING_MODE_LOCAL:
/* TODO: figure out default interface and bind to that instead */
snprintf(settings->paths.path_stream_url, sizeof(settings->paths.path_stream_url),
@ -19836,6 +19837,17 @@ void recording_driver_update_streaming_url(void)
default:
/* Do nothing, let the user input the URL */
break;
case STREAMING_MODE_FACEBOOK:
if (!string_is_empty(settings->arrays.facebook_stream_key))
{
strlcpy(settings->paths.path_stream_url,
facebook_url,
sizeof(settings->paths.path_stream_url));
strlcat(settings->paths.path_stream_url,
settings->arrays.facebook_stream_key,
sizeof(settings->paths.path_stream_url));
}
break;
}
}

View File

@ -627,6 +627,7 @@ enum streaming_mode
{
STREAMING_MODE_TWITCH = 0,
STREAMING_MODE_YOUTUBE,
STREAMING_MODE_FACEBOOK,
STREAMING_MODE_LOCAL,
STREAMING_MODE_CUSTOM
};

View File

@ -47,6 +47,7 @@ QWidget *AccountsPage::widget()
QVBoxLayout *layout = new QVBoxLayout;
SettingsGroup *youtubeGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE));
SettingsGroup *twitchGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_TWITCH));
SettingsGroup *facebookGamingGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_FACEBOOK_GAMING));
#ifdef HAVE_CHEEVOS
SettingsGroup *cheevosGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS));
@ -64,6 +65,10 @@ QWidget *AccountsPage::widget()
layout->addWidget(twitchGroup);
facebookGroup->add(MENU_ENUM_LABEL_FACEBOOK_STREAM_KEY);
layout->addWidget(facebookGroup);
layout->addStretch();
widget->setLayout(layout);