When user wants to limit the bandwidth, he does not care about speed
anymore. And parallelism on slow network might cause problems.
For issue #3382
Will also help for #3095
(cherry picked from commit b20f29f22797367c7aa92bd74389c99b10c852a4)
This should allow for the case when a user has set the limit to 0 and a new empty folder appears on the server. The folder will have size 0 (no files in it). Doing the >= test here will mean that the user will be prompted about the new folder, which I think is the behaviour they would expect.
The side-effect of this change is that if the user has a limit of, for example, 10,000,000 and a new folder comes along with exactly 10,000,000 of content then they will now be prompted about it. Before the change such a new folder would have been auto-synced without prompting the user. I do not think this is a big deal - I cannot believe that users will be counting exact bytes for this limit, they are just setting a rough number of MB at the UI.
Should fix https://github.com/owncloud/client/issues/3542
This fixes a few issues with the new FinderSync integration on OSX which
can't easily clear its status cache when receiving an UPDATE_VIEW message
except by unregistering the folder, but which causes flickering.
This fix should also make the regeneration of the cache unnecessary on other
platforms through possibly expensive RETRIEVE_FILE_STATUS commands.
To allow forwarding all OK states of sync jobs to the socket API
we need to make sure that the vector doesn't contain unneeded items.
This initially was intended to force updating the metadata for parent
folders, but since then the should_update_metadata flag check was
added both here and in PropagateDirectory::finalize where the metadata
is actually updated for parent folders. We can safely remove the inclusion
of all remote directory items.
The signal is emitted in this case if the instruction is NONE
but in the only ultimately connected slot to this signal,
SocketApi::slotSyncItemDiscovered, we return early according
to the same condition.
The emission of the same signal at the end of treewalkFile remains
and take care of the normal cases.
- Remove the copy constructor. The default constructor is fine. Having
a user defined copy constructor inhibit the move constructor.
- Pass QVariantMap arguments via const references
- Do not return a pointer to Capabilities from the account. It is a
value type and should not be used by pointer.
The proxyAuthenticationRequired() signal now goes to the
ProxyAuthHandler class. That class will try to read the proxy settings
from the keychain or ask the user about them.
We won't ask the user for credentials for explicitly configured proxies.
It also does not change how the credentials for explicitly configured
proxies are stored. (see #261)
That allows better handling of remove requests that should not be done
because the directory is not empty on the remote side (as it contains
ignored files).
- Make it translatable
- Make use of the %n so that it supports plurals (but this will only
take effect if we have an english translation)
- Only put two units. eg: "5 years 7 months" instead of
"5 years 7 months 12 days 34 minutes 23 seconds"
Even when it is "2 hours 23 minutes" the amount of second does not
matter, especially since the estimation is likely to be boggus anyway
Issues #2672 and #3097
That way we do not need to include QIcon in theme.h
So the header can be included (indirrectly) from cmd.cpp
which is not compiled with the QtGui include paths
The problem was that the modified ignore pattern was not applied
to the parts of the remote tree we simply retrieve from the db
because the folder etag didn't change.
Even worse, if one removed an ignore pattern, the un-ignored
files would not be synced correctly.
With this change, a modification to the ignore list always results
in a full remote discovery. This guarantees that we find un-ignored
files.
Since we periodically recreatet the QNAM owned by the Account,
the web view could end up holding a dangling pointer to it.
Let the web view use its own QNAM, but make sure that the cookie
jars are shared so that we can grab the session token given
by the server.
Since GIT_SHA1 would need to be updated in config.h, all files
including it would be rebuilt by make.
Reduce the number of files to rebuild by moving this variable
to version.h instead.
Theme will eventually be moved to the GUI
Theme::appNameGUI and QApplicaiton::applicationName are the same, it is currently
set in the constructor of ConfigFile