mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
cloud sync: add options to sync thumbnails and system files, default off (#16869)
This commit is contained in:
parent
9c5a95a126
commit
12def933dc
@ -1784,6 +1784,8 @@ static struct config_bool_setting *populate_settings_bool(
|
||||
SETTING_BOOL("cloud_sync_destructive", &settings->bools.cloud_sync_destructive, true, false, false);
|
||||
SETTING_BOOL("cloud_sync_sync_saves", &settings->bools.cloud_sync_sync_saves, true, true, false);
|
||||
SETTING_BOOL("cloud_sync_sync_configs", &settings->bools.cloud_sync_sync_configs, true, true, false);
|
||||
SETTING_BOOL("cloud_sync_sync_thumbs", &settings->bools.cloud_sync_sync_thumbs, true, false, false);
|
||||
SETTING_BOOL("cloud_sync_sync_system", &settings->bools.cloud_sync_sync_system, true, false, false);
|
||||
SETTING_BOOL("discord_allow", &settings->bools.discord_enable, true, false, false);
|
||||
#ifdef HAVE_MIST
|
||||
SETTING_BOOL("steam_rich_presence_enable", &settings->bools.steam_rich_presence_enable, true, false, false);
|
||||
|
@ -964,6 +964,8 @@ typedef struct settings
|
||||
bool cloud_sync_destructive;
|
||||
bool cloud_sync_sync_saves;
|
||||
bool cloud_sync_sync_configs;
|
||||
bool cloud_sync_sync_thumbs;
|
||||
bool cloud_sync_sync_system;
|
||||
|
||||
/* Misc. */
|
||||
bool discord_enable;
|
||||
|
@ -3643,7 +3643,15 @@ MSG_HASH(
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
||||
"cloud_sync_sync_configs"
|
||||
)
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_THUMBS,
|
||||
"cloud_sync_sync_thumbs"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM,
|
||||
"cloud_sync_sync_system"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER,
|
||||
"cloud_sync_driver"
|
||||
|
@ -1251,7 +1251,15 @@ MSG_HASH(
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_CONFIGS,
|
||||
"Sync: Configuration Files"
|
||||
)
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_THUMBS,
|
||||
"Sync: Thumbnail Images"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_SYSTEM,
|
||||
"Sync: System Files"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SAVES,
|
||||
"When enabled, saves/states will be synced to cloud."
|
||||
@ -1260,10 +1268,18 @@ MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
||||
"When enabled, configuration files will be synced to cloud."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_THUMBS,
|
||||
"When enabled, thumbnail images will be synced to cloud. Not generally recommended except for large collections of custom thumbnail images; otherwise the thumbnail downloader is a better choice."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SYSTEM,
|
||||
"When enabled, system files will be synced to cloud. This can significantly increase the time it takes to sync; use with caution."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE,
|
||||
"When disabled, files are moved to a backup folder before being overwritten or deleted."
|
||||
)
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_DRIVER,
|
||||
"Cloud Sync Backend"
|
||||
|
@ -259,8 +259,10 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_saving_settings_list, MENU_
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_settings_list, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SETTINGS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_enable, MENU_ENUM_SUBLABEL_CLOUD_SYNC_ENABLE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_destructive, MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_saves, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SAVES)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_configs, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_CONFIGS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_saves, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SAVES)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_configs, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_CONFIGS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_thumbs, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_THUMBS)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_sync_system, MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SYSTEM)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_driver, MENU_ENUM_SUBLABEL_CLOUD_SYNC_DRIVER)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_url, MENU_ENUM_SUBLABEL_CLOUD_SYNC_URL)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_username, MENU_ENUM_SUBLABEL_CLOUD_SYNC_USERNAME)
|
||||
@ -5064,6 +5066,12 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_sync_configs);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_THUMBS:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_sync_thumbs);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_sync_system);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_driver);
|
||||
break;
|
||||
|
@ -10710,6 +10710,8 @@ unsigned menu_displaylist_build_list(
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_DESTRUCTIVE, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SAVES, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_THUMBS, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM, PARSE_ONLY_BOOL, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER, PARSE_ONLY_STRING_OPTIONS, true},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_URL, PARSE_ONLY_STRING, false},
|
||||
{MENU_ENUM_LABEL_CLOUD_SYNC_USERNAME, PARSE_ONLY_STRING, false},
|
||||
|
@ -11891,6 +11891,36 @@ static bool setting_append_list(
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE);
|
||||
|
||||
CONFIG_BOOL(
|
||||
list, list_info,
|
||||
&settings->bools.cloud_sync_sync_thumbs,
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_THUMBS,
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_THUMBS,
|
||||
false,
|
||||
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.cloud_sync_sync_system,
|
||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM,
|
||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_SYSTEM,
|
||||
false,
|
||||
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_STRING_OPTIONS(
|
||||
list, list_info,
|
||||
settings->arrays.cloud_sync_driver,
|
||||
|
@ -3236,6 +3236,8 @@ enum msg_hash_enums
|
||||
MENU_LABEL(CLOUD_SYNC_DESTRUCTIVE),
|
||||
MENU_LABEL(CLOUD_SYNC_SYNC_SAVES),
|
||||
MENU_LABEL(CLOUD_SYNC_SYNC_CONFIGS),
|
||||
MENU_LABEL(CLOUD_SYNC_SYNC_THUMBS),
|
||||
MENU_LABEL(CLOUD_SYNC_SYNC_SYSTEM),
|
||||
MENU_LABEL(CLOUD_SYNC_DRIVER),
|
||||
MENU_LABEL(CLOUD_SYNC_URL),
|
||||
MENU_LABEL(CLOUD_SYNC_USERNAME),
|
||||
|
@ -339,6 +339,20 @@ static struct string_list *task_cloud_sync_directory_map(void)
|
||||
string_list_append(list, "states", attr);
|
||||
list->elems[list->size - 1].userdata = strdup(dir_get_ptr(RARCH_DIR_SAVESTATE));
|
||||
}
|
||||
|
||||
if (settings->bools.cloud_sync_sync_thumbs)
|
||||
{
|
||||
string_list_append(list, "thumbnails", attr);
|
||||
strlcpy(dir, settings->paths.directory_thumbnails, sizeof(dir));
|
||||
list->elems[list->size - 1].userdata = strdup(dir);
|
||||
}
|
||||
|
||||
if (settings->bools.cloud_sync_sync_system)
|
||||
{
|
||||
string_list_append(list, "system", attr);
|
||||
strlcpy(dir, settings->paths.directory_system, sizeof(dir));
|
||||
list->elems[list->size - 1].userdata = strdup(dir);
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
|
Loading…
x
Reference in New Issue
Block a user