Skip to content

Commit 5048003

Browse files
committed
Add cloudsync "sync now" button and related settings (cloudsync startup)
1 parent 09a7ec7 commit 5048003

12 files changed

Lines changed: 91 additions & 5 deletions

command.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ enum event_command
149149
CMD_EVENT_VIDEO_SET_ASPECT_RATIO,
150150
/* Restarts RetroArch. */
151151
CMD_EVENT_RESTART_RETROARCH,
152+
#ifdef HAVE_CLOUDSYNC
153+
/* Trigger cloud sync */
154+
CMD_EVENT_CLOUD_SYNC,
155+
#endif
152156
/* Shutdown the OS */
153157
CMD_EVENT_SHUTDOWN,
154158
/* Reboot the OS */

configuration.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1823,6 +1823,7 @@ static struct config_bool_setting *populate_settings_bool(
18231823
SETTING_BOOL("cloud_sync_sync_configs", &settings->bools.cloud_sync_sync_configs, true, true, false);
18241824
SETTING_BOOL("cloud_sync_sync_thumbs", &settings->bools.cloud_sync_sync_thumbs, true, false, false);
18251825
SETTING_BOOL("cloud_sync_sync_system", &settings->bools.cloud_sync_sync_system, true, false, false);
1826+
SETTING_BOOL("cloud_sync_startup_sync", &settings->bools.cloud_sync_startup_sync, true, true, false);
18261827
SETTING_BOOL("discord_allow", &settings->bools.discord_enable, true, false, false);
18271828
#ifdef HAVE_MIST
18281829
SETTING_BOOL("steam_rich_presence_enable", &settings->bools.steam_rich_presence_enable, true, false, false);

configuration.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,7 @@ typedef struct settings
10001000
bool cloud_sync_sync_configs;
10011001
bool cloud_sync_sync_thumbs;
10021002
bool cloud_sync_sync_system;
1003+
bool cloud_sync_startup_sync;
10031004

10041005
/* Misc. */
10051006
bool discord_enable;

intl/msg_hash_lbl.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3018,6 +3018,10 @@ MSG_HASH(
30183018
MENU_ENUM_LABEL_QUIT_RETROARCH,
30193019
"quit_retroarch"
30203020
)
3021+
MSG_HASH(
3022+
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW,
3023+
"cloud_sync_sync_now"
3024+
)
30213025
MSG_HASH(
30223026
MENU_ENUM_LABEL_RDB_ENTRY,
30233027
"rdb_entry"
@@ -3706,6 +3710,10 @@ MSG_HASH(
37063710
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM,
37073711
"cloud_sync_sync_system"
37083712
)
3713+
MSG_HASH(
3714+
MENU_ENUM_LABEL_CLOUD_SYNC_STARTUP_SYNC,
3715+
"cloud_sync_startup_sync"
3716+
)
37093717
MSG_HASH(
37103718
MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER,
37113719
"cloud_sync_driver"

intl/msg_hash_us.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,14 @@ MSG_HASH(
217217
MENU_ENUM_SUBLABEL_QUIT_RETROARCH,
218218
"Quit RetroArch application. Configuration save on exit is enabled."
219219
)
220+
MSG_HASH(
221+
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_NOW,
222+
"Sync Now"
223+
)
224+
MSG_HASH(
225+
MENU_ENUM_SUBLABEL_CLOUD_SYNC_SYNC_NOW,
226+
"Manually trigger cloud synchronization."
227+
)
220228
MSG_HASH(
221229
MENU_ENUM_SUBLABEL_QUIT_RETROARCH_NOSAVE,
222230
"Quit RetroArch application. Configuration save on exit is disabled."
@@ -1344,6 +1352,14 @@ MSG_HASH(
13441352
MENU_ENUM_SUBLABEL_CLOUD_SYNC_DESTRUCTIVE,
13451353
"When disabled, files are moved to a backup folder before being overwritten or deleted."
13461354
)
1355+
MSG_HASH(
1356+
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_STARTUP_SYNC,
1357+
"Sync on startup"
1358+
)
1359+
MSG_HASH(
1360+
MENU_ENUM_SUBLABEL_CLOUD_SYNC_STARTUP_SYNC,
1361+
"When enabled, automatically sync with cloud storage when RetroArch starts."
1362+
)
13471363
MSG_HASH(
13481364
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_DRIVER,
13491365
"Cloud Sync Backend"

menu/drivers/materialui.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10750,6 +10750,17 @@ static int materialui_list_push(void *data, void *userdata,
1075010750
}
1075110751
#endif
1075210752

10753+
#if defined(HAVE_CLOUDSYNC)
10754+
if (settings->bools.cloud_sync_enable)
10755+
{
10756+
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
10757+
info->list,
10758+
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW,
10759+
PARSE_ACTION,
10760+
false);
10761+
}
10762+
#endif
10763+
1075310764
#if defined(HAVE_NETWORKING)
1075410765
#ifdef HAVE_LAKKA
1075510766
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
@@ -12032,6 +12043,7 @@ static void materialui_list_insert(void *userdata,
1203212043
}
1203312044
else if ( string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_QUIT_RETROARCH))
1203412045
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RESTART_RETROARCH))
12046+
|| string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW))
1203512047
)
1203612048
{
1203712049
node->icon_texture_index = MUI_TEXTURE_QUIT;

menu/drivers/ozone.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2239,6 +2239,7 @@ static uintptr_t ozone_entries_icon_get_texture(
22392239
case MENU_ENUM_LABEL_CHEAT_COPY_BEFORE:
22402240
case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
22412241
case MENU_ENUM_LABEL_RESTART_RETROARCH:
2242+
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW:
22422243
case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS:
22432244
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST:
22442245
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST:

menu/drivers/xmb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3409,6 +3409,7 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
34093409
case MENU_ENUM_LABEL_CHEAT_COPY_BEFORE:
34103410
case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
34113411
case MENU_ENUM_LABEL_RESTART_RETROARCH:
3412+
case MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW:
34123413
case MENU_ENUM_LABEL_FRAME_TIME_COUNTER_SETTINGS:
34133414
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_CLEAN_PLAYLIST:
34143415
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_REFRESH_PLAYLIST:

menu/menu_displaylist.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11066,6 +11066,7 @@ unsigned menu_displaylist_build_list(
1106611066
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_CONFIGS, PARSE_ONLY_BOOL, true},
1106711067
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_THUMBS, PARSE_ONLY_BOOL, true},
1106811068
{MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_SYSTEM, PARSE_ONLY_BOOL, true},
11069+
{MENU_ENUM_LABEL_CLOUD_SYNC_STARTUP_SYNC, PARSE_ONLY_BOOL, true},
1106911070
{MENU_ENUM_LABEL_CLOUD_SYNC_DRIVER, PARSE_ONLY_STRING_OPTIONS, true},
1107011071
{MENU_ENUM_LABEL_CLOUD_SYNC_URL, PARSE_ONLY_STRING, false},
1107111072
{MENU_ENUM_LABEL_CLOUD_SYNC_USERNAME, PARSE_ONLY_STRING, false},
@@ -15242,6 +15243,15 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
1524215243
#endif /* HAVE_LAKKA */
1524315244
#endif /* HAVE_CDROM */
1524415245

15246+
#if defined(HAVE_CLOUDSYNC)
15247+
if (settings->bools.cloud_sync_enable)
15248+
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
15249+
info->list,
15250+
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW,
15251+
PARSE_ACTION, false) == 0)
15252+
count++;
15253+
#endif
15254+
1524515255
if (show_playlists)
1524615256
if (menu_entries_append(info->list,
1524715257
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB),

menu/menu_setting.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10138,6 +10138,17 @@ static bool setting_append_list(
1013810138
}
1013910139
#endif
1014010140

10141+
#ifdef HAVE_CLOUDSYNC
10142+
CONFIG_ACTION(
10143+
list, list_info,
10144+
MENU_ENUM_LABEL_CLOUD_SYNC_SYNC_NOW,
10145+
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_SYNC_NOW,
10146+
&group_info,
10147+
&subgroup_info,
10148+
parent_group);
10149+
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_CLOUD_SYNC);
10150+
#endif
10151+
1014110152
CONFIG_ACTION(
1014210153
list, list_info,
1014310154
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
@@ -11793,6 +11804,21 @@ static bool setting_append_list(
1179311804
general_read_handler,
1179411805
SD_FLAG_NONE);
1179511806

11807+
CONFIG_BOOL(
11808+
list, list_info,
11809+
&settings->bools.cloud_sync_startup_sync,
11810+
MENU_ENUM_LABEL_CLOUD_SYNC_STARTUP_SYNC,
11811+
MENU_ENUM_LABEL_VALUE_CLOUD_SYNC_STARTUP_SYNC,
11812+
true,
11813+
MENU_ENUM_LABEL_VALUE_OFF,
11814+
MENU_ENUM_LABEL_VALUE_ON,
11815+
&group_info,
11816+
&subgroup_info,
11817+
parent_group,
11818+
general_write_handler,
11819+
general_read_handler,
11820+
SD_FLAG_NONE);
11821+
1179611822
CONFIG_STRING_OPTIONS(
1179711823
list, list_info,
1179811824
settings->arrays.cloud_sync_driver,

0 commit comments

Comments
 (0)