Alexander Tkachev
0c1c274abd
CLOUD: Fix OneDriveUploadRequest
...
OneDrive doesn't accept empty files, so UploadRequest just skips such.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d0c54cdd64
CLOUD: Fix DropboxCreateDirectoryRequest
...
It now calls success callback with `false` on Dropbox's
"path/conflict/folder", indicating that the directory already exists.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
55568d757c
CLOUD: Move Dropbox to API v2
...
We had a few places where their deprecated API v1 was used.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
36b381e411
CLOUD: Make "/create" support AJAX
...
Now creating directories doesn't refresh the "/filesAJAX" page.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
da229dd84c
CLOUD: Add "ajax" parameter for "/create" and "/upload"
...
If it's set, these redirect to "/filesAJAX" instead of "/files".
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e6caa482e1
CLOUD: Add messages in "/filesAJAX"
2016-08-24 16:07:55 +06:00
Alexander Tkachev
cd6d45ecf8
CLOUD: Minor "/filesAJAX" fix
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6442dad710
CLOUD: Add "breadcrumbs" in "/filesAJAX"
2016-08-24 16:07:55 +06:00
Alexander Tkachev
09ae2f7593
CLOUD: Add "/filesAJAX" sketch
...
It works already, but still requires some polishing.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
5163fb4e02
CLOUD: Add ListAjaxHandler
...
"/list" now returns JSON with directory information. Would be used in
AJAX-based Files Manager.
2016-08-24 16:07:55 +06:00
Peter Bozsó
b616cc3d57
CLOUD: Fix indentation in openurl-osx.cpp
2016-08-24 16:07:55 +06:00
Peter Bozsó
18fc113aa9
CLOUD: Add URL opening for OS X
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6c0f491c4f
CLOUD: Add "Index of" label in server's "/files"
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ded8cdf0a0
CLOUD: Add openurl-android.cpp
2016-08-24 16:07:55 +06:00
Alexander Tkachev
06ccfd4b9a
CLOUD: Add icons in "/files" list
2016-08-24 16:07:55 +06:00
Alexander Tkachev
626d85ea49
CLOUD: Fix module.mk for openurl-default.o
...
It's now added to all the backends manually.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1b56f59add
GUI: Update DownloadDialog
...
It now has download size and speed labels.
Commit also fixes minor mistake in ConnMan.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c431ae6d84
CLOUD: Calculate FolderDownload download speed
2016-08-24 16:07:55 +06:00
Alexander Tkachev
85adefdb86
CLOUD: Update FolderDownloadRequest::getProgress()
...
It now is based on downloaded size, not number of files.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
479c76bbd2
CLOUD: Fix IdDownloadRequest
...
Wrong value was returned in getProgress() on nullptr there.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0ca7917093
CLOUD: Update FolderDownloadRequest
...
It now keeps track of downloaded bytes.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ca33c0a0a8
CLOUD: Fix FolderDownloadRequest
...
It now sends kDownloadEndedCmd on success without waiting to be
destructed.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d863dad055
CLOUD: Fix FolderDownloadRequest::getProgress()
...
Now it doesn't stop on 100 % on last file and it ignores the
directories, so it doesn't "jump" suddenly as there are no directories
to skip.
2016-08-24 16:07:55 +06:00
Peter Bozsó
7951a2ea16
CLOUD: Rename _files to _pendingFiles in FolderDownloadRequest
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d8a43cf290
CLOUD: Add openUrl() for POSIX
2016-08-24 16:07:55 +06:00
Alexander Tkachev
990dee3c4f
CLOUD: Add Networking::Browser::openUrl() sketch
...
Only Windows' shellExecute() now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
dfd68306de
CLOUD: Upgrade FolderDownloadRequest::getProgress()
...
Now NetworkReadStream, which is used in DownloadRequest, which is used
in FolderDownloadRequest, returns progress information provided by
libcurl.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e25338ec24
CLOUD: Update CurlJsonRequest
...
Uses dynamically allocated buffer now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1a53dccf51
CLOUD: Update DownloadRequest
...
It now uses a dynamically allocated 1 MB buffer.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b4e9e35e07
CLOUD: Cleanup in Storages
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0b5bd18d85
CLOUD: Update GoogleDriveStorage
...
It now derives from IdStorage, so lots of GoogleDrive*Request classes
are removed and replaced with generic IdStorage*Request ones.
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
d96cdacb38
CLOUD: Add BoxUploadRequest
2016-08-24 16:07:55 +06:00
Alexander Tkachev
db72fa34d6
CLOUD: Update NetworkReadStream and CurlRequest
...
Now those support POST multipart/form upload.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
16ed625dfe
CLOUD: Remove BoxStorage::streamFileById debug() call
2016-08-24 16:07:55 +06:00
Alexander Tkachev
19ae61dffc
CLOUD: Add IdDownloadRequest and IdStreamFileRequest
...
Used for downloading files in Box.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
34ee1d29d5
CLOUD: Fix Storage::streamFile()
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d943d7c3a8
CLOUD: Add IdCreateDirectoryRequest
...
Box gets createDirectoryWithParentId(), so now creating directories
works there.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
2b3caf1efa
CLOUD: Add IdStorage
...
This is a special base class for Storages which are using ids instead of
paths in their APIs, like Box or Google Drive.
This commit makes Box derived from IdStorage.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e0a6b2135d
CLOUD: Add BoxListDirectoryRequest
...
And used in it BoxResolveIdRequest.
TODO: make some generic ResolveIdRequest and ListDirectoryRequest for
id-based storages. It's really similar, I just had to change a few
details in GoogleDrive ListDirectory and ResolveId requests.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
eb269e137f
CLOUD: Add BoxListDirectoryByIdRequest
...
Similarly to Google Drive, Box uses only ids of files. That means id
resolving would be slow.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
85f1ce8ece
CLOUD: Add BoxTokenRefresher and BoxStorage::info()
...
BoxTokenRefresher does refresh if HTTP 401 is returned by the server.
To test refresher, BoxStorage::info() was added.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0a43dad629
CLOUD: Redirect to "/files" from "/"
...
"/" is used to receive "?code", but when there is no such parameter
passed, it's safe to redirect user to the "/files".
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b37b392fa0
CLOUD: Add BoxStorage sketch
2016-08-24 16:07:55 +06:00
Alexander Tkachev
5c60cd14c2
CLOUD: Add LocalWebserver::resolveAddress()
...
Works on Linux too. And, well, I'm bad in adding backends, so it's just
#ifdefed there.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
389c669a47
CLOUD: Add "directory" form for webserver "/upload"
...
The attribute is Chrome-only.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
29e6020574
CLOUD: Update "/files" hardcoded response template
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3064b44b92
CLOUD: Switch to "multiple" files uploading
...
Still doesn't support directories uploading.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
12518ed0bf
CLOUD: Fix gradient on LocalWebserver's pages
...
It was starting over every 100vh (each screen).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
35b2471290
CLOUD: Fix '\' encoding back
2016-08-24 16:07:55 +06:00