Eugene Sandulenko
fab199d37e
JANITORIAL: Make GPL headers uniform
2016-09-03 12:46:38 +02:00
Alexander Tkachev
37859a9203
CLOUD: Fix Requests
...
Remove unnecessary JSON warnings, fix a few places.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
bb529e6fd0
CLOUD: Update SavesSyncRequest
...
Add JSON checks in the callback.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
15c6772ff7
ALL: Fix debug, warning and error usage
...
Added prefixes, used debug(9).
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
d57fca4665
CLOUD: JANITORIAL: Fix code formatting
2016-08-24 16:07:55 +06:00
Peter Bozsó
9254df2d96
CLOUD: Fix code formatting
2016-08-24 16:07:55 +06:00
Alexander Tkachev
438ba985a4
JANITORIAL: Remove spaces at the end of the line
...
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b180c73675
CLOUD: Do some refactoring/cleanup
...
Nothing really major.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
5cbb3e8705
CLOUD: Add Storage::uploadStreamSupported()
...
Box uses POST multipart/form requests for uploading. Such requests could
be sent with libcurl if we either have a file available or a buffer with
this file's contents.
SavesSyncRequest was using Storage::upload(ReadStream *), which couldn't
be implemented in BoxStorage. Thus I've added a method to test whether
such upload is supported and, if it's not, SavesSyncRequest uses the
other.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f3a392359b
CLOUD: Fix finishSuccess() warning
2016-08-24 16:07:55 +06:00
Alexander Tkachev
4c381dafa3
CLOUD: Delete the incomplete file (when downloading)
2016-08-24 16:07:55 +06:00
Alexander Tkachev
65e87c6c70
CLOUD: Update save's timestamp on rewrite
...
This commit moves save/load timestamps static methods into
DefaultSaveFileManager and fixes a few related bugs.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3e6503743c
CLOUD: Add Request::date()
...
Used in SavesSyncRequest to update Storage's last sync date.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e6242b0be8
GUI: Add Refresh button in Options Cloud tab
...
Commit changes CloudManager and Storages so they would automatically
refresh the fields when the could.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
60add0df1b
CLOUD: Update Requests to use StorageFile::id()
...
Only two places to update, as others still require id resolving.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
bf71ba9a1c
CLOUD: Update GoogleDriveCreateDirectoryRequest
...
Now it also creates the "base" ScummVM directory if there is no such
directory yet. This way SavesSyncRequest works fine when no "ScummVM" or
"ScummVM/Saves" folder exist in the Google Drive.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b614869de8
CLOUD: Minor fixes
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6c5a8f34ea
CLOUD: Add SaveLoadCloudSyncProgress enum
...
It's common for Save/Load dialogs and SavesSyncRequest.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
9eb4aad7fd
CLOUD: Make DefaultSaveFileManager ignore syncing files
...
MetaEngines don't get "locked" files in the list, so won't try to open
these.
Save/Load dialog updates save list every time SavesSyncRequest tells it
to.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0ce7be17d3
CLOUD: Make ProgressDialog display downloading progress
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e9721976aa
GUI: Add SaveLoadCloudSyncProgressDialog
...
It's shown by SaveLoadChooserDialog when files are downloaded and some
save slots are locked. One can hide that dialog to interact with
non-locked slots or cancel saves sync completely. Dialog's label shows
current sync progress.
Dialog automatically hides itself when all files are downloaded.
WARNING: right now that results in a crash!
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e7763700e2
CLOUD: Make Save/Load dialog start saves sync
...
It also shows a "sync disabled" icon in case it has a savepath override.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
5a695040d8
CLOUD: Fix SavesSyncRequest to return right files
...
Files we need are files to be downloaded, because that's what blocks us
from reading/writing in those.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e98b0b12ad
CLOUD: Extend Storage & SavesSyncRequest
...
Now one can learn whether SavesSyncRequest is running, its progress and
which files are being synced.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1c823b6c1d
CLOUD: Fix SavesSyncRequest
...
Now it would finish with error if spawned Request is nullptr.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
06163cb8b9
CLOUD: Fix SavesSyncRequest to create saves folder
2016-08-24 16:07:55 +06:00
Alexander Tkachev
4e7dec5500
CLOUD: Add DropboxCreateDirectoryRequest
...
Also add CloudManager::testFeature(), because syncSaves() now works fine
and I don't want to break it again and again with my testing requests.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3638c8348d
CLOUD: Make SavesSyncRequest work with OneDrive
...
It actually works fine, but small Storage::savesDirectoryPath() was
added, because Dropbox's directories must start with a slash, and
OneDrive's directories must not.
Saves sync tested and it works fine with OneDrive.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
eb63b50b7f
CLOUD: Refactor Request
...
Added ErrorResponse and ErrorCallback. Each Request now has an
ErrorCallback, which should be called instead of usual callback in case
of failure.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
af37ecca34
CLOUD: Make SavesSyncRequest work
...
It now actually read the "timestamps" file, loads and saves files as it
should, ignores Dropbox's "not_found" error.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
aa987e5c52
CLOUD: Add ListDirectoryStatus struct
...
It contains flags to indicate whether Request was interrupted or failed,
so dependent Requests may see that list is incomplete.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b9e3730ccd
CLOUD: Add UploadStatus struct
...
It contains not just "success" flag, but also "file" struct, so the
caller can find out some information about uploaded file - like
timestamp.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c235aa29f9
CLOUD: Add SavesSyncRequest sketch
...
Never tested it, actually. It requires Storage to implement upload()
method and me to find some way to get saves' ReadStream.
The saveTimestamps() and loadTimestamps() part should be tested, other
parts should work fine.
2016-08-24 16:07:55 +06:00