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_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_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_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);
|
SETTING_BOOL("discord_allow", &settings->bools.discord_enable, true, false, false);
|
||||||
#ifdef HAVE_MIST
|
#ifdef HAVE_MIST
|
||||||
SETTING_BOOL("steam_rich_presence_enable", &settings->bools.steam_rich_presence_enable, true, false, false);
|
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_destructive;
|
||||||
bool cloud_sync_sync_saves;
|
bool cloud_sync_sync_saves;
|
||||||
bool cloud_sync_sync_configs;
|
bool cloud_sync_sync_configs;
|
||||||
|
bool cloud_sync_sync_thumbs;
|
||||||
|
bool cloud_sync_sync_system;
|
||||||
|
|
||||||
/* Misc. */
|
/* Misc. */
|
||||||
bool discord_enable;
|
bool discord_enable;
|
||||||
|
|
|
@ -3644,6 +3644,14 @@ MSG_HASH(
|
||||||
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
||||||
"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(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER,
|
MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER,
|
||||||
"cloud_sync_driver"
|
"cloud_sync_driver"
|
||||||
|
|
|
@ -1252,6 +1252,14 @@ MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_CONFIGS,
|
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_CONFIGS,
|
||||||
"Sync: Configuration Files"
|
"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(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SAVES,
|
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_SAVES,
|
||||||
"When enabled, saves/states will be synced to cloud."
|
"When enabled, saves/states will be synced to cloud."
|
||||||
|
@ -1260,6 +1268,14 @@ MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_CONFIGS,
|
||||||
"When enabled, configuration files will be synced to cloud."
|
"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(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE,
|
MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE,
|
||||||
"When disabled, files are moved to a backup folder before being overwritten or deleted."
|
"When disabled, files are moved to a backup folder before being overwritten or deleted."
|
||||||
|
|
|
@ -261,6 +261,8 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_enable, MENU_
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_destructive, MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE)
|
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_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_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_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_url, MENU_ENUM_SUBLABEL_CLOUD_SYNC_URL)
|
||||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cloud_sync_username, MENU_ENUM_SUBLABEL_CLOUD_SYNC_USERNAME)
|
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:
|
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_sync_configs);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_sync_configs);
|
||||||
break;
|
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:
|
case MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_driver);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cloud_sync_driver);
|
||||||
break;
|
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_DESTRUCTIVE, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SAVES, 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_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_DRIVER, PARSE_ONLY_STRING_OPTIONS, true},
|
||||||
{MENU_ENUM_LABEL_CLOUD_SYNC_URL, PARSE_ONLY_STRING, false},
|
{MENU_ENUM_LABEL_CLOUD_SYNC_URL, PARSE_ONLY_STRING, false},
|
||||||
{MENU_ENUM_LABEL_CLOUD_SYNC_USERNAME, 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,
|
general_read_handler,
|
||||||
SD_FLAG_NONE);
|
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(
|
CONFIG_STRING_OPTIONS(
|
||||||
list, list_info,
|
list, list_info,
|
||||||
settings->arrays.cloud_sync_driver,
|
settings->arrays.cloud_sync_driver,
|
||||||
|
|
|
@ -3236,6 +3236,8 @@ enum msg_hash_enums
|
||||||
MENU_LABEL(CLOUD_SYNC_DESTRUCTIVE),
|
MENU_LABEL(CLOUD_SYNC_DESTRUCTIVE),
|
||||||
MENU_LABEL(CLOUD_SYNC_SYNC_SAVES),
|
MENU_LABEL(CLOUD_SYNC_SYNC_SAVES),
|
||||||
MENU_LABEL(CLOUD_SYNC_SYNC_CONFIGS),
|
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_DRIVER),
|
||||||
MENU_LABEL(CLOUD_SYNC_URL),
|
MENU_LABEL(CLOUD_SYNC_URL),
|
||||||
MENU_LABEL(CLOUD_SYNC_USERNAME),
|
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);
|
string_list_append(list, "states", attr);
|
||||||
list->elems[list->size - 1].userdata = strdup(dir_get_ptr(RARCH_DIR_SAVESTATE));
|
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;
|
return list;
|
||||||
|
|
Loading…
Reference in New Issue