1
0
mirror of https://github.com/chylex/Nextcloud-Desktop.git synced 2024-11-26 13:42:45 +01:00
Commit Graph

6388 Commits

Author SHA1 Message Date
Olivier Goffart
da26e59770 Chunking-NG: add some headers when uploading chunks
These are not understood by owncloud yet, but were requested for CernBox

OC-Total-Length in the MKCOL: The full lenght of the file
OC-Chunk-Offset in the PUT: The offset within the file in which this chunk belongs
OC-Checksum in the MOVE: The transission checksum
2016-09-16 16:36:46 +02:00
Olivier Goffart
3c24d5a148 Chunking-NG: The MOVE will return the code 204 if the file was already there 2016-09-16 16:20:40 +02:00
Olivier Goffart
c222793525 Chunking-NG: use OC-If-Destination-Match instread of If-Match
For the MOVE command, because If-Match in Webdav relates to the source, not
the destination
2016-09-16 16:15:09 +02:00
Olivier Goffart
28018e8590 Chunking-NG: Fix destination URL 2016-09-16 16:14:53 +02:00
Olivier Goffart
4c79ce2ae6 ConnectionValidator: fetch the account name.
This is needed for the new webdav path used by the new chunking.
The user might not be the same as the one used to connect
2016-09-16 15:49:43 +02:00
Markus Goetz
aa5d3055be Folder/Watcher: Fix up #5174 #5153 (#5186)
It was surprising to have a broken symlink return empty for
canonical path.
2016-09-15 14:56:37 +02:00
Christian Kamm
3e1690ff7a Improvements to file recall 2016-09-14 15:42:19 +02:00
Olivier Goffart
6f1b03c560 SyncEngine: Fix renaming of folder when file are changed (#5195)
Two bugs:
 - The change filed are not considered as move, they are re-downloaded
   but the old file was not removed from the database. The change in
   owncloudpropagator.cpp takes care of removing the old entries.

 - Next sync would then remove the file in the server in the old folder
   This was not a problem until we start reusing the sync engine, and
   that the _renamedFolders map is not cleared. We were before deleting
   a non-existing file. But now we delete the actual file.

Also improve the tests to be able to do move on the server.
This include support for file id.

Issue #5192
(cherry picked from commit 85b8ab178e)
2016-09-22 09:05:09 +02:00
Olivier Goffart
a810d69daa ConnectionValidator: properly handle error in status.php (#5188)
We wwer enot connecting to the right signal from the check server
job, and therefore we were not catching the condition in which the
json was invalid. We would then never terminate the ConnectionValidator job.

Note that instanceNotFound is also emited if there is a network error.

The log looked like this:

10:25:51.247 OCC::CheckServerJob::finished: status.php from server is not valid JSON!
10:25:51.248 OCC::CheckServerJob::finished: status.php returns:  QMap()   QNetworkReply::NetworkError(NoError)  Reply:  QNetworkReplyHttpImpl(0x2b6a790)
10:25:51.248 OCC::CheckServerJob::finished: No proper answer on  QUrl("http://localhost/~owncloud/status.php")
10:26:23.235 OCC::AccountState::checkConnectivity: ConnectionValidator already running, ignoring "owncloud@localhost"
10:26:55.235 OCC::AccountState::checkConnectivity: ConnectionValidator already running, ignoring "owncloud@localhost"
[...]
(cherry picked from commit ff701bd473)
2016-09-21 14:30:36 +02:00
Olivier Goffart
b228488eb7 Revert "FolderWatcher: Act on relative paths #5116 (#5153)"
This is not sufficient as it is not working for the Socket API.
Next commit will fix it in another layer.

Also, not ignoring paths that are not inside the folder is wrong
as it might still happen if the name has a different casing

This reverts commit d5a481f132.

(cherry picked from commit 904cd46f75)
2016-09-15 16:26:25 +02:00
Markus Goetz
b7809ded23 OS X: Try to fix tray menu not updating correctly #5158 (#5177)
I even had this issue long before 2.3 that submenus suddenly disappeared.
Now we refrain from updating while visible.
2016-09-13 14:34:22 +02:00
ckamm
dfb121236c Excludes: Consider files in hidden folders excluded #5163 (#5173)
Previously, we only checked the hiddenness of the target file and
ignored the hiddenness of the containing folders. This lead to
undesired behavior when people synced their home folders and there
was a folder watcher notification for a non-hidden file in one of
the hidden folders.

I'm not fully sure why, but sometimes notifications for .foo/bar were
already ignored, but notifications for .foo/bar/car were not. This may
be because of how we set up the FolderWatchers on Linux.

The new behavior is to check all path components for hiddenness, up
until the base path (but excluding the base path, so using a hidden
folder as a sync folder will work).
2016-09-13 14:14:27 +02:00
Olivier Goffart
c2cb729fee Folder: Cannonicalize the path
This is important because we compare the paths from the file system watcher if it
starts with this path.
Same in the SocketAPI where we need to use cannonical paths in the REGISTER_PATH command,
as the plugin themself will do this comparison.

Issue #5116
2016-09-12 16:56:59 +02:00
Olivier Goffart
904cd46f75 Revert "FolderWatcher: Act on relative paths #5116 (#5153)"
This is not sufficient as it is not working for the Socket API.
Next commit will fix it in another layer.

Also, not ignoring paths that are not inside the folder is wrong
as it might still happen if the name has a different casing

This reverts commit d5a481f132.
2016-09-12 16:05:55 +02:00
Piotr M
7fd00b2cd5 add server capabilities to owncloudcmd 2016-09-12 14:43:40 +02:00
Markus Goetz
907918dca3 FolderWatcher: Act on relative paths #5116 (#5153)
(cherry picked from commit d5a481f132)
2016-09-12 14:09:13 +02:00
Christian Kamm
5ffaf3a90f Set discovery thread priority to low #5017
(cherry picked from commit bd7ec19644)
2016-09-12 14:09:13 +02:00
Olivier Goffart
1040e7b57b ExcludeFiles: Fix when the folder casing is not the same in the settings and in the FS
If the folder has different case in the settings and in the FS, we should
not ignore all the files. This is important for the files system watcher.

(cherry picked from commit 98268d102f)
2016-09-12 14:09:12 +02:00
Olivier Goffart
65c49e1de6 CleanupPollsJob: Fix possible leak
Missing deleteLater when the CleanupPollsJob aborts.
This is only a problem if the SyncEngine is kept alive a long time. Which is
usually not the case in the configuration where poll jobs are used.

(cherry picked from commit 3465024898)
2016-09-12 14:09:12 +02:00
Christian Kamm
4abaee7736 Recall: Copy instead of move recalled file #5150
That was an unintentional change in
2662203fb7

Also expand the test case to cover this.

(cherry picked from commit af9c4d0e2f)
2016-09-12 14:09:12 +02:00
Markus Goetz
3cdcd8dea0 Selective Sync: Fix request loop and show error in view (#5154)
I got into a situation where the model would endlessly request the directory
contents from the server because we did not notice yet that the server
is actually in maintenance mode while we were expanding the tree view when
changing the tab to the account or when just expanding it by clicking.
(cherry picked from commit 524220d090)
2016-09-12 14:09:12 +02:00
Christian Kamm
cb19ebc9e3 ShareLink: Ensure the password line edit is enabled #5117
(cherry picked from commit b541fea793)
2016-09-12 14:09:12 +02:00
Daniel Molkentin
37adaa7872 Update owner to be ownCloud GmbH
Fixes #5079

(cherry picked from commit a83c5598e8)
2016-09-12 14:09:12 +02:00
Markus Goetz
d5a481f132 FolderWatcher: Act on relative paths #5116 (#5153) 2016-09-12 14:03:11 +02:00
Olivier Goffart
1d09f6b60f Allow to disable Shiboleth to build without QtWebkit (#5166) 2016-09-11 16:14:08 +02:00
Olivier Goffart
98268d102f ExcludeFiles: Fix when the folder casing is not the same in the settings and in the FS
If the folder has different case in the settings and in the FS, we should
not ignore all the files. This is important for the files system watcher.
2016-09-11 12:12:10 +02:00
Olivier Goffart
9e895a6ecc FolderStatusModel: Fix beginInsertRow/endInsertRow
We need to do the change between the begin and the end call so the selection
don't get broken
2016-09-11 12:12:10 +02:00
Olivier Goffart
7c75a39bc1 Chunking-NG: Some fixup after feedback from the pull request #5102 2016-09-10 12:30:14 +02:00
Markus Goetz
524220d090 Selective Sync: Fix request loop and show error in view (#5154)
I got into a situation where the model would endlessly request the directory
contents from the server because we did not notice yet that the server
is actually in maintenance mode while we were expanding the tree view when
changing the tab to the account or when just expanding it by clicking.
2016-09-06 11:11:03 +02:00
Christian Kamm
af9c4d0e2f Recall: Copy instead of move recalled file #5150
That was an unintentional change in
2662203fb7

Also expand the test case to cover this.
2016-09-06 10:42:59 +02:00
Klaas Freitag
c97d8aa8fd Show the rename target in the client log file. (#5149) 2016-09-05 13:26:49 +02:00
Klaas Freitag
f0dc3b2deb FolderWatcher: Also ignore the new sync journal file name format. 2016-09-02 16:19:10 +02:00
Klaas Freitag
84ede3f01f Make sync journal name generating a method of SyncJournal.
Before it was in Folder, however, the command line client does not
have the Folder class. To not duplicate code, the function to generate
the sync journal name went to SyncEngine class.
2016-09-02 16:19:10 +02:00
Klaas Freitag
3b651b2da9 folderman: Clean some comments 2016-09-02 16:19:04 +02:00
Klaas Freitag
e46fad52bb Make the sync journal file name a method of the Folder class.
The sync journal name has a dependency on the remote url now.
2016-09-02 12:29:21 +02:00
Olivier Goffart
c41f6ed76b Chunking-NG: use new dav URL for the move 2016-08-31 12:12:34 +02:00
Olivier Goffart
818b5854ce Chunking-NG: Qt4 compile 2016-08-31 10:28:44 +02:00
Olivier Goffart
79abb8b4e3 ChunkingNg: enable depending on an environment variable 2016-08-31 10:28:15 +02:00
Olivier Goffart
fad387b6b8 Chunking-Ng: Resume 2016-08-31 10:28:15 +02:00
Olivier Goffart
a1558100b8 WIP: new chunking algorithm
Current limitations of this WiP
 - No resuming implemented yet
 - No parallel chunks
 - Hackish way to get the webdav paths
2016-08-31 10:28:15 +02:00
Olivier Goffart
4f3f642da6 Upload: refactor the upload in two classes so the new chuning can be implemented 2016-08-31 10:28:15 +02:00
Olivier Goffart
86eab48981 Qt4 Compile 2016-08-31 10:27:20 +02:00
Olivier Goffart
d2bde5489f Propagator, remove the QNAM in the name as the alternative has been removed a long time ago 2016-08-31 10:25:06 +02:00
Christian Kamm
39e93768ea Account wizard: Enable back button consistently #5107
Tested with http auth and shib auth.
2016-08-26 13:12:25 +02:00
Christian Kamm
c1eb9244d1 Shibboleth: Fix detection in account wizard #5138
Following redirections generally
(bb5c2cbfa5) meant that the special
shib-redirection detection code was no longer being used.
2016-08-26 12:58:06 +02:00
Markus Goetz
6ecda6e7f4 Merge branch '2.2' 2016-08-24 11:39:12 +02:00
Jocelyn Turcotte
2ff7b63551 Merge pull request #5122 from jturcotte/syncfilestatustrackerTests 2016-08-17 16:04:02 +02:00
Christian Kamm
b541fea793 ShareLink: Ensure the password line edit is enabled #5117 2016-08-17 15:48:25 +02:00
Jocelyn Turcotte
efb6b8c2c9 [overlays] Fix folders appearing as OK even though children are still syncing #4797
This would happen if the directory would first need to be created
through an mkdir propagation job. This job's itemCompleted signal
would trigger the directory to show as SYNC even though its children
are still propagating.

Fix the issue by tracking the sync count for each file, affecting
its parents. This allows us to get rid of the O(n) vector lookup
for each status query, and properly track the hierachical sync
status of a directory.

This also removes the itemCompleted signal emission from the
PropagateDirectory job. Since we only needed for overlay icons, and
since this job doesn't do any direct propagation, we can remove it
to ensure that we won't call itemCompleted twice for the item attached
to Propagate*Mkdir jobs (since the PropagateDirectory is backed by
the same SyncFileItem, instruction and status).
2016-08-17 15:40:02 +02:00
Jocelyn Turcotte
e974771796 csync: Use an explicit instruction for should_update_metadata
The current way of tracking the need to update the metadata without
propagation using a separate flag makes it difficult to track
priorities between the local and remote tree. The logic is also
difficult to logically cover since the possibilities matrix isn't
100% covered, leaving the flag only used in a few situations
(mostly involving folders, but not only).

The reason we need to change this is to be able to track the sync
state of files for overlay icons. The instruction alone can't be
used since CSYNC_INSTRUCTION_SYNC is used for folders even though
they won't be propagated. Removing this logic is however not possible
without using something else than CSYNC_INSTRUCTION_NONE since too
many codepath interpret (rightfully) this as meaning "nothing to do".

This patch adds a new CSYNC_INSTRUCTION_UPDATE_METADATA instruction
to let the update and reconcile steps tell the SyncEngine to update
the metadata of a file without any propagation. Other flags are left
to be interpretted by the implementation as implicitly needing
metadata update or not, as this was already the case for most file
propagation jobs. For example, CSYNC_INSTRUCTION_NEW for directories
now also implicitly update the metadata.

Since it's not impossible for folders to emit CSYNC_INSTRUCTION_SYNC
or CSYNC_INSTRUCTION_CONFLICT, the corresponding code paths in the
sync engine have been removed.

Since the reconcile step can now know if the local tree needs metadata
update while the remote side might want propagation, the
localMetadataUpdate logic in SyncEngine::treewalkFile now simply use
a CSYNC_INSTRUCTION_UPDATE_METADATA for the local side, which is now
implemented as a different database query.
2016-08-17 15:39:31 +02:00
Jocelyn Turcotte
82ef1bcfe0 Make sure that we invalidate parents on blacklisted items
Add a missing call that we currently only do in slotItemCompleted.
This would normally only affect the first sync and would have
gotten properly update at the end of the sync anyway.
2016-08-17 15:39:30 +02:00
Jocelyn Turcotte
b7ff4a76e8 Add TestSyncEngine and TestSyncFileStatusTracker auto tests
To be able to test the SyncEngine efficiently, a set of server
mocking classes have been implemented on top of QNetworkAccessManager.

The local disk side hasn't been mocked since this would require adding
a large abstraction layer in csync. The SyncEngine is instead pointed
to a different temporary dir in each test and we test by interacting
with files in this directory instead.

The FakeFolder object wraps the SyncEngine with those abstractions
and allow controlling the local files, and the fake remote state
through the FileModifier interface, using a FileInfo tree structure
for the remote-side implementation as well as feeding and comparing
the states on both side in tests.

Tests run fast and require no setup to be run, but each server feature
that we want to test on the client side needs to be implemented in
this fake objects library. For example, the OC-FileId header isn't
set as of this commit, and we can't test the file move logic properly
without implementing it first.

The TestSyncFileStatusTracker tests already contain a few QEXPECT_FAIL
for what I esteem being issues that need to be fixed in order to catch
up on our test coverage without making this patch too huge.
2016-08-17 15:39:30 +02:00
ckamm
88cd5421bf Tray menu: Update only on demand #4990 #4985 (#5072)
The tray menu is now only updated when it becomes visible or while
it is visible.
2016-08-15 13:42:56 +02:00
ckamm
7b26e6b8f9 Progress: Don't display unlikely estimates #5046 (#5066) 2016-08-15 13:36:53 +02:00
Daniel Molkentin
bb5c2cbfa5 Always follow redirects in network jobs (#4905)
This is a move away from the original policy where jobs
would only follow redirects in special cases.

Two restrictions are in place:

1. We do not allow protocol downgrades (https -> http)
2. We stop redirects after we find them looping (e.g. old = new url, or
indirectly when looping 10 times).

This is closer to RFC conforming behavior, although currently
we will treat 301 replies like they were 302. This is for a separate
commit.

Error handling (and display) also needs improvement.

Addresses #2791
2016-08-09 16:01:29 +02:00
Markus Goetz
fc868d89f3 Merge pull request #5108 from owncloud/limit_library_path
Limit Qt and OpenSSL Library pathes to the install directory
2016-08-05 16:39:04 +02:00
Daniel Molkentin
5a57e4a7a6 Ensure OpenSSL config file is only read from app dir 2016-08-05 16:38:08 +02:00
Olivier Goffart
4a7f3cb486 SyncEngine: Fix detection of backup (#5104)
Once upon a time, the SyncEngine was instantiated once per sync. But now that
the SyncEngine is kept between sync, we need to reset all these variable between
syncs.
2016-08-04 16:06:10 +02:00
Jocelyn Turcotte
b307f2b65c Revert "Fix a deadlock when shutting down during discovery" (#5100)
Reverts commit 622017adcf

Could be the cause of #5092 and the cost is higher than the benefit if this is the case.
A network request taking more than 30 seconds isn't something unlikely in this world
and shouldn't be a good reason to abort. We should try to untangle the threads
dependencies to properly fix this if possible instead.
2016-08-03 16:35:24 +02:00
Olivier Goffart
73a6939b70 ownsql: handle QByteArray without converting to QString (#5097)
QByteArray is used for checksum
2016-08-02 11:39:08 +02:00
Olivier Goffart
88e5a9411a SyncEngine: Reads the data-fingerprint property (#5056)
When it changes, assume a backup was recovered, and keep conflict files.

Issues: #2325 and https://github.com/owncloud/enterprise/issues/966
2016-08-02 10:30:49 +02:00
Klaas Freitag
5ac434a740 Logs: Add the name of the platform we're running on to the log. (#5082) 2016-07-28 16:30:40 +02:00
Daniel Molkentin
a83c5598e8 Update owner to be ownCloud GmbH
Fixes #5079
2016-07-26 16:48:08 +02:00
Klaas Freitag
ebcec44202 ShibbolethView: Open a debug windows that shows cipher info. (#5080)
It opens a window and connects to a cipher test
page, showing the output from there, that helps for debugging.

The window is enabled by setting the environment variable
OWNCLOUD_SHIBBOLETH_DEBUG
2016-07-25 17:47:23 +02:00
Christian Kamm
39bde6f3e4 Revert "Add 'open in browser' to account menu #4824"
This reverts commit 3c575a2f37.

One can already open the account in the browser by clicking the
link in the settings dialog!
2016-07-19 11:19:40 +02:00
Olivier Goffart
3465024898 CleanupPollsJob: Fix possible leak
Missing deleteLater when the CleanupPollsJob aborts.
This is only a problem if the SyncEngine is kept alive a long time. Which is
usually not the case in the configuration where poll jobs are used.
2016-07-14 09:23:22 +02:00
Olivier Goffart
7c671756e6 Merge remote-tracking branch 'origin/2.2'
Conflicts:
	src/libsync/syncfilestatustracker.cpp
2016-07-12 17:38:15 +02:00
Olivier Goffart
f3f387c36b Merge pull request #5016 from owncloud/overrideurl
AccountManager: Don't force the server URL while loading the config.
2016-07-12 14:33:28 +02:00
Olivier Goffart
b53ce78eb6 Merge pull request #5025 from ArthurChiao/bugfix_#5015
fix #5015 overlay icon not show: compare folder paths with no case-se…
2016-07-12 14:32:54 +02:00
ckamm
bc4753e938 Sharing: Fix bug with file names containing percent encodes #5042 (#5043) 2016-07-12 14:25:33 +02:00
Olivier Goffart
cb64ba22b3 Fix Qt4 build 2016-07-11 12:27:59 +02:00
Klaas Freitag
0884ad6517 owncloudcmd: Adopt to new syncJournalDb MD5 based name schema. 2016-07-10 13:05:09 +02:00
Klaas Freitag
37fc4e4332 SyncJournalDb: Cleanup of Constructor interface.
The parameter path is not longer needed.
2016-07-10 13:04:29 +02:00
Klaas Freitag
9cc90159f1 FolderMan: ensureJournalGone needs to know the exact journal name, WIP 2016-07-10 12:57:35 +02:00
Klaas Freitag
4ceee86c66 SyncEngine: Calculate a uniq journal name using the remote account.
That should allow to sync the same local folder to multiple remote destinations.

see #3764
2016-07-10 12:56:43 +02:00
Klaas Freitag
3033e693be Folder: For wipe reuse the journal name from SyncEngine.
Do not compute on its own any more.
2016-07-10 12:52:47 +02:00
Klaas Freitag
a1bc01d3b1 SyncJournalDb: Add a method to set the name of the db file. 2016-07-10 12:51:42 +02:00
arthurchiao
3335c733d7 be case insensitive for MacOSX, too 2016-07-08 15:53:11 +08:00
arthurchiao
4da55b69df ignore case-sensitivity only on windows 2016-07-08 15:12:37 +08:00
Christian Kamm
699d1ba13b owncloudcmd: Make source_dir absolute #5035
Fixes a problem with relative paths on Windows.
2016-07-05 15:40:32 +02:00
Christian Kamm
3c575a2f37 Add 'open in browser' to account menu #4824 2016-07-05 14:48:51 +02:00
Christian Kamm
bd7ec19644 Set discovery thread priority to low #5017 2016-07-05 13:53:57 +02:00
Daniel Molkentin
8a1a2eb5b3 Only accept notification API Capability if endpoint is OCS-enabled
Fixes #5033
2016-07-04 18:33:02 +02:00
arthurchiao
7a2a439426 fix #5015 overlay icon not show: compare folder paths with no case-sensitivity 2016-07-01 13:03:42 +08:00
Olivier Goffart
dff57362f9 AccountManager: Don't force the server URL while loading the config.
While loading the account, only override the server url if Theme::forceConfigAuthType
is set. This restore the behavior from the client 2.1 for theme that did not
use Theme::forceConfigAuthType.

Issue: owncloud/enterprise#1418
2016-06-28 14:32:03 +02:00
Olivier Goffart
3f3a679f81 Fix the URL from previous commit
The pull request was merged too early and did not contain the URL change

(Issue #4877)
2016-06-28 14:17:16 +02:00
Olivier Goffart
cde9017340 GUI: Show link to the page that allow to add a new token (#4963)
If owncloud >= 9.1 is detected:
and add a link to the ownCloud page that allow to add device token.

Issue #4877
2016-06-28 12:25:04 +02:00
Jocelyn Turcotte
446e7cbd93 Fix a QAction leak (#5008)
Attach the accout menu QAction to the menu rather than the
ownCloudGui since it should be destroyed when the context
menu is cleared.
2016-06-27 16:22:51 +02:00
ckamm
b4d26ba952 Fix windows HiDPI #4994 (#4998)
This was removed in 0194ebb222
because it breaks on Linux. However, it looks like it is correct
for Windows. In the meantime the surrounding ifdef has changed
from !Q_OS_MAC to Q_OS_WIN, so reverting it makes sense.
2016-06-27 16:17:58 +02:00
Jocelyn Turcotte
622017adcf Fix a deadlock when shutting down during discovery (#4993)
Since the SyncEngine now quits and waits for the discovery thread,
the main thread can enter a deadlock where the discovery thread waits
for its directory result.

Add a 2 seconds timer to the discovery thread wait condition
to limit the deadlock time.
2016-06-27 16:12:39 +02:00
ckamm
86fd982b00 SocketAPI: Use different pipe name #4977 (#4997)
Named pipe names that contain backslashes sometimes lead to problems.
2016-06-27 15:13:08 +02:00
ckamm
bdb304f8ec Share: Permissions for federated shares on servers >=9.1 #4996 (#5001)
This disables the workaround 487e1fdca5ee04fc98c1ed77898df70d740967c8
for servers that are new enough to support fine grained permissions
on federated shares.

The consequence is that the 'reshare' permission is now granted by
default and that users can edit permissions on the usual fine-grained
level again.

The way the client deals with servers <9.1 is unchanged.
2016-06-27 11:09:51 +02:00
Christian Kamm
440a804836 Tray: Add minimal mode as workaround and testing tool #4985 #4990 2016-06-23 10:22:43 +02:00
Christian Kamm
7601783553 Fix Qt4 build 2016-06-22 15:47:33 +02:00
Christian Kamm
6e9df8673f Merge remote-tracking branch 'origin/2.2' 2016-06-22 15:41:37 +02:00
Christian Kamm
c0b0bd5b63 owncloudcmd: Fix --exclude regression
It's ok if the system exclude file is missing when --exclude is
specified explicitly.
2016-06-22 15:30:20 +02:00
Jocelyn Turcotte
5d71ad83ec Fix the Qt4 build
QSharedPointer::reset doesn't exist in Qt4.
2016-06-21 12:04:26 +02:00
Markus Goetz
ab24980001 Merge pull request #4979 from jturcotte/2.2
Memory improvements during propagation
2016-06-21 10:00:41 +02:00
ckamm
07dea72c37 Setup csync logging earlier (#4991)
We were missing some csync related log output during startup.

Discovered in #4967
2016-06-21 09:58:53 +02:00
ckamm
43a2aec92b Performance: Don't redundantly add the same exclude files #4967 (#4988)
Excludes: Don't redundantly add the same exclude files #4967, Never accept duplicate exclude patterns #4967
2016-06-20 15:14:13 +02:00
ckamm
681243277e Share dialog: Add 'Mail link' button #3261 (#4961) 2016-06-20 13:06:57 +02:00
Jocelyn Turcotte
edfd75949d Reduce the memory usage of the StopWatch during propagation
Use a QMap to avoid using a full hashtable for only a few entries, and
clear the QMap once we're done with the measuring. This saves a few
hundred bytes per job during propagation that would otherwise only be
freed at the end of the sync.
2016-06-17 19:20:53 +02:00
Jocelyn Turcotte
7fb134b4e0 Delete the ComputeChecksum object when the job is finished
Each object takes almost 1k and we don't need it once the propagation is
done.
2016-06-17 19:20:53 +02:00
Jocelyn Turcotte
87e3553c85 Prevent the sync protocol widget from over-using memory
During propagation, we create a line for each file, taking memory, but
we delete all lines passed 2000 right at the beginning of the next sync.
Since the user has little chances of being able to read past those 2000
lines in the log, we might as well keep it capped at 2000 also during
propagation to prevent it from eating memory.
2016-06-17 19:20:53 +02:00
Jocelyn Turcotte
6f3aaecb78 Fix a crash on if shutting down during propagation
The SyncRunFileLog owned by the Folder must be destroyed after the
SyncEngine since the SyncEngine will abort during destruction, resulting
in all jobs being aborted.

It's possible that this crash only happens with a debug build.
2016-06-17 19:20:52 +02:00
Jocelyn Turcotte
3342ebfcc5 SocketAPI: Push new status of dirty files regardless when not synced (#4970)
The FolderWatcher inserts files to be marked as SYNC and we
currently assume that all file statuses will be updated by the
following sync. It's however possible that the FolderWatcher
notify us of a change that csync won't consider necessary to
propagate, in which case a new status wouldn't be pushed and
the file manager would continue showing this file as syncing.

Re-push the file status when emptying the dirty files list
before propagating to avoid this issue, most likely the OK
status.
2016-06-16 15:27:10 +02:00
Olivier Goffart
b4900d60b7 Checksum speedup. (#4968)
No need to allocate (and initialize to 0) a 10 MiB buffer for each files, even
when most files are much smaller than that.
So make sure the buffer that we allocate is not bigger than the file size.
And Also 10 MiB is a bit big for a buffer. 500 KiB should be more than enough.
(Too big allocations can cause problem because of memory fragmentation and such)
2016-06-16 08:28:30 +02:00
Olivier Goffart
92309013da SyncEngine: make abort and closing more robust
We first need to set the abort flag to csync and then aborting the discovery
job, otherwise, the discovery thread could start a new job in the mean time.

We also need to make sure that the thread has existed before we destroy the
exclude list.
2016-06-16 08:26:33 +02:00
Jocelyn Turcotte
cb50fae0a7 SocketAPI: Move the normalization closer to the data entrance (#4972)
Follow-up for #4884
2016-06-15 21:03:21 +02:00
Jocelyn Turcotte
05d199881e Merge pull request #4971 from owncloud/fixAccountHandleSslErrorsCrash
Attempt to fix the Account::slotHandleSslErrors crash
2016-06-15 18:53:47 +02:00
Jocelyn Turcotte
147cf798a6 Attempt to fix the Account::slotHandleSslErrors crash
Events from the crash reporter suggest that the QNAM and its
child replies might get deleted before returning from this method
and the only possible cause we can see is that the inner event
loop has something to do with it.

Try keeping a ref on the QNAM while in this method to make sure
that it won't get deleted by the inner event loop.
2016-06-15 18:12:02 +02:00
Jocelyn Turcotte
d40c56eda5 Account: Use smart pointers to hold its credentials and QNAM objects
Also make sure that both use QObject::deleteLater as their delete
function.
2016-06-15 18:12:01 +02:00
Olivier Goffart
6dade0b114 PropagateUpload: fix crash in PUTFileJob::slotTimeout
Same fix as in commit 60c101d9

From the crash reporter:

Crash
EXCEPTION_ACCESS_VIOLATION_READ at 0x4
qnetworkreply.cpp in QNetworkReply::request at line 476
propagateupload.cpp in OCC::PUTFileJob::slotTimeout at line 100
moc_abstractnetworkjob.cpp in OCC::AbstractNetworkJob::qt_static_metacall at line 98
qobject.cpp in QMetaObject::activate at line 3716
moc_qtimer.cpp in QTimer::timeout at line 192
qtimer.cpp in QTimer::timerEvent at line 247
qobject.cpp in QObject::event at line 1267
qapplication.cpp in QApplicationPrivate::notify_helper at line 3722
qapplication.cpp in QApplication::notify at line 3505
qcoreapplication.cpp in QCoreApplication::notifyInternal at line 932
2016-06-15 14:32:25 +02:00
Christian Kamm
d655074f85 Log: Include start of propagation and lap duration 2016-06-09 14:28:15 +02:00
Christian Kamm
85a173e174 Log: Write the sync log during propagation #3108
...instead of when done with the sync. This way we get information
even if the client crashes.
2016-06-09 14:10:47 +02:00
Christian Kamm
87b4693a9d Add error message for trailing spaces on Windows #4878 2016-06-09 12:41:02 +02:00
ckamm
28c12a3ca0 Move touched-files tracking to SyncEngine #4927 (#4946) 2016-06-09 12:07:18 +02:00
Jürgen Weigert
ebc44fa494 Update accountsettings.cpp 2016-06-07 14:21:50 +02:00
ckamm
355a8a0a27 Workaround for Ubuntu 16.04 tray issue #4944 (#4947) 2016-06-07 11:48:25 +02:00
Christian Kamm
66f041f74c Fix Qt4 build 2016-06-07 10:05:57 +02:00
Christian Kamm
48efbcb8ca Merge remote-tracking branch 'origin/2.2' 2016-06-07 09:39:44 +02:00
Olivier Goffart
d072e4a678 Fix compilation on windows 2016-06-03 13:28:53 +02:00
Olivier Goffart
b99c8fe28b Folder: fix removing folder with escaped characters (#4943)
FolderDefinition::save and load escapes the alias. We also need to escape
it when we remove it.
New folder can't be created with alias that needs escaping, but old folder
from old config may still exist, and we must allow user to delete them.
2016-06-03 13:10:01 +02:00
Olivier Goffart
5a3120bd52 Folder: Ignore change from the watcher if the file has not changed its mtime or size (#4942)
For issue #4927:
On Windows 10, we get a notification after the sync is finished for file that were
just downloaded. The guard we have against our "own changes" are only working when
the sync is running and the OwncloudPropagator still alive.
2016-06-03 13:06:11 +02:00
Markus Goetz
51f8a59a9a OS X: White-list the folder watcher enums
I got syncs triggered for even opening a file by double clicking it in Finder
and having launched Preview.app (e.g. for JPEG files).
2016-06-02 18:20:07 +02:00
Olivier Goffart
6ccd9e872d GUI: don't force the environment variable for high DPI on linux.
Setting the Environment variable only for owncloud makes in inconsistant with
other Qt application running at the same time.

The users can still set it themself for the whole desktop if they wish.

Addresses #4840
2016-06-02 17:57:10 +02:00
Daniel Molkentin
1787da8a9d Fix memleak in updater 2016-06-02 15:03:52 +02:00
Markus Goetz
de82d8fcdb QNAM: Try to workaround missing Qt patches #4720 #3888 #4051
We try this on all platforms now so we have more consistent behaviour.
2016-05-31 10:26:52 +02:00
Stephen Colebrook
af2b712dc6 Search results are filtered by server. Don't filter a second time.
Also allows searching on attributes other than displayname in ldap
configurations. Search results match web and mobile apps.
2016-05-31 09:46:52 +02:00
Stephen Colebrook
d4b72132d6 Search results are filtered by server. Don't filter a second time. Also allows searching on attributes other than displayname in ldap configurations. Search results match web and mobile apps. (#4902) 2016-05-31 09:45:38 +02:00
Markus Goetz
a507558dee Connectivity: Reduce ETag job timeout to 60 sec #4275
Before it used the default job timeout
2016-05-31 09:35:47 +02:00
Markus Goetz
d88ab4653b Connectivity: Delete job on timeout #4275
This was not done if there was no reply
2016-05-30 18:15:41 +02:00
Robin Geuze
d45d6ca9da Fix Qt4 build 2016-05-30 09:55:45 +02:00
Daniel Molkentin
0194ebb222 Don't try to determine pixel ratio with Qt < 5.6.0
This seems to be broken. Worst case users can still
set it manually

Addresses #4840
2016-05-30 08:27:57 +02:00
Matthew Leeds
7f0cc5b699 Fix typo in folder.cpp 2016-05-27 11:13:18 -04:00
Daniel Molkentin
a2b238e2e5 Undo regression caused by 727e73d
normalization to NFC is still required. Mac OS API will not take
care of that by default.

Resolves #4884
2016-05-27 16:03:59 +02:00
ckamm
0e2c16e827 Certs: Re-ask for different cert after rejection #4898 (#4911)
Previously rejecting any kind of certificate meant that the user
was never asked again, even if the certificate changed.

Now we keep track of which certificates were rejected and ask again
if the ones mentioned in the ssl errors change.

mitmproxy is excellent for testing this.
2016-05-27 12:08:42 +02:00
ckamm
b9fdae6d67 Progress: Don't count items without propagation jobs #4856 (#4910)
* Progress: Don't count dirs without propagation jobs #4856

These directory SyncFileItems are necessary for bookkeeping
but should not influence the progress display at all.

* Progress: Skip ignored files #4856
2016-05-27 10:52:00 +02:00
Olivier Goffart
275ad1e157 Utility: Better fix for the translation of minutes, seconds, ...
The plural was not translated because of QTBUG-3945. Work around it.
Issue #4855
2016-05-26 12:17:16 +02:00
Olivier Goffart
159535fe90 Merge branch '2.2' 2016-05-25 16:30:17 +02:00
Olivier Goffart
fff5c280b3 SyncEngine: cleanup setting isDirectory 2016-05-25 16:27:40 +02:00
Olivier Goffart
e960b265a8 Merge remote-tracking branch '2.1' into 2.2 2016-05-25 16:23:58 +02:00
Olivier Goffart
f6b35e5d58 SyncEngine: invalid the blacklist entry when the rename destination change
The problem in this case is if we rename the file "xxx" to "invalid\file".
The rename will fail because the new filename constains a slash, and it
will be blacklisted.
But then if the user re-rename the file to "valid_name", then we should
invalidate the blacklist entry and retry to upload. But we did not do
that because renaming don't change the mtime and we did not store the
rename target in the database

IL issue 558
2016-05-25 15:32:45 +02:00
Markus Goetz
75efa8b252 sqlite: Update bundled version to 3.13.0
For OS X and Windows.
2016-05-24 17:27:31 +02:00
Daniel Molkentin
c041ca6163 Fix pot. mem leak found by coverity (CID 96004) 2016-05-24 11:21:33 +02:00
ckamm
bf02ccc1e8 Remember to upload files that are locked during a sync run (#4865)
See owncloud/enterprise#1342
2016-05-23 09:03:03 +02:00
Markus Goetz
552ba94c41 SyncEngine: Set isDirectory before syncItemDiscovered
(cherry picked from commit fc1933803e)
2016-05-20 17:00:22 +02:00
Markus Goetz
fc1933803e SyncEngine: Set isDirectory before syncItemDiscovered 2016-05-20 16:58:44 +02:00
Markus Goetz
46e4ec3183 Checksums: Use SHA1 like in >=2.2 2016-05-20 16:31:47 +02:00
Olivier Goffart
03e3b3bf50 Upload: put the job in the active list while doing the checksum computation.
This fixes an issue in which too many jobs are started un parallel
while uploading many files, which could cause too much memory usage as the
chunks are stored in memory.

Probably the fix for #4611
2016-05-20 16:28:27 +02:00
Christian Kamm
9aed8dbce8 Checksums: Compute content checksum on download #4375
Cherry-picked from d6d35029
2016-05-20 16:06:30 +02:00
ckamm
c6794cd338 Progress info: Reset between syncs #4856 (PR #4872) 2016-05-20 15:07:54 +02:00
ckamm
567fe87e98 Use natural sorting for filenames if available #4859 (#4864) 2016-05-19 15:36:46 +02:00
Christian Kamm
a1ba23eea9 Activity: When a new notification arrives, switch to that tab #4805 2016-05-19 14:13:07 +02:00
Markus Goetz
a038c99232 Upload: Remove bandwidth quota debug message #4837 2016-05-18 16:18:13 +02:00
Olivier Goffart
30c8fa1c93 Utility: Fix translation of second, minute, hour
Issue #4855

A typo in the context string made the translation lookup fail.
But also the %Ln was not recognized as a plural form by transifex, so only
the singular was translated
2016-05-18 10:52:22 +02:00
Olivier Goffart
010649f997 FolderWizard: remove dead code and fix the alias
Remove a bunch of dead code.

And also set the root folder name properly since alias is gone.

Fix the warning:
QWizard::field: No such field 'alias'
2016-05-18 10:52:22 +02:00
Olivier Goffart
cf1fe690a3 Shibboleth: Show the inspector if OWNCLOUD_SHIBBOLETH_DEBUG is set
Help to debug https://github.com/owncloud/enterprise/issues/1265
2016-05-17 12:29:20 +02:00
Olivier Goffart
5676685f58 SyncEngine: Add a compile option so we rename to restoring a move we don't have the permission to do
IL issue 550
2016-05-12 13:15:30 +02:00
Christian Kamm
0f9c32452c Protocol: Increase width of timestamp column #4721
Since the font metrics aren't reliable on windows, we add some
extra space there.
2016-05-12 10:24:34 +02:00
Jocelyn Turcotte
edc58c045f Fix assert on restore after propagation (#4823)
The assert was there to make sure that this case wasn't happening
to eventually be properly tested. Remove the assert for now but this
codepath should eventually be unit tested using this specific situation.
2016-05-11 18:16:46 +02:00
Jocelyn Turcotte
727e73d640 [shell/windows] Fix the windows status push not working (#4784)
Since the windows implementation first does cache lookups using the
path string, directories need to be passed identically as through
RETRIEVE_FILE_STATUS.

Change the convention to never have a trailing slash for directories
in the protocol. This allows the convention to be applied without
having to access the disk (since we'd need to know if the path is
represented by a directory) and also matches the convention of the
rest of the sync engine. Individual file manager plugins are then
responsible of handling pushed paths as not ending with a trailing
slash.

This also:
- Moves the trailing slash removal logic from the SyncFileStatusTracker
  to the SocketApi class
- Remove the unneeded QString::normalized call in fileStatus, since
  this should already be done by the FolderWatcher and plugins
2016-05-06 12:32:01 +02:00
Jocelyn Turcotte
e58739de00 [osx] Fix missing overlay icons on client startup
Since the statuses are cached and that we can't invalidate the cache,
sending NOP would need to be overwritten by the default OK status
once the client successfully connected. But instead of remembering
which files we NOPed, rather wait until we are ready to sync before
sending the REGISTER_PATH message to the socket API client. It will
also prevent the client from sending unnecessary RETRIEVE_FILE_STATUS
requests.

Also remove AccountState::canSync, since it does the same as
isConnected and syncing is not an account responsibility.
2016-05-03 13:01:51 +02:00
Jocelyn Turcotte
7c2fdee78b Avoid a SyncFileStatusTracker private overload with the same name
Having an overload as a private function in the same class makes the
code harder to follow. Rename the private fileStatus to syncFileItemStatus.
2016-05-03 13:01:51 +02:00
Jocelyn Turcotte
7bfe46962f Simplify the root status logic
Go through fileStatus like other cases to make sure that all use
cases go through the same code path. This also makes sure to use
lookupProblem which will use lower_bound which is more efficient
for larger sets of sync problems.

This also fixes the issue with lookupProblem that prevented it to
properly match an empty pathToMatch, caused by the fact that the
problem map contains relative paths not starting with a slash.
2016-05-03 13:01:51 +02:00
Jocelyn Turcotte
32b3023a8e Fix the root item sync status #4682
Make sure that we push the new status when the status of the SyncEngine
changed. SyncEngine::started comes a bit late, only when the propagation
starts, although it's better in this case since child folders will
only switch to Sync in aboutToPropagate.

Also fix an issue with SyncEngine::findSyncItem when using an empty
fileName; this would match and return the wrong item, even though
not currently happening with the code since fileStatus won't call
it with an empty fileName anymore.
2016-05-03 13:01:51 +02:00
Jocelyn Turcotte
a5df44c757 Fix the sync status push for parent directories #4682
As before, we rely on metadata-update SyncFileItem entries for parent
directories to notify us that a directory contains files to propagate,
and to know when all children were propagated through its itemCompleted
signal.

Those metadata SyncFileItems however have a None direction and we need
to add a explicit directory check to show them as Sync.
This fix also handles new files as well as existing ones, so no need
to keep a separate logic for new files.
2016-05-03 13:01:51 +02:00
Olivier Goffart
a67173610d Propagator: fix qt4 build
propagatedownload.cpp:712:35: error: 'seenLockedFile' is a protected member of 'OCC::OwncloudPropagator'

Signals are protected in Qt4 but public in Qt5, mark the class accessing it
as friend when compiling with Qt4
2016-05-02 17:34:21 +02:00
Daniel Molkentin
e833d01288 Re-Apply: Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-05-02 16:09:48 +02:00
Olivier Goffart
3047682223 ShareDialog: show the error message in red
Do the visual stuff from designer.
The previous code that was ment to change the color in red did not work
and changed it to gray instead.
Also I don't see why there should be a frame.

Issue #4773
2016-05-02 14:12:04 +02:00
ckamm
e6b937f508 LockWatcher: Keep an eye on Windows file locks (#4758)
When a conflict-rename or a temporary-rename fails, notify the
LockWatcher. It'll regularly check whether the file has become
accesible again. When it has, another sync is triggered.

owncloud/enterprise#1288
2016-04-29 16:14:18 +02:00
Roeland Douma
31c13f74fb Add spinner during sharee search (#4764)
Fixed #4740

When searching for sharees we should display a loading spinner.
2016-04-29 14:11:27 +02:00
Olivier Goffart
be466b47b7 Merge remote-tracking branch 'origin/2.1' into 2.2 2016-04-29 08:52:17 +02:00
Olivier Goffart
11b144957b PropagateDownload: Throw an error if the file is empty while it should not have been (#4753)
If the downloaded file is empty but the PROPFIND previously announced it
should not have been empty, this might mean the file was somehow corrupted
because of a bug on the server and that we should therefore not accept
the file.

Normaly we accept a change between the actual size of the file and what we
got during discovery because the file might have been updated to a new version
inbetween. But after this patch we won't accept the file if it was replaced
by an empty file.

Will help for issue #4583
Also requested by IL for issue 548
2016-04-29 08:49:27 +02:00
Markus Goetz
29932004ae Shibboleth: Load username from config for UI (#4751)
For https://github.com/owncloud/enterprise/issues/1034
2016-04-28 14:55:29 +02:00
Daniel Molkentin
b43a9421d2 Revert "Disambiguate socket API pathes on Windows with user name" 2016-04-28 13:52:15 +02:00
Klaas Freitag
e70b78d14b Merge pull request #4738 from owncloud/fix_3411
Disambiguate socket API pathes on Windows with user name
2016-04-28 13:46:10 +02:00
Christian Kamm
a36b4ec863 FolderWizard: Sort remote folders #4612 2016-04-28 09:29:07 +02:00
Christian Kamm
074f8eadb1 Selective sync: Sort folders in FolderStatusModel #4612 2016-04-28 09:29:07 +02:00
Christian Kamm
af5f2d3860 Protocol: Make timestamp column width fit the text #4721 2016-04-28 07:37:42 +02:00
ckamm
38bad564a0 Merge pull request #4739 from ckamm/trackdirty
Overlay icons: Track touched files #4730
2016-04-28 07:17:17 +02:00
Christian Kamm
c2fa3fb4c8 Overlay icons: Track touched files #4730
This uses the file watcher to keep track of files that were modified
in order to assign them the blue icon.

This is transient state that's not persisted across restarts.
2016-04-28 07:16:49 +02:00
Markus Goetz
f7082ee3df sqlite: Update to version 3.12.2
For OS X and Windows
2016-04-27 12:22:12 +02:00
Markus Goetz
f7c6efb391 ConnectionValidator: Also set short timeout for capabilities job
Default timeout was 5 min.
2016-04-27 12:19:49 +02:00
Olivier Goffart
d0af3ede05 AccountSettings: context menu: don't rely on the alias
Don't rely on the alias to know weather we shuld show a context menu or not.
Use the classify function to know if it's a root folder instead
2016-04-27 11:21:58 +02:00
Olivier Goffart
0da2adcbe0 Workaround ubuntu 16.04 systemtray bug (#4693) (#4747) 2016-04-27 11:21:13 +02:00
Christian Kamm
0829a94c92 Remote folder selection: improve path typing #4745 #4746
* Scroll to the target typed path
* Show non-404 errors that were triggered by typing paths
2016-04-27 10:37:17 +02:00
Markus Goetz
4ea2edcf4a Merge pull request #4741 from owncloud/fix-alias
Accountsettings: Generate an alias for new folders
2016-04-26 17:34:10 +02:00
Olivier Goffart
cd29875b76 Folder: Generate an alias for new folders
Before commit 1a51b6718a, the wizard was
making sure folder had an alias but this is no longer the case.
So generate still an unique alias.

Alias is not used in the UI any longer, it's just use for internal purposes.

For issue #4737
2016-04-26 16:53:24 +02:00
Markus Goetz
ce5ca8a42e UI: Fix account name/alias display oddities #4577 2016-04-26 16:47:47 +02:00
Daniel Molkentin
ce6a365328 Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-04-26 14:49:45 +02:00
Christian Kamm
09eea7f5f2 Checksums: Use the first supported type if nothing is preferred 2016-04-26 13:10:53 +02:00
Christian Kamm
12bf6e39b7 Share link: Consistent order of options owncloud/core#24122
(cherry picked from commit 8dc178a9f3)
2016-04-26 10:44:29 +02:00
Olivier Goffart
4e7c09de83 QTokenizer: fix Qt4 build
QSharedPointer::reset is new in Qt5
2016-04-26 10:38:20 +02:00
Roeland Jago Douma
d3a93322d2
Only 1 : between namespace and property 2016-04-22 14:38:43 +02:00
Olivier Goffart
0711abbf56 Theme: missing virtual keyword 2016-04-22 10:09:07 +02:00
Olivier Goffart
84ac2e64e0 Quota: Add branding option for the base folder (#4714)
As discussed on issue ##4460
Having the quote to be queried on subfolder is wrong in the generic case,
so add a branding option to configure it.

This partially reverts commit ff4cdc3161
2016-04-22 10:05:50 +02:00
Klaas Freitag
e5a5b95b9a Merge pull request #4689 from owncloud/overlays_handle_root
SyncFileStatusTracker: Add a method to handle the root folder of the sync.

Also, handle new files put in the sync in the statustracker logic.
2016-04-21 15:01:11 +02:00
Klaas Freitag
7acdf50a2c SocketAPI: Code simplifications as asked for in the review. 2016-04-21 14:54:13 +02:00
Klaas Freitag
361ebf5464 SyncFileStatusTracker: Remember the state of new files.
In the before-propagate slot, new files that wait to be
pushed to the server are remembered in the _syncProblems
map. That way, the parents show a sync icon properly as
asked for in #4682.

After the item has been transfered properly, the item is
removed from the map again because success is the default.
2016-04-21 13:56:08 +02:00
Olivier Goffart
7a82fac0d5 owncloudcmd: Save the selective sync list on the first run
For issue #4690

In the first run, the journal might not exist, we should not cancel
setting the selective sync list
2016-04-21 12:58:10 +02:00
Daniel Molkentin
8b39c6e6ce Merge pull request #4709 from owncloud/fix_4691
Use QTokenizer to properly parse netrc
2016-04-21 12:50:43 +02:00
Daniel Molkentin
e29d7e0128 Use QTokenizer to properly parse netrc
Addresses #4691
2016-04-21 12:46:03 +02:00
Olivier Goffart
522f7afa9e Merge pull request #4663 from 'ckamm/disabletransmissionchecksum'
Disable validation of transmission checksums by default
2016-04-21 11:46:01 +02:00
Olivier Goffart
fa69d089cf Checksums: remove the downloadChecksumValidationEnabled option
Added in previous commit from pull request #4663

As discussed, we do not need this option so no need to introduce
a new dependency on the config file in the sync engine
2016-04-21 11:43:44 +02:00
Klaas Freitag
b56919d0c4 SocketAPI: Return NOP state if folder is diconnected or paused.
Later, we can send a specific state for that.
2016-04-20 17:14:12 +02:00
Markus Goetz
f9fb7a59dd Merge pull request #4708 from owncloud/aliasGui
UI: Remove alias from more places #4577 #4695
2016-04-20 15:54:05 +02:00
Markus Goetz
1a51b6718a UI: Remove alias from more places #4577 #4695 2016-04-20 14:27:50 +02:00
Klaas Freitag
bd37eab3ad SocketAPI: Display a warning on the directory if there are errors
Errors with individual files within a directory now result in
a warning label on the parent directories.
2016-04-19 18:18:00 +02:00
Markus Goetz
edb942ba61 Merge pull request #4696 from owncloud/issue4573_negative_content_length
Discovery: Be more explicit about files with unknown size #4573
2016-04-19 16:09:48 +02:00
Markus Goetz
a17f37d8ae Discovery: Be more explicit about files with unknown size #4573
Also related https://github.com/owncloud/core/issues/23468
2016-04-19 15:31:16 +02:00
Roeland Jago Douma
598941948c
Use expireDate if returned by the OCS Share API
If an app modifies the expiration date (for example the password policy
app) then on more recent versions of the server we will get the share
object back REST style. We should use that info!

Fixes #4409
2016-04-19 11:22:32 +02:00
Roeland Douma
9f30e83413 Merge pull request #4687 from owncloud/fix_share-permissions-namespace
The share-permissions namespace was moved
2016-04-18 21:29:26 +02:00
Klaas Freitag
2ab4caf007 ProtocolWidget: Display the recalculated number of issues.
Should fix #3222
2016-04-18 16:48:37 +02:00
Klaas Freitag
11d3aa3c4f Protocolwidget: Removed some leftovers from refactoring. 2016-04-18 16:47:14 +02:00
Daniel Molkentin
c0ec481436 No need for WebKitWidgets in libsync anymore 2016-04-16 10:58:12 +02:00
Klaas Freitag
0f3d6d4160 SyncFileStatusTracker: Add a method to handle the root item. 2016-04-15 15:02:02 +02:00
Olivier Goffart
fafca26144 AccountManager: take theURL from the Theme rather than from the config if the theme specify it (#4591)
That way an upgrade of the client can actually change the URL
Issue https://github.com/owncloud/enterprise/issues/1113
https://github.com/owncloud/enterprise/issues/1126

In addition to restoring commit 7e5d89293d, this
add a way to override the auth type
2016-04-15 13:16:49 +02:00
Markus Goetz
06c19b0b6f sqlite: Update to version 3.12.1
For OS X and Windows.
2016-04-15 12:02:00 +02:00
Christian Kamm
ea40e314d4 Add server capabilities for checksums #4638
* Add checksums/supportedTypes and checksums/preferredUploadType
  capabilities. The default is that no checksum types are supported.

* Remove the transmissionChecksum config option. Servers must now
  use the capabilities to indicate that they are fine with the
  client sending checksums.

Note: This intentionally breaks brandings that overrode
Theme::transmissionChecksum. The override must be removed and the
server's capabilities must be adjusted to include the new values.
2016-04-15 10:58:14 +02:00
Klaas Freitag
e2622310df Merge pull request #4670 from owncloud/implement_ep_1136_2nd_attempt
Make postfixlineedit more userfriendly, rename email id string to "Email"
2016-04-15 10:17:03 +02:00
Klaas Freitag
4ad8e04bc3 Merge pull request #4684 from owncloud/less_socket_api_updates
Less socket api updates
2016-04-15 10:15:07 +02:00
Roeland Jago Douma
74301e4373
The share-permissions namespace was moved
See https://github.com/owncloud/core/pull/24017

This was done since other services we want to intergrate with don't use
the ownCloud namespace.
2016-04-15 10:14:05 +02:00
Klaas Freitag
8007331462 SocketAPI: Remove unneeded logging. 2016-04-14 15:39:46 +02:00
Klaas Freitag
12330b38e9 Folderman: Remove one call to updateFolderView.
The reason is that updateFolderView is invoked by the
emitted signal folderSyncStateChange() anyway.

This will reduce the traffic over the SocketAPI nicely,
maybe this was the reason why it was slower than before.
2016-04-14 15:26:11 +02:00
Christian Kamm
dfd7d4d2f9 Activity tab visibility fixes #4651 2016-04-14 11:35:16 +02:00
Christian Kamm
484a2c800d Fix typo 2016-04-14 10:59:40 +02:00
Christian Kamm
8d300b049f ShareDialog: Tell a user early if resharing is impossible #4679 2016-04-14 10:16:37 +02:00
ckamm
48e594ebbf Merge pull request #4673 from ckamm/shareperm
Disable unavailable sharing permissions #4383
2016-04-14 09:44:58 +02:00
Christian Kamm
910c61b492 Disable unavailable sharing permissions #4383
Users can't reshare with more permissions than they have themselves.
2016-04-14 09:44:37 +02:00
Daniel Molkentin
97a6d3df82 document Theme::wizardUrlHint() 2016-04-13 15:59:25 +02:00
Daniel Molkentin
9cc981c8c7 Make postfixlineedit more userfriendly, rename email id string to "Email". 2016-04-13 14:56:49 +02:00
Klaas Freitag
ed3203d25d Merge pull request #4659 from owncloud/fix_client_4651
Fix client #4651
2016-04-13 12:02:45 +02:00
Klaas Freitag
15988c6fda SocketAPI: Use NOP only, not NONE in the share api protocol.
Otherwise, plugins might brake, as the linux one did.
2016-04-12 18:28:27 +02:00
Klaas Freitag
f443377978 Merge pull request #4664 from ckamm/hiddenfiles
Fix hidden file handling #4655
2016-04-12 17:14:47 +02:00
Olivier Goffart
fdcdddca16 CMakeLists: move QtKeychain detection in client 2016-04-12 14:43:26 +02:00
Klaas Freitag
bf99306a53 Merge branch 'do_not_close_db_on_done' 2016-04-12 14:36:46 +02:00
Christian Kamm
6f454feb39 Fix hidden file handling #4655
There were two issues:

* With the refactoring of how Folder and SyncEngine relate, the
  ignore_hidden_files flag on the CSync context was reset after
  each sync run and not updated from the configuration again.

* The folder watcher failed to enumerate hidden folders and thus
  didn't watch for changes inside them. (linux only)
2016-04-12 11:59:07 +02:00
Olivier Goffart
68b7437afb Merge pull request #4658 from owncloud/fix-qt4-build
Fix qt4 build
2016-04-12 10:36:48 +02:00
Christian Kamm
41b950b7e6 Don't call reset() on a query after close() #4662 2016-04-12 10:30:46 +02:00
Klaas Freitag
868edb1f0d SyncJournalDb: Only close the db if the return code is not SQLITE_DONE
SQLITE_DONE is the indicator for not more query results, which is a legal
thing and not an error condition.

Also, check _getFileRecordQuery for null pointer, as close() wipes it.
2016-04-11 17:38:16 +02:00
Klaas Freitag
aaf43bd0d3 SyncJournalDb: Handle empty filename and avoid a bogus db query. 2016-04-11 17:36:15 +02:00
Klaas Freitag
d5f1d1c6b2 SqlQuery: Add method errorId() to get the numeric error code. 2016-04-11 17:34:59 +02:00
Klaas Freitag
6cb94e8849 Merge pull request #4656 from owncloud/close_journal_fix
Close journal fix - do not keep the journal open or reopen on error.
2016-04-11 16:14:17 +02:00
Klaas Freitag
d433c24186 Check if the record returned from getFileRecord is valid.
Handle database fails properly.
2016-04-11 16:04:20 +02:00
Olivier Goffart
c48b5c4f61 ActivityWidget: use a QHash for _widgetsToRemove
The problem with QSet is that the QDateTime was part of
the hash, but that does not make sens as it should be unique
per widget and not per <date, widget>

Instead make it a QHash so there is only one entry per widget.
2016-04-11 15:49:24 +02:00
Olivier Goffart
976f4dfabe ActivityWidget: Fix Qt4 build
Don't use API added in Qt5
2016-04-11 15:49:24 +02:00
Olivier Goffart
f8dc263338 CMakeLists: fix Qt4 build
Only the src subdirectory needs Qt.
Otherwise it activates Qt4 also for the dolphin plugin which always need Qt5
2016-04-11 15:49:18 +02:00
Klaas Freitag
e896d16f32 ActivityWidget: Make sure Notification are visible if Activity disabled
This is the fix for #4651
2016-04-11 15:39:25 +02:00
Klaas Freitag
2ec642aadb ActivityWidget: Properly set widget for the Scrollview.
Also fixed some SizePolicy settings.
2016-04-11 15:38:25 +02:00
Olivier Goffart
bd3a079a7b Merge pull request #4648 from owncloud/handle-database-errors
Handle setFileRecord errors #4632
2016-04-11 15:36:46 +02:00
Olivier Goffart
6ee7e82913 Handle setFileRecord errors #4632 2016-04-11 14:11:11 +02:00
Klaas Freitag
648328fbe2 SyncJournalDb: Close the db on error in getFileRecord()
The idea is that the next call to any database operation will try to
reopen the database through the checkConnect() method. So even if there
was a disconnect trom the db file, this will reestablish the connection.
2016-04-11 12:40:19 +02:00
Klaas Freitag
ee58cc3b66 SyncEngine: Close the sync journal after the sync run has finished. 2016-04-11 11:31:54 +02:00
ckamm
4ce97633cd Merge pull request #4630 from ckamm/folderwatchwin
Graceful termination of folderwatcher_win #4620
2016-04-09 06:55:30 +02:00
Klaas Freitag
8f7b833c12 Not Synced Tab: Use tr rather than string concat 2016-04-07 09:18:51 +02:00
Klaas Freitag
48bfcde97d Merge pull request #4640 from owncloud/numberInProtocolTab
ProtocolWidget: Show number of non synced files in tab label.
2016-04-07 09:15:06 +02:00
Klaas Freitag
42439490cc Merge pull request #4645 from owncloud/fix_4633
SelectiveSync: Verify if the list could be read from journal.

If not handle the error rather than assuming the selective sync list is empty.
2016-04-07 09:14:33 +02:00
Klaas Freitag
058cd33324 Not Synced: Display only the number of not synced items in parathesis.
This was Jans wish.
2016-04-06 17:53:42 +02:00
Klaas Freitag
e4604b406f SyncEngine: finalize properly on error with syncjournal 2016-04-06 17:20:48 +02:00
Klaas Freitag
7b1f02fcda SelectiveSync: Verify if the list could be read from journal.
If there is a read error from the database while trying to get
the list from database, make sure to not behave badly because
the list is empty.
2016-04-06 15:01:28 +02:00
Klaas Freitag
52a5234122 Merge pull request #4641 from owncloud/bubbleUpConflicts
Bubble up conflicts: Show a tray notification on conflicts and show the conflicts in the not-synced list.
2016-04-06 13:45:47 +02:00
Klaas Freitag
4e17dabcb6 Folder: Fixed a couple of plural translation issues. 2016-04-06 12:22:29 +02:00
Klaas Freitag
9bdc84c6f4 NotificationJobs: Set ocs header to maintain the session.
This is needed by the server.
2016-04-05 16:52:51 +02:00
Klaas Freitag
252aea25da ProgressDispatcher: Improve wording about conflicts. 2016-04-05 16:38:18 +02:00
Klaas Freitag
efb0faa14e Folder: After sync, fire up tray notification if conflicts happened.
If there were conflicts, users want to have a tray notification that warn
about.
This will help for #3222
2016-04-05 16:37:54 +02:00
Klaas Freitag
5b40921587 ProtocolWidget: Show number of non synced files in tab label. 2016-04-05 13:57:38 +02:00
Klaas Freitag
7994b3d91a ProtocolWidget: handle Conflicts as not-synced items 2016-04-05 11:13:12 +02:00
Olivier Goffart
3334067d9f Merge branch '2.1'
Conflicts:
	src/gui/socketapi.cpp
2016-04-04 16:58:49 +02:00
Klaas Freitag
73e2a503d7 NotificationWidget: Some ui refinements. 2016-04-04 12:46:00 +02:00
Klaas Freitag
bc6eebddf4 NotificationWidget: Handle empty message and subject properly. 2016-04-04 12:45:39 +02:00
Olivier Goffart
434d16941b SyncEngine: fixed restoring files when they are moved in a new directory
Imagine tgus scenario on a read only share that you move file from
one location to a new directory in the read only share.
Creating the read only directory fails for permission error.
But we should also restore the files that have been moved.

IL issue 542
2016-04-04 10:41:12 +02:00
Klaas Freitag
6b0d535120 Merge branch 'notifications' 2016-04-04 10:40:33 +02:00
Christian Kamm
fa1bb309ca Graceful termination of folderwatcher_win #4620 2016-03-31 15:44:42 +02:00
Christian Kamm
e05819370b Fix invalid read on account removal 2016-03-31 09:00:32 +02:00
Daniel Molkentin
9ea191f63d Scale correctly with HiDPI displays on Linux with Qt 5.6 2016-03-30 18:25:30 +02:00
Christian Kamm
c150350096 SyncFileStatusTracker: Fix compilation with older Qt 2016-03-30 13:42:08 +02:00
Christian Kamm
c35e74d264 Theme: Enable link sharing by default
Was disabled by accident.
2016-03-30 13:33:12 +02:00
Olivier Goffart
cdbc25ede8 Merge pull request #4615 from owncloud/socketApiRefactor
Socket API refactor
2016-03-30 13:24:10 +02:00
Jocelyn Turcotte
a0260c29c0 Fix the build on Windows 2016-03-30 12:19:09 +02:00
Jocelyn Turcotte
2c0caf8b75 Fix the SocketApi status of CSYNC_FILE_SILENTLY_EXCLUDED files
Bring back the hardcoded status logic for excluded files.
Since the activity log doesn't even mention those files on purpose,
we can't rely on the SyncEngine to notify us about the status of those files.
2016-03-30 12:10:51 +02:00
Jocelyn Turcotte
56064c9366 Fix sibbling directories showing up as warning
Looking up a/aa while an error is present in a/aab/aaba would return
a warning status since a/aa is a substring of a/aab.
Fix the issue by checking if the following character is a slash.
2016-03-30 11:22:01 +02:00
ckamm
98995f45e6 Merge pull request #4618 from ckamm/progressui
Progress layout adjustments
2016-03-30 09:22:27 +02:00
Christian Kamm
5636dc1386 Tooltip updater: Fix compile with Qt4 2016-03-30 09:21:28 +02:00
Klaas Freitag
885f8b382f ActivityWidget: Handle plural properly in translations.
Even for the case where the number is fixed.
Also fix the translators comments.
2016-03-29 18:01:54 +02:00
Klaas Freitag
8166c52f4a NotificationHandling: Use QByteArray for the verb. 2016-03-29 18:01:49 +02:00
Jocelyn Turcotte
ef57d4ae11 Move the SyncFileStatusTracker directory slash suffix logic in a method 2016-03-29 17:55:02 +02:00
Jocelyn Turcotte
fbf23b6abb Cleanup after the SyncFileStatusTracker change
- Add missing explicit keywords
- Add doc
- Comment out verbose and partly redundant qDebug statements
2016-03-29 17:39:30 +02:00
Jocelyn Turcotte
47a552f8c2 Use a std::map for SyncFileStatusTracker problems
This prevents having to define a Problem structure with dubious
operator overloads to accomplish the same.
Also use std::map::lower_bound to quickly iterate over the
list of problems.
2016-03-29 17:29:36 +02:00
Klaas Freitag
cd3f612857 ActivityWidget: Rename blacklistActivities to blacklistNotifications. 2016-03-29 16:50:58 +02:00
Klaas Freitag
2e30a0e5bc Remove superflous iterator increment 2016-03-29 16:50:15 +02:00
Klaas Freitag
cacb751ab8 Cleaups based on review feedback. 2016-03-29 14:38:11 +02:00
Klaas Freitag
4d59f5ec66 ActivityData: Declare operators outside the class 2016-03-29 14:09:19 +02:00
Klaas Freitag
69e8e15884 Remove explicit time spec specification as it is not needed. 2016-03-29 13:59:08 +02:00
Daniel Molkentin
1730569f77 No Q_NULLPTR in Qt 4.8 2016-03-29 13:28:11 +02:00
Olivier Goffart
98091aeab7 Theme: document forceSystemNetworkProxy (#4458) 2016-03-29 13:08:33 +02:00
Christian Kamm
c5fbde412c Folder info layout adjustments #3403
* Remove duplicate remote path
* Use thin progress bar
* Move bandwidth and file info to tooltip
* Shorten overall progress message

This also fixes #4562 by making the layout not dependent on the
width of the displayed text.
2016-03-29 12:45:01 +02:00
Christian Kamm
10a7128d1a Update QTreeView tooltips as they change #3403 2016-03-29 12:26:09 +02:00
Christian Kamm
41f43feecf Add utility function for shorter time duration strings #3403 2016-03-29 12:26:09 +02:00
Christian Kamm
4915bbf8f3 Adjust size description strings #3403
@jancorchardt suggested to not have decimal places on file
sizes, except for GB.
2016-03-29 12:26:09 +02:00
Christian Kamm
ffbd5df25f Account UI: Fix log out button text #4578 2016-03-29 12:14:53 +02:00
Jocelyn Turcotte
82190eaa81 Refactor the overlay icon logic to show errors as a warning for parent folders #3634
This also remove all smartness from the SocketApi about the status
of a file and solely use info from the current and last sync.
This simplifies the logic a lot and prevents any discrepancy between
the status shown in the activity log and the one displayed on the
overlay icon of a file.

The main benefit of the additional simplicity is that we are able
to push all new status of a file reliably (including warnings for
parent folders) to properly update the icon on overlay implementations
that don't allow us invalidating the status cache, like on OS X.

Both errors and warning from the last sync are now kept in a set,
which is used to also affect parent folders of an error.

To make sure that errors don't become warning icons on a second
sync, SyncFileItem::_hasBlacklistEntry is also interpreted as an error.
This also renames StatusIgnore to StatusWarning to match this semantic.

SyncEngine::aboutToPropagate is used in favor of SyncEngine::syncItemDiscovered
since the latter is emitted before file permission warnings are set on the
SyncFileItem. SyncEngine::finished is not used since we have all the
needed information in SyncEngine::itemCompleted.
2016-03-28 14:29:48 +02:00
Jocelyn Turcotte
69aa39f1f6 Don's use SyncFileStatus for Folder::createGuiLog
SyncFileStatus' purpose is to track overlay icon status.
Instead of putting comments and default: clauses in switch
on both sides about unused enums, use different enums.

This also remove STATUS_NEW which is the equivalent of
STATUS_SYNC in all shell extension implementations, and
remove STATUS_UPDATED and STATUS_STAT_ERROR which have
the same semantic as STATUS_UPTODATE and STATUS__ERROR.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
ea5e6d367b Connect the SocketApi directly to the SyncFileStatusTracker
Don't go through the Folder->ProgressDispatcher->SocketApi route and
keep the path logic in SyncFileStatusTracker.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
da7b9916e5 Move the SocketApi business logic to a libsync SyncFileStatusTracker class
This will allow testing this code and avoid going through too many
layers to get notified and a file status changed.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
dac4bd8370 Remove null-checks for FolderMan::_socketApi
It's now created in the constructor and won't be null.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
6e16e34799 Remove SocketApi::dbFileRecord_capi in favor of JournalDB::getFileRecord 2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
6d3fe9d865 Remove the tainted folder logic
This currently is no-op code since the socket API isn't notified
that the tainted folder list changed, and the result is the same
since a sync will be triggered within the next 5 seconds and the
modified folder will be shown as SYNC at that point anyway.

Removing the dependency to the file watcher allows moving the
status estimation logic to libsync.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
c090a511fd Remove OwnCloud6 specific sharing code
If users encounter this situation, the share icon will simply not show.
This simplifies the transition to move this code in libsync.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
a4e0899af4 Remove the mutex from ExcludedFiles
It's always accessed from the main thread.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
2d2c7bc9b8 Move the SyncEngine construction to the Folder constructor
The SyncEngine is now created only once, at construction of the
Folder, instead of being reconstructed on each sync.
2016-03-28 13:26:38 +02:00
Jocelyn Turcotte
df386b64ba Make the AccountState a construction argument of the Folder
This will help moving the SyncEngine construction in the constructor
and allow moving functionalities from Folder to SyncEngine or its
delegated objects.
2016-03-28 13:07:28 +02:00
Daniel Molkentin
7730e826b0 Merge pull request #4580 from owncloud/implement_ep_1136
Implement EP 1136
2016-03-24 14:58:09 +01:00
Daniel Molkentin
2d24585a8f Implement enforcing a static URL postfix.
Second part of EP 1136
2016-03-24 14:18:52 +01:00
Klaas Freitag
1fe5d6bb0c Notifications: Handle Notifications without an action.
The policy that was said is that if a notification has no action, the
client can and should display a close-button. This patch does it.

In additon to that, the client needs a blacklist of closed notifcations
otherwise they would re-appear next time the server notifications are
fetched again.

Also, changed the cleanup of not-longer-used widgets to be more robust.
2016-03-23 17:02:13 +01:00
Klaas Freitag
0c944a06f9 NotificationWidgetUI: Fix sizing and sizePolicy 2016-03-23 16:49:25 +01:00
Klaas Freitag
1bb3a4a45d NotificationWidget: Remove accountName() and add activity() method. 2016-03-23 16:48:38 +01:00
Klaas Freitag
161d21904a ActivityData: Add source file for implementation details
Add the ident() method and operators.
2016-03-23 16:47:13 +01:00
Klaas Freitag
f70c6282ca Notifications: Remove unused variable. 2016-03-22 11:38:10 +01:00
Klaas Freitag
ad60e8ac89 Notifications: Fix handling of notifications to remove from the list.
If a notification is not longer in the list of notifications coming from
the server, it needs to be removed from the widget list.
2016-03-22 10:35:24 +01:00
Klaas Freitag
d03fcc95e4 Notifications: Maintain a timeSinceLastCheck for every Account.
In multi-account environment every account needs the own counter.
2016-03-22 09:58:30 +01:00
Daniel Molkentin
fb75adcd57 Wizard: Implement alternative forms of inquiring about the userID
Settable in the theme.
2016-03-21 23:50:48 +01:00
Klaas Freitag
d407aacc4a Notifications: remove notification widgets if the notification is gone.
If a notification is not longer in the list that comes from the
server, the notification is removed.

That is mainly for the notifications that are created by the
announcement application
2016-03-21 16:32:37 +01:00
Klaas Freitag
f587f35ef0 Fix plural translation handling, remove the superflous arg() 2016-03-21 15:03:28 +01:00
Jocelyn Turcotte
c55ac504a3 Merge pull request #4584 from lultimouomo/fix-destruction-order
Fix crash due to destruction order
2016-03-18 18:58:23 +01:00
Luca Niccoli
6735126c09 Fix crash due to destruction order 2016-03-18 16:41:48 +01:00
Klaas Freitag
b9663456d8 Notifications: Refresh the notifications based on a config value.
Pulls a timer that polls for new notifications regularly. Add
Config file method for the interval value.
2016-03-18 16:28:20 +01:00
Klaas Freitag
0e1b9a346d Fix plural translation handling, remove the superflous arg() 2016-03-18 15:28:00 +01:00
Christian Kamm
03db1894d8 Fix wizardSelectiveSyncDefaultNothing #4581 2016-03-18 13:52:45 +01:00
Christian Kamm
ff4cdc3161 Quota: Change quota path if single folder #4460
Since the quota is a per-folder value, this will make the displayed data
more useful when a single sync folder is configured.

Of course each subfolder could have a different quota again.
2016-03-18 13:34:49 +01:00
Christian Kamm
0febe9b0df Revert "Utility: Make sure to use UTC timestamp to compare in timeAgoInWords"
This reverts commit 41b43bf961.

Using now in UTC should make no difference, but that assert might
trigger...
2016-03-18 13:15:35 +01:00
Klaas Freitag
7f22a07312 Notifications: Check if the account is connected before querying.
Also avoid memory leaks if it is not connected.
2016-03-18 12:29:09 +01:00
Klaas Freitag
328d254f7f Notifications: Remove "done" notification widgets after fife seconds. 2016-03-18 11:25:14 +01:00
Markus Goetz
15f6e133a5 sqlite: Update to version 3.11.1
For OS X and Windows.
2016-03-18 10:17:41 +01:00
Klaas Freitag
0a590b7cbe Notifications: Give feedback if notifcation request succeeded.
Also display a time stamp.
2016-03-18 10:02:11 +01:00
Klaas Freitag
f04895a407 Utility: Fix plural translation. 2016-03-18 08:31:13 +01:00
Klaas Freitag
41b43bf961 Utility: Make sure to use UTC timestamp to compare in timeAgoInWords
This should help to fix the problems we see in #4521
2016-03-18 08:31:03 +01:00
Klaas Freitag
05de710b67 Notifications: Display timestamp of the notification in the widget 2016-03-18 08:21:54 +01:00
Klaas Freitag
f71fdab997 Fix timeAgoInWords 2016-03-18 08:20:23 +01:00
Christian Kamm
2bba68e059 Handle server timezone data correctly #4521
The date we receive from the server is an ISO8601 datetime that
includes the offset from UTC. Qt does correctly parse this
information and creates the appropriate QDateTime object.

Calling setTimeSpec(UTC) will force the timezone offset to 0 and
thereby change the referenced point in time to an incorrect one.
2016-03-17 13:04:18 +01:00
Christian Kamm
4b19cdeca0 Propfind: Treat broken XML response as failure #4575
Soldiering on with a broken or incomplete response could lead to
incorrect sync behavior.

Since discovery uses LsCol jobs which already handle errors
correctly, this should not have a significant impact.
2016-03-17 11:32:19 +01:00
Olivier Goffart
3d157cbb02 User-Agent: put the actual version string in there
It contains the build id in addition

(cherry picked from commit e0e793fb14a5c32b21db95a63ebf48084621ff4d)
2016-03-17 10:52:55 +01:00
Olivier Goffart
80b5f3f43d Never overwrite the size from the db when updating the metadata
the size on the server might be different from the size on the client
with certain backend so it should be ignored.

(cherry picked from commit 9222db6df9b19a21e1bea5a238d745d96a6385e3)
2016-03-17 10:48:49 +01:00
Olivier Goffart
254361cb87 Shared dialog: move the error label up (#4348) 2016-03-16 18:06:46 +01:00
Klaas Freitag
f7f412007e Activity: Some documentation and better varialbe names 2016-03-16 16:31:52 +01:00
Klaas Freitag
45c32ec0b1 NotificationWidget: Remove not needed method. 2016-03-16 16:21:20 +01:00
Christian Kamm
4900703970 SqlQuery: Write NULL when intended #4548
In SQLite bindings are not cleared by sqlite3_reset() calls, so
skipping a sqlite3_bind call to create a NULL value doesn't work,
instead the previous value will be written.

To fix this, I clear all bindings in SqlQuery::reset and make sure
to explicitly bind NULL when desired in SqlQuery::bind.

To make sure there's no confusion about SqlQuery::reset and
sqlite3_reset, I rename our method to reset_and_clear_bindings().

(cherry picked from commit 7bd4f95b8c)
2016-03-15 15:17:35 +01:00
Christian Kamm
7bd4f95b8c SqlQuery: Write NULL when intended #4548
In SQLite bindings are not cleared by sqlite3_reset() calls, so
skipping a sqlite3_bind call to create a NULL value doesn't work,
instead the previous value will be written.

To fix this, I clear all bindings in SqlQuery::reset and make sure
to explicitly bind NULL when desired in SqlQuery::bind.

To make sure there's no confusion about SqlQuery::reset and
sqlite3_reset, I rename our method to reset_and_clear_bindings().
2016-03-15 14:38:31 +01:00
Markus Goetz
9d5307d04c Propagator: On remove move, take size from DB
Some servers can claim different sizes for on-the-fly protected/encrypted
MS Office files during discovery.
2016-03-15 10:28:47 +01:00
Markus Goetz
9460aa7f21 SyncEngine: Also emit item in other code path
Else a user of this library cannot build a complete list of items.
2016-03-14 18:12:07 +01:00
Klaas Freitag
a4dcc2784a Notification: Fix plural handling for tray message 2016-03-14 16:21:04 +01:00
Klaas Freitag
9a2f1456c5 ocs jobs: Add a define for OCS job success. 2016-03-14 15:41:20 +01:00
Klaas Freitag
9d219a18f3 ActivityListModel: Code cleanups
based on review feedback.
2016-03-14 15:40:39 +01:00
Klaas Freitag
97f1694f7e ActivityData: Simplified implementation.
Use QVariantHash and removed ActivityList object in favour
of a typedef
2016-03-14 15:39:07 +01:00
Klaas Freitag
73cd5a9c27 Notifications: Cleaner notification string build 2016-03-14 14:41:21 +01:00
ckamm
25baa995ec Merge pull request #4532 from ckamm/content-checksum
Enable content checksums #4375
2016-03-14 09:49:31 +01:00
Markus Goetz
6c07f08175 Proxies: Enable ownBrander to force system proxy usage #4458 2016-03-11 16:21:40 +01:00
Markus Goetz
62d4ed8087 Protocol: Show by default instead of server activity #4395 2016-03-11 16:08:56 +01:00
Klaas Freitag
adf9570a92 Notification: Enhance the tray message
Add the hostname from where the notification comes, as well as
the name of the application to the header.
2016-03-11 12:48:31 +01:00
Klaas Freitag
2c2a18af43 Activitiy: Refactor - move classes to their own source files.
Created a activitydata.h header (only) for the basic data, plus
a separate file for the model. Cleans up the widget source.
2016-03-11 11:41:19 +01:00
Klaas Freitag
2d1ab27cb5 Notifications: Refactor - create a notification handler class
That cleans the ActivityWidget class
2016-03-11 10:48:34 +01:00
Klaas Freitag
903e79a7c4 Notifications: Do a GUI tray notification if new notifciations arrive.
Show a GUI notification once an hour if no new notifications arrive
to not annoy users.
2016-03-11 10:15:28 +01:00
Klaas Freitag
8a0ce463da Notifications: Properly delete the notification check job. 2016-03-10 17:46:00 +01:00
Klaas Freitag
7d13a1d8e1 Notifications: Check capabilities if the notifications are enabled
If not, do not query for them.
2016-03-10 17:46:00 +01:00
Klaas Freitag
b97c832306 Capabilities: Add isValid check and check for notifications
The isValid check should be used everywhere the capabilities
are used as the loading of the capabilities is happening
in parallel of the startup, so it is not guaranteed to be
available always.
2016-03-10 17:46:00 +01:00
Klaas Freitag
4a4dac22e2 Notifications: Add a Progress indicator and handle job results.
Parse the replyCode from the button action calls and disable
buttons accordingly.
2016-03-10 17:46:00 +01:00
Klaas Freitag
32e16b323c Display server notifications on the client (#3733)
As interaction is required, the notifications are displayed in a
separate widget above the server activity list.

Note that design and also where we display the notifications can
still be discussed and changed.
2016-03-10 17:46:00 +01:00
Klaas Freitag
688c5502a8 New GUI class NotificationWidget.
It displays a server notification that can come with a dynamic
set of buttons next to a message and a subject (=header)
2016-03-10 17:22:36 +01:00
Klaas Freitag
eb00b34191 Minor wording fixes 2016-03-10 17:22:36 +01:00
Klaas Freitag
0eb1041290 AbstractNetworkJob: Add a delete job.
It is needed to easily send delete requests which happen
through the notify API.
2016-03-10 17:22:36 +01:00
Markus Goetz
5cb45bf738 Merge pull request #4549 from owncloud/fix_4545
Add account name to warning message boxes in Folder
2016-03-09 19:12:34 +01:00
Markus Goetz
a14b495864 Old servers: Don't nag if version still undetected #4523 2016-03-09 15:57:45 +01:00
Markus Goetz
ad1c343cd7 Merge pull request #4552 from owncloud/hide_activity_tab
Activities: Hide if non of the accounts has the app enabled.
2016-03-09 15:34:12 +01:00
Christian Kamm
17003cec19 Settings: Hide update info if skipUpdateCheck #4397
(cherry picked from commit 93de378fb21e934d324d621f66eec98e53f1637a)
2016-03-09 15:32:32 +01:00
Markus Goetz
2843214d09 Merge pull request #4531 from ckamm/old-server
Add warnings for old server versions #4523
2016-03-09 15:16:48 +01:00
Daniel Molkentin
b456ded5e7 Show full path in warning message boxes before folder removal
Fixes #4545
2016-03-09 14:07:34 +01:00
Roeland Jago Douma
41d38b37cf Add spinner to show we are creating the share
Fixes #3737
2016-03-08 20:54:14 +01:00
Olivier Goffart
54612455e6 Merge pull request #4513 from owncloud/csyncContextToSyncEngine
Move the csync_context creation in SyncEngine
2016-03-08 18:12:31 +01:00
Klaas Freitag
9c5b9f932b Activities: Hide if non of the accounts has the app enabled.
If the ownCloud server does not have the activity app enabled,
it returns 999 as status code. If all the configured accounts
do that, this code hides the entire tab with the server
activities.

This is supposed to fix #4533
2016-03-08 18:01:42 +01:00
Jocelyn Turcotte
e91a5c85ff Move the Logger reference back into src/gui 2016-03-03 20:26:48 +01:00
Jocelyn Turcotte
7561f5c717 Add comment and cleanup the csync exclude list code
Removed the csync_add_exclude_list function that isn't use anywhere
anymore.
2016-03-03 20:26:48 +01:00
Christian Kamm
c554f5383c Downloads: Preserve group ownership #4330 2016-03-03 12:02:06 +01:00
Christian Kamm
4f48c888ef Don't use QVector::removeOne, added in Qt 5.4
A QList makes sense there and makes the rest of the code
work with earlier Qt versions.
2016-03-03 10:03:41 +01:00
Markus Goetz
266508b691 Merge pull request #4529 from owncloud/dynamic_parallelism_scaling
Propagator: Pump in more requests if we think current ones are quick
2016-03-02 15:23:58 +01:00
Markus Goetz
d78c3679e7 Propagator: Pump in more requests if we think current ones are quick
Helps with small file sync #331
When I benchmarked this, it went up to 6 parallelism and
was about 1/3 faster than the previous fixed 3 parallelism.
Doing more than 6 is dangerous because QNAM limits to 6 TCP
connections and also the server might become a bottleneck.

Should also help for #4081
2016-03-02 15:22:21 +01:00
Christian Kamm
d6d3502960 Checksums: Compute content checksum on download #4375 2016-03-02 14:28:41 +01:00
Christian Kamm
7ed7512f27 Checksums: Content checksums for all uploads #4375 2016-03-02 14:28:20 +01:00
ckamm
ffa78b99d9 Merge pull request #4512 from owncloud/add-checksum-to-database
Checksums: keep the transfer checksum in the database as the content …
2016-03-02 14:04:37 +01:00
Christian Kamm
f66c28900a Add warnings for old server versions #4523
* A tray message on every start up
* Red message in account settings
* Folders are paused when the server version switches to
  an unsupported one
2016-03-02 12:54:22 +01:00
Christian Kamm
40c109597e Improve folder pausing API
Previously one could accidentally call Folder::setSyncPaused() and miss
some expected side effects. Before, the correct call was to FolderMan::
slotSetFolderPaused(). Now the setter on Folder has the expected effect.
2016-03-02 11:06:03 +01:00
ckamm
6e9019120f Merge pull request #4527 from ckamm/account-pause
Account pausing #3829
2016-03-02 10:35:40 +01:00
Roeland Jago Douma
e4ec09dd87 Do not send reshare permissions when creating a federated share
See https://github.com/owncloud/core/issues/22122#issuecomment-185637344
2016-03-01 16:58:47 +01:00
Roeland Jago Douma
ba42d40df9 Disable sharing dialog if account state is not connected
Fixes #4185
2016-03-01 16:55:56 +01:00
Christian Kamm
d521232587 AccountState: Allow storing state in settings
This will be useful if we ever want to store account-level gui state.
I built this originally because I thought a paused account would be
this kind of state.
2016-03-01 16:08:23 +01:00
Christian Kamm
10e8f03ea4 Add 'pause all' tray menu entry #3829 2016-03-01 16:07:11 +01:00
Roeland Douma
8877f04835 Merge pull request #4497 from owncloud/fix_4469
Lock the sharee input when sharing
2016-03-01 15:40:29 +01:00
Roeland Douma
f24fa46789 Merge pull request #4496 from owncloud/fix_4325
Add theming options control sharing operations
2016-03-01 15:33:04 +01:00
Christian Kamm
a9b00a7489 Don't make files read-only when server is too old #4450 2016-03-01 10:11:20 +01:00
Jocelyn Turcotte
49f00499f7 Fix a crash when syncing 2016-02-26 18:05:04 +01:00
Jocelyn Turcotte
b8227afcaa Move the csync_context creation in SyncEngine
The creation doesn't need to be separated from the SyncEngine anymore.
This allows the SyncEngine to be created in fewer steps if we want to
use it in tests.

This moves most of the direct csync code from Folder into the SyncEngine.
The exclude file logic for the context has been wrapped using the
existing ExcludedFiles class as well.
2016-02-25 20:53:13 +01:00
Jocelyn Turcotte
b8dee63d7a Remove superfluous error checking from csync_create and csync_init
Given that we control all call sites, the only way that this can fail is during
OOM. Also remove the code in csync itself to make sure that it's obvious that
any new error case wouldn't be handled by call sites.
2016-02-25 20:53:13 +01:00
Olivier Goffart
e6f81d3965 Checksums: keep the transfer checksum in the database as the content checksum
Currently, we only use this for .eml files. But we can just store this checksum
in the database if it was computed anyway.

Issue #4487
2016-02-25 17:17:14 +01:00
Olivier Goffart
1fafb1325b Revert "AccountManager: take theURL from the Theme rather than from the config if the theme specify it"
The URL may change from shiboleth to normal authentication method.
Also some people were changing the config file manually to test stuff

Issue https://github.com/owncloud/enterprise/issues/1113

This reverts commit 7e5d89293d.
2016-02-25 11:33:26 +01:00
Olivier Goffart
60c101d90b PropagatorDownload: fix possible crash
Backtrace seen from the crash reporter where reply() is null.
2016-02-24 19:52:14 +01:00
Olivier Goffart
b685f6b6b6 Chunking: change the default chunk size to 10MB
As discussed with Klaas, this seems to be a better compromise.
10MB * 3 prarralel jobs = 30MB in memory, and to retry in case of
disconnection. Which is still reasonable.  And might make the upload
almost twice as fast on fast network where the amount of chunk is the
bottleneck (because of more server processing)

Relates to issue #4354
2016-02-24 16:25:45 +01:00
Olivier Goffart
7e5d89293d AccountManager: take theURL from the Theme rather than from the config if the theme specify it
That way an upgrade of the client can actually change the URL
Issue https://github.com/owncloud/enterprise/issues/1113
2016-02-23 18:10:11 +01:00
Markus Goetz
fe7630954e Propagator: Remove 100msec delay between jobs 2016-02-23 14:27:35 +01:00
Markus Goetz
47ce4bd9e5 SelectiveSync: Improve menu #4378 2016-02-23 11:28:03 +01:00
Olivier Goffart
8fe4f1f0d7 Selective sync: Don't show negative size
Relates to issue #4491
2016-02-22 17:26:09 +01:00
Olivier Goffart
b3d57f3c7c Cleanup syncengine after the new option not to ask confirmation when everything is removed
Cleanup after pull reuqest  #4389

Do not make the SyncEngine depends on the ConfigFile
2016-02-22 16:14:22 +01:00
Markus Goetz
a76ba06817 Merge pull request #4389 from Bottswana/deleteprompt
Add option to disable the delete all files prompt
2016-02-22 15:44:50 +01:00
Roeland Jago Douma
cf0762a067 Lock the sharee input when sharing
This prevents accidentally sharing with the same sharee multiple times.
Because creating shares is not instance.

Fixes #4469
2016-02-22 15:14:05 +01:00
Roeland Jago Douma
99b3b752e3 Add theming options control sharing operations
Fixes #4325
2016-02-22 13:53:45 +01:00
Markus Goetz
5d7aa792e7 SyncEngine: Improve error message for ignored files/folders #4143 2016-02-22 11:13:29 +01:00
Hefee
28b694b170 Merge branch '2.1' 2016-02-20 10:34:34 +01:00
Hefee
74f74e0363 fix typo occured->occurred 2016-02-20 10:33:13 +01:00
Daniel Molkentin
841973d399 Use correct values for items in version.rc 2016-02-17 14:16:29 +01:00
Daniel Molkentin
2918e45343 Add comment, transliterate copyright symbol 2016-02-16 17:56:51 +01:00
Daniel Molkentin
e3b56fb559 Add file description, copyright to win32 VERSIONINFO struct 2016-02-16 16:19:12 +01:00
Klaas Freitag
7f18d087e6 Utility: Make the timeAgoInWords method a bit more verbose 2016-02-15 17:59:24 +01:00
Klaas Freitag
3cc9019b37 ActivityWidget: Set timespec to UTC for JSON values.
This will fix the problem in #4439 that the time display
jumps if the timezone is changed on windows.
2016-02-15 17:59:24 +01:00
Daniel Molkentin
37924b9c7f Win32: More complete resource specification
Add application and vendor name

Addresses #4473
2016-02-15 15:51:48 +01:00
Olivier Goffart
dd89ab59e4 Use oc:size instead of quota-used-bytes to get the sizes of folder (#4459) 2016-02-11 15:09:47 +01:00
Olivier Goffart
cd83772112 SyncJounral: add an index on the error blacklist table
https://github.com/owncloud/enterprise/issues/1035
2016-02-11 14:38:38 +01:00
Olivier Goffart
c93ecfbfb5 Merge branch restore_backup 2016-02-10 17:47:06 +01:00
Olivier Goffart
893e22691d ConnectionValidator: Make sure we intercept propfind error
If the PROPFIND return an invalid code (like 200) then we would
not recieve the error signal and we would never sync again.

Found while investigating https://github.com/owncloud/enterprise/issues/1068
2016-02-10 15:38:21 +01:00
Olivier Goffart
e9307bb797 Use a constant for ConnectionValidator::DefaultCallingIntervalMsec
So there is no runtime initialization
2016-02-10 12:36:09 +01:00
Olivier Goffart
93308faeb9 Merge remote-tracking branch 'origin/2.1'
Conflicts:
	doc/building.rst
2016-02-08 14:28:25 +01:00
Jocelyn Turcotte
f140d3447c OS X: Fix the file system watcher ignoring unicode paths #4424
Add a missing string normalization when fetching the path
from the file system event.
2016-02-08 13:30:08 +01:00
Olivier Goffart
6b643c7501 Discovery: don't ignore recall file #4420
The ".sys.admin#recall#" is the recall file and should not be ignored
even if hidden.

The remote discovery do not need to detect hidden files because it
is already detected by csync in all cases. So this avoid code duplication
2016-02-08 12:07:34 +01:00
James Botting
f442195b8a Remove option from GUI, leaving config option only. 2016-02-05 15:48:17 +00:00
Olivier Goffart
54a278edb9 fix compilation with TOKEN_AUTH_ONLY 2016-02-05 15:30:29 +01:00
Daniel Molkentin
dd76d72d61 Merge remote-tracking branch 'origin/2.1' 2016-01-26 14:09:38 +01:00
James Botting
d8af949a6a Alter sync engine to check new setting before displaying prompt 2016-01-24 18:45:29 +00:00
James Botting
74a8c4aae8 Add additional configuration option to toggle display of delete prompt 2016-01-24 18:45:12 +00:00
Christian Kamm
7eba784b0c Share dialog: More error handling with password policy #4209 2016-01-22 14:49:30 +01:00
Jocelyn Turcotte
8486a2fd2b Bring back the automatic authentication popups
Users have complained that they don't see the notification when it is
shown and are not aware that their files aren't syncing.

Remove the non-interactive credentials fetch logic and add make sure
that the shibboleth popup will flash in the taskbar instead.
This will still not allow the popup to show in front in all cases,
but this is a compromise that we have to chose.

This reverts commit dcb687929f.
Issue https://github.com/owncloud/enterprise/issues/990
2016-01-22 14:25:36 +01:00
Christian Kamm
3b60f6e238 Sharing: Fix resharing items with limited permissions #4357 #4358 2016-01-21 14:21:25 +01:00
Olivier Goffart
47710d167a SyncEngine: fix inode after move if the file has moved on the file system
This is the fix for issue #4370

Step to reproduce the bug:
 1) have lots of files in directory "dir1"
 2) do mkdir dir2 && mv dir1/* dir2
 3) DURING the sync (which takes time because of the many moves) do mkdir dir3 && mv dir2/* dir3/
 4) observe that files are PUT in the next sync

The problem is that SyncJournalFileRecord::SyncJournalFileRecord will fail to
get the inode after the forst move because the files are already moved on the
filesystem.  Normaly it should use the inode from the discovery phase in that
case but that is not working because it comes from the remote node in case of
moves, so the code in SyncEngine::treewalkFile would not set the inode.

Test in https://github.com/owncloud/smashbox/pull/143
2016-01-20 13:49:12 +01:00
Christian Kamm
1534dad5b2 Sharing: Allow only one share dialog per path #3184 2016-01-20 13:17:54 +01:00
Christian Kamm
f705c56cb3 AccountSettings: Auto-expand only single folders #4283 2016-01-20 12:41:52 +01:00
Christian Kamm
4d52838e2b Share dialog: Error reporting with password policy #4209 2016-01-20 09:49:10 +01:00
Christian Kamm
7f44e83cc7 Share dialog: Remove unintended spinner when password required 2016-01-20 09:49:10 +01:00
Olivier Goffart
7a676a748a AccountSettings: fix Add Folder button size #4373 2016-01-19 17:39:43 +01:00
Christian Kamm
17895f3a30 Win: Fix filesystem detection for exFAT workaround #2701 2016-01-19 10:00:12 +01:00
Olivier Goffart
d12c0939b9 Upload: Chunk size can be changed in the config file
Added a new "chunkSize" entry in the General group of the owncloud.cfg
which can be set to the size, in bytes, of the chunks.

This allow user with hude bandwidth to select more optimal chunk size

Issue #4354
2016-01-15 13:16:52 +01:00
Jocelyn Turcotte
19a3a10524 Windows: Fix the progress text being cut but a few pixels
QFontMetrics::boundingRect doesn't return the right size for this
font size for some reason, while it works well if we remove the
smaller point size adjustment for the progress font.

To avoid having to debug the font system in Qt just increase the
existing +2px adjustment to +5px so that it renders fine.
2016-01-14 13:01:18 +01:00
Olivier Goffart
bbedeed1c5 SyncEngine: For server older than 8.1, ignore invalid char in new directories
Server older than 8.1 cannot cope with invalid char in the filename
so we must not send them from the client. We were already checking
for new files, but not for renames or new directories.

https://github.com/owncloud/enterprise/issues/1009
2016-01-13 17:53:12 +01:00
Olivier Goffart
a18b13d56e FolderDelegate: fix positions and margin
- Fix the margin of the progressbar to let some room for the '...' button

 - Fix the size of the "Add Folder" button
2016-01-13 11:57:15 +01:00
Jocelyn Turcotte
31da3e98c9 Fix the folder option button click
The height adjustment done to place the button in the middle of the
non-error area was only done for rendering. Make sure that we do the
same adjustment when mapping click events as well.

Also replace some wrong occurences of aliasMargin*2 for margin.
2016-01-13 11:44:36 +01:00
Olivier Goffart
272755e1ec ConfigFile: Create the directory when using --confdir and it does not exist
Previously we would fail to start if the directory was not existing.
This was working for relative directory, but it should also work for
absolute ones

https://github.com/owncloud/enterprise/issues/970
2016-01-13 10:31:02 +01:00
Olivier Goffart
9800101748 Sharing: feedback when there is no result while searching for an user #4348 2016-01-12 14:36:13 +01:00
Olivier Goffart
1ed02f6494 Sharing: Display the error from the server when trying to share with users or group 2016-01-12 14:36:13 +01:00
Markus Goetz
9c9b9f3931 Activities: Fix color when row is selected 2016-01-11 16:52:37 +01:00
Jocelyn Turcotte
54c2c9ac4e Windows: Fix HiDPI #3414
Use QT_DEVICE_PIXEL_RATIO=auto on Qt<=5.5 to enable automatic
scale factor settings on Windows. Also move the existing
Qt::AA_EnableHighDpiScaling logic to use the equivalent
QT_AUTO_SCREEN_SCALE_FACTOR=1 environment variable just to
keep the 5.5 and >=5.6 code at the same place.
2016-01-11 15:41:08 +01:00
Christian Kamm
abf5a5ad1e Propagation: Fix dir <-> file changes propagating to server #4302
* Ensure every time a file becomes a directory or the other way around
  the item is flagged as INSTRUCTION_TYPE_CHANGE.
* Delete the badly-typed entity if necessary in the propagation jobs.
2016-01-08 05:38:08 +01:00
Christian Kamm
d4b6b5cb1d Propagator: Remove warning when moving out of deleted folder 2016-01-08 05:38:08 +01:00
Jocelyn Turcotte
ce6f90397a Fix the rendering of the red error box text
QPainter::drawText uses the top of the font for the y position of its
rect argument, but uses the baseline when using a point argument.

Also use the margin variable that matches the font used instead of
the aliasMargin and make sure that the margin is only added between
the box and the text once.
2016-01-07 18:02:35 +01:00
Olivier Goffart
bb6a50be02 SettingsDialog: show "Account" for the tab name for branded client
https://github.com/owncloud/enterprise/issues/863
2016-01-07 17:59:21 +01:00
Jocelyn Turcotte
e7e918dafe Only clean the Not Synced list for the current account #3171 2016-01-07 16:14:18 +01:00
Olivier Goffart
81b7798ac2 HttpCredentials::slotAuthentication: fix comment
The recent revert did no fix the comment
2016-01-07 14:58:02 +01:00
Olivier Goffart
868d4c781a HTTP creds: Fix GUI blocking for 5 seconds when entering wrong password
The Qt HTTP thread calls authenticationRequired (indirectly) using a
BlockingQueuedConnection. So when we call invalidateToken from slot
connected to this signal and end up calling QNAM::clearAccessCache which
waits on the thread for 5 seconds

Backtraces:

Qt HTTP thread:
 #0  0x00007ffff20c707f in pthread_cond_wait@@GLIBC_2.3.2 ()
 #1  0x00007ffff43f0c0b in QWaitConditionPrivate::wait
 #2  QWaitCondition::wait
 #3  0x00007ffff43ea06b in QSemaphore::acquire
 #4  0x00007ffff45dcf6f in QMetaObject::activate
[...]
 #9  0x00007ffff45dd607 in QMetaObject::activate
 #10 0x00007ffff4edbaf7 in QHttpNetworkReply::authenticationRequired
 #11 0x00007ffff4e0b2b4 in QHttpNetworkConnectionPrivate::handleAuthenticateChallenge
 #12 0x00007ffff4e10753 in QHttpNetworkConnectionChannel::handleStatus
 #13 0x00007ffff4e11cc9 in QHttpNetworkConnectionChannel::allDone
 #14 0x00007ffff4e14605 in QHttpProtocolHandler::_q_receiveReply

Main Thread:
 #0  0x00007ffff20c7428 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
 #1  0x00007ffff43f0b56 in QWaitConditionPrivate::wait_relative (time=5000, this=0x136c580)
 #2  QWaitConditionPrivate::wait (time=5000, this=0x136c580)
 #3  QWaitCondition::wait (this=this@entry=0x136c788, mutex=mutex@entry=0x136c760, time=time@entry=5000)
 #4  0x00007ffff43efa6e in QThread::wait (this=<optimized out>, time=time@entry=5000)
 #5  0x00007ffff4e1edd3 in QNetworkAccessManagerPrivate::clearCache
 #6  0x00007ffff7b6fb03 in OCC::HttpCredentials::invalidateToken()
 #7  0x000000000057adb4 in OCC::AccountState::slotInvalidCredentials()
 #8  0x000000000057ac76 in OCC::AccountState::slotConnectionValidatorResult(OCC::ConnectionValidator::Status, QStringList const&) ()
 #9  0x00000000005ab45c in OCC::AccountState::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
 #10 0x00007ffff45dcd30 in QMetaObject::activate
 #11 0x00007ffff7b78671 in OCC::ConnectionValidator::connectionResult(OCC::ConnectionValidator::Status, QStringList) ()
 #12 0x00007ffff7ae2514 in OCC::ConnectionValidator::reportResult(OCC::ConnectionValidator::Status) ()
 #13 0x00007ffff7ae39b7 in OCC::ConnectionValidator::slotAuthFailed(QNetworkReply*) ()
 #14 0x00007ffff7b784a9 in OCC::ConnectionValidator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #15 0x00007ffff45dcd30 in QMetaObject::activate
 #16 0x00007ffff7b766dc in OCC::AbstractNetworkJob::networkError(QNetworkReply*)
 #17 0x00007ffff7af9f6e in OCC::AbstractNetworkJob::slotFinished()
 #18 0x00007ffff7b7654d in OCC::AbstractNetworkJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #20 0x00007ffff45dd607 in QMetaObject::activate
 #21 0x00007ffff4edd143 in QNetworkReply::finished
 #22 0x00007ffff4e3fec7 in QNetworkReplyHttpImplPrivate::finished
 #23 0x00007ffff4e41818 in QNetworkReplyHttpImpl::close
 #24 0x00007ffff7b7047b in OCC::HttpCredentials::slotAuthentication(QNetworkReply*, QAuthenticator*) ()
 #25 0x00007ffff7b79092 in OCC::HttpCredentials::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #27 0x00007ffff45dd607 in QMetaObject::activate
 #28 0x00007ffff4e1d6fb in QNetworkAccessManager::authenticationRequired
 #29 0x00007ffff4e1ea07 in QNetworkAccessManagerPrivate::authenticationRequired
 #30 0x00007ffff4e3c784 in QNetworkReplyHttpImplPrivate::httpAuthenticationRequired

Another case of Main Thread:
 #5  0x00007ffff4e1edd3 in QNetworkAccessManagerPrivate::clearCache
 #6  0x00007ffff7b6fb03 in OCC::HttpCredentials::invalidateToken()
 #7  0x000000000057b1e4 in OCC::AccountState::slotInvalidCredentials() ()
 #8  0x00000000005abb8a in OCC::AccountState::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #9  0x00007ffff45dcd30 in QMetaObject::activate
 #10 0x00007ffff7b76ed5 in OCC::Account::invalidCredentials() ()
 #11 0x00007ffff7ad55f5 in OCC::Account::handleInvalidCredentials()
 #12 0x00007ffff7afa69a in OCC::AbstractNetworkJob::slotFinished()
 #13 0x00007ffff7b7654d in OCC::AbstractNetworkJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #15 0x00007ffff45dd607 in QMetaObject::activate
 #16 0x00007ffff4edd143 in QNetworkReply::finished
 #17 0x00007ffff4e3fec7 in QNetworkReplyHttpImplPrivate::finished
 #18 0x00007ffff4e41818 in QNetworkReplyHttpImpl::close
 #19 0x00007ffff7b7047b in OCC::HttpCredentials::slotAuthentication(QNetworkReply*, QAuthenticator*) ()
 #20 0x00007ffff7b79092 in OCC::HttpCredentials::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
 #22 0x00007ffff45dd607 in QMetaObject::activate
 #23 0x00007ffff4e1d6fb in QNetworkAccessManager::authenticationRequired
2016-01-07 14:46:49 +01:00
Christian Kamm
71ad94ddb2 Fix crash when deleting account while sync is running #4337 2016-01-07 13:54:26 +01:00
Olivier Goffart
06ffc44073 Fix RTL languages in sync dialog #4336 2016-01-07 13:37:46 +01:00
Jocelyn Turcotte
e9ba7c612e Keep only active entries in the Not Synced list #3171
Now that we have a separate list for files that could not be synced,
we can make sure that it only shows entries for files that are still
not in sync with the server. This allows the user to treat this list
as action items in order to get everything synced, including the
blacklist.

Simply remove the keep-errors logic that was used when the lists were
merged to achieve this result.
2016-01-07 11:37:50 +01:00
Daniel Molkentin
9c7066ac47 Translation cleanups
- Disambiguation
- Remove potentially illigitmate concatenations
2016-01-06 16:50:59 +01:00
Daniel Molkentin
cede7ec971 Work around layouting issue for RTL languages
This has been fixed in the meanwhile, but we are still shipping
with Qt 5.4. Also, some Linux Distros will still have older Qt
versions.

Addresses issue #4301
2016-01-06 12:52:58 +01:00
Jocelyn Turcotte
2f355c473a Don't show parent folders in the error list #3796
The error status of children should only be used for the etag logic.
The SocketApi uses a path matching system to do this and the UI should
report errors only for individual involved files/directories.
2016-01-06 12:37:35 +01:00
Jocelyn Turcotte
a63ebe0904 Bring back the red box for errors #3796
This use the previous code by resetting the progress to hide
the progress back and then return errors in the FolderErrorMsg
data role of the folder model.

This also remove the unused FolderRemotePath role, remove FolderStatus
in favor of invalidating all roles in dataChanged and make sure
that the SyncRunning role is transfered properly from the SyncResult
to show the warning icon during sync.
2016-01-06 12:37:35 +01:00
Markus Goetz
ef9483c82d Revert "HTTP Creds: Do not send the password at every request"
We need this for #4326

This reverts commit ae17f58b80.
2016-01-06 11:50:52 +01:00
Jocelyn Turcotte
62df938465 Rename SyncFileStatus::STATUS_SYNC to STATUS_UPTODATE
Also use STATUS_UPDATED instead to match SyncFileItem::Success in the SocketAPI.
2016-01-05 15:41:15 +01:00
Markus Goetz
634dad033f Debug: Attempt to make log more useful 2016-01-05 15:12:00 +01:00
Jocelyn Turcotte
6e3809528e Fix OK statuses not being broadcasted during a sync #3944
Since the presence of any path in SyncEngine::_syncedItems
would translate in a SYNC status, platforms that don't refresh
all their status cache after an UPDATE_VIEW message like OS X
or Windows would keep displaying that status even after all
files are successfully synchronized.

- Read SyncFileItem::_status to determine the status to display mid-sync
- Match moved paths also to _renameTarget since this might be the
  path to match
- Make sure that PropagateDirectory jobs also set SyncFileItem::_status
  properly
2016-01-05 15:08:26 +01:00
Markus Goetz
60a6b2b0c3 OS X: Also show desktop notifications when app is active 2016-01-05 13:33:05 +01:00
Christian Kamm
2662203fb7 Windows: Fix deleting and replacing of read-only files #4308 2016-01-05 13:15:59 +01:00
Olivier Goffart
1bb76f5343 Attempt to recover from backup restoration on the server
If all the files bring us to past timestamp, it is possibly a backup
restoration in the server. In which case we want don't want to just
overwrite newer files with the older ones.

Issue #2325
2016-01-05 12:14:18 +01:00
Christian Kamm
d4edab02b0 Propagator: Deal with directories becoming files #4302
Note, in particular the revised order of directory deletion jobs.
2016-01-05 10:26:41 +01:00
Christian Kamm
5cc4c03b6a Propagator: Deal with files becoming directories #4302
This needed adjustments in reconcile, to mark the item as SYNC
as well as additions to the LocalMkdir job.
2016-01-05 10:26:41 +01:00
Jocelyn Turcotte
2e7a3f9e37 Fix a missing sync-exclude.lst file not failing the sync
After c3cf6aef7d the invokeMethod calls
should be adjusted to pass the new method arguments.

The result was currently a passing sync with this error message on
the console:
QMetaObject::invokeMethod: No such method OCC::Folder::slotSyncFinished()
2016-01-04 17:01:21 +01:00
Markus Goetz
c8b3df6668 OS X: Fix alignment of "Copy" button in protocol #4207 2016-01-04 16:16:15 +01:00
Olivier Goffart
639301e9e9 Merge remote-tracking branch 'origin/2.1'
Conflicts:
	VERSION.cmake
2016-01-04 12:38:59 +01:00
Olivier Goffart
970cdcfdbb SocketAPI: SHARE: Fix the paths when creating the share dialog
The socket api uses native folder separator. We need to use QDir::cleanPath
for anything else so we only work with '/' everywhere else in the code

This fixes the sharing dialog on window.

Issue #4311
2016-01-04 12:06:09 +01:00
Daniel Molkentin
16030a61eb Enable HiDpi scaling with Qt 5.6 2016-01-04 11:50:00 +01:00
Daniel Molkentin
5487fc1f9c Ensure Qt translator does always get loaded. 2016-01-04 11:50:00 +01:00
Klaas Freitag
a759ba1d9e Do not use nullptr, old compilers die on it. 2015-12-22 15:07:51 +01:00
Klaas Freitag
c607707580 Backport of #4245 2015-12-22 10:26:13 +01:00
Klaas Freitag
8f26bb698d Merge pull request #4245 from masoudcs/masoudcs-patch-1
Fixing bug in opening Activity log from tray icon menu 'Recent Changes/Details...'
2015-12-22 10:15:14 +01:00
Olivier Goffart
a0b913f65d gui: Word Wrap in QInputDialog (#4197) 2015-12-22 10:08:17 +01:00
Olivier Goffart
cf5b1e401c csync_vio_local_stat: Win: fetch mtime and size if not previously fetched
Since owncloud 2.1, csync_vio_local_stat was optimized because readdir
would already fetch most of the info.  This works for the discovery,
but not later.  And we used this function later for symliks and co.

So this fixes the .lnk on windows

Issue #4300
2015-12-21 14:25:30 +01:00
Olivier Goffart
11174ddf4c PropagateLocalRemove: Make it possible to remove read only files (#4277) 2015-12-21 13:25:10 +01:00
Olivier Goffart
48a0ffdc9e Systray: Use the original name for the rename notification #4295
Otherwise it shows twice as "newname was renamed to newname".
Because _file is set to the new name in PropagateLocalRename::start
2015-12-21 11:06:39 +01:00
Christian Kamm
0555c88425 User Sharing: Match user names and case insensitive #4269 2015-12-10 14:56:15 +01:00
Christian Kamm
e2d1a5a41d Share UI: Allow typing in a sharee
Previously you *had* to select one of the completion options, even
if the text in the lineedit was identical to one of the options.
2015-12-10 13:49:47 +01:00
Christian Kamm
df1b309b36 FolderWatcher: Remove IN_DONT_FOLLOW #3475
This fixes the case of the root folder being symlinked.
2015-12-10 13:05:43 +01:00
Christian Kamm
e3b53b7e74 Log: Remove scary messages :) 2015-12-10 11:50:19 +01:00
Christian Kamm
d8d9fcf2f4 Silence warning about zorder in .ui file. 2015-12-10 11:10:49 +01:00
Christian Kamm
ae806e8214 Merge remote-tracking branch 'origin/2.1' 2015-12-10 11:07:20 +01:00
Christian Kamm
8b5474ff67 SocketAPI: Don't use ERROR for SoftErrors #3944 2015-12-10 11:02:38 +01:00
Christian Kamm
f65a29df5d SocketAPI: Ensure messages are consistent #3944
Before we blindly broadcasted the result of a sync action. That was
often different from what a subsequent FILE_STATUS query would report.
2015-12-10 10:43:17 +01:00
Christian Kamm
fd18c565b0 SocketAPI: Fix file error cache #3944 2015-12-10 10:43:17 +01:00
Christian Kamm
fbb85fab81 Activity tab doesn't vanish with too many accounts #4188
The bug was introduced by a bad merge.
2015-12-10 09:43:16 +01:00
Christian Kamm
3572e7ffa4 Activity: Improve formatting of copied data #3498 2015-12-09 15:49:30 +01:00
Christian Kamm
fe75c6ad28 Wizard: Find user:pw even if redirected #4265 2015-12-09 14:48:51 +01:00
Christian Kamm
3de8f27a02 Force account wizard when last account is deleted #4266 2015-12-09 11:41:43 +01:00
Christian Kamm
4dfce57a58 Creds: Forget password on explicit sign-out #4241 2015-12-09 11:31:37 +01:00
Christian Kamm
179b25d289 AccountWizard: Don't crash when sync is running #4221
Running FolderMan::setupFolders() is redundant and just a leftover
from before multiaccount.
2015-12-09 09:08:21 +01:00
Christian Kamm
a2eee7e349 Share UI: Hide 'allow editing' for files #4211 2015-12-08 15:37:17 +01:00
Christian Kamm
cec4b803cf Share UI: Hide 'can share' if capability missing #4231 2015-12-08 12:58:56 +01:00
Christian Kamm
1a519ac1fb Share UI: Respect enfore-expire #4235 2015-12-08 12:16:05 +01:00
Christian Kamm
d92c8bec86 UI: Sign in/out -> Log in/out #4249 2015-12-08 12:05:14 +01:00
Christian Kamm
eb28d171f3 Doc: Add checksum overview 2015-12-08 10:59:42 +01:00
Olivier Goffart
68057c1c5a Sharee.cpp: Get rid of lambdas because we still need to support GCC 4.4 2015-12-03 14:47:59 +01:00
Masoud Kazemi
903dd8acef Fixing bug in opening Activity log from tray icon menu 'Recent Changes/Details...' 2015-12-03 15:25:59 +03:30
Markus Goetz
c4006795cc OS X: Attempt to fix account add oddities #4237 2015-12-02 17:59:41 +01:00
Klaas Freitag
cf06083d1b Utilities: Include math.h because of floor() 2015-12-02 17:56:37 +01:00
Markus Goetz
d15cf0c2ff Sharing: Remove mentioning of remote users from dialog #4234 2015-12-02 16:44:29 +01:00
Klaas Freitag
770ad54229 AccountSettings: Update the visibility of the add account button.
That fixes #4238
2015-12-02 16:33:37 +01:00
Markus Goetz
a75209d104 Account: Invalidate credentials when clicking "Sign out" #4241 2015-12-02 16:31:58 +01:00
Daniel Molkentin
ab5e543099 Use user-readable short folder path in the context menu 2015-12-02 15:46:42 +01:00
Klaas Freitag
451ebd447b Merge pull request #4169 from owncloud/2.1_file_exists_before_share
[Sharing] Make sure the file is actually synced to the server
2015-12-02 13:40:42 +01:00
Olivier Goffart
e27374324d AccountSettings: Remove the F5 reset folder shortcut
This secret key was used to wipe the database. In the past this was
usefull because of many bugs, but now this is not usefull anymore.
And cause trouble because it also erase the selective sync list.

Issue #4182
2015-12-02 12:27:53 +01:00
Klaas Freitag
4a2b5f7cc8 Merge pull request #4228 from owncloud/enforce_password-block
[Sharing] Do not allow users to uset the password if it is enforced
2015-12-02 10:07:04 +01:00
Klaas Freitag
52dc55d044 ShareLinkWidget: Stop editing progress animation if passwd is required. 2015-12-02 10:06:34 +01:00
Klaas Freitag
e6ab047751 ShareLinkWidget: Set state of passwd checkbox always. 2015-12-02 10:05:56 +01:00
Markus Goetz
c24a8ba208 Account removal: More crash fixes for Windows
Seems things happen a bit different here, maybe because of paint events.

For #4229 #4202
2015-12-01 19:21:52 +01:00
Markus Goetz
db7d70a929 Account removal: Do it inside global application object
For #4229 #4202
2015-12-01 16:32:04 +01:00
Roeland Jago Douma
01faf102ba [Sharing] Do not allow users to uset the password if it is enforced 2015-12-01 12:43:14 +01:00
Olivier Goffart
76d1296053 Disable some code that needs lambda with old GCC
It's just a feature that was not there in 2.0
It means that removed folder stay on the undecided list if it is removed
from the server until the user press apply in the selective sync widget.
Not a very bad bug anyway.
2015-12-01 10:30:11 +01:00
Roeland Jago Douma
c79879aa07 [Sharing] Default capabilitie for link sharing
Required to fix sharing for pre 8.1 servers
2015-11-30 16:55:06 +01:00
Roeland Jago Douma
b033a8e731 [Sharing] Files should not have create permissions 2015-11-30 15:47:10 +01:00
Arthur Schiwon
d62c51890e show displaynames of users in share dialog instead of userid 2015-11-27 15:19:39 +01:00
Klaas Freitag
b896d8aa15 ActivityWidget: Fix type (#4204) 2015-11-26 21:41:31 +01:00
Christian Kamm
9e66a6bec6 Settings dialog: Fix crash when deleting account #4202 2015-11-26 13:27:20 +01:00
Klaas Freitag
1ad8e539aa SyncJournalFileRecord: Fix comparison operator
Compare only full seconds, as milliseconds can disappear during storage
of the database.

This is needed to fix the syncjournaldb test reliably. And maybe
elsewhere.

Also see
http://www.qtcentre.org/threads/13618-Problem-with-comparing-two-QDateTime-objects
2015-11-25 21:11:58 +01:00
Roeland Douma
f1435c86ed Merge pull request #4199 from owncloud/permission_dropdown
[Sharing] Permissions now in dropdown menu
2015-11-25 14:04:39 +01:00
Roeland Jago Douma
ece164f679 [Share] Use more icon 2015-11-25 14:02:45 +01:00
Christian Kamm
698f47d5ad Blacklist: Treat all 403s the same #4071
We can't detect firewall errors due to error message localization.
2015-11-25 12:49:57 +01:00
Roeland Jago Douma
f1faf8745a [Sharing] Permissions now in dropdown menu
As discusses with jan.

* Detailed permissions displayed in qtoolboxmenu
* Made share rows slightly smaller

Bug fix:

* Do not show delete permissions for file shares
2015-11-25 11:26:21 +01:00
Christian Kamm
df63579071 Blacklist: Firewall errors are silenced for up to 1h only #4071 2015-11-25 10:39:43 +01:00
Christian Kamm
5216648d0b Share dialog: Work around painting bug #4189 2015-11-25 10:09:41 +01:00
Roeland Jago Douma
fcdab1e804 [Sharing] Also add sync status to SHARE_STATUS command 2015-11-25 09:40:21 +01:00
Roeland Jago Douma
9f15ba3972 [Sharing] Make sure the file is actually synced to the server
Before we attemt any sharing make sure the file is synced to the server.
2015-11-25 09:22:20 +01:00
Markus Goetz
76ce9ff8c4 Activity List: Improve double click handling on filenames #4168 2015-11-24 14:25:16 +01:00
Christian Kamm
23ed68c8dd Re-apply ee69ab2021 2015-11-24 13:45:02 +01:00
Christian Kamm
2982c79444 Settings: Fix "Choose what to sync" #4187
There was a duplicate connect() due to a merge problem (?) in
7e4c0bd515
2015-11-24 13:41:00 +01:00
Christian Kamm
7e56408331 SelectiveSync: Show Apply/Cancel less
Before the selective sync status text and apply/cancel buttons
were shown as soon as any folder was expanded. This changes it
to only show when the model is dirty (or a big folder confirmation
is needed).

This is nice because we auto-open the folder list sometimes
and having the apply/cancel buttons visible makes users think a
decision is needed.
2015-11-24 13:01:10 +01:00
Christian Kamm
bcfdcec3ee Share dialog: Adjust layout #4119 2015-11-24 12:30:53 +01:00
Christian Kamm
f96d94f143 ShareDialog: Only link share if capabilities allow #4179 2015-11-24 11:58:10 +01:00
Christian Kamm
adea301e5b Blacklist: Clear on successful chunk upload #3934 2015-11-24 10:09:55 +01:00
Christian Kamm
f9dc569b0a Share dialog: Don't close on enter
Setting default=false was not enough.
2015-11-24 09:58:18 +01:00
Christian Kamm
f7932bb0c7 ShareDialog: Completion uses MatchContains #4123
For Qt 5.2.0+ only.
2015-11-24 09:10:26 +01:00
Markus Goetz
b52a3a415c Connectivity: Improve reconnecting after network change/disconnect #4167 2015-11-23 21:48:26 +01:00
Markus Goetz
33dcb0c8d9 PropagateLocalRemove: Add debug
Was not in log so far
2015-11-23 21:48:25 +01:00
Markus Goetz
709da37be2 Activities: Only emit debug when actually refreshing 2015-11-23 21:48:25 +01:00
Christian Kamm
2458f07ca1 Checksums: Reuse the discovery checksum where possible 2015-11-23 14:13:10 +01:00
Christian Kamm
6cf5fc7f7d Permissions: Keep more user permissions
t4.pl discovered that it'd needlessly override permissions sometimes
2015-11-23 13:24:05 +01:00
Christian Kamm
10db6cee6c Rename files 2015-11-23 12:09:25 +01:00
Christian Kamm
a25f094c4c Checksums: Don't reupload if size and checksum are unchanged #3235
* Compute the content checksum (in addition to the optional
  transmission checksum) during upload (.eml files only)

* Add hook to compute and compare the checksum in csync_update

* Add content checksum to database, remove transmission checksum
2015-11-23 11:59:56 +01:00
Christian Kamm
bdf830f691 Add an experimental ProppatchJob #3235 2015-11-23 11:59:56 +01:00
Christian Kamm
bd72642a58 ShareLink: Always initialize expire date #4075 2015-11-23 09:42:16 +01:00
Olivier Goffart
0020211857 owncloudcmd: Don't do a check that file are older than 2s (#4160)
This is required for the smashbox test to pass
2015-11-20 15:16:09 +01:00
Klaas Freitag
94e7c762bf ActivityWidget: display if the server does not support acitivities.
If the server does not have the activities app enabled, it says so now.
Fix for #4163
2015-11-19 16:01:51 +01:00
Klaas Freitag
421c6a92f3 NetworkJobs: JSON network job now reports OCS reply code.
The signal jsonReceived() now not only delivers the raw json string, but
also the status code that came as OCS reply.

Also, fixed a typo in the signals name (recieved => received).
2015-11-19 16:01:51 +01:00
Olivier Goffart
d6aa667971 ShareDialog: remove the "Premissions" label and adjust the size of the scrollarea (#3737) 2015-11-19 12:32:50 +01:00
Olivier Goffart
575fc9acbd ShareDialog: show an error if the sharing API is disabled (#4126) 2015-11-19 12:00:53 +01:00
Olivier Goffart
d581550130 Fix compilation warning 2015-11-19 10:50:52 +01:00
Olivier Goffart
952a134745 Sharing: document that the two Type enum are linked 2015-11-19 10:50:21 +01:00
Olivier Goffart
887aa952fe ShareDialog: Keep default server permissions by default (#4152) 2015-11-19 10:49:39 +01:00
Phil Davis
55a96af7cc tagLastSuccessfullETagRequest comment wording
Improve this to say what I think it means.
2015-11-19 11:02:15 +05:45
Klaas Freitag
8abaf92083 Merge git://github.com/NvanAdrichem/client into 2.1, pull #4060 2015-11-18 17:00:19 +01:00
Klaas Freitag
b0c29d5c66 Merge pull request #4159 from owncloud/fix_3490
csync updater: Handle file firewall reply codes correctly: Ignore the files.

Fixes #3490
2015-11-18 16:55:53 +01:00
Olivier Goffart
41a6f6df84 FolderStatusModel: add hints for translators (#4158) 2015-11-18 16:35:11 +01:00
Olivier Goffart
4984da7e0d Activity Widget: Fix runtime warning
Fix the warning:
 QLayout: Attempting to add QLayout "" to OCC::ActivitySettings "", which already has a layout

It was caused because one layout was created with the wrong parent
2015-11-18 15:32:39 +01:00
Klaas Freitag
62d26814b2 SyncEngine: Handle 403 Forbidden properly.
A 403 is a reply code sent from the file firewall to indicate that
this directory is forbidden to use for the user.

The patch handles it by setting the state to IGNORED.

This addresses #3490
2015-11-18 15:31:55 +01:00
Markus Goetz
f2d8143511 Activity View: Update only if visible and when becoming visible #4083 2015-11-18 15:25:29 +01:00
Markus Goetz
3c1a605f62 Connectivity: Also accept SyncEngine etag as received ETag
Avoids requests on startup.
For #3964
2015-11-18 14:51:28 +01:00
Markus Goetz
65ec8a9e94 Connectivity: Decrease debug logging
For #3964
2015-11-18 12:13:21 +01:00
Klaas Freitag
60598c0d34 Use the configuration value of remotePollInterval rather than hardcoded. 2015-11-18 11:40:29 +01:00
Klaas Freitag
3d7fc711ca AccountState: Avoid ConnectionCheck if ETag job was just done.
This patch lets a successful etag job check mark a timestamp.
If next time a connection check is requested, it is checked if
the last ETag happened within the last 30 seconds and if so the
connection check can be checked.

This way we avoid half of the PROPFINDs if all goes well.
2015-11-18 11:40:29 +01:00
Klaas Freitag
46dbca1bf5 ShareDialog: Remove Qt4 incompatible property of QScrollView. 2015-11-18 10:30:02 +01:00
Klaas Freitag
f5da95a5b7 ActivityWidget: Make compile with Qt4 2015-11-18 10:30:01 +01:00
Daniel Molkentin
b37361e21c Remove spacer that would constrain a vertical resize
Fixes #4157
2015-11-18 10:06:38 +01:00
Klaas Freitag
5ec4fd94e0 ActivityWidget: No progress indic. for non connected accounts. 2015-11-17 15:05:54 +01:00
Klaas Freitag
c9ef4d5fa0 ActivityWidget: Detect new items in the list to refetch the activities.
On refresh, remove the activity list object from the models list.
2015-11-17 14:46:25 +01:00
Klaas Freitag
1cdf0e8597 ActivityWidget: Always combine the final activity list.
In cases where the activity app is not activated on the server, the
returned list of activities is empty, so it is better this way.
2015-11-17 14:46:25 +01:00
Olivier Goffart
e0f54428d0 ShareDialog: softer line separator (#3737) 2015-11-17 12:02:20 +01:00
Markus Goetz
52a11b0835 Activities: Fix on Mac #4083 2015-11-17 11:53:49 +01:00
Markus Goetz
ef17dc6482 Connectivity: Improve log output 2015-11-17 11:02:53 +01:00
Markus Goetz
9978dc3f6c QNAM: Use invalid configuration instead of default configuration
For #3969 and others.
2015-11-17 11:02:53 +01:00
Olivier Goffart
f618ed3dfb gui: Fix some icons in highdpi
QIcon does not need to use Theme::hidpiFileName because QIcon takes care
of the @2x images
2015-11-17 10:48:45 +01:00
Olivier Goffart
ef915fb2e5 SharedDialog: Fix the delete icon on windows and mac (#3737) 2015-11-17 10:40:45 +01:00
Olivier Goffart
6e42405113 ShareDialog: remove the search button (#3737) 2015-11-17 10:24:35 +01:00
Olivier Goffart
11ef07c74a ActivityWidget: fix compiler warnings 2015-11-17 09:54:38 +01:00
Klaas Freitag
8852911f67 Merge branch 'master' of github.com:owncloud/mirall 2015-11-16 18:16:58 +01:00
Klaas Freitag
e38bc6eab8 AcitivityWidget: Moved timespan-in-words method to utility.
Also added a second parameter, fixed plural translation and added
a less-than-a-minute-ago term.
2015-11-16 18:08:25 +01:00
Olivier Goffart
459e200ac0 ShareDialog: add a QScrollArea (issue #4125 ) 2015-11-16 18:01:11 +01:00
Klaas Freitag
c781155b60 General Settings page: Remove the add account button.
It is now in the toolbox on the account page.
2015-11-16 17:07:05 +01:00
Klaas Freitag
87aa1de67a Merge branch 'newactivity' 2015-11-16 17:02:05 +01:00
Klaas Freitag
ccb871c30b ActivityWidget: Show the subject in the Tooltip.
the original text might be elided.
2015-11-16 16:44:52 +01:00
Klaas Freitag
74ed0b4f09 Merge pull request #4139 from owncloud/account_toolbox
AccountSettings: Add a toolbox button for the account specific actions.
2015-11-16 15:53:30 +01:00
Klaas Freitag
becbb7b284 AccountSettings: Address jans suggestions in #4139
- Changed sequence of menu items
- lowercased entries
- removed the "Account" from entries, its in the toolbox button already
- added a little space between toolbox button label and the rectangle.
2015-11-16 15:50:32 +01:00
Klaas Freitag
ff76a842d0 Added some documentation. 2015-11-16 15:38:08 +01:00
Klaas Freitag
a56926b8d9 ActivityWidget: open local file in file manager if exists. 2015-11-16 15:31:24 +01:00
Olivier Goffart
0d21503ee5 ShareDialog: fix auto completion to actualy auto complete 2015-11-16 15:23:02 +01:00
Klaas Freitag
631cb095dd ActivityWidget: Show the local path in a tooltip.
Note that the activity has also entries of files that are not synced so
that not every activity entry has to have a local pendant.

Also, one activity entry can reference multiple files, so only the first
one is shown.
2015-11-16 15:07:02 +01:00
Klaas Freitag
caba719950 Folderman: Added method to find local files for a rel. server path. 2015-11-16 15:04:59 +01:00
Klaas Freitag
7e4c0bd515 AccountSettings: Add a toolbox button for the account specific actions.
Also move the 'Add Account' button from the General Tab, where it
is not properly found, to the new account toolbox.
2015-11-13 14:50:07 +01:00
Klaas Freitag
ddcec2971e ActivityDelegate: Gray out font if account is not connected.
This gives a visual indication of the account not being connected
and as a result maybe outdated activity data.
2015-11-13 12:48:25 +01:00
Roeland Jago Douma
72d119a05f [Sharing] Delete animation when share is removed 2015-11-13 11:03:51 +01:00
Roeland Jago Douma
d423cf2c7f [Sharedialog] Fix UI stuff
Implemented suggestions form
https://github.com/owncloud/client/issues/3737#issuecomment-156036279

* Removed Shares text
* Permissions now next to username
* Simplified permissions by default
* Button to get more detailed permissions
2015-11-13 10:27:26 +01:00
Klaas Freitag
731a13cfd1 ActivityWidget: Take the account state (connected or not) in account.
Display the activity entries in a different mode if the account is not
longer connected.
2015-11-12 17:52:00 +01:00
Klaas Freitag
81296fae9d AccountManager: new method to return AccountStatePtr from the name.
It uses the Account displayName to destinguish.
2015-11-12 17:50:00 +01:00
Klaas Freitag
aa38f7a4f2 ActivityWidget: implement removeAccount. 2015-11-12 15:39:07 +01:00
Klaas Freitag
ff4a8c9202 GeneralSettings: Remove references to protocolwidget.
The ProtocolWidget is now the Activitytab Widget
2015-11-11 14:49:11 +01:00
Christian Kamm
c871d721fd Tray tooltip: Use aliasGui #4096 2015-11-11 14:35:56 +01:00
Christian Kamm
05d1cc9a94 Sharing: Fix crash with share deletion #4111
The problem was that Share could be deleted *before*
the OcsShareJob itself finished. Since Share was the
parent of the network job, its object would be deleted
too early.

In general, it's unnecessary to assign parents to the OcsJobs
because they delete themselves when finished.
2015-11-11 13:28:20 +01:00
Christian Kamm
196ee05fcc Share dialog: Initialize expected expire date #4075 2015-11-11 13:01:12 +01:00
Christian Kamm
e50cfa4e1b Recent Activity: Don't reset for no reason #3889 2015-11-11 12:48:15 +01:00
Daniel Molkentin
3224a959a4 Forward-declare QModelIndex. Fixes Qt4 builds. 2015-11-11 11:52:10 +01:00
Christian Kamm
2ccb3648c7 Recent Activity: Filter metadata updates #3963 2015-11-11 11:19:04 +01:00
Christian Kamm
01aa647527 FolderMan: Fix infinite wait on pause #4093
If a folder was paused while being the next item in the scheduling
queue, the whole scheduling could get stuck.

This also fixes the progress information of paused folders possibly
getting stuck.
2015-11-11 10:59:04 +01:00
Christian Kamm
25c177ca3b SyncJournalFileRecord: Remove unused mode field 2015-11-11 09:42:31 +01:00
Daniel Molkentin
1d9c591c08 Fix OS X compilation: use mode_t instead of __mode_t 2015-11-11 09:36:17 +01:00
Klaas Freitag
5e98894a97 ActivityView: Add a progress indicator widget to indicate action. 2015-11-10 18:10:58 +01:00
Markus Goetz
15fe3b569b Merge pull request #4100 from mnutt/credentials-from-url
Populate account setup credentials from server URL
2015-11-10 16:12:34 +01:00
Klaas Freitag
0e0b6026fc Activity: Unify the GUI, and reactivate copy to clipboard for all. 2015-11-10 15:12:35 +01:00
Christian Kamm
17dd199cba Checksums: Treat more carefully in db #4034
In particular, preserve them on local rename or remote move.
2015-11-10 15:05:00 +01:00
Christian Kamm
8f7dbe71a1 CleanupPollsJobs: Preserve more journal data 2015-11-10 14:26:25 +01:00
Christian Kamm
4b5c3d8f09 Tray: Show settings dialog on click if it's not active
Before, you often had to click twice to bring the window
to the front, because the first click would close it.
2015-11-10 12:33:36 +01:00
Christian Kamm
9955b0756a Settings: Show first account page on startup #4036 2015-11-10 12:20:08 +01:00
Christian Kamm
76d9b9c0e2 Rename env variables to include unit #2939 2015-11-10 12:07:10 +01:00
Christian Kamm
175ad6fb77 Reflect read-only permissions in filesystem #3244 2015-11-10 10:14:25 +01:00
Christian Kamm
51896902e3 Silence warning by removing extra semicolon 2015-11-10 10:06:49 +01:00
Michael Nutt
bd65eb32b7 SetupWizard: populate credentials from HTTP server URL
If a user enters a server URL in the form of
https://user:pass@example.com/, pre-populate the following credentials
page with those values.
2015-11-09 18:21:33 -05:00
Olivier Goffart
b29d1e94b5 ShareDialog: fix autocompletion took the wrong user 2015-11-09 17:22:17 +01:00
Olivier Goffart
b74e812671 Share dialog: a few layout adjustements 2015-11-09 17:22:17 +01:00
Olivier Goffart
aa27b5db14 Discovery: silent static analysis warning
We do a check one line earlier that the size is smaller than the buffer
Then we don't need to call strncpy,  strcpy is enough
2015-11-09 17:22:17 +01:00
Markus Goetz
81e3a62360 Account: Show local path in tooltip 2015-11-09 16:39:08 +01:00
Markus Goetz
4784b327e7 Folder Status: Use same fat ... icon as web 2015-11-06 16:10:50 +01:00
Klaas Freitag
cf9fec73cf ActivityView: Add a second treeview for sync issues.
So there are three views now: One displaying the server activities, one for
the sync protocol and a third one for ignored files and issues.
2015-11-06 11:43:43 +01:00
Klaas Freitag
a1551ef6ab ActivityDelegate: Make the row height public accessible.
Now it can be used to be set on the other two treeviews.
2015-11-06 11:41:32 +01:00
Markus Goetz
0163839cfb OS X: Fix toolbar oddity #3719 2015-11-06 10:18:09 +01:00
Roeland Douma
914a942e33 Merge pull request #4055 from owncloud/user_group_sharing
User group sharing
2015-11-06 09:35:42 +01:00
Roeland Jago Douma
6431a2aa46 [Sharing] Build sharee list on every search 2015-11-05 15:01:29 +01:00
Niels van Adrichem
572d9bdf1a Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/gui/share.h
2015-11-05 14:42:26 +01:00
Roeland Jago Douma
4cf2422a83 [Sharing] Clear completer on activation 2015-11-05 13:16:52 +01:00
Roeland Jago Douma
806ec98eab [Sharing] Properly delete widget 2015-11-05 13:10:32 +01:00
Roeland Jago Douma
20fd349e17 [Sharing] Filter sharee list properly
You can't share with a user/group that you've already shared with
You can't share with yourself
2015-11-05 12:30:34 +01:00
Roeland Jago Douma
3e4612a1f0 [Sharing] Reorganized sharedialog code
Now we have 1 simple dialog that includes 2 widgets.
* ShareLinkWidget (for link shares)
* ShareUserGroupWidget (for user/group shares)

The ShareUserGroupWidget is only included if the server version is >=
8.2.0

For <8.2.0 the old behavior is preserved
2015-11-05 09:58:16 +01:00
Roeland Jago Douma
90cbd461ab [Sharing] Allow sharing with users/groups from desktop 2015-11-04 22:00:35 +01:00
Daniel Molkentin
5fccc25f36 Fix Qt4 build 2015-11-04 19:28:54 +01:00
Klaas Freitag
cb1571c6c5 ActivityWidget: Rather use accountState pointer directly.
Do not use it via a smart pointer class.
2015-11-04 16:40:22 +01:00
Klaas Freitag
3bccfb8993 ActivityView: Add information about the account. 2015-11-04 13:22:03 +01:00
Roeland Jago Douma
6fb4e59120 [Sharing] First step towards proper group sharing 2015-11-04 12:56:06 +01:00
Roeland Jago Douma
309be57a12 [Sharing] Add user/group sharing dialog
Dialog can now retrive current shares for path, set the permissions on
those shares and delete the share.
2015-11-04 12:53:07 +01:00
Roeland Jago Douma
37098c96f9 [Sharing] Add setpermission to sharing code
For user/group/remote shares we were just missing the setPermissions
functionality
2015-11-04 12:53:02 +01:00
Klaas Freitag
cb4fba7658 ActivityWidget: Created a delegate for prettier display of the activities 2015-11-03 17:54:37 +01:00
Niels van Adrichem
0bcb13f02e Fixxed compile error on src/gui/share.h 2015-11-03 13:44:59 +01:00
Niels van Adrichem
1ab44655e0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/cmd/cmd.cpp
2015-11-03 11:58:45 +01:00
Niels van Adrichem
8f5658bc01 Added Non Shibboleth WebDAV authentication and Dav Path customization to owncloudcmd 2015-11-02 22:57:17 +01:00
Klaas Freitag
b600ac882a ActivityListModel: Add method to refresh one Account (WIP) 2015-11-02 17:52:04 +01:00
Klaas Freitag
71849c4372 ActivityListModel: Add the page and pagesize parameter to ocs query. 2015-11-02 17:51:12 +01:00
Klaas Freitag
9545af0d43 JSONApiJob: Add method to add additional query parameter. 2015-11-02 17:37:23 +01:00
Klaas Freitag
6c6ee358d4 ActivityListModel: Check if the account is connected when fetching more. 2015-11-02 16:39:33 +01:00
Klaas Freitag
060f4f291b SettingsDialog: Add a tab with the SyncProtocol to ActivityWidget. 2015-11-02 15:46:00 +01:00
Klaas Freitag
3fb43d2322 ActivityWidget UI: Remove the preconfigured tabs from the tabwidget.
It is better to create the tabs from the code in SettingsDialog.
2015-11-02 15:45:17 +01:00
Klaas Freitag
4895683bab ActivityWidget: Do a proper asynchronous model to display the activity. 2015-11-02 15:44:13 +01:00
Klaas Freitag
3b8e1dcd89 SettingsDialog: Make ActivityWidget a member. 2015-11-01 22:30:46 +01:00
Klaas Freitag
302d6b321e ActivityWidget: Add a job to fetch activities, Activity object added 2015-11-01 22:30:37 +01:00
Olivier Goffart
3993a7f636 OwnSQL: add asserts in case of error that should not happen 2015-10-30 14:05:58 +01:00
Olivier Goffart
aaf16ff0e8 SyncJournalDB, clear all the queries before closing the database 2015-10-30 14:03:08 +01:00
Olivier Goffart
16c078963b owncloudcmd: add --max-sync-retries #4037
And limit by default to 3 retries
2015-10-30 13:36:31 +01:00
Klaas Freitag
9279bcdba4 Add a tabwidget to Settings dialog for activity. 2015-10-30 13:26:27 +01:00
Olivier Goffart
0c467ef5b4 Sync engine: fix signal/slot connection 2015-10-30 13:21:34 +01:00
Olivier Goffart
49cd53ee44 FolderStatusModel: attempt to detect removed undecided files #3612 2015-10-30 12:43:33 +01:00
Olivier Goffart
0e6a463564 Discovery: Don't leak DiscoveryDirectoryResult in case of error
Also remove redundent Q_FUNC_INFO
2015-10-30 12:43:33 +01:00
Roeland Douma
d38b190317 Merge pull request #4033 from owncloud/share_object
Add share manager and the share objects
2015-10-30 11:01:03 +01:00
Roeland Jago Douma
c7b814337a Use proper QFlags
Now the ShareTypes and Permissions are part of the Share class (which is
a bit better abstracted away).
2015-10-29 21:47:47 +01:00
Roeland Jago Douma
dd8d02b8ef Act properly if OCS endpoint returned an error (OCS error)
For now pass it on to the gui. So at least they know something is wrong.
2015-10-29 16:56:23 +01:00
Olivier Goffart
c3cf6aef7d SyncEngine: Don't whipe the white list if the sync was aborted
Issue #4018
2015-10-29 16:47:39 +01:00
Olivier Goffart
38a8e5ee03 Discovery: conding style: use const references for function parameters 2015-10-29 16:47:36 +01:00
Klaas Freitag
46269dac4e Merge branch '2.0'
Conflicts:
	ChangeLog
2015-10-29 16:34:15 +01:00
Roeland Jago Douma
8c0297f688 Use QLatin1Char 2015-10-29 16:03:47 +01:00
Klaas Freitag
ee65315520 Merge branch '2.0.2' into 2.0
Conflicts:
	ChangeLog
2015-10-29 15:44:56 +01:00
Roeland Jago Douma
12f7cfde87 Shares do not have parents
Also some pointer cleanups
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
6d80f3d756 Proper foreach 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
b32f752d31 Properly cleanup OCS jobs 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
cf8be7de91 Proper const usage 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
30a3498c22 Fix typos 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
239603e24c Make sure enforced passwords are properly respected
Fixes for old and new servers
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
390daed3de Added getPublicUpload to LinkShare
so the gui does not have to know abou the internal permissions
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
918c06aba3 Add share manager and the share objects 2015-10-29 15:42:20 +01:00
Klaas Freitag
726be08917 Revert "Config: Use monochrome icons per default on MacOSX."
This reverts commit 546cab3f62.
For OEMs this patch causes an empty tray icon set.
2015-10-29 15:37:31 +01:00
Olivier Goffart
a127debc54 Quota: handle special negative value for the quota #3940
Don't show a progress bar if there is an unkown or unlimited total
2015-10-29 14:33:29 +01:00
Olivier Goffart
6aa26654f6 Merge remote-tracking branch 'origin/2.0' 2015-10-29 12:44:28 +01:00
Olivier Goffart
0fde7f0e6b Propagator: Keep a meaningfull error with old server and invalid file names
We changed the discovery code not to ignore files whose filename contains
charachter invalid on windows. (Because newer versions of the server
supports them)
Servers older than 8.1 will just say "Bad Request" as an error and it's a
regression against previous client version. So keep nice error even with
older server.

Relates to #3736
2015-10-29 12:44:08 +01:00
ckamm
251679253a Merge pull request #3951 from ckamm/checksum
Checksums stored in database #3735
2015-10-29 10:40:24 +01:00
Christian Kamm
64756c5dce --version also shows Qt version
That makes it much easier for people reporting bugs.
2015-10-29 09:48:36 +01:00
Christian Kamm
9788055147 Propagator: Add blacklisting of disk space errors #2939 2015-10-29 09:36:59 +01:00
Daniel Molkentin
4737c16996 State application name in update notification
Fixes #4020
2015-10-28 20:45:57 +01:00
Christian Kamm
496b1e907d Checksum: Don't lose it on metadata update #3735
Also improve tests.
2015-10-28 14:49:55 +01:00
Christian Kamm
566131209d Checksum: Fixes after review 2015-10-28 14:46:20 +01:00
Christian Kamm
b7823dc648 Checksum: Put checksum type into separate column #3735 2015-10-28 14:46:20 +01:00
Olivier Goffart
6d28a1b645 Fix Qt4 compilation 2015-10-28 13:26:35 +01:00
Markus Goetz
a6c9e8c5b4 Merge branch 'kill_legacy_propagator' 2015-10-28 11:06:50 +01:00
Markus Goetz
9337927722 legacy propagator: Remove more code 2015-10-28 10:59:02 +01:00
Christian Kamm
5ea09d2668 Checksum: Disallow ADLER32, use Adler32 #3735 2015-10-28 09:59:33 +01:00
Christian Kamm
b9fc4c5994 Checksum: Fix recomputation when forced in cfg file #3735
Don't recompute the checksum on each upload when the server does not
advertise supporting checksums.
2015-10-28 09:56:39 +01:00
Christian Kamm
f1b500d3e0 Checksum: Add env variables to disable #3735 2015-10-28 09:56:39 +01:00
Christian Kamm
dff37e11eb Propagate: Store computed checksums in db during upload #3735 2015-10-28 09:56:39 +01:00
Christian Kamm
b1387f801b Propagate: On download store checksum header in db #3735 2015-10-28 09:56:39 +01:00
Christian Kamm
60b2312ab6 SyncJournal: Add checksumHeader column to metadata table #3735 2015-10-28 09:56:39 +01:00
Christian Kamm
0354289795 Checksums: Improvement in async computation and validation #3735 2015-10-28 09:56:39 +01:00
Christian Kamm
c11c35c459 Revert "In case of empty checksum type, emit validated."
This reverts commit b05ca526a4.

The checksum type setting should not matter for downloads.
2015-10-28 09:56:39 +01:00
Christian Kamm
7c5e70ac3c PropagateUpload: Fix double-emission of finished #3844 2015-10-28 09:53:54 +01:00
Klaas Freitag
0c9568f6dc Merge pull request #4004 from owncloud/fix_hidden_detection
Fix hidden detection
2015-10-28 09:28:35 +01:00
Olivier Goffart
f1d48a9356 Folder Model: The item needs to be selectable for the currenIndex to appear selected
And we set the current index in AccountSettings::slotLinkActivated
2015-10-27 17:37:12 +01:00
Olivier Goffart
89f2a9e6dc Account Settings: A link should make sure all the parents are expanded 2015-10-27 17:37:12 +01:00
Klaas Freitag
a203da3919 FolderStatusModel: Check for null argument at start. 2015-10-27 17:37:12 +01:00
Klaas Freitag
1c1ef52cf1 AccountSettings: Display a link for undecided dirs in the sub text.
This only works in case the index is known. If not, no link is
shown, but we wait for the next update of the model.
2015-10-27 17:37:12 +01:00
Klaas Freitag
40c82c5c36 AccountSettings: Add index to undecided folder to be able to select it. 2015-10-27 17:37:12 +01:00
Klaas Freitag
81f0c6535e Enable external links in the label. 2015-10-27 17:37:12 +01:00
Klaas Freitag
46558d79a5 Add slot to handle clicks on folder names. 2015-10-27 17:37:12 +01:00
Olivier Goffart
e86b4203b9 IgnoreFiles: Fix the socket API would not load the new custom ignored files #3496
We did not flush or closed the file after having modified it from the UI.
So when the socket api was reloading it, it wouldn't be able to load
the newly added rules
2015-10-27 16:07:59 +01:00
Olivier Goffart
05dd9554f9 SocketApi: Fix returning ignore for the root item all the time 2015-10-27 16:06:38 +01:00
Olivier Goffart
26e1223f9a FolderStatusModel: reset also if a folder was renamed #4011 2015-10-27 13:51:56 +01:00
Olivier Goffart
84a04de7be Settings Dialog: don't put padding on the toolbar extension
Otherwise the extension just disapear with some styles (see Issue #3795)
2015-10-27 13:42:25 +01:00
Olivier Goffart
3f2a2cb14b FolderDelegate: put the progressbar in place of the remote or local folder #3403 #3569
So the size of the delegate does not change
2015-10-27 12:52:33 +01:00
Olivier Goffart
fac00348d9 Use the term folder sync connection in more places #3757 2015-10-27 12:12:21 +01:00
Olivier Goffart
3c93fd4fb7 AccountSettings: don't disable pause when offline (#4010) 2015-10-27 10:32:33 +01:00
Klaas Freitag
6b71273380 Discovery: Fix detection of hidden files.
In the discovery phase we want to detect that dot-files are hidden
on Linux and Mac.

This fixes strange behaviour seen in issue #3980
2015-10-26 14:24:05 +01:00
Olivier Goffart
dccf4e9c34 Download: Soft errors for error while resuming (#4000) 2015-10-26 12:31:07 +01:00
Olivier Goffart
39289a3164 SocketAPI: don't trim the command #3297 2015-10-26 10:15:50 +01:00
Olivier Goffart
84f1bdbc87 Folder::wipe: We need to shut the socket API down before removing the DB
Because the DB stays open and locked.

Should fix #3824
2015-10-23 17:43:01 +02:00
Olivier Goffart
c93defc82d SyncEngine: remove unused functions 2015-10-23 17:11:19 +02:00
Olivier Goffart
bd39c64798 Delete all files: make the 'Keep' on by default
On windows, we need to specify at least one AcceptRole.
Otherwise the DestructiveRole might become the default

Issue #3824
2015-10-23 17:06:14 +02:00
Olivier Goffart
42a6b242c7 SettingsDialog: use QWidgetAction for the toolbar so the extension works
When the toolbar is full because there is no enough room, make the extension
of the toolbar work, by using QWidgetAction::createWidget instead of
QToolBar::insertWidget

There should not be prolem when the window is too narrow.

Relates #3832
2015-10-23 16:23:37 +02:00
Joas Schilling
6d87bd15cd Make returncode 0 for --version and --help 2015-10-23 15:17:29 +02:00
Olivier Goffart
d657c00b11 FolderStatusModel: fix getting the size of the folder in the selective sync (#3986)
Regressed since d610693af1. The problem
is that the _size vector contains the pathToRemove and that it was removed
before.
Reorganize a bit the code so there is only one loop that has still all the
 information.
2015-10-23 15:13:15 +02:00
Olivier Goffart
6a0633083d Network Settings: Adjust the bandwidth limit option with old Qt
- Disable the whole group box
- Add a tooltip explaining why it is disabled
- Make sure it is disabled in the settings in case of upgrade
- Do a runtime check in case the running Qt is greater
2015-10-22 17:57:34 +02:00
Daniel Molkentin
899f52be4f Revert "Settings dialog: remove the close button #3713"
This reverts commit ebee6f0bc2.

Unix window managers do not have a reliable way of hinting buttons,
so we need the close button.
2015-10-22 16:20:59 +02:00
Olivier Goffart
a608b4e9e0 Folder: set csync verbosity to 0 if the Logger is not there
csync_log was still accounting for 8% of the local discovery (because
of vsnprintf and asprintf)
2015-10-22 01:13:35 +02:00
Olivier Goffart
f6a543ada3 Logger: speedup the sync discovery when the log is innactive
The sync throw a lot of log message, and QDateTime::fromCurrentTime is
quite expensive. So don't call it if it's not needed.
2015-10-22 00:22:25 +02:00
Daniel Molkentin
c7bf09c3d4 Merge remote-tracking branch 'origin/2.0' 2015-10-21 18:49:58 +02:00
Olivier Goffart
c80e72da83 Sharing: change coding style of enum
From all upper case to camel case

This hopefully fix the Windows build which fails because DELETE seems
to be a macro
2015-10-21 18:40:04 +02:00
Roeland Douma
ec351e00ad Merge pull request #3773 from owncloud/split_sharedialog
Split sharedialog code
2015-10-21 16:55:59 +02:00
Olivier Goffart
cf242871ea SyncEngine: keep a static pointer to the codec
The QTextCodec for UTF-8 is not going to change during the application life time.
So no need to look it up for every file
2015-10-21 16:38:26 +02:00
Olivier Goffart
597d36dcf2 csync_statedb: Use the index in csync_statedb_get_below_path
Make an index from the path, and make a query that uses the index
2015-10-21 16:38:26 +02:00
Olivier Goffart
9c388787bb csync_update: Don't fetch the etag in the local discovery from the DB
We don't need it, and it's slow.
This saves a lot of DB queries

(Also replaced a strlen>0 with a faster check)
2015-10-21 16:38:26 +02:00
Markus Goetz
f739d8fdd3 sqlite: Update to version 3.9.1
For OS X and Windows.
This is in line with the tests/benchmarks Olivier is doing on ArchLinux.
2015-10-21 15:55:41 +02:00
Markus Goetz
c8590c4468 Remove legacy propagator and neon
The code was already uneeded/unbuilt on Windows and OS X.
2015-10-20 17:57:43 +02:00
Markus Goetz
98b966d274 OS X: Use Cocoa Pasteboard instead of QClipBoard #3300 2015-10-20 15:42:43 +02:00
Olivier Goffart
674b6f2373 Account Settings: clear the focus of the "Sign In" button when clicked
So that the focus does not go to the "Remove Account" button instead
which would be wierd
2015-10-20 13:56:35 +02:00
Olivier Goffart
407ff0a99d Theme: cache the QIcon::fromTheme
We are calling that every time we draw the folder delegate.
Which is a lot when the sync is runing and the progress bar is moving
2015-10-20 13:24:11 +02:00
Olivier Goffart
0b6d21e3d5 Logger: don't call qFormatLog when unessesary
That's a lot of string operations that can be avoided if the log window
is not shown
2015-10-20 13:22:48 +02:00
Markus Goetz
4c9bc42b69 Revert libqsqlite changes for now
QtWebKit depends on it unfortunately
2015-10-20 13:04:33 +02:00
Olivier Goffart
557b704069 Fix compilation warning
shibbolethcredentials.h:59:10: warning: 'askFromUser' overrides a member
function but is not marked 'override' [-Winconsistent-missing-override]
2015-10-20 11:35:25 +02:00
Olivier Goffart
4369e31a49 Folder Model: don't try to fetch data if the account is disconnected
Now that it expands automatically, it would do lots of query to the
server when the account is disconnected. (all resulting in 401)
2015-10-19 18:32:34 +02:00
Olivier Goffart
23b5a74c17 Account Settings: Don't expand while clicking on the '...' button 2015-10-19 18:23:56 +02:00
Olivier Goffart
ee69ab2021 Account Settings: Don't disable double click expanding for sub folders
The root folder open on simple click,  but the sub folder don't, so keep
this behaviour which is the native behaviour
2015-10-19 18:12:49 +02:00
Olivier Goffart
374f29c4d3 Account Settings: Fix crash for acocunts withour folder
Was broken by  027a865fbc
2015-10-19 18:08:11 +02:00
Markus Goetz
67910e7d60 Discovery: Call it "Checking for changes in" in UI
For #3431
2015-10-19 15:59:16 +02:00
Markus Goetz
ccec186b98 ETagJob: Depth 0 for server >= 8.1 #3730 2015-10-19 15:31:27 +02:00
Klaas Freitag
c66c259447 SettingsDialog: Add new widet called ActivityWidget.
This is the new widget to display server activity.
2015-10-19 14:41:53 +02:00
Klaas Freitag
4ad165ce26 Utility: add method fileNameForGuiUse(), pimp up filename for GUI
Currently, this one only replaces colons by / on Mac platform. This makes
the function resuseable.
2015-10-19 14:36:55 +02:00
Markus Goetz
24a801dfd3 CMake/NSIS: We don't need QtSql (more) 2015-10-19 13:56:36 +02:00
Markus Goetz
af79bc9211 CMake/NSIS: We don't need QtSql
The NSIS change also had a redundant libsqlite3 DLL entry
2015-10-19 13:46:46 +02:00
Klaas Freitag
a3904f4d32 Theme: Revert logic of singleAccount switch.
To use the same logic as the other clients and unify ownBrander
implementations, the switch is now called multiAccount() rather
than singleAccount() with a reverse logic.
Desktop Client stays with the default of having multiaacount
enabled.

Note that existing brandings need to rename the switch.

https://github.com/owncloud/ownbrander/issues/443
2015-10-19 12:26:42 +02:00
Olivier Goffart
5cac90b3eb SelectiveSyncTreeView: show the size for the root item (#3755) 2015-10-19 10:58:54 +02:00
Olivier Goffart
df135a0bb2 Merge branch '2.0'
Conflicts:
	src/gui/folder.cpp
2015-10-19 10:57:37 +02:00
Klaas Freitag
546cab3f62 Config: Use monochrome icons per default on MacOSX. 2015-10-16 18:55:07 +02:00
Roeland Jago Douma
4a04dc1a3e Typos 2015-10-16 12:51:24 +02:00
Roeland Jago Douma
0e97fbb730 Use overloaded functions 2015-10-16 12:48:48 +02:00
Olivier Goffart
0c59c85127 SyncEngine: Folders with ignored files should not count when counting none files
If there is a any none files, we do not show the dialog saying that all
files have been removed. If a directory contiains ignored files, we still
want to show this message box even if the directory will not be deleted
2015-10-16 11:43:52 +02:00
Markus Goetz
0d5f2b5d31 Propagator: Reset upload blacklist if a chunk suceeds
For #3934
2015-10-16 10:06:45 +02:00
Olivier Goffart
87fa1794a1 Updater: remove unused function
It was even throwing a warning because it is an infinite recursion
2015-10-16 09:56:26 +02:00
Olivier Goffart
81e30cd8d2 Merge pull request #3695 from owncloud/nomkpath3692
Folder: Do not create the sync folder if it does not exist #3692
2015-10-16 09:21:15 +02:00
Markus Goetz
983671c8cb Shibboleth: Add our base user agent to WebKit
For #3913
2015-10-16 09:15:47 +02:00
Roeland Jago Douma
40ab3ee751 Now only 1 constructor to ocssharejob
* Pass the share_id to the functions that need it
2015-10-16 08:28:13 +02:00
Roeland Jago Douma
f95fea9866 Move permissions to OcsShareJob 2015-10-16 08:09:57 +02:00
Roeland Jago Douma
03719334ea Remove unused members 2015-10-15 22:27:55 +02:00
Roeland Jago Douma
4441053b1c Thumbnailjob fixes
* Comments
* Use the path of the abstractnetworkjob
2015-10-15 22:18:22 +02:00
Roeland Jago Douma
a34b663828 Now add parameters in a less crappy way 2015-10-15 21:58:16 +02:00
Roeland Jago Douma
db1f4d4016 OCSJob -> OcsJob and more docs 2015-10-15 20:54:52 +02:00
Roeland Jago Douma
3ea944d1b3 Added setPublicUpload to OcsShareJob 2015-10-15 20:34:56 +02:00
Roeland Jago Douma
b293aa762c Split sharing code
There is now a generic OCSJob which must be inherited by other jobs. This is in
prepartion for the other OCS job that will come (for the Sharee API endpoint
for example).

More logic is moved from the sharedialog to the OcsShareJob. So in the GUI code
we now only say what we want (a new share, set the password etc). And the code
in libsync will make that happen. Error handling is for now still done in the
GUI part.

For now the ocsjob and ocssharejob live in gui but probabaly we should
create a libshare or libocs at some point.
2015-10-15 20:05:47 +02:00
Markus Goetz
b5e75afc17 General settings: Align checkbox #3758 2015-10-15 19:15:50 +02:00
Markus Goetz
027a865fbc Account Settings: Show selective sync buttons after list load
Especially nice when having a slower network.
For #3839
2015-10-15 18:52:16 +02:00
Markus Goetz
132b5f5130 Account Settings: Expand selective sync on show #3585 2015-10-15 17:27:38 +02:00
Markus Goetz
c3754e1fdd folderstatusmodel.h: Fix warning 2015-10-15 17:27:29 +02:00
Christian Kamm
c418d67920 Merge remote-tracking branch 'origin/2.0' 2015-10-15 15:54:09 +02:00
Christian Kamm
67e9a06d30 Progress estimation: Adjust low-transfer detection #3942
Progress estimation is usually based on transfer speed. That makes no
sense when we're doing operations like deletes, that need very little
data transfer but nevertheless take a long time.

This hack attempts to detect this case better and switches to a
different estimate.

We should rewrite this to maintain and update estimates for the
transfer speed, per-file overhead and chunk-assembly overhead each
time an item finishes. Then we could provide more consistent progress
estimates without ad-hoc fixes like this one.

Also, there's an issue where resuming a partial download will lead
to exaggerated transfer speed estimates.
2015-10-15 15:04:11 +02:00
Christian Kamm
abd63035c1 ETag: Allow parsing of weak tags #3946 2015-10-15 14:57:34 +02:00
Markus Goetz
745cf55abb SelectiveSync: Increase folder list timeout to 60
Already done for 2.1 in 05eee16959
For #3524
2015-10-15 14:43:11 +02:00
Olivier Goffart
e1c634d000 Don't show the settings if another instance is started less than 10 secs after the apps.
Issue #3273

isSessionRestored was not set correctlty so ignore it
2015-10-15 14:25:23 +02:00
Roeland Douma
df2418d9c5 Merge pull request #3661 from rullzer/public_upload
Allow setting of public upload on link shares
2015-10-14 15:34:25 +02:00
Roeland Jago Douma
2fdae6d72f Allow setting op public upload on link shares 2015-10-14 15:30:28 +02:00
Roeland Jago Douma
05471d0acd Also parse capabilitie for public uploads 2015-10-14 15:30:23 +02:00
Christian Kamm
05eee16959 SelectiveSync: Show in-progress label #3524
We now show 'Fetching data...' after a second.

This also increased the timeout to 60s, making the error
condition much less likely.
2015-10-14 13:05:53 +02:00
Roeland Douma
a752eadd0f Merge pull request #3923 from owncloud/check_shareapi_available
Provide information about share availablity for files
2015-10-14 12:38:03 +02:00
Roeland Jago Douma
028dc8d6c3 Add SHARE_STATUS socketAPI command
This command allows to retrieve the share status of a file. In other
words if it can be shared.
2015-10-14 12:36:32 +02:00
Roeland Jago Douma
4a7242c8f9 Extended capabilities API
* Naming of capabilities is now a bit more consistent
2015-10-14 11:45:34 +02:00
Christian Kamm
efdb29d2f9 AccountSettings: Show disabled 'Add Folder' tooltip on click #3645 2015-10-14 11:34:30 +02:00
Christian Kamm
51a2e6c580 Exclusion: Fix confusion with relative and absolute paths 2015-10-13 12:53:38 +02:00
Christian Kamm
7fe03c715d SelectiveSync: Don't adjust removed path 2015-10-13 12:37:27 +02:00
Klaas Freitag
419d18c128 FileSystem: Reuse the FileInfo object that is created in the caller.
With that, a lot of stats can be avoided, ie. in SocketAPI
2015-10-09 13:02:02 +02:00
Klaas Freitag
74a7755ad9 SocketAPI: String concat optimization as learned on QtWS. 2015-10-08 18:26:30 +02:00
Klaas Freitag
c1ba927b37 Propagatorjobs: Removed superflous semicolon. 2015-10-08 16:20:42 +02:00
Klaas Freitag
a8eb913535 SyncLogDialog: Do not delete SyncLogDialog after close.
Keep one instance for the lifetime of the generalsettings widget.
2015-10-07 18:59:48 +02:00
Klaas Freitag
6d6903ef62 Merge pull request #3919 from phil-davis/libsynctypos
libsync comment and message typos for master
2015-10-06 14:49:54 +02:00
Phil Davis
b8ccbbc72a GUI comment and message typos for master 2015-10-05 10:06:19 +05:45
Phil Davis
f0e17fd9c0 libtypos comment and message typos for master 2015-10-05 09:05:09 +05:45
Christian Kamm
d610693af1 SelectiveSync: Apply excludes #3876 2015-10-02 15:56:39 +02:00
Christian Kamm
7d1886684e FolderWatcher: Use csync exclude code #3805
Introduce a global ExcludedFiles instance to avoid loading the global
exclude lists several times.

One could still add per-folder exclude lists by checking these after
the global ones.
2015-10-02 15:56:39 +02:00
Christian Kamm
95fc792745 Tray: Change texts #3657 2015-10-02 15:48:44 +02:00
Christian Kamm
efefc2d986 Merge branch '2.0'
Conflicts:
	doc/images/menu.png
	doc/images/settings_network.png
2015-10-02 15:44:50 +02:00
Christian Kamm
9f8d109a7e Network errors: Use exception name, if message is empty #2718 2015-10-02 15:25:34 +02:00
Christian Kamm
cf9e5ffb0b Remove dead code
no_recursive_propfind does not exist anymore.
2015-10-02 15:17:19 +02:00
Christian Kamm
3cbd63a77a Propagation: Try another sync on 423 Locked #3387
(cherry picked from commit 24c41ed0da)
2015-10-02 14:49:38 +02:00
Christian Kamm
62eeed5201 Propagation: Make 423 Locked a soft error #3387
(cherry picked from commit 20ea9015ca)
2015-10-02 14:49:30 +02:00
Christian Kamm
1383023b2e Fix the Qt4 build. 2015-10-02 11:05:15 +02:00
Klaas Freitag
afd081f40b Settings: Move synclog widget to a seperate dialog.
This a first step to integrate the server activity view, see #3732
2015-10-01 16:57:37 +02:00
Christian Kamm
7bf31e56ab Ignores: Sync after update #3876 2015-10-01 15:39:28 +02:00
Christian Kamm
3812fd0866 Checksums: Prepare 'supported checksums' capability #3735
It currently always returns the empty list and thus has no effect.
2015-10-01 15:00:33 +02:00
Christian Kamm
24c41ed0da Propagation: Try another sync on 423 Locked #3387 2015-10-01 13:05:07 +02:00
Christian Kamm
36e8e9ebf5 Propagator: Download disk space checks #2939
* There's a critical 50 MB threshold under which syncs abort
  (OWNCLOUD_CRITICAL_FREE_SPACE)
* The sync client always keeps 250 MB free
  (OWNCLOUD_FREE_SPACE)
2015-10-01 12:59:05 +02:00
Christian Kamm
12dc372b21 Sync: An initial diskspace check #2939
* Before each sync, check that there are at least
  250 MB of space available and abort otherwise.
* Can be overridden with OWNCLOUD_MIN_FREE_SPACE
2015-10-01 10:25:35 +02:00
Christian Kamm
20ea9015ca Propagation: Make 423 Locked a soft error #3387 2015-09-30 14:00:53 +02:00
Klaas Freitag
0c148025a3 SyncLog Dialog WIP 2015-09-30 12:02:05 +02:00
Christian Kamm
d0c2ce276a Application: Fix crash on early shutdown #3898 2015-09-30 11:40:33 +02:00
Klaas Freitag
440687af21 AccountSettings: Disable context menu of sync folders when not connected.
This is the second part to fix #3860
2015-09-29 18:19:26 +02:00
Klaas Freitag
77a9b28e14 SetupWizard: Removed unused member variables. 2015-09-29 09:30:40 +02:00
Markus Goetz
641dece89a Linux: Don't show settings dialog always when launched twice
For #3273 #3771 #3485
See also d503221b2e
2015-09-28 23:00:19 +02:00
Markus Goetz
574c699382 GUI: Change tray menu order #3657 2015-09-26 00:25:06 +02:00
Klaas Freitag
b72e2b146d AccountSettings: only expand root elements on single click.
Also, toggle expanding on single click for root elements.
2015-09-25 13:57:44 +02:00
Klaas Freitag
a1421ff74f AccountSettings: Do not allow to expand the folder list when disconnected.
This is supposed to fix #3860
2015-09-25 12:22:51 +02:00
Christian Kamm
c1045af500 FolderMan: Fix for removing a syncing folder #3843
We can't schedule the next folder if we aren't notified that
the removed folder has finished syncing...
2015-09-18 14:34:40 +02:00
Christian Kamm
c5c1a7a1c3 ConnectionMethodDialog: Don't be insecure on close #3863 2015-09-18 12:12:53 +02:00
Christian Kamm
4144d4672f Updater: Ensure folders are not removed #3747 2015-09-18 11:59:49 +02:00
Christian Kamm
68947525a0 Settings: Add debug output #3820 2015-09-17 13:49:00 +02:00
Christian Kamm
8f8bf98ca6 Folder settings: Ensure path is cleaned #3811
Paths with a trailing backslash lead to a failing sync beforehand.
These paths can appear in some migration scenarios.
2015-09-17 12:31:37 +02:00
Christian Kamm
ef0ab93e05 Propagator: Simplify sub job finished counting #3844 2015-09-17 10:12:23 +02:00
Markus Goetz
c09b4e1477 Share dialog: Hide settings dialog before showing #3783 2015-09-16 11:17:00 -04:00
Markus Goetz
ca95276298 UI: Only expand 1 level in folder list #3585 2015-09-16 11:06:32 -04:00
Markus Goetz
c2431f2c3b ConnectionValidator: Fix warning 2015-09-15 21:10:21 -04:00
Markus Goetz
15e4d9e317 UI: Allow folder expanding from button click #3585 2015-09-15 21:10:14 -04:00
Markus Goetz
ef607e29de UI: Expand folder treeview on single click #3585 2015-09-15 20:59:27 -04:00
Daniel Molkentin
abfd97949d Merge pull request #3810 from owncloud/phil-davis-remove-all
Remove all files text edit
2015-09-14 14:06:56 +02:00
Daniel Molkentin
5347a991cf Merge pull request #3806 from owncloud/phil-davis-sync-remove
Adjust message box text for sync removal
2015-09-14 14:05:39 +02:00
Daniel Molkentin
f1a9e669b4 SyncEngine: fix typo 2015-09-14 13:57:51 +02:00
Markus Goetz
5a791ec11e Merge pull request #3818 from owncloud/phil-davis-patch-1
OCUpdater description text
2015-09-14 00:46:55 +02:00
Markus Goetz
cb6522e735 ConnectioNValidator: Fix redundant error message
For #3794
2015-09-12 20:57:49 -04:00
Phil Davis
d0aef138c3 OCUpdater decription text
Make it say something understandable. Looking at previous versions with git blame, the word "not" fits here.
2015-09-12 07:25:59 +05:45
Phil Davis
6058b507c8 Remove all files text edit 2015-09-11 15:04:53 +05:45
Phil Davis
1aff9bca95 Adjust message box text for account removal
Since the context menu text was changed to "Remove Account" it seems sensible to also change the title of this message box to match.
https://github.com/owncloud/client/issues/3793
2015-09-11 08:46:53 +05:45
Phil Davis
d76f76f429 Adjust message box text for sync removal
Since the context menu text was changed to "Remove Sync" it seems sensible to also change the title of this message box to match.
https://github.com/owncloud/client/issues/3745
2015-09-11 08:42:02 +05:45
Markus Goetz
1de4d96ab1 Account: Also display non-standard port in tray menu
For #3658
2015-09-10 19:27:16 -04:00
Klaas Freitag
eb154de2a1 Merge pull request #3802 from owncloud/alt_webdav_url2
Branding option: Alternative WebDAV URL
2015-09-10 17:44:46 +02:00
Klaas Freitag
8c2b5af7f0 Account: Fixed typo in comment. 2015-09-10 17:44:20 +02:00
Klaas Freitag
9004fd6d11 Utility: Fix the size display back to JEDEC standard.
Also updated the test.
2015-09-10 17:36:28 +02:00
Klaas Freitag
5f660bf080 GUI: Replace term "sign in" with "Log in" and friends.
Also with doc changes.
2015-09-10 17:36:28 +02:00
Klaas Freitag
9eec45f9c4 SetupPage: Fix crash caused by uninitialized Account object.
Since the webdav path is read from account now, it needs to be
initialized first thing.
2015-09-10 16:03:22 +02:00
Klaas Freitag
cf7726353a Always use the webdav path from the Account object.
The Account object has the themed webdav path if it is branded.
2015-09-10 15:39:37 +02:00
Klaas Freitag
93e1ad088c Account: Make sure that davPath() always comes with trailing slash. 2015-09-10 15:38:40 +02:00
Phil Davis
b490be2267 cmd and crashreporter minor typos
nothing important here
2015-09-10 17:34:26 +05:45
Klaas Freitag
16d6418d10 Use a themable WebDAV path all over.
This is needed for enterprise#481
2015-09-10 13:04:26 +02:00
Klaas Freitag
995b42d0fc Units: Back to the "usual" mix units.
Now we display units again numerically wrong (based on 1024) but back
to how it was before in ownCloud.
2015-09-10 12:08:20 +02:00
Daniel Molkentin
c0f8ff1030 Account: Display non-standard port as part of the hostname
Addresses #3658
2015-09-10 10:17:31 +02:00
Daniel Molkentin
be3529ebcb Adjust strings in settings dialogs
Implements  #3745 & #3793
2015-09-10 01:46:28 +02:00
Phil Davis
613736aa41 Coin the term 'folder sync connection'
Proposed wording for issue
https://github.com/owncloud/client/issues/3757
2015-09-10 01:35:58 +02:00
Daniel Molkentin
d823809021 Merge pull request #3781 from phil-davis/FSC
Coin the term 'folder sync connection'
2015-09-10 01:35:25 +02:00
Daniel Molkentin
b83c723e3f Allow (partial) translations even when run from build dir
Makes it easier to catch translation issues earlier
2015-09-10 01:25:16 +02:00
Individual IT Services
6b222c3db7 fix unicode issue #3753
fixes the unicode issue #3753

I don't know much CPP and Qt but after some google research I found this http://wiki.qt.io/Strings_and_encodings_in_Qt
it does mention trUtf8() that has done the trick for me on Linux with Gnome 3.16.
Haven't tested it on other systems
2015-09-10 01:24:11 +02:00
Klaas Freitag
088c0d471a AccountSettings: Do not prepend the folder alias to the undecided folders
This fixes bug #3685
2015-09-09 17:52:39 +02:00
Klaas Freitag
98e6d61d1b General settings: Set left margin of layout to zero.
This fixes the vertical alignment of the checkboxes, see bug #3758
2015-09-09 15:52:22 +02:00
Klaas Freitag
df534753b1 csync_update: Handle permission denied as soft error in discovery.
For that, treat the not accessible directory as if it were ignored.

This will fix #3767
2015-09-09 14:12:13 +02:00
Phil Davis
fdfab07d07 Coin the term 'folder sync connection'
Proposed wording for issue
https://github.com/owncloud/client/issues/3757
2015-09-08 17:22:57 +05:45
Individual IT Services
cc5f8e5122 fix unicode issue #3753
fixes the unicode issue #3753

I don't know much CPP and Qt but after some google research I found this http://wiki.qt.io/Strings_and_encodings_in_Qt
it does mention trUtf8() that has done the trick for me on Linux with Gnome 3.16.
Haven't tested it on other systems
2015-09-08 13:59:43 +05:45
Olivier Goffart
21dbf97a02 Merge remote-tracking branch 'origin/2.0' 2015-09-07 10:32:16 +02:00
Daniel Molkentin
66f340734c Consistency: Use folder instead of directory in user visible strings 2015-09-07 08:51:40 +02:00
Christian Kamm
c6794afc3a Tray: Enable workaround for Qt5 only #3765 2015-09-07 07:44:07 +02:00
Olivier Goffart
39bff056a6 Merge remote-tracking branch 'origin/2.0' 2015-09-05 18:14:30 +02:00
Jocelyn Turcotte
128d46e19a Remove *Credentials::_fetchJobInProgress
Now that fetchFromKeychain is solely called from AccountState::slotInvalidCredentials
and that this one already protects the fetch call using _waitingForNewCredentials,
we can remove that extra check.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
6d027ebd40 Separate the credential dialog from their fetch #3350
This moves the responsibility of asking the user or not for
credentials from the Credentials classes back to the AccountState.
fetch() now only extract credentials from the keychain, reports
the result to the AccountState which then decides if askFromUser()
should be called or not. The result is once more reported to the
AccounState.

This also replaces the HttpCredentials::queryPassword virtual
which now lets HttpCredentialsGui and HttpCredentialsText do it
the way that they prefer.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
89f69209dd Simplify the authentication code paths #3350
The AccountState is now the only class responsible for triggering credentials
fetching from the keychain or from the user.

With the ShibbolethRefresher out of the question it's possible
to remove the invalidateAndFetch virtual and manually call invalidateToken.
This also allows us to move that code from Account to AccountState.
In the end this also allows us to move the fetch() call from the
ConnectionValidator and use the same code path as for invalid credentials.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
94a57fe8d5 Get rid of ShibbolethRefresher
This is only for neon and not necessary if we want to show a notification
instead of a login window when the network reports invalid credentials.
2015-09-05 15:45:54 +02:00
Christian Kamm
699acc99e4 Tray: Don't use the tray workaround with the KDE theme #3706
That just triggers another bug...
2015-09-04 15:31:36 +02:00
Christian Kamm
90338499d3 ShareDialog: Fix folder display #3659
Sometimes having a double starting / broke the display logic.
2015-09-04 15:16:25 +02:00
Christian Kamm
641f56664e FolderStatus: Show 'waiting for other folder' #3619
We monitor the scheduling queue and show messages like
"Waiting for 5 other folders...".
2015-09-04 10:42:21 +02:00
Christian Kamm
419deff861 AccountSettings: Restore from legacy only once #3565
And also introduce a Accounts/version int at the same time. That
may make future account settings migrations easier to manage.
2015-09-04 09:25:12 +02:00
Olivier Goffart
e49a8a9ffe SSL Certificate Error Dialog: show account name #3729
Change the wording of the certificate error dialog to include the
account URL and be a bit more accurate.

(Do not mention "SSL" in user facing messages)
2015-09-03 16:19:53 +02:00
Christian Kamm
7bfbc21770 Settings: Allow adding at least one account #3721
We always show the 'Add Account' button when no account exists,
even When the 'singleAccount' option is enabled.
2015-09-03 06:14:49 +02:00
Olivier Goffart
d853b4f083 FolderDefinition: Escape the alias of a folder before writing to the config
Issue #3707
2015-09-02 16:07:34 +02:00
Christian Kamm
d8939184db Tray: Clicks work even with Qt 5.5.0 workaround #3722 2015-09-02 15:51:23 +02:00
Olivier Goffart
e54253d845 PropagateLocalRemove: remove entries from the DB even if there was an error.
Previously, in case of an error while deleting a directory, we would not
remove the entries from the local db, despite most of the files would
be deleted.

Which means that if the files re-appear on the server with the same etag,
we would think the file were deleted from the client and propagate the change.

In 1.8.0 we had this bug that we would not see some directory in the server in
some cases. This would lead us to delete the file on the client.  Normaly the
files are deleted from the local database and next sync would re-download the files.
But in the cases where there was an error deleting one of the file (for example
if it was locked) we would then propagate the delete to the server.

Fix this by always deleting from the database the files that we deleted.

Issue #3206
2015-09-02 15:26:50 +02:00
Jocelyn Turcotte
dcb687929f Show a notification instead of a login window on startup #3350
The original problem is that showing a popup not originated
from the main settings window while it's focused won't be
shown in front to the user.

This try not to highjack the user's attention of the user
by showing a notification when checking the connection for
valid credentials, and require the user to sign in through
the UI. There are still issues with showing that popup from
the tray icon, but the user will most likely be looking for
the popup in that case. The new sign in button directly in
the settings account works properly.
2015-09-01 18:40:20 +02:00
Jocelyn Turcotte
628957de21 Remove the _readPwdFromDeprecatedPlace codepath
This was introduced in 1.6.2 to read the password from earlier versions.
People upgrading from 1.5 to 2.1 will sadly need to re-enter their password.
2015-09-01 18:40:20 +02:00
Jocelyn Turcotte
bcfc16c0f6 Add a sign in button in the settings window
It's not obvious for users that they should sign in through
the tray icon, especially if they were automatically signed out.
2015-09-01 18:40:20 +02:00
Olivier Goffart
3ba5e27d02 Merge branch '2.0' 2015-09-01 17:57:56 +02:00
Olivier Goffart
0fa4353841 Remove the accountmigrator.cpp It is not used
This was used to convert the config from the community client to
the  branded client. But we don't need this feature anymore
https://github.com/owncloud/client/issues/3515#issuecomment-133394443
2015-09-01 17:03:58 +02:00
Jocelyn Turcotte
688aaadb60 Don't show a sync success status toolip when signed out 2015-09-01 15:35:10 +02:00
Olivier Goffart
f77ae28ed1 AccountSettings: Fix coverity warning
FolderMan::folder might return null
2015-09-01 11:39:55 +02:00
Olivier Goffart
0d08bbec74 AccountSettings: remove unused member
Fix a coverity warning
2015-09-01 11:37:47 +02:00
Olivier Goffart
ebee6f0bc2 Settings dialog: remove the close button #3713 2015-09-01 11:32:59 +02:00
Olivier Goffart
db8f9586cb Tray notification: Don't show a message about modified folder #3613 2015-09-01 11:29:37 +02:00
Olivier Goffart
950bc578d0 Merge branch '2.0' 2015-08-31 14:34:04 +02:00
Jocelyn Turcotte
c48c5b9286 Move the progress bar to the right of the quota label
Also change the label to show the free space and show
the used and total space only on a tooltip of the bar.

Related to #3644
2015-08-31 12:33:21 +02:00
Olivier Goffart
9172a5fc4c FolderStatusModel: add a function to get a QModelIndex from the path
Will be usefull to solve #3704
2015-08-31 10:14:58 +02:00
Felix Böhm
3ebc422bb5 Fix qtmacgoodies submodule
* was broken by 514372db6b
2015-08-30 17:51:43 +02:00
Olivier Goffart
1a0d0c0a31 Account Settings: rework the toolbar
Modifications ask by Jan:

 - Elide the label in the actions
 - Minimum sizes for the actions
 - No separatcions between the accounts

Issue #3516
2015-08-30 15:31:13 +02:00
Olivier Goffart
8fb4adf40d AccountWizard: fix when the theme specify a override URL #3699 2015-08-29 18:51:27 +02:00
Jocelyn Turcotte
cb1bcdc8e0 Tweak the settings UI
- Move the cancel and apply buttons side by side
- Hide the notification label when empty
- Clamp elements at the top together a bit
2015-08-28 15:51:11 +02:00
Olivier Goffart
1f43c47861 Folder: Do not create the sync folder if it does not exist #3692 2015-08-28 14:40:45 +02:00
Jocelyn Turcotte
f38deb44fb Don't disable the selective sync cancel button
This makes its interaction more consistent versus other
kinds of dialogs or versus when the selective sync config
has been changed or not.
2015-08-28 12:14:56 +02:00
Christian Kamm
ed28a21cb0 Tray: Hide while modifying menus #3656 #3672
This may help workaround the dbus tray issue in Qt 5.5.0.
2015-08-25 09:46:03 +02:00
Christian Kamm
035e57cf37 AddFolder: Improve remote path selection error handling #3573 2015-08-24 15:08:35 +02:00
Christian Kamm
92f6134ed3 AccountSettings: Adjust quota info design #3644 #3651 2015-08-24 15:06:11 +02:00
Christian Kamm
a0f9b834b6 Adjust buttons on remove folder/account questions #3654 2015-08-24 15:05:40 +02:00
Christian Kamm
6c5328e4ca Utility: Fix constants for 32-bit arch #3670 2015-08-24 13:56:10 +02:00
Christian Kamm
6cf1caeaf3 Theme: Fix wizardSelectiveSyncDefaultNothing #3671 2015-08-24 12:55:44 +02:00
Christian Kamm
3414b58b99 Systray: Workaround for issue with Qt 5.5.0 #3656 2015-08-21 09:45:02 +02:00
Christian Kamm
7aae5e494a AccountSettings: Fix margins on 'Add folder' button #3650 2015-08-20 13:25:19 +02:00
Christian Kamm
0711a2fc12 SettingsDialog: Fix typo in showFirstPage() 2015-08-20 11:57:44 +02:00
Olivier Goffart
92fc902e0c Account Settings: Hide the add folder button when Theme::singleSyncFolder is set 2015-08-19 18:00:11 +02:00
Christian Kamm
791c550a8e FolderStatusDelegate: Add margin to button #3650 2015-08-19 16:58:27 +02:00
Christian Kamm
344d3565f8 Another account deletion wording update #3649 2015-08-19 15:55:29 +02:00
Christian Kamm
73785d0473 SettingsDialog: Activate the first page on startup 2015-08-19 15:51:48 +02:00
Christian Kamm
b155503fa2 FolderStatusModel: Undo accidental debug change 2015-08-19 15:05:30 +02:00
Christian Kamm
2c011dcae6 FolderStatusModel: Fix typo in error message #3524 2015-08-19 15:04:39 +02:00
Christian Kamm
0e0af1da07 FolderStatusModel: No italic text #3524 2015-08-19 15:02:08 +02:00
Christian Kamm
a7d0f0cdd4 Adjust wording of delete account/folder message #3643 2015-08-19 10:59:34 +02:00
Olivier Goffart
38aa4cf304 Folder Model: add an error item when one cannot fetch the list of folders #3524 2015-08-18 13:21:02 +02:00
Olivier Goffart
0638f99b79 Selective Sync dialog: add the quota-used-bytes to the request
Mentioned in https://github.com/owncloud/client/issues/3524#issuecomment-132144532
2015-08-18 12:26:52 +02:00
Olivier Goffart
f0e6864639 FolderModel: Refresh the tree when new folder are added or removed. #3570 2015-08-17 12:50:22 +02:00
Markus Goetz
6c57d71ca4 Settings dialog: Move more common hostname prefixes in toolbar
For #3577
2015-08-17 12:39:32 +02:00
Olivier Goffart
64bd6b204b Folder Wizard: always make an alias that does not conflict with anything 2015-08-17 11:54:01 +02:00
Olivier Goffart
7ca8040788 Show a shortened version of the path in the account settings and activity
Issue #3576, #3567
2015-08-17 11:43:30 +02:00
Olivier Goffart
0da6184f84 Setup Wizard: adjust the layout #3588 2015-08-14 14:01:01 +02:00
Olivier Goffart
ab52c8bcd7 Merge #3611 2015-08-14 13:32:48 +02:00
Markus Goetz
1ad80878b2 Account: Additional on top fix for #3617 2015-08-14 12:37:19 +02:00
Olivier Goffart
81c19232a5 Account Settings: Remove the ability to select 2015-08-14 12:12:16 +02:00
Olivier Goffart
dcfa6b97e3 Account Settings: add more margin on the overall text
Attempt to fix https://github.com/owncloud/client/issues/3584#issuecomment-131009787
2015-08-14 12:01:28 +02:00
Olivier Goffart
593016718d Account Settings: Align the progressbar with the icon #3567 2015-08-14 11:52:09 +02:00
Olivier Goffart
2dbe822972 Account Settings: remove the storage use label #3567 2015-08-14 11:52:09 +02:00
Markus Goetz
38b8508f15 Account: Save accepted SSL certs immediatly #3617 2015-08-14 11:31:01 +02:00
Klaas Freitag
76ce5adbf0 Abort the request and reset the QNAM if user does not ACK a new cert.
This is supposed to fix bug #3283

(cherry picked from commit 75b38d1a2f)
2015-08-14 10:31:20 +02:00
Markus Goetz
2a14c121db Account settings: Make version selectable/copyable #3600 2015-08-13 17:27:18 +02:00
Markus Goetz
01855302a0 Shibboleth: Use sslErrors() handler of rest of client #3593 2015-08-13 17:09:39 +02:00
Olivier Goffart
5c9b865cec Setup wizard: remove some spacing in the result page #3588 2015-08-13 15:22:43 +02:00
Olivier Goffart
5f832b5b39 Account Settings: Reorder the options in the context menu #3584 2015-08-13 15:07:51 +02:00
Olivier Goffart
b75b5a5a0c Account Settings: remove the down arrow in the 'more' button #3584
It's ugly on mac
2015-08-13 14:11:13 +02:00
Olivier Goffart
f32c8d0570 Account settings: add a button to show the context menu #3584 2015-08-13 12:34:22 +02:00
Olivier Goffart
b49e9e8f30 Account Settings: rename and re-order the options in the context menu 2015-08-13 12:32:59 +02:00
Olivier Goffart
bf20a0d2f8 Account Settings: remove unused signals 2015-08-13 11:55:51 +02:00
Olivier Goffart
6fcb48a0c7 Account settings: Double click no longer open in the file browser #3585
Add a separate option in the context menu for it
2015-08-13 11:53:00 +02:00
Olivier Goffart
5685aa7ff0 Setup Wizard: add more space in the result page: #3588 2015-08-13 11:27:41 +02:00
Olivier Goffart
3238d61ef6 SocketApi: fix small leak (found with valgrind) #3369 2015-08-13 10:42:54 +02:00
Olivier Goffart
299faae830 Fix compiler warning 2015-08-13 10:26:35 +02:00
Olivier Goffart
6b003f96f5 Theme: add a method to hide the 'add account' button #3517 2015-08-13 09:39:44 +02:00
Kirill Bychkov
1fe82ac70c define OpenBSD 2015-08-13 09:54:53 +03:00
Kirill Bychkov
7786f1f9a9 Fix linking with libinotify on OpenBSD. 2015-08-13 09:44:55 +03:00
Markus Goetz
ace847d177 ShareDialog: Improve UX #3526
Don't spin progress while user needs to set a password.
Have password input as Call To Action.
2015-08-12 18:22:51 +02:00
Markus Goetz
dc44ebf41b UI: Fix up 6152ce4187 #3595 2015-08-12 09:08:30 +02:00
Daniel Molkentin
aa6c09d942 Rename "Sync all files with" to "Sync selected files with"
as per discussion with Jan
2015-08-12 08:31:54 +02:00
Daniel Molkentin
a9acb185a0 SettingsDialog: Fixup default action setting
This broke silently when switching from pure actions to widgets
2015-08-11 21:45:27 +02:00
Daniel Molkentin
3267c15aff SettingsDialog: Use separator instead of custom spacer
... and make sure to hide if when there are no accounts
2015-08-11 21:44:35 +02:00
Daniel Molkentin
f25df3311c Remove debug output 2015-08-11 21:42:30 +02:00
Daniel Molkentin
9c63740d26 Fix compilation on Windows 2015-08-11 18:15:46 +02:00
Daniel Molkentin
379beb268f More improvements for high contrast themes
- Invert icon color depending on the darkness of the theme
- Ensure icons and colors are changed when theme or colors
  get changed during application run

Final patch for #3582
2015-08-11 17:56:11 +02:00
Christian Kamm
5bd631e8e7 Rename jobCompleted -> itemCompleted.
Because that's what's going on. A job can 'complete an item' or 'finish'.
Note that several jobs could complete the same item: a new directory
will complete on the PropagateRemoteMkdir and the PropagateDirectory
jobs.
2015-08-11 15:19:09 +02:00
Christian Kamm
fe42c1a818 Activity: Skip PropagateDirectory jobs #3580
Previously, PropagateDirectory jobs didn't emit the completed() signal.
Now that they do, we need to make sure to not add extra lines to the
protocol widget for them.

To accomplish that, the jobCompleted() signal now also contains the job
that completed the item.
2015-08-11 15:19:09 +02:00
hefee
a87602af3f use SHAREDIR for i18n
SHAREDIR is used in src/gui/application.cpp and should also use that in
CMakeLists.txt.
2015-08-11 15:14:59 +02:00
Markus Goetz
6152ce4187 UI: Avoid showing folder alias #783 #3576 2015-08-11 15:12:43 +02:00
Markus Goetz
3b59960fb3 Fix Qt4 build (SSL sessionTicket()) 2015-08-11 13:53:21 +02:00
Markus Goetz
bd71fdc388 SslButton: Fix harder #3534 #3536 2015-08-11 12:18:25 +02:00
Markus Goetz
6110a99afc SyncEngine: Fix previous cherry-pick 2015-08-11 11:35:12 +02:00
Christian Kamm
0dd20ccf3b Remove deleted accounts from tool bar #3583 2015-08-11 11:33:04 +02:00
Daniel Molkentin
9698324c4e More color scheme adjustments 2015-08-11 11:32:00 +02:00
Olivier Goffart
9dcce01e54 csync: ignore files/folder for which stat fails
instead of pretending it suicceed and not recursing in it.

This fixes a bug in which a folder with a too long name would be properly
created, then removed on the server in the next sync.

(cherry picked from commit 4bbf7669091cde7ec726b1708d8c54427b68f016)

Conflicts:
	csync/src/csync.h
	csync/src/csync_exclude.h
	csync/src/csync_update.c
2015-08-11 11:17:20 +02:00
Christian Kamm
e0cf5c3920 Progress: Robust against bad 'completed' values #3579
Increasing the 'total' for bogus values of 'completed' is a bad idea.
2015-08-11 10:44:27 +02:00
Christian Kamm
3ab49143e1 Progress: Guard against decreasing progress #3579
Ensure that progress going backwards won't lead to outrageous
transfer speeds.
2015-08-11 10:38:04 +02:00
Daniel Molkentin
fad9a3056c Settings dialog: Try to improve adherance to high contrast schemes
Adresses #3582
2015-08-11 07:42:52 +02:00
Christian Kamm
0176ffd25d FolderWatcher win: Skip unneeded notifications #3353 2015-08-10 14:59:05 +02:00
Daniel Molkentin
385c3882a7 Fix regression in PassiveUpdateNotifier
When overriding backgroundCheckForUpdates(), also call the original
implementation.
2015-08-10 14:26:57 +02:00
Christian Kamm
85f5424a13 SocketAPI: Show excluded hidden files as ignored #2086 2015-08-10 13:41:19 +02:00
Christian Kamm
3c82f66219 Windows: Limit tray tooltip length #3412 2015-08-10 13:23:31 +02:00
Lukas Reschke
9bbf9b86b7 Use HTTPS links
No need to have an additional redirect
2015-08-10 12:30:33 +02:00
Lukas Reschke
f74053f8ed Use HTTPS links
No need to have an additional redirect
2015-08-10 12:15:45 +02:00
Christian Kamm
a6d70c9c63 IgnoreEditor: Rename confusing checkbox
The label was the negation of its name.
2015-08-10 11:15:39 +02:00
Christian Kamm
c2c924931b Ignore hidden: Default to enabled #2086
It was 'false' for migrated folders and folders created by the OC
setup wizard.
2015-08-10 11:15:39 +02:00
Daniel Molkentin
6b4a9d9cd9 Settings dialog: improve layout a bit 2015-08-10 10:51:05 +02:00
Jocelyn Turcotte
55e55b0806 Windows: Fix the progress bar with high contrast themes #2654
Setting the palette seems to interfere with Qt's Windows Vista theme
and this isn't set on the QStyleOptionProgressBarV2 by QProgressBar.
2015-08-10 09:55:31 +02:00
Olivier Goffart
b967359a74 Account setting: properly disable the 'add account' button #3571
When upgrading from 1.8 and syncing the whole account, then the
remote folder is empty
2015-08-07 14:32:51 +02:00
Olivier Goffart
ae7b2509a5 Selective sync: When applying selective sync, put new folder that were just checked in the white list
Issue #3560

Otherwise the just checked folder will be chacked again for their size.
We do not want that.
2015-08-07 13:37:52 +02:00
Olivier Goffart
8b52a121bb AccountSettings: Show the wizard to add an account when the last account was deleted #3564 2015-08-07 13:15:02 +02:00
Daniel Molkentin
b906c70a86 ownSql: Do not use sqlite3 method not present in older version
Was only used for debug output anyway and broke RHEL/CentOS6
2015-08-07 11:14:14 +02:00
Daniel Molkentin
ecf545a0b9 Updater: update Linux updater code to work with changes in master
master moved much of the responsibility of the updating process
to the updater class.

This also fixes a build failure
2015-08-06 19:34:23 +02:00
Markus Goetz
7c52e925b9 Propagator: Use fetchAndAddAcquire to get parallelism 2015-08-06 18:13:48 +02:00
Markus Goetz
b5edc635a1 Windows: Don't use UTF-8 arrows #3095 2015-08-06 18:08:05 +02:00
Daniel Molkentin
6a20ea5e73 Merge pull request #3472 from owncloud/linux_restart_on_new_version
On Linux restart if new version is found on disk
2015-08-06 17:47:10 +02:00
Markus Goetz
2d49f4c844 AbstractNetworkJob: Make sure to print URL on timeout 2015-08-06 17:33:33 +02:00
Markus Goetz
049d49eba8 OwnSql: Show potential error on close #3421 2015-08-06 15:47:38 +02:00
Markus Goetz
593aa003d6 Propagator: Re-order statement of previous commit
The user should be allowed to override.
For issue #3382
Will also help for #3095
2015-08-06 15:28:50 +02:00
Olivier Goffart
29d7903c22 Propagator: do not use parallelism when we have bandwidth limit
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)
2015-08-06 15:27:18 +02:00
Markus Goetz
1feb74981e Progress: Show real speed and all filenames #3403 #3095 2015-08-06 15:25:16 +02:00
Olivier Goffart
2cf29352b8 SyncJournalDB: clear all the prepared query when closing the database
Not closing it may keep the file open (issue #3421)
2015-08-06 14:28:02 +02:00
Olivier Goffart
7202bbcf5d Fix Qt4 build 2015-08-06 13:58:03 +02:00
Markus Goetz
aee20e0ed3 1.8 Migration: Fix password overwrite #3539 2015-08-06 12:49:18 +02:00
Daniel Molkentin
72b2c52e15 Merge branch 'master' into linux_restart_on_new_version
Conflicts:
	src/gui/application.cpp
	src/gui/owncloudsetupwizard.cpp
2015-08-06 11:11:52 +02:00
Markus Goetz
7985c0d7f1 Merge pull request #3531 from jturcotte/master
Remove need for UPDATE_VIEW to refetch the status #2340
2015-08-06 11:03:28 +02:00
Jocelyn Turcotte
a9858d4ed2 Revert "Use dynamic library loading for detecting the correct path for links" 2015-08-06 10:41:33 +02:00
Olivier Goffart
8ec4d0f19b Utility: use SI units for the sizes in bytes 2015-08-05 16:22:09 +02:00
Olivier Goffart
dc299b0bf9 Account settings: Fix a label
The feature is for all folder, not only shared folder
2015-08-05 16:12:58 +02:00
Olivier Goffart
952c249039 Selective sync: on the first sync, do not ask confirmation for every folders
Since we already confirmed a previous selective sync dialog
2015-08-05 16:11:59 +02:00
Olivier Goffart
0e3262b181 Theme: add a settings for configuring the default of newBigFolderSizeLimit 2015-08-05 15:33:51 +02:00
Olivier Goffart
ba896eabfb FolderStatusModel: do not expand the unconfimred folder themselfs 2015-08-05 15:33:51 +02:00
Olivier Goffart
646890abb3 SettingsDialog: use the same short display name on Win/Linux than on Mac
Issue #3516
2015-08-05 15:33:51 +02:00
Markus Goetz
9a9cefbcc5 SslButton: Improve reliability and usefulness #3534 #3536 2015-08-05 13:04:30 +02:00
Olivier Goffart
38da1b7de1 AccountSettings: automatically refresh and expands the undecided folders #3541 2015-08-05 12:51:49 +02:00
Olivier Goffart
b470d0f7b8 Folderman: make the backup number starts with 2: #3512 2015-08-05 10:46:33 +02:00
Markus Goetz
f6cd2c79d5 CSync: Proper error for invalid filenames #2777 #3128 #2240 2015-08-04 22:13:38 +02:00
Phil Davis
8216727553 Notify of big folders that are greater than or equal to the limit
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
2015-08-04 19:28:23 +05:45
Markus Goetz
514372db6b Exclude list: Add entries from other sync programs #2814 2015-08-04 09:40:53 +02:00
Aputsiaĸ Niels Janussen
cd19ee5020 Minor typo: Ingored -> Ignored
Issue raised by user 'kant' in Transifex on the 1st of August.
2015-08-03 17:35:58 +02:00
Markus Goetz
7da4a081d3 Startup: Don't notify other instance when session restored #3070 2015-08-03 17:32:41 +02:00
Jocelyn Turcotte
48624fe033 SocketApi: Force fowarding an OK STATUS for all parent directories
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.
2015-07-31 21:59:58 +02:00
Jocelyn Turcotte
78b63c34cb Do not add all remote directories to the SyncItemVector
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.
2015-07-31 21:59:58 +02:00
Jocelyn Turcotte
26d137cac6 SocketApi: Remove an unneeded emit syncItemDiscovered
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.
2015-07-31 21:59:58 +02:00
Markus Goetz
d51bd94447 FolderMan: Fix up previous commit #3528 2015-07-31 18:31:54 +02:00
Markus Goetz
a501bf5b83 FolderMan: Use sync() on config after migration #3528 2015-07-31 17:10:12 +02:00
Markus Goetz
0a93dc5e63 OS X Settings Dialog: Two-lined account name #3516 2015-07-31 14:56:14 +02:00
Markus Goetz
eafc45d83c CheckServerJob: Only show SSL ticket warning when actually suceeded 2015-07-30 18:16:37 +02:00
Vincent Petry
79d895ed9e cmd: properly initialize random seed to avoid transferid collisions #3522 2015-07-30 18:08:28 +02:00
Markus Goetz
fd5330b469 Propagator: Log chunk transferid 2015-07-30 17:47:06 +02:00
Klaas Freitag
817a165da7 utility: Put the config include to top of includes. 2015-07-30 16:38:30 +02:00
Klaas Freitag
6992631c4c cmake: rather use SHAREDIR than DATADIR define.
DATADIR is a reserved structure name in win32, using it like us here
leads to very nifty compile problems. SHAREDIR is clean.
2015-07-30 16:38:30 +02:00
Markus Goetz
7fc7925d17 Propagator: Don't corrupt file with broken webserver #3373 2015-07-30 14:40:24 +02:00
Markus Goetz
f01b7bb5db Propagator: More debug output for downloads/uploads 2015-07-30 14:40:24 +02:00
Markus Goetz
48dac23b0f Folder: Version debug at end
Often users send us parts of logs with this information missing.
2015-07-30 14:40:24 +02:00
Markus Goetz
7f8e9a0e70 Sparkleupdater: Use qDebug not qWarning
Else QT_FATAL_WARNINGS triggers.
2015-07-30 14:40:24 +02:00
Klaas Freitag
527fd1ac47 Capabilities: Add macro to make win compile again. 2015-07-30 11:04:49 +02:00
Olivier Goffart
795922e2a0 Fix compilation with old GCC
that does not understand nullptr

Note that we can't just replace nullptr by 0 in createIndex otherwise
it would be ambiguious.
So leave it commented to show that your intention is to create it with
a null pointer  (which is the default because of the default parameter)
2015-07-30 10:44:07 +02:00
Olivier Goffart
3b261bc612 Wizard: Make the name of the backup folder more user friendly
Issue #3512
2015-07-29 12:23:33 +02:00
Olivier Goffart
07ddf18b3b Account Capabilities: style fixup
- 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.
2015-07-29 12:07:57 +02:00
Jürgen Weigert
0642e63246 Merge pull request #3232 from flocke/master
[Unix] Install architecture-independent files to DATADIR.

DATADIR is already used elsewhere. So this even adds consistency!

Thanks!
2015-07-29 12:00:48 +02:00
Markus Goetz
dccaba98af Merge pull request #3439 from rullzer/use_caps
Use server capabilities for share dialog
2015-07-29 11:50:35 +02:00
Jocelyn Turcotte
73209717ec Update the qtmacgoodies submodule
Include a fix for an assert.
2015-07-28 15:19:09 +02:00
Klaas Freitag
b07ab14c31 Merge pull request #3470 from rullzer/use_ocs_url
If the OCS Share API returns an url use that
2015-07-28 14:26:23 +02:00
Klaas Freitag
c95bbe27e7 Merge pull request #3495 from rullzer/dont_share_root
Don't allow sharing of the root folder
2015-07-28 14:00:38 +02:00
Olivier Goffart
d9c52f6316 owncloudcmd: fix --httpproxy
It was only used for csync, but not for QNAM

Issue #3465
2015-07-28 13:33:58 +02:00
Olivier Goffart
ec86d1a151 Wizards: allow adding a folder in a non-existing directory and create that folder
The owncloud wizard already created the directory, but the recent addition
of FolderMan::checkPathValidityForNewFolder stopped allowing unexisting directories.

So change FolderMan::checkPathValidityForNewFolder to allow non existing directory
and whange the FolderWizard to create the directory if it does not exist.

Issue #3492
2015-07-28 12:14:52 +02:00
Olivier Goffart
22013eb528 ConfigFile: remove some unused functions 2015-07-28 12:05:34 +02:00
Roeland Jago Douma
6c8ff7c61a Added capabilities class 2015-07-28 12:04:24 +02:00
Olivier Goffart
4016e0863f Fix warning 2015-07-28 11:20:22 +02:00
Olivier Goffart
ff6c11f126 Confirm feature: tray noticiation message when a new folder need to be confirmed
Issue #3148
2015-07-27 10:33:05 +02:00
Olivier Goffart
45b598cacb Confirm feature: default to 500MB
Issue #3148
2015-07-27 10:04:53 +02:00
Olivier Goffart
0ccaae9a22 Confirm feature: Confirm for any folder, not only shared ones
issue #3148
2015-07-27 09:54:20 +02:00
Roeland Jago Douma
6f498aea3b Do not open the share dialog if the user tries to share the root folder 2015-07-24 10:10:41 +02:00
Roeland Jago Douma
a2f9ba47fb If the OCS Share API returns an url use that
To avoid us having to construct the URL for public shares just rely on the
server to do it.

This makes it easier to maintain. For example if (in the not do distat future)
the index.php part is removed the server would just server this new url.
2015-07-23 21:10:53 +02:00
Markus Goetz
fea997c84a Bandwidth Limit: Fix new "Automatic Download" setting #1485 2015-07-23 13:46:42 +02:00
Klaas Freitag
316427c801 Merge branch 'regular_update_check'
Conflicts:
	src/gui/application.cpp
	src/gui/application.h
	src/gui/updater/ocupdater.h
2015-07-23 11:34:12 +02:00
Klaas Freitag
c34641f4f7 Updater: Added a class UpdaterSchedule.
It schedules the regular update checks. Keeps Application and
other classes easy.
2015-07-22 13:44:19 +02:00
Klaas Freitag
21f7cea609 ConfigFile: Let updateCheckInterval return int instead of quint64.
QTimer wants that in setInterval()
2015-07-22 13:42:54 +02:00
Markus Goetz
59a7ae56d4 UI: Add more tooltips #3385 2015-07-20 19:06:40 +02:00
Markus Goetz
a58cb049b2 OS X: Fix layout of quota info in SettingsDialog 2015-07-20 18:43:18 +02:00
Markus Goetz
a6f493ff94 OS X Overlay Icons: Use waitForFinished() with timeout 2015-07-20 18:32:02 +02:00
Markus Goetz
afed400ac6 SettingsDialog: Make bigger and more native on OS X
On OS X, the width of the dialog must not change, only its height.
2015-07-20 18:16:33 +02:00
Klaas Freitag
89b8555aa7 PassiveUpdateNotifier: Fix condition on when to show the update. 2015-07-20 15:33:44 +02:00
Klaas Freitag
320cc1c7dd Updater: Avoid to show the update notification to often.
If the update is only available through the system, the notification
is only shown once.
2015-07-20 15:33:17 +02:00
Klaas Freitag
0a08a51a41 Updater: really do not forget to start the updater timer. 2015-07-20 15:32:27 +02:00
Klaas Freitag
b22e284191 Application: Remove unused connection to updater. 2015-07-20 15:32:00 +02:00
Klaas Freitag
adc239c9d0 UpdateCheck: Clean up Application class and move most to updater.
Add the update timer also to the update class and remove all the
proxy slots from the Application class.
2015-07-20 12:17:31 +02:00
Klaas Freitag
681466213f ConfigFile: Return proper type for update check interval. 2015-07-20 12:10:30 +02:00
Klaas Freitag
cb4bfd8060 ConfigFile: Fix spelling. 2015-07-20 12:10:00 +02:00
Olivier Goffart
a9dfcdd463 FolderDefinition: fix uninitialized variable 2015-07-19 11:33:17 +02:00
Christian Kamm
5d9e752c71 HttpCreds: Add keychain failure hint. #3268 2015-07-17 14:39:43 +02:00
Christian Kamm
44870fae9f Proxy auth: Fix cred invalidation on Windows. 2015-07-17 13:00:16 +02:00
Klaas Freitag
92513207eb Application: On Linux, restart the app if a different version is on HD.
Together with the updater timer, check on linux, if the version on the
disk has still the same version string as the one that is running. If
not, restart if nothing is currently syncing.
2015-07-17 12:12:00 +02:00
Klaas Freitag
2cebd8bc2e SetupWizard: remove unused variable defintion. 2015-07-17 12:09:16 +02:00
Christian Kamm
9acc9d2d44 Fix Qt4 build.
QMap::first is new in Qt 5.2
2015-07-17 12:07:48 +02:00
Christian Kamm
2124098f84 System proxy: Ask for credentials if needed.
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)
2015-07-17 11:54:46 +02:00
Olivier Goffart
944564258c Fix the Utility Test
1 should be printed as "1" and not as "1.00"
2015-07-17 10:27:03 +02:00
Olivier Goffart
0a6aa88d72 Merge remote-tracking branch 'origin/hidden_file_handling' 2015-07-17 09:32:29 +02:00
Roeland Douma
bc542a4b80 Merge pull request #3426 from rullzer/thumbnail
Sharedialog show thumbnail of file (if available)
2015-07-17 08:58:06 +02:00
Daniel Molkentin
59f93b77c3 Merge pull request #3468 from owncloud/3368
Win32: Do not silent-update if the application is already up-to-date
2015-07-16 23:02:06 +02:00
Roeland Jago Douma
7e79a78901 Use already available password field 2015-07-16 20:55:54 +02:00
Klaas Freitag
2f2ae09190 Utility: Added function versionOfInstalledBinary()
It calls the binary with param --version and returns the first line of
the output. For owncloud, that is the version string.
2015-07-16 18:16:16 +02:00
Olivier Goffart
b59fc39d13 Fix warnings about unused parametters 2015-07-16 18:15:07 +02:00
Klaas Freitag
d284b48db4 Application: Add a new command line switch --version.
It simply prints the version of the client and exists.
2015-07-16 18:12:45 +02:00
Daniel Molkentin
724c0c2953 Win32: Do not silent-update if the application is already up-to-date
Fixes #3368
2015-07-16 17:26:53 +02:00
Olivier Goffart
bdf5029d47 HTTP cred: properly forget the password when signing out #3462
QNAM do not sign out by itself, it keeps the password in cache.

Qt5 has a function to clear the cache. On Qt4 we reset the QNAM
2015-07-16 17:00:14 +02:00
Klaas Freitag
4ad9b7d72d Change default check frequency to every ten hours. 2015-07-16 14:19:02 +02:00
Markus Goetz
3d55191573 OS X: Fix settings dialog after multi-account introduction
For #3459 #3386 #3401
2015-07-16 14:11:06 +02:00
Markus Goetz
55e1f8a060 OS X Overlay Icons: Don't use waitForReadyRead()
Somehow this sometimes glitched for me and hanged.
2015-07-16 14:08:45 +02:00
Christian Kamm
031d35de03 Network: Fix enabling of proxy auth text fields. 2015-07-16 10:27:15 +02:00
Klaas Freitag
a5528b7cd4 AccountSettings: When adding a new folder, set ignore hidden flag.
The value is taken from existing folder definitions, or defaults to true.
2015-07-15 15:54:41 +02:00
Klaas Freitag
cfe5150037 IgnoreListEditor: handle the ignore hidden files checkbox.
Write the setting of the checkbox to all folder definitions.
2015-07-15 15:54:41 +02:00
Klaas Freitag
1aa17cdb69 owncloudcmd: add option to not ignore hidden files. 2015-07-15 15:54:41 +02:00
Klaas Freitag
7195e40ffa FolderMan: Set ignore hidden files in the folder watcher.
The flag is read from the folder configuration and passed on to
the folder watcher so that it ignores events to hidden files
accordingly.
2015-07-15 15:54:41 +02:00
Klaas Freitag
3ba6e20f66 Folder: Getter and Setter for ignore hidden files for folder config.
With these, the ignore hidden files flag can be set and get from the
folder configuration file.
2015-07-15 15:54:41 +02:00
Klaas Freitag
711ae1d347 FolderWatcher: Add flag to ignore hidden files (or not). 2015-07-15 15:54:41 +02:00
Klaas Freitag
a4336092f6 Hidden Files: Add a setting to ignore hidden files or not.
This setting goes to the folder definition. By default, no hidden
files are synced.
2015-07-15 15:54:41 +02:00
Klaas Freitag
3a5f66e976 SyncEngine: Remove bogus logging. 2015-07-15 15:54:41 +02:00
Klaas Freitag
9461e4ccd1 Sync: Only copy the hasIgnoredFlag for the remote side.
Also added some documentation about the handling.
2015-07-15 15:53:58 +02:00
Klaas Freitag
7b8dc9777e Sync: Rename ignored file member to _serverHasIgnoredFiles.
This should make it more obvious that only the server state about
ignored files is stored in the db.
2015-07-15 15:51:15 +02:00
Klaas Freitag
b0aedef4b0 Sync: Store information about ignored files on the server in database.
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).
2015-07-15 15:49:27 +02:00
Klaas Freitag
da87a47eaf discovery: handle dot files on server as hidden. 2015-07-15 15:20:46 +02:00
Klaas Freitag
7aa2b50828 csync_update: Handling hidden files as excluded files, as intended. 2015-07-15 15:20:46 +02:00
Christian Kamm
65a3847a35 Tray menu: Make sign in/out actions more consistent.
In particular:
* It's always possible to sign out, even if there's currently a
  network problem or the service is unavailable.
* You can only sign in when you explicitly signed out before.
2015-07-15 15:07:23 +02:00
Roeland Douma
3344249297 Merge pull request #3425 from rullzer/sharedialog_wait_for_con
Wait until we retrieved shares before showing checkbox
2015-07-15 14:38:38 +02:00
Roeland Jago Douma
b686a3dbdb Sharedialog show thumbnail of file (if available) 2015-07-15 14:33:04 +02:00
Roeland Jago Douma
454e9d9906 Wait until we retrieved shares before showing checkbox
If we have a slow connection we do now want to show the share checkbox until we
have retrieved the shares (so we know the state). Else we might try to enable
sharing on an already shared file.
2015-07-15 14:20:35 +02:00
Christian Kamm
908881cbf7 AccountSettings: Fix label for ServiceUnavailable state. 2015-07-15 14:02:45 +02:00
Christian Kamm
2ac8646320 AccountSettings: Improve error reporting. #3084
Previously the errors were only visible in the tray icon tooltip!
2015-07-15 12:04:44 +02:00
Christian Kamm
7edb57e46c Fix error message for invalid chars in filename #3432 2015-07-15 10:38:33 +02:00
Olivier Goffart
92dc3047d0 Qt4 SelectiveSyncDialog: Give a better size to the column by default
Issue #3239
The feature to dynamically resize the column only came with Qt5,
But give a better default size of the name column so we can read the
contents.
2015-07-14 15:18:55 +02:00
Olivier Goffart
cdb88d621c Qt4 build: Qt::ItemNeverHasChildren was added in Qt 5.1 2015-07-14 15:01:33 +02:00
Olivier Goffart
b485e8f97f AccountSettings: disable the add folder button when syncing the entire owncloud #3438 2015-07-14 11:03:25 +02:00
Olivier Goffart
ab23368764 FolderStatusModel: init all private members 2015-07-14 10:15:19 +02:00
Olivier Goffart
6030b4416d Account Settings: hide the [add folder] button when syncing the entire owncloud #3438 2015-07-13 16:29:01 +02:00
Olivier Goffart
aabad22cef Wizard: show an error if the folder already exists
Issue #3444
2015-07-13 15:37:01 +02:00
Olivier Goffart
247771fbba Wizard: remove the configExists state
The wizard is now only used to create new account, not update existing ones
2015-07-13 15:21:18 +02:00
Olivier Goffart
e5568b5d13 Wizard: remove the check for mutliple folders
It does not make sens now that we have multi account
2015-07-13 14:52:24 +02:00
Olivier Goffart
4dbe0693df FolderMan::checkPathValidityForNewFolder
factorize the function to check the validity of a new folder out of
the folder wizard to the FolderMan.

There is even a test for it now.

That way we can also use it in the normal wizard
2015-07-13 14:35:19 +02:00
Roeland Jago Douma
c052f6d4c9 Use capabilities to not allow removing of expiredate and password
If the server admin has enforced the expiration date and the password our UI
should not give the user the option to remove those.
2015-07-10 15:50:01 +02:00
Roeland Jago Douma
7f893aa676 Fore password request if required by capabilities 2015-07-10 15:26:26 +02:00
Olivier Goffart
45180a024d Rename should_update_etag to should_update_metadata
This should avoid some confusion
2015-07-09 15:05:37 +02:00
Olivier Goffart
992d375e90 owncloudGui: Do not reset folders when login in or out.
This made no sens. Folders are setup when the account is setup.

Also this had the bad side effect to shut the sync engine too early,
leaving the SyncEngine::_syncRunning to true, and leading to ASSERT later

Issue #3427
2015-07-09 13:25:27 +02:00
Olivier Goffart
644486871b owncloudGui: Fix crash when sign in
The sign in action from within that menu might change the account state
and call setupContextMenu. We must not delete the menu from there

Issue #3427
2015-07-09 12:17:27 +02:00
Olivier Goffart
08fcf650eb Fix Qt4 build 2015-07-08 19:48:57 +02:00
Klaas Freitag
e28fab0c61 Folder: let path() always end on "/" rather than on platform spec. delim. 2015-07-08 18:13:41 +02:00
Klaas Freitag
c7ba7c8e9f Fix comment for c_path_to_UNC, plus cleanup of superflous debug. 2015-07-08 18:13:41 +02:00
Klaas Freitag
b8077d2f5b FileSystem: Use long file name handling method from csync.
This helps to only maintain one version of the function.
2015-07-08 18:13:40 +02:00
Klaas Freitag
02a5a8ea3b SyncJournal: Use proper long path handling. 2015-07-08 18:13:40 +02:00
Klaas Freitag
56954c6482 FileSystem: Add missing EXPORT macro. 2015-07-08 18:13:40 +02:00
Klaas Freitag
bb1b1ab7e3 FolderWatcher Win: Use proper lang path handling in folder watcher. 2015-07-08 18:13:40 +02:00
Klaas Freitag
e74801fd3d Win32 long filename format for Qt functions. 2015-07-08 18:13:39 +02:00
Olivier Goffart
68668e25bd FolderStatusModel: uses int64 for the sizes to prevent overflow
Issue #3420

(The change in Utility just make sure never to use the scientific notation,
even if it should never happen)
2015-07-08 14:52:58 +02:00
Olivier Goffart
e2cb6e8086 Utility: remove useless QList
Not used anymore
2015-07-08 11:16:32 +02:00
Olivier Goffart
d1bfc7a636 Settings: fix broken signal/slot connection:
No such slot OCC::GeneralSettings::slotForceRemoteDiscoveryOnFolders()
      (sender name:   'OCC__IgnoreListEditor')
      (receiver name: 'OCC__GeneralSettings')

The slot was in another settings page (because the button 'edit ignored files'
was moved.

Move the actual code to IgnoreListEditor where it logically belong.
Add a comment on the why this code is there.
2015-07-07 20:46:39 +02:00
Olivier Goffart
41111541c5 Confirm feature: Add an option for it 2015-07-07 16:28:48 +02:00
Olivier Goffart
f87d0139e1 AccountState: fix Sing-in of a connected account
Issue #3413

There was two problem:
 - First, when singing in we were setting an account that was connected
   to disconnected  (AccountState::State)
 - Second, while getting the result from the ConnectionValidator, we would
   not set the state to connected if the previous call to ConnectionValidator
   was ConnectionValidator::Connected, regardless of the old state of the account
2015-07-07 14:44:16 +02:00
Olivier Goffart
ceddbe248e FolderStatusDelegate: style the Add Folder button 2015-07-06 16:04:06 +02:00
Olivier Goffart
ef1f2d2b79 FolderStatusDelegate: Fix identation and remove empty functions 2015-07-06 14:44:53 +02:00
Olivier Goffart
9c9ff886c9 Fix qt4 build
Qt5 automatically declares many types as QMetaType.
Qt4 needs them manually declared
2015-07-06 11:04:17 +02:00
Markus Goetz
ed0fb76cd7 Merge pull request #3404 from owncloud/fix-2702
Command Line: clear error hint with wrong command line options
2015-07-04 12:56:06 +02:00
Arthur Schiwon
263fa5882b clear error hint went wrongly use command line options 2015-07-03 16:01:24 +02:00
Christian Kamm
ae69ff032b Folders: Show as disconnected when account is disconnected.
Previously you could get a green folder icon even when the account
was signed out or disconnected for another reason.
2015-07-03 15:03:18 +02:00
Christian Kamm
1a58e6606c TrayMenu: Show submenus per account.
This addresses the inability to sign out from one account while
keeping the other active. See #3399, #3400, #3379
2015-07-03 14:54:20 +02:00
Christian Kamm
e390c22f96 FolderStatusModel: Minor cleanup. 2015-07-03 14:28:04 +02:00
Christian Kamm
7053f76d1e Password dialog: Include account name.
Users with accounts on multiple servers could easily use the same
username on both servers. The password dialog did not tell users
what server the password is for. I added the account name to the
dialog.
2015-07-03 11:39:44 +02:00
Christian Kamm
030d1e636b Progress UI: Properly reset bar after a sync. 2015-07-03 11:26:03 +02:00
Christian Kamm
9ad79cfc52 TrayMenu: Ensure it updates when accounts are added or removed. 2015-07-03 11:13:19 +02:00
Olivier Goffart
76903fb55a Settings: Aling the non-accounts button on the right 2015-07-03 11:04:03 +02:00
Olivier Goffart
0b8163fae1 Folder: the limit for the confirm featur is 100MB, not 100kB 2015-07-03 10:42:20 +02:00
Daniel Molkentin
0fb43dbc3a Merge pull request #3397 from owncloud/uselibcpp
OS X: Force linkage against libc++
2015-07-02 14:26:55 +02:00
Daniel Molkentin
0610d3ea8d Merge pull request #3347 from jturcotte/shell_integration_findersync
shell_i: Add a FinderSync-based implementation #2340
2015-07-02 14:20:24 +02:00
Christian Kamm
ba613a152a FolderStatusModel: Always update on sync state change.
Previously the icon and progress report could easily get
somewhat stale and go out of sync with the tray icon.
2015-07-02 14:17:38 +02:00
Christian Kamm
7e6804fda8 ProgressDispatcher: Minor cleanups. 2015-07-02 14:17:38 +02:00
Daniel Molkentin
a1b6571d53 Revert "Do not use std::unique_ptr"
This reverts commit 2db7ab5c46.
2015-07-02 13:31:42 +02:00
Daniel Molkentin
1d8c919645 Force linkage against libc++ 2015-07-02 13:31:25 +02:00
Olivier Goffart
2db7ab5c46 Do not use std::unique_ptr
The class is not existing on all platform we support
(namely macos 10.7)
2015-07-02 12:55:54 +02:00
Christian Kamm
5ff733cfb7 Fix travis build.
It does not like 'constexpr const' and for object declarations like
this one it should indeed be redundant.
2015-07-02 11:40:16 +02:00
Christian Kamm
bf183f425d SslConfig: Reset when QNAM is reset. #3394
It seems running a CheckServerJob with the existing ssl config after
resetting QNAM will produce a ssl config without a cert chain.
2015-07-02 11:28:40 +02:00
Christian Kamm
1b31f45435 SslButton: Only show menu when info is available.
For unencrypted connections there used to be a small arrow indicating
that more information was available, but clicking the button had no
effect. That indicator is now gone because we unset the SslButton's
menu for these cases.
2015-07-02 10:49:18 +02:00
Christian Kamm
4420d52919 QuotaInfo: Ensure label fits into progress bar. #3393 2015-07-02 10:28:33 +02:00
Christian Kamm
2d08e02dda Propagation: Make 503 a fatal error.
Running further propagation jobs when the server is likely to be
503 for a time does not seem very useful.
2015-07-01 14:53:07 +02:00
Christian Kamm
8aeb3cc8d2 Improve account connectivity tooltips. #3200
* Show connection errors for all failing accounts in the tooltip.
* Don't hide the 'service unavailable' state. We don't want intrusive
  pop ups, but we don't want to pretend we're syncing when we aren't.
* Show sync-running icon also for SyncPrepare state. In my tests I
  very rarely saw the sync-running icon before.
2015-07-01 14:53:07 +02:00
Christian Kamm
2fa00168cf Sync scheduling: fix per-account scheduling. #3379
application.cpp still had a global folder syncing on/off switch
when an account connected or disconnected. That couldn't work with
multiaccount.

Instead FolderMan listens to accountStateChanged messages and
schedules or de-schedules the folders for accounts that change state.
2015-07-01 14:53:07 +02:00
Olivier Goffart
575ca50aac csync: Do not ignore hard links anymore
There is no reason to ignore them. Downloading a file that is hardlinked
will break the link.

Will solve syncing NTFS directories #3241
2015-07-01 13:05:08 +02:00
Olivier Goffart
4a541a9ab4 Merge remote-tracking branch 'origin/maser' 2015-06-30 13:52:38 +02:00
Olivier Goffart
ec5894ef7a Fix Qt4 build 2015-06-30 11:29:59 +02:00
Daniel Molkentin
66e8aaeabc Use doxygen style everywhere 2015-06-29 18:56:09 +02:00
Daniel Molkentin
eff4daa00b Merge remote-tracking branch 'origin/master' into doxygenify
Conflicts:
	src/gui/quotainfo.h
2015-06-29 18:45:55 +02:00
Daniel Molkentin
0735aa1fbd Structure developer documentation
- rename target "doc-dev"
- group into modules
- move to doc/dev
2015-06-29 18:43:21 +02:00
Olivier Goffart
076f8ea105 Merge pull request #3097 from owncloud/translatable-remaining-time
make the remaining time string translatable and support plural forms
2015-06-29 18:30:44 +02:00
Markus Goetz
ef1e6add4f Settings: Auto download bandwidth limit #1485 2015-06-29 17:43:25 +02:00
Olivier Goffart
ec3fc50e0e FolderMan: store folders in a QMap instead of a QHash so they are kept in order
Issue #1529
2015-06-29 15:49:47 +02:00
Olivier Goffart
7a324ff25b Utility: improve the function to conver a duration to string
- 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
2015-06-29 14:59:28 +02:00
Olivier Goffart
23ccaa2821 QuotaInfo: add a comment about long running job
To document the change made two commits ago
2015-06-29 10:57:32 +02:00
Olivier Goffart
51c10de672 QuotaInfo: make sure that we always check the quota every 30 seconds 2015-06-26 18:04:27 +02:00
Olivier Goffart
236951d9b3 QuotaInfo: allow only one job at the same time 2015-06-26 16:58:34 +02:00
Olivier Goffart
e7d7646151 QuotaInfo: only request the quota when the UI is visible 2015-06-26 15:43:19 +02:00
Olivier Goffart
7757886ebc SystemTray menu: remove the quota information
It makes no sens anymore with multi account and users will see it
from the dialog anyway.
2015-06-26 13:32:02 +02:00
Olivier Goffart
61a1a0bb2d PropfindJob: fix a debug output message
Prpfind job can be used for more than getting the quota
2015-06-26 13:32:02 +02:00
Christian Kamm
77941b5ba7 IgnoreEditor: Make UI more explicit. #3172
People were mistaking the checkbox for something that enables
and disables specific ignore patterns. Now it's much more
explicit.
2015-06-26 10:46:13 +02:00
Christian Kamm
10aaf18129 FolderMan: Make folderSyncStateChange() signal reliable. #3354 2015-06-26 10:09:03 +02:00
Olivier Goffart
db87d2a18e QuotaJob: remove and use a PropfindJob instead
This remove code duplication because the QuotaJob was just a duplication
of the propfind jobs with the properties hardcoded.
2015-06-25 14:39:48 +02:00
Olivier Goffart
29fecb029e Merge remote-tracking branch 'origin/1.8'
Conflicts:
	VERSION.cmake
        src/gui/accountsettings.cpp
	src/gui/accountsettings.h
2015-06-25 12:30:52 +02:00
Olivier Goffart
494f08de8c Theme: add a non-inline destructor
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
2015-06-24 10:14:55 +02:00
Olivier Goffart
c56cb2235c Missing EXPORT macro 2015-06-23 00:53:32 +02:00
Jocelyn Turcotte
9797782682 shell_i: Build the extension with the '-' identity by default
This allows developers to build and run the extension by default.
Official packages bundles will be re-signed after the build, we

The SocketApi prefix can be set at configure time through cmake and
should match the key that will be used to sign the whole .app bundle
(including the embedded FindexSync .appex bundle).
2015-06-22 13:55:19 +02:00
Christian Kamm
deb5e68e15 Ignores: Force a remote discovery after ignore list change #3172
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.
2015-06-19 14:58:47 +02:00
Jocelyn Turcotte
9a9897ea1e Shibboleth: Let the webview use its own QNAM #3359
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.
2015-06-19 12:33:11 +02:00
Olivier Goffart
bb85db6cc5 Fix windows build 2015-06-18 10:24:40 +02:00
Olivier Goffart
dd5ddf2166 AbstractNetworkJob: move to its own file 2015-06-17 17:29:11 +02:00
Jocelyn Turcotte
85938ab1f1 shell_i: Remove the ICON_PATH socket API message #2340
It was only used on OS X and couldn't be used by the FinderSync
extension since that one runs in a sandbox. So use the same system
to load images in the legacy extension by shipping them in the
extension bundle instead of the owncloud.app bundle.

This is also given that the legacy extension needs padded icons
while the FinderSync one needs unpadded icons.
2015-06-17 17:15:50 +02:00
Klaas Freitag
79cc902673 FolderMan: Save migratated folder definitions to Configfile. 2015-06-17 14:54:51 +02:00
Klaas Freitag
214bc6b29b Folder: Simplify Folder constructor: No need for AccountState.
Do not pass AccountState in constructor of Folder, set with a
new method called setAccountState after creation. Thus the
parameter does not need to be passed through all over.
2015-06-17 14:54:51 +02:00
Christian Kamm
84bae92264 AccountSettings: Fix initial visibility of sel sync panel #3355 2015-06-17 14:43:38 +02:00
Christian Kamm
191d66fc6f Propagator: Add entry with dummy etag on local mkdir. #2761 2015-06-17 14:38:51 +02:00
Jocelyn Turcotte
c98bcc8e9e OS X: Fix a few warnings 2015-06-17 14:32:34 +02:00
Jocelyn Turcotte
a4f519eaeb Reduce the amount of rebuild needed after a git commit
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.
2015-06-17 14:32:34 +02:00
Olivier Goffart
c11358219a FolderStatusModel: fix a coverity warning 2015-06-17 12:46:49 +02:00
Christian Kamm
28d6d0dc1e Download: Gracefully skip files with 404. #2227 2015-06-17 12:24:21 +02:00
Jocelyn Turcotte
977b1464b5 shell_i: Don't load the old extension in >= 10.10 #2340 2015-06-16 15:30:43 +02:00
Olivier Goffart
d902a37dfd Fix Qt4 compilation
This header is not included in Qt4's QAbstractItemModel header
2015-06-16 12:14:04 +02:00
Olivier Goffart
0cfc518c33 Fix coverity build which does not support nsdmi 2015-06-16 09:30:29 +02:00
Olivier Goffart
f8cbed34c2 Should fix coverity build
Issue #3346
2015-06-15 17:59:08 +02:00
Olivier Goffart
2e177590a6 libsync: Remove some Theme dependency
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
2015-06-15 17:39:28 +02:00
Olivier Goffart
7f0735a955 Account: don't use the Theme from the account
The Theme will be moved to GUI
The server URL is anyway overriden by the wizard or the accountmanager
2015-06-15 17:39:28 +02:00
Olivier Goffart
ce0a0e3f0d Credential: move the implementation to the gui 2015-06-15 17:39:28 +02:00
Olivier Goffart
6e337ad242 Move Account::settings to AccountState::settings
It is only used by the GUI. Also return a unique_ptr to make the ownership clearer
2015-06-15 17:39:28 +02:00
Jocelyn Turcotte
bfcfdeec64 shell_i: Use an NSConnection instead of a local socket #2340
This prepares the switch to the official FinderSync API on Yosemite
which requires the extension to run in a sandbox. This complicates
the usage of a local socket to communicate with a non-sandboxed GUI
client. An NSConnection is easier to use in this case, which we can
use as long as the server name (i.e. Mach port registered name) is
prefixed with the code signing Team Identifier.

A placeholder server implementation is also added to the client's
SocketApi which basically reproduces the interface of a QLocalSocket.
Most of the references to individual sockets we're only using
QIODevice methods so the type was simply reduced. A typedef to
replace the QLocalServer was the only other part needed.
2015-06-15 15:28:17 +02:00
Olivier Goffart
e321280eae AccountManager: remove export macro 2015-06-15 14:53:36 +02:00
Olivier Goffart
a3c543a627 Move FolderStatusDelegate to its own file 2015-06-15 14:16:21 +02:00
Klaas Freitag
fa0faee8ba Frequent update check: read check frequency from config file. 2015-06-15 12:24:18 +02:00
Olivier Goffart
bea8896012 Merge remote-tracking branch 'origin/master' into new-ui 2015-06-14 10:39:30 +02:00
Olivier Goffart
1dabdc7df1 discoveryphase: initialize DiscoveryMainThread::_currentGetSizeResult 2015-06-12 14:43:18 +02:00
Olivier Goffart
11c8415cd6 Coverity do not support non-static data initializer
Fixes #3337
2015-06-12 13:57:17 +02:00
Olivier Goffart
81c10da8dc Accountsettings: Show a notification when there are new unconfirmed folders 2015-06-12 12:19:24 +02:00
Olivier Goffart
2296f6a4a5 Fix Qt4 build
QSharedPointer::create with arguments is new in Qt5
2015-06-12 08:13:08 +02:00
Olivier Goffart
53f2468430 Confirm: Set the limit to 100MB
TODO: make this configurable
2015-06-11 15:54:39 +02:00
Olivier Goffart
cc3543dbd2 Confirm feature: The UI part in the selective sync view
Folder that are over the threshold will appear in red in the
selective sync view and will be deselected by default
2015-06-11 15:46:01 +02:00
Olivier Goffart
05ed126bfd Account config: add the size in the selective sync part 2015-06-11 14:13:09 +02:00
Olivier Goffart
5ab20e64bf AccountSettings: fix selective sync checking
We need to set the root item to partially checked in case there
is some folders in the blacklist

The root item do not have checkmark so it is good
2015-06-10 17:00:08 +02:00
Olivier Goffart
e9e11d251f Fix compilation after merge of the confirm and the new-ui branch 2015-06-10 16:22:14 +02:00
Olivier Goffart
139b28b471 Merge branch 'master' into new-ui
Conflicts:
	src/gui/folder.cpp
        src/gui/folder.h
	src/gui/folderman.cpp
2015-06-10 15:57:55 +02:00
Olivier Goffart
16786eed54 Merge pull request #3281 from owncloud/confirm
Confirm feature (sync engine part only)
2015-06-10 13:39:52 +02:00
Olivier Goffart
e135d4cccf Merge remote-tracking branch 'origin/1.8' 2015-06-10 13:42:02 +02:00
Klaas Freitag
c8cb604c18 Updater: Do a tray notification if a new update is available. 2015-06-09 08:35:15 +02:00
Klaas Freitag
5b65bbf8e5 App: Do a regular check for updates, currently hardcoded every two hours. 2015-06-09 08:35:15 +02:00
Olivier Goffart
67f7892958 SocketAPI: Do not leak open DB or query
We could leak it in case of errors. Or when the folder is removed.
Make use of QSharedPointer to avoid leaks
2015-06-08 15:49:37 +02:00
Olivier Goffart
6df7551bdd DiscoveryPhase: Fix the unlikely case the server resturns utf-8 in permissions
UTF-8 size might be bigger than the size of the QString
In that case we would end up with a non-nill terminated permissions.
2015-06-08 15:40:06 +02:00
Olivier Goffart
1b9d82679c OwnSQL: fix initialisation of variables 2015-06-08 15:30:39 +02:00
Olivier Goffart
2c6c21d753 AccountState: do not change the state when we stay connected
This would cause a full sync every 30 seconds.
2015-06-08 12:14:37 +02:00
Volkan Gezer
03eb11b927 from translators on transifex 2015-06-07 14:19:59 +02:00
Klaas Freitag
fc2ceb88fb Rename thread to SyncEngine Thread to avoid confusion about Neon. 2015-06-06 10:49:47 +02:00
Christian Kamm
ee08b3759d SyncScheduling: Avoid new resyncs on local mkdir.
(cherry picked from commit bacf6166c1)
2015-06-05 10:27:28 +02:00
Christian Kamm
bacf6166c1 SyncScheduling: Avoid new resyncs on local mkdir. 2015-06-04 15:02:24 +02:00
Christian Kamm
2ed329e025 Improve reporting of server error messages. #3220
In particular the 'unsupported client version' error message
is now visible to the user when trying to connect to a
server that no longer supports the current client version.
2015-06-04 10:07:24 +02:00
Christian Kamm
4c10f1e40c Wizard: Show server error message if possible. #3220 2015-06-03 16:33:09 +02:00
Olivier Goffart
02ffbf8989 confirm feature: fix typos spotted by ckamm 2015-06-03 15:20:42 +02:00
Christian Kamm
89376e14d6 Nicer fix for the security issue #3283. 2015-06-03 11:37:26 +02:00
Christian Kamm
e32bd5a59f Merge remote-tracking branch 'origin/1.8' 2015-06-03 11:36:52 +02:00
Olivier Goffart
12f760535d Fix folder concatenation with Qt4
QUrl in Qt4 do not simplify double slashes like Qt5 does, so we have
to take in account different slashes possibilities
2015-06-02 20:47:06 +02:00
Olivier Goffart
e1f94cea4f FolderStatusModel: handle network error in the LSCol 2015-06-02 20:47:06 +02:00
Olivier Goffart
fc23e810fd folderstatusmodel: clean includes 2015-06-02 20:01:13 +02:00
Olivier Goffart
e587c8e2dc multi-account: compile with Qt4 2015-06-02 19:57:41 +02:00
Olivier Goffart
984434c728 AccountSettings: move the progress handling in FolderStatusModel
This is required to compile with Qt4 because signals were protected.
And the logic anyway belongs to the model
2015-06-02 19:45:23 +02:00
Klaas Freitag
75b38d1a2f Abort the request and reset the QNAM if user does not ACK a new cert.
This is supposed to fix bug #3283
2015-06-02 12:21:49 +02:00
Christian Kamm
2435ba7e7d Windows: Fix unit test build. 2015-05-27 14:59:28 +02:00
Olivier Goffart
28a66cb393 SettingsDialogMac: adapt to multi-account 2015-05-26 17:37:15 +02:00
Olivier Goffart
507206367f Merge branch 'master' into new-ui 2015-05-26 14:56:08 +02:00
Olivier Goffart
9e17ddffae Confirm feature: document the white/black/unconfirmed lists 2015-05-26 14:41:29 +02:00
Olivier Goffart
a621223cc8 SyncEngine: add an api to set the maximum size of new shared folder that do not require confirmation 2015-05-26 14:41:01 +02:00
Olivier Goffart
7bb2834d8b Confirm feature (The sync engine part) 2015-05-26 12:34:07 +02:00
Olivier Goffart
10d9e53159 Confirm feature: Use selective sync in the database 2015-05-26 12:34:07 +02:00
Olivier Goffart
2c67692958 JournalDb: add a table in the db for the selective sync 2015-05-26 12:33:54 +02:00
Olivier Goffart
5cb10bf6a1 PropfindJob: fix parsing of properties that have a sub element
The default argument of readElementText is ErrorOnUnexpectedElement which
abort the parsing of remaining elements
2015-05-26 12:33:54 +02:00
Olivier Goffart
54a42e401b More compilation fixes after the merge 2015-05-26 12:33:19 +02:00
Olivier Goffart
6b27d2e703 Merge remote-tracking branch 'origin/1.8' 2015-05-26 12:28:31 +02:00
Klaas Freitag
6c46713701 include qtconcurrentrun header rather than QtConcurrent for Qt4 2015-05-22 14:46:29 +02:00
Olivier Goffart
3754e6c781 Disable the curruption workaround on mac and windows
The binaries we ship have a patched Qt
2015-05-22 14:19:44 +02:00
Olivier Goffart
6b9e123816 Merge remote-tracking branch 'origin/checksum_1.8' into 1.8 2015-05-22 10:32:37 +02:00
Olivier Goffart
fb2295fcec Merge branch 'recall' into 1.8 2015-05-22 10:32:26 +02:00
Christian Kamm
0af2f7e5ed ConValidator: Always run with new credentials. #3266 2015-05-22 09:38:44 +02:00
Christian Kamm
1c84d01584 Windows: Fix build of tests. 2015-05-22 09:17:24 +02:00
Olivier Goffart
3fcce08a22 recall: move the recall code in a namespace 2015-05-21 16:23:54 +02:00
Olivier Goffart
289800c1ba Recall: make it work even if it is not in the root directory 2015-05-21 16:06:53 +02:00
Olivier Goffart
9a02a0f3a8 Recall feature: Fix some style issues 2015-05-21 16:06:52 +02:00
Jakub Moscicki
4e79093f84 recall file prototype 2015-05-21 16:06:52 +02:00
Klaas Freitag
d2fff2c3e3 Theme: Allow to change the transmission checksum through theming. 2015-05-21 15:59:24 +02:00
Klaas Freitag
8f277e46d6 TransmissionChecksumming: Remove SyncFileItem dependency. 2015-05-21 15:51:48 +02:00
Klaas Freitag
c33d962712 TransmissonChecksumValidator: Add documentation. 2015-05-21 14:32:08 +02:00
Klaas Freitag
3870915118 TransmissionChecksumValidator: Reduce verbosity. 2015-05-21 14:31:39 +02:00
Klaas Freitag
b05ca526a4 In case of empty checksum type, emit validated. 2015-05-21 14:31:18 +02:00
Klaas Freitag
4e28a24af3 Let checksumType() read the config to destinguish checksum type. 2015-05-21 14:30:21 +02:00
Olivier Goffart
aebadfcda2 FolderWizard: Add missing Q_OBJECT which prevent translations from working 2015-05-21 12:53:55 +02:00
Klaas Freitag
dec3bd4a02 Some more minor cleanups based on the pull request review. 2015-05-20 22:44:12 +02:00
Klaas Freitag
64ce0cd7a2 Improved implementation efficiency of checksum calculation.
Based on Oliviers suggestions the file read routine now reuses
one buffer to read the entire file.

Other cleanups.
2015-05-20 21:42:08 +02:00
Klaas Freitag
5b5a636cc1 Make TransmissionChecksumValidator child of the job for auto delete.
That way no explicit memory management is needed as the allocation
is freed when the job (parent) is deleted automatically.
2015-05-20 16:54:04 +02:00
Daniel Molkentin
5c6a6529a6 Merge pull request #3258 from binwiederhier/bugfix/issue3256-mkcol
Add 'Content-Length: 0' header to MKCOL request; fixes #3256
2015-05-20 15:48:33 +02:00
Philipp Heckel
68fa190cf7 Add 'Content-Length: 0' header 2015-05-20 14:40:20 +01:00
Olivier Goffart
d148464efe SyncJournalDb::updateErrorBlacklistEntry: lock the mutext at the beginning
The mutex need to be locked before checkConnect, that's what all the other functions are doing
2015-05-20 15:30:19 +02:00
Klaas Freitag
17fe4c3b29 PropagateUpload: Fix typo in warn message. 2015-05-20 12:30:00 +02:00
Klaas Freitag
dd6c97abb6 Propagator: Added a log that tells if transmission checksumming is used. 2015-05-20 12:27:54 +02:00
Markus Goetz
330b352001 ProgressInfo: Fix Windows build 2015-05-20 11:59:33 +02:00
Klaas Freitag
ddfe3fa7ab TransmissionChecksum: Fix identation. 2015-05-20 10:49:18 +02:00
Klaas Freitag
1f7274c2f2 TransmissionChecksum: Removed "pseudo" thread worker functions
Removed the Worker postfix from the method names to reflect their non
threaded character, they moved into a thread in the Validator class.

Thanks ckamm for review.
2015-05-20 10:45:20 +02:00
Klaas Freitag
8b371c42b7 Propagate Download: Handle malformed checksum header as error.
Plus some cleanup, bool ok was not needed actually.
2015-05-19 17:09:40 +02:00
Klaas Freitag
c7f759fedf Propagator: Use the TransmissionChecksumValidator class. 2015-05-19 17:09:40 +02:00
Klaas Freitag
830daa40d1 Add a class TransmissionChecksumValidator, incl. unit test.
This does all needed to manage checksums that go with http headers
ensuring that the transmission was correct.
2015-05-19 17:09:40 +02:00
Klaas Freitag
f016d25b4c Propagate downloads: Handle checksum transmission header.
Read a checksum from the HTTP header, and if its there, compare the
downloaded tmp file against it. In case of corruption, schedule a
redownload.
2015-05-19 17:09:40 +02:00
Klaas Freitag
e18fd62f34 Propagator: checksum constants go to propatorjobs header.
So they can be used from both up- and download propagator jobs.
2015-05-19 17:09:40 +02:00
Klaas Freitag
3701fbcbfe PropagateUpload: Add checksum calculation if required by config.
If the config file has an transmissionChecksum entry, a checksum
is added to the PUT requests in a header.
2015-05-19 17:09:39 +02:00
Klaas Freitag
67d38bc87b Filesystem Utilities: Add Checksum calculation methods. 2015-05-19 17:09:39 +02:00
Klaas Freitag
ec83295b99 Branding: Append the appName short to the user agent string. 2015-05-19 17:09:39 +02:00
Klaas Freitag
e36252a845 Theme: (minor) remove some more mirall's 2015-05-19 17:09:39 +02:00
Klaas Freitag
d0d8de9f2f MirallConfigFile: Add an option of transmission checksumming. 2015-05-19 17:09:39 +02:00
Daniel Molkentin
9693048f78 Find & use QtConcurrent 2015-05-19 17:09:39 +02:00
Klaas Freitag
101d2268ff SyncFileItem class: Add member _checksum 2015-05-19 17:09:39 +02:00
Klaas Freitag
2fcad760b9 StopWatch: return the duration from the stop() command. 2015-05-19 17:09:39 +02:00
Olivier Goffart
f595fc2f9c Fix opening external links for some labels
Issue #3135
2015-05-15 18:44:19 +02:00
Markus Goetz
06c889630c AccountState: Run only a single validator, allow error message overriding #3236 #3153 2015-05-15 12:27:35 +02:00
Markus Goetz
8a39748654 SyncJournalDB: Don't use NULL value
Olivier says we should try to not be the same as the possible value
for not existing entries.
2015-05-13 14:57:14 +02:00
Markus Goetz
3556ed416c SyncJournalDB: Simplify code 2015-05-13 13:15:53 +02:00
Olivier Goffart
d7fa03cf2e Systray menu: consider multiple account to choose the status 2015-05-13 13:10:14 +02:00
Markus Goetz
e5e2ce2b22 SyncEngine: Force re-read of folder Etags for upgrades from 1.8.0 and 1.8.1
This is a better fix than the previous one for the local-files-missing bug
because it does not depend on the sync run to run fully through.
2015-05-13 12:54:49 +02:00
Olivier Goffart
af94e8943d Systray menu: show one entry per account to open in a browser 2015-05-13 12:54:31 +02:00
Markus Goetz
39d103adf7 OwnSql: Fix numRowsAffected() 2015-05-13 12:54:03 +02:00
Jakob Nixdorf
a0e3858a7c Install architecture-independent files to DATADIR.
Change the installation target for the translations and the .desktop
file to the architecture-independent DATADIR.
2015-05-13 09:54:01 +02:00
Markus Goetz
08184d07cf Merge branch '1.9' 2015-05-12 23:03:45 +02:00
Markus Goetz
ac0e08cc91 Merge branch '1.8' into 1.9 2015-05-12 23:02:58 +02:00
Olivier Goffart
76166c6252 SyncEngine: Fix comment
A comment should descibe the code, and not a patch.
2015-05-12 17:53:02 +02:00
Olivier Goffart
dd5a49bc78 Application: Disable to workaround of QLockFile bug for Qt versions that are fixed 2015-05-12 17:26:32 +02:00
Markus Goetz
2a45ebde33 Networkjobs: Fix Qt 4 compile (again) 2015-05-12 17:19:17 +02:00
Markus Goetz
cdfafa2180 Propagator: Mention name of conflict file (for debugging) 2015-05-12 17:11:21 +02:00
Olivier Goffart
299fa2dee6 FolderMan: fix a #warning in the migration path 2015-05-12 16:49:37 +02:00
Olivier Goffart
c2dacd03a5 BandwidthManager: fix warnings
Unused variables
2015-05-12 16:35:27 +02:00
Olivier Goffart
de9770f52a FolderMan: fix some signal-slot broken connection
In many cases the alias was changed to a Folder pointer
2015-05-12 15:50:38 +02:00
Olivier Goffart
389c4f8ef9 AccountManager: remove unused variable 2015-05-12 15:38:16 +02:00
Olivier Goffart
3a7bd3f95c AccountManager: save the config after removing an account 2015-05-12 15:37:16 +02:00
Olivier Goffart
1136b969b2 Folder: fix compilation after merge 2015-05-12 15:27:20 +02:00
Olivier Goffart
716b0c68da Merge remote-tracking branch 'origin/master' into new-ui 2015-05-12 15:20:40 +02:00
Olivier Goffart
1edd46b995 Multi-Account: add possibility to delete an account 2015-05-12 15:16:32 +02:00
Markus Goetz
00a075b0d8 Merge branch '1.9' 2015-05-12 13:49:55 +02:00
Markus Goetz
3b34d5b54e Account: Fix Qt4 compile 2015-05-12 13:49:07 +02:00
Jocelyn Turcotte
0f51de20c4 Fix the neon build 2015-05-12 13:04:47 +02:00
Jocelyn Turcotte
ea39e457f5 Fix the build 2015-05-12 10:35:57 +02:00
Daniel Molkentin
b54f2b3b31 Merge remote-tracking branch 'origin/1.9'
Conflicts:
	VERSION.cmake
	src/libsync/propagatedownload.cpp
	src/libsync/propagateupload.cpp
2015-05-12 10:03:38 +02:00
Daniel Molkentin
a36df4aa4b Merge remote-tracking branch 'origin/1.8' into 1.9 2015-05-12 09:57:22 +02:00
Markus Goetz
9e7779a476 Bandwidth Manager: Comment out qDebug
We have not received any grave bug reports for it, not needed anymore.
2015-05-11 16:07:34 +02:00
Markus Goetz
625e61516f Propagator: Limit length of temporary file name #2789 (fixup)
Fix 22c35c4d15
2015-05-11 15:42:35 +02:00
Klaas Freitag
41614ec851 Application: ifdef lock file issue as it only happens on Qt>5.1
However, the fix breaks Qt4 compile, so it needs to be ifdefed.
Not viel hilft viel.
2015-05-11 13:35:04 +02:00
Markus Goetz
22c35c4d15 Propagator: Limit length of temporary file name #2789 2015-05-08 16:42:03 +02:00
Christian Kamm
9507bb4be6 ShareDialog: Password ui fixes. #3189
* Change the textedit-empty text to be just "Password"
* Hide the 'Copy link' button when the share isn't created yet
* Show the checked and disabled 'Password required' checkbox
  when a password is required.
2015-05-08 14:53:38 +02:00
Markus Goetz
f2004da867 SSL: Re-use encryption session for different TCP connections #3159
This also improves the SSL configuration creation and fixes #3027
2015-05-08 14:21:27 +02:00
Christian Kamm
e1c370a9a2 Fix startup hang by removing QSettings lock file. #3175
In some situations the .lock file would stay around and
cause subsequent starts of the client to get stuck before
showing the ui.
2015-05-08 14:02:44 +02:00
Christian Kamm
b9eafaaf24 Wizard: Allow SSL cert dialog to show twice. #3168
Normally we never ask twice for the same url, but in the setup wizard
it makes sense to do so.
2015-05-08 12:32:14 +02:00
Christian Kamm
909368025f ProtocolWidget: Fix rename message. #3210
For remote renames that are replicated locally the _file member is
overwritten by the target file name when the new entry is added to
the metadata table. Using _originalFile here guarantees that
the affected local file is mentioned.
2015-05-08 11:33:34 +02:00
Markus Goetz
0359c775e0 Discovery: Test better, treat invalid hrefs as error #3176 2015-05-07 17:19:48 +02:00
Jocelyn Turcotte
1053153ec4 Fix the Qt4 build
Following a6500d8068
Qt4's moc doesn't expand macros and wouldn't evaluate QT_VERSION_CHECK.
2015-05-07 14:49:01 +02:00
Christian Kamm
79ac61684c Propagator: Overwrite local data only if unchanged. #3156 2015-05-07 14:43:33 +02:00
Christian Kamm
441eca86c4 ShareDialog: Improve error reporting for share API fails.
This would have made debugging #3204 and #3136 easier.
2015-05-07 14:16:13 +02:00
Markus Goetz
f07d3d069e Updater on OS X: Only allow if in /Applications #2931 2015-05-07 13:04:25 +02:00
Markus Goetz
e300e3c744 Wizard: Fix lock icon #1447 2015-05-07 13:04:25 +02:00
Christian Kamm
73e2254a80 AccountState: Treat *any* 503 as a temporary error. #3113 2015-05-07 09:21:52 +02:00
Jocelyn Turcotte
7ea1baaf2d Merge pull request #2920 from remixtj/utility_SHGetKnownFolderPath
Use dynamic library loading for detecting the correct path for links
2015-05-06 17:22:46 +02:00
Daniel Molkentin
77a28a81eb Bump to 1.9 2015-05-06 17:01:05 +02:00
Jocelyn Turcotte
a6500d8068 Work around the Qt PUT corruption bug with Qt < 5.4.2 #2425
Since QNonContiguousByteDeviceThreadForwardImpl::reset will
call UploadDevice::reset with a BlockingQueuedConnection, this
allows us to reset the HTTP channel along with its buffers
before they get the chance to be reused with a subsequent request.
2015-05-06 16:56:50 +02:00
Luca Lorenzetto
027365aaa6 Additional code cleanup 2015-05-06 15:09:41 +02:00
Jocelyn Turcotte
58867baf33 Merge pull request #3183 from christian-burger/fix-for-windows-explorer-extension-when-syncing-whole-drive
Windows Explorer: fix issues when syncing whole drive.
2015-05-06 14:54:19 +02:00
Daniel Molkentin
bceb40ed80 Disable setSslConfiguration calls for older Qt version
This is only required for client certs, which currently have
no GUI anyway and are experimental.
2015-05-06 11:20:16 +02:00
Daniel Molkentin
f315423811 Merge remote-tracking branch 'origin/1.8'
Conflicts:
	VERSION.cmake
2015-05-06 10:04:22 +02:00
Christian Kamm
9e3c3353bd IgnoreListEditor: Remove invalid connect. #3201
This has been around ever since the ignore editor was
added and the slot never existed.
2015-05-06 09:34:45 +02:00
Christian Burger
79f7ea0965 refactoring as requested in pull request 2015-05-05 16:34:01 +01:00
Markus Goetz
07ffff3d77 SyncEngine: Fix accidental re-discovery because of broken version table
Bug had been triggered by d63abef718
Broken version table in there since some time it seems like.
2015-05-05 17:07:13 +02:00
Luca Lorenzetto
f3bdfef9cf Integrating feedbacks provided by jturcotte 2015-05-05 16:42:34 +02:00
Daniel Molkentin
bfba6f752c Remove dead code 2015-05-05 10:23:59 +02:00
Klaas Freitag
d63abef718 SyncEngine: Handle upgrade case from 1.8.0
If 1.8.0 caused missing data in the local tree, this patch gets it
back. For that, the usage of the journal for remote repository is
disabled at the first start.
2015-05-04 13:40:25 +02:00
Christian Burger
018cc54a94 Windows Explorer: fix issues when syncing whole drive.
When the local sync target is just a drive letter (e.g. "X:\"), neither
the display of the sync status via file icon overlay, nor the creation of a
share link works. In the latter case no pop-up comes up and no server
request is done.

QDir::cleanPath() usually removes trailing slashes, but not if the path to
be cleaned is just "X:\". In that case the trailing slash is kept. This
commit accounts for that exception.
2015-05-04 10:29:25 +01:00
Markus Goetz
4700c604b1 Proxy: Register meta type #3170 2015-04-29 14:54:08 +02:00
Olivier Goffart
e02f1a222e FolderMan: refactor some function to take a Folder* instead of an alias
I want to remove this dependency of alias in the code because we might get
rid of it entierly later
2015-04-28 17:49:05 +02:00
Olivier Goffart
e4694a6db8 Setup wizard: Do not remove all the folders of all theother acocunts when adding an account
Also we need the alias to be unique
2015-04-28 17:46:45 +02:00
Olivier Goffart
e5ad1b27b4 Settings dialog: show the first account page at start 2015-04-28 11:39:27 +02:00
Olivier Goffart
92e259c276 Add folder: Do not add at other accounts folder to know if you can add a folder 2015-04-28 11:29:35 +02:00
Olivier Goffart
f81918173b Account settings: show the folder of the right account 2015-04-27 19:09:48 +02:00
Olivier Goffart
4006bcdaed Wizard: Setup the folder in the right account 2015-04-27 17:43:07 +02:00
Olivier Goffart
3e4886725a Folder: remove the member references to the FolderDefinition members 2015-04-27 17:33:59 +02:00
Olivier Goffart
f688bda759 Wizard: Save the settings after adding an account
So the account persist even if the client is not properly closed
2015-04-27 17:19:46 +02:00
Olivier Goffart
ac855858de owncloud gui: move a comment where it belongs
The code was moved long time ago in commit ea1c95100 but the comment
stayed.  I have no idea if the comment is still accurate
2015-04-27 17:14:25 +02:00
Olivier Goffart
ae17f58b80 HTTP Creds: Do not send the password at every request 2015-04-27 16:28:37 +02:00
Olivier Goffart
23dc464ea2 Folderman: Fix crash when adding an account
Clang is picky if we forget to return a value
2015-04-27 14:34:39 +02:00
Olivier Goffart
04382c467b Progress: Fix broken signal connection 2015-04-27 12:34:15 +02:00
Olivier Goffart
be1b39067d Merge branch 'master' into new-ui 2015-04-27 12:32:12 +02:00
Olivier Goffart
ddfb7f3b7a Merge remote-tracking branch 'origin/1.8' 2015-04-27 12:20:11 +02:00
Christian Kamm
78e82eb920 AccountWizard: Fix auth error handling. #3155
The problem was that on network error the networkError() and
finishedWithError() signals both fired. To fix it, I collapse all
error handing into a slot triggered by finishedWithError().

I tested the redirection case and the invalid credentials case.
2015-04-24 16:03:28 +02:00
Christian Kamm
27159104a9 Folders: Store inside account config. 2015-04-24 13:42:35 +02:00
Christian Kamm
a13a974e2d Account: Generate shorter account ids. 2015-04-24 09:54:42 +02:00
Markus Goetz
3a52db46ad Discovery: Fix another empty-local-directory bug 2015-04-23 16:15:13 +02:00
Christian Kamm
f184d66ea2 Save and restore multiple accounts. 2015-04-23 16:08:20 +02:00
Christian Kamm
11927d625d Fix crash on exit by not making Account parent of AccountState. 2015-04-23 16:08:20 +02:00
Christian Kamm
abfdc574d4 Add a basic random Account::id() 2015-04-23 15:47:49 +02:00
Christian Kamm
d64373c610 Never use 'new Account' directly, prefer Account::create() 2015-04-23 15:47:49 +02:00
Christian Kamm
28306e5dfb Move AccountState::displayName to Account. 2015-04-23 15:47:49 +02:00
Christian Kamm
89bb58ac30 Ensure 'user' is available early enough for ui in httpcreds 2015-04-23 15:47:49 +02:00
Christian Kamm
3cc2e1a968 Fix bad connect/disconnects. 2015-04-23 14:24:54 +02:00
Christian Kamm
8390b0b930 Determine right account in ownCloudGui::slotShowShareDialog 2015-04-23 14:14:28 +02:00
Christian Kamm
dbddabfcd7 Remove SelectiveSyncText
It is unused and there were compiler warnings about it not
appearing it various switch() statements.
2015-04-23 14:13:33 +02:00
Christian Kamm
0d30e01e98 Add explanations to fixmes 2015-04-23 14:13:13 +02:00
Markus Goetz
137bce6dd0 Folder: Clear _syncResult better
I had a situation here where we were showing stale desktop notifications when a remote folder
errored out and then sync finished with _syncResult data from previous sync.
2015-04-23 13:30:30 +02:00
Christian Kamm
7c1281dd06 Windows: Fix rename of finished file. #3073
The file was still open and therefore couldn't be renamed...
2015-04-22 14:46:04 +02:00
Christian Kamm
68bf22f469 Revert "AccountSettings: Update progress only twice per second. #3014"
This reverts commit 0f33e266ce.

The change was not meant to be merged, see discussion in #3014.
2015-04-22 11:46:00 +02:00
Christian Kamm
96ecdb866d Time estimate: Refactor remaining time guess. #2328 2015-04-22 11:20:31 +02:00
Christian Kamm
7d68c628db Time estimation: Use a consistent check for size dependence. #2328 2015-04-22 10:45:41 +02:00
Christian Kamm
509b83e73e Time estimation: Avoid a progress reset before finish. #2328
The current algorithm doesn't care much, but resetting progress
to 0 just before completing a job is confusing anyway.
2015-04-22 10:45:41 +02:00
Christian Kamm
0f33e266ce AccountSettings: Update progress only twice per second. #3014 2015-04-22 10:45:41 +02:00
Markus Goetz
6c5ca055c4 ShareDialog: Unused/invalid forward declaration 2015-04-21 10:33:38 +02:00
Olivier Goffart
cf5100a20b Merge remote-tracking branch 'origin/1.8' 2015-04-20 14:58:45 +02:00
Jocelyn Turcotte
ffbf2fb6ce Fix the neon build 2015-04-20 11:31:02 +02:00
Olivier Goffart
b039c2ce86 More change to compile with 5.5
The problem is again that QStringList no longer include QDataStream
2015-04-20 09:47:25 +02:00
Olivier Goffart
ba65187ad3 Fix compilation with Qt 5.5
Because of commit 90e7cc172a7521396bb2d49720ee4ceb9a9390b3 in qtbase,
we now need to explicitly include QDataStream

Fixes #2809
2015-04-19 11:02:43 +02:00
Jocelyn Turcotte
12d7484b85 Pass SyncFileItems by pointer instead of by value
Use a QSharedPointer to keep the same ownership and
continue passing the SyncFileItems as a const& when
ownership isn't taken. This allows sharing the same
allocations between the jobs and the result vectors.

This saves about 20MB of memory (off 120MB) once all
jobs are created.
2015-04-18 14:26:40 +02:00
Olivier Goffart
a932eac832 Multi-account WIP 2015-04-17 17:56:17 +02:00
Jocelyn Turcotte
155c965866 Prevent another crash in ~SocketApi #3118
Since the QLocalServer parent of the QLocalSockets gets destroyed
after the _listeners QList, onLostConnection might try to update
an already destroyed list.

Fix the issue by simply making sure that _localServer is destroyed
first.
2015-04-17 12:42:40 +02:00
Olivier Goffart
6c73f25747 HTTP creds: Fix translation of the password input dialog
tr() needs Q_OBJECT
2015-04-17 12:19:37 +02:00
Olivier Goffart
2da3bfb96f Merge branch 'master' into new-ui 2015-04-16 12:50:21 +02:00
Olivier Goffart
5dffd11755 Merge branch '1.8' 2015-04-16 12:49:31 +02:00
Olivier Goffart
8bb4af067a Propagate download: Fix restoring files for which the conflict file exists
For issue #3106

1) Always use the actual timestamp from the file in the file system
to create the conflict file.  This is important because if one edit a
file several time, they should have different name. Also it makes more
sens to have the mtime of the modified file.

2) Give the correct size to the job so we know when the temporary file
is complete in case of resuming.
2015-04-16 11:36:01 +02:00
Olivier Goffart
458f336405 PropagateDownload: Read the mtime from the file system after writing it
Because file system like FAT only have two second accuracy and would result
in a upload if the mtime in the database is not the same as the one that was
downloaded

Issue #3103
2015-04-15 15:50:20 +02:00
Markus Goetz
7c9cffa5ae ConfigFile: Remove unused functions 2015-04-15 14:58:27 +02:00
Daniel Molkentin
ed80a712ab Sort folder sizes SelectiveSyncTreeView numerically
Fixes #3112
2015-04-14 20:00:42 +02:00
Markus Goetz
2866e56c51 LsColXMLParser: More testing 2 2015-04-14 14:56:25 +02:00
Klaas Freitag
4283ab3b44 LsColJob: Create a XML parser object for better unit testability. 2015-04-14 13:43:05 +02:00
Klaas Freitag
c579069071 LsColXMLParser: let parse return bool. 2015-04-14 13:41:51 +02:00
Markus Goetz
9ffacd4ecd Discovery: Explicitly check for XML parser errors
..instead of relying that our state machine does not do anything in that case.
2015-04-13 16:04:24 +02:00
Markus Goetz
9d5f5ea3bc Discovery: Initialize error with EIO in constructor
This is safer, initializing it in remote_vio_opendir_hook was enough though.
2015-04-13 15:54:08 +02:00
Markus Goetz
2dbd27af76 Discovery: Initialize error with EIO 2015-04-13 15:36:07 +02:00
Markus Goetz
0634a4d0c6 Discovery: Add a sanity check when results are parsed 2015-04-13 15:10:04 +02:00
Klaas Freitag
7b99877c68 owncloudcmd: Filter out empty lines in selectivesync 2015-04-12 12:59:25 +02:00
Klaas Freitag
ec81cdefb0 Networkjobs: Only log a subset of the account url.
This avoids disclosing of user and password in the logfile which can
happen in some cases.
2015-04-12 12:37:14 +02:00
Christian Kamm
9d8fc4aa4d ProtocolWidget: Fix adding of seconds. #2535 2015-04-10 12:11:35 +02:00
Christian Kamm
57ac1d9ea2 AuthRedirect: Use the configured DAV path. #3082 2015-04-10 09:24:25 +02:00
Christian Kamm
d9ea6936ab Handle redirect of auth request. #3082 2015-04-10 09:18:15 +02:00
Olivier Goffart
afdd01488f AccountManager: Move out of libsync
The AccountManager does not belong in the libsync because it is not
part of the synchronisation algorithm, but is just an helper class
for the UI to maintain the account and read/save the config
2015-04-09 16:19:17 +02:00
Olivier Goffart
f3cb5f8a9d Merge remote-tracking branch 'origin/1.8' 2015-04-09 14:24:26 +02:00
Olivier Goffart
85ff245aef Account settings: add the progress back on the new ui 2015-04-09 12:06:47 +02:00
Christian Kamm
adcf40afc3 Discovery: Speed up initial run. #2796 2015-04-08 15:43:49 +02:00
Christian Kamm
d986011067 Sync: Fix sync of deletions during 503. #2894 2015-04-08 10:50:08 +02:00
Roeland Jago Douma
5a83636f81 Only show share dialog if we are connected. 2015-04-08 09:53:57 +02:00
Jocelyn Turcotte
4a890eae38 SyncEngine: Fix a crash caused by an invalid DiscoveryDirectoryResult::iterator #3051
The default constructor of the iterator points to NULL, which makes
it != end() but invalid to dereference.

Use an integer index instead to keep 0 as a valid default value that
can always correctly be checked against size().

Also make sure that no data is shared between threads by making the
csync_vio_file_stat_t copyable and passing it as const.
2015-04-08 09:35:43 +02:00
Christian Kamm
760e11bc5d Sharedialog: Fix compiler warnings. 2015-04-08 08:59:36 +02:00
Klaas Freitag
4a6f4919d7 More GUI refinements. 2015-04-07 13:38:01 +02:00
Klaas Freitag
b98040c7d5 ShareDialog: handle resize properly with elided text 2015-04-07 13:38:01 +02:00
Klaas Freitag
1240a8163d ShareDialog: Some GUI rework requested by Jan. 2015-04-07 13:38:01 +02:00
Olivier Goffart
e15b9b5358 Merge remote-tracking branch into 1.8 2015-04-07 10:42:27 +02:00
Olivier Goffart
1617c9d482 PropfindJob: fix xml parsing
It would only find the first property
2015-04-07 10:35:27 +02:00
Olivier Goffart
50ba73860c Merge remote-tracking branch into 1.8 2015-04-07 08:02:55 +02:00
Markus Goetz
750cdc1910 AbstractSslErrorHandler: Also give QSslConfiguration 2015-04-06 21:46:03 +02:00
Olivier Goffart
f4e2c84111 AccountState: Fix uninitialized memory access spotted by valgrind
QuotaInfo's constructor uses the AccountState's _state which is
initialized after
2015-04-06 16:21:05 +02:00
Olivier Goffart
71d9f23068 theme: fix compilation of libsync without QtGui 2015-04-03 11:27:06 +02:00
Markus Goetz
7f2213416a Discovery: Add warning if returned etag is 0
There will be another bugfix which fixes
https://gist.github.com/jturcotte/3d5a7874d26bc27b1be9
directory.
2015-04-02 16:57:53 +02:00
Markus Goetz
9b9f0bdd4d SyncEngine: Show more timing measurements #3064 2015-04-02 15:18:46 +02:00
Jocelyn Turcotte
c2fd7d6ebd Clean up remains of SOCKETAPI_TCP 2015-04-01 15:03:42 +02:00
Jocelyn Turcotte
4a893c5267 Fix a crash on shutdown in ~SocketApi #3057
Deleting the QLocalSocket while iterating the QList with qDeleteAll
would trigger onLostConnection, which would modify the list mid-air
and leave dangling pointers in it.
2015-04-01 15:03:42 +02:00
Jocelyn Turcotte
2473183f19 Windows: Add version information for owncloud.exe
This should help us know what version or build number a crash report was generated with.
2015-04-01 15:03:41 +02:00
Daniel Molkentin
f2fa812b0b Updater: Give context as to which app is about to be updated
Fixes #3040
2015-03-30 14:44:34 +02:00
Markus Goetz
ef89582d7e Propagator: Fix compile 2015-03-30 08:41:53 +02:00
Olivier Goffart
426d2338d9 Settings: New UI that intergate the selective sync within the account settings 2015-03-27 16:50:35 +01:00
Christian Kamm
ba0c3256fa Remove unused HttpConfigFile. 2015-03-27 13:20:10 +01:00
Markus Goetz
b6fe5d2cff Propagator: Debug output regarding OC-ETag
We can remove this in some time, but currently it is interesting
to see for what server setup is no ETag but an OC-ETag.
2015-03-27 13:16:11 +01:00
Markus Goetz
9123fac545 owncloudcmd: Always trail path with /
Else the csync code vs the Qt code get confused.
2015-03-27 13:15:43 +01:00
Markus Goetz
c6bc388001 Proxy: More debug, always set returned system proxy 2015-03-27 11:53:58 +01:00
Christian Kamm
ea985a85af ProtocolWidget: Always add seconds to the DateTime locale. #2535 2015-03-27 11:25:30 +01:00
Christian Kamm
dfd9d8725c Merge remote-tracking branch 'origin/1.8'
Conflicts:
	doc/installing.rst
2015-03-27 11:19:59 +01:00
Christian Kamm
2578832002 Fix clang warnings about deleting incomplete 'Account'. 2015-03-27 11:11:44 +01:00
Markus Goetz
cfada67aa6 Proxy: Fix compile harder 2015-03-27 11:02:19 +01:00
Christian Kamm
5483682281 CookieJar: Don't accidentally overwrite cookies. #2808
Calling save() in the CookieJar destructor was problematic. For instance
we sometimes create a new QNAM with a new CookieJar and then call
setCookieJar() on it to assign some other jar. That destroy the fresh
jar and potentially overwrite cookies.

Also explicitly saving the account's cookies when the account is saved
is more explicit and thus more reliable than counting on the Account
destructor to do it.
2015-03-27 10:49:24 +01:00
Christian Kamm
2a8c23aac3 Account: Destroy on exit.
During shutdown we want the account object to be deleted and
therefore we need to be able to remove the strong reference
in AccountManager.
2015-03-27 10:43:14 +01:00
Christian Kamm
88bc96fc4c ConValidator: Delete instance if no credentials. 2015-03-27 10:43:14 +01:00
Christian Kamm
588129d852 HttpCreds: Delete password from old location. #2186 2015-03-27 10:40:19 +01:00
Markus Goetz
5c87a35fe4 Proxy: Fix compile 2015-03-26 18:36:37 +01:00
Markus Goetz
418185af9a Qt4: Fix compile 2015-03-26 15:17:16 +01:00
Roeland Jago Douma
4b56cc6e08 On creation of a share always retrieve the share
This makes sure that if a default expiration date is set this is reflected in
the dialog. #2889
2015-03-26 13:48:33 +01:00
Christian Kamm
3cef771868 HttpCreds: Fill pw dialog with previous password. #2848 #2879 2015-03-26 09:25:45 +01:00
Markus Goetz
e0ae34f01b SslButton: Make menu creation lazy
Saves ~200msec on my not-so-old MBP on OS X.
For #3007 #2990
2015-03-25 15:41:23 +01:00
Christian Kamm
a9a24c96fc Themes: Cache icons instead of rebuilding a lot. 2015-03-25 14:59:28 +01:00
Markus Goetz
a202203325 Proxy: Fix issues with previous patch
This is for #2993 and #2802
2015-03-25 12:25:49 +01:00
Markus Goetz
83c3d76966 Proxy: Look up system proxy from different thread
We should actually upstream this into QNAM.

This is for #2993 and #2802
2015-03-25 08:52:23 +01:00
Markus Goetz
99734f8d72 Account: Unusued variable 2015-03-25 08:52:23 +01:00
Olivier Goffart
dafc2d2b73 Sync engine: Check the blacklist for the right tree
When the operation is download, we have a INSTRUCTION_NONE for the local
tree, but we should not check the blacklist just yet.
2015-03-24 12:23:04 +01:00
Olivier Goffart
9c05150c12 SSLButton: Fix a crash
Made with danimo.
Attempt to fix a crash seen on breakpad reports.
(cc06b990-0c10-40eb-bcec-4d3902150320)
2015-03-23 18:30:53 +01:00
Daniel Molkentin
c7eb85ef78 Activity: Correctly restore column sizes
Fixes: #3005
2015-03-23 18:22:25 +01:00
Olivier Goffart
4df455f2e0 Add-folder Wizard: Select the newly created folder 2015-03-23 16:50:37 +01:00
Olivier Goffart
653a00d63d Add-folder wizard: Make sure there is a scrollbar if folder names are too long
Fixes #2962
2015-03-23 16:32:41 +01:00
Jocelyn Turcotte
3c9acdf724 Fix a crash when accessing a dangling UploadDevice pointer #2984
This is largely a guess, but this is the only place where we use
a QIODevice to push data through QNAM and that the QIODevice isn't
a direct child of the QNetworkReply.

Fix the issue by making sure that we don't go back to the event loop
and possibly handle network events between the destruction of the
upload QIODevice and the QNetworkReply, which might lead to QNAM
dereferencing a dangling QIODevice pointer.
2015-03-23 16:14:54 +01:00
Olivier Goffart
e81d1ab9b8 application: --confdir option with invalid direcotry now exit
Show an error and exit if an invalid directory (eg, a file) is passed to --confdir

Fixes: #2453
2015-03-23 15:02:27 +01:00
Olivier Goffart
9d7cf6b852 Merge remote-tracking branch 'origin/1.8' 2015-03-23 14:37:16 +01:00
Christian Kamm
4ef0ce112c CookieJar: Session cookies should *not* be stored in cookies.db. 2015-03-19 11:57:25 +01:00
Christian Kamm
57c14a0eba Windows: Reset QNAM as a workaround. #2899 #2895 #2973
The QNetworkAccessManager is reset when we are disconnected, just
before attempting to fetch the server's status.php.

This may help fix the problem described in various issues where we
get 'Connection closed' or timeout errors after the OS has woken
from sleep.
2015-03-19 11:40:47 +01:00
Christian Kamm
89f831e7d4 Remote delete: Consider 404 a success. #2919 2015-03-19 10:04:02 +01:00
Markus Goetz
06a2f58c51 Propagator: Introduce custom property to make error soft
This can be set by a custom credential QNAM.
2015-03-17 23:31:30 +01:00
Jocelyn Turcotte
5264a8c7f6 shell_integration: Fix disappearing context menus on Windows #2898
Since each new connection to the socket API would trigger a broadcast
of REGISTER_PATH to all existing connections, opening the context menu
would trigger a SHChangeNotify call of the root directory through
the overlay icon extension, which is currently also connected to the
socket API, waiting for changes.

Fix the issue by sending the initial REGISTER_PATH automatic response
only to the connecting socket.
2015-03-13 20:53:59 +01:00
Luca Lorenzetto
9351c5eefa Cleaner creation of link path. Using QDir ensures that every needed / is present 2015-03-13 16:23:43 +01:00
Markus Goetz
c42c9f0002 Propagator: Add comment 2015-03-13 15:48:35 +01:00
Daniel Molkentin
457f9b587d Merge remote-tracking branch 'origin/1.8'
Conflicts:
	src/gui/sharedialog.cpp
	src/gui/sharedialog.h
2015-03-13 14:03:03 +01:00
Christian Kamm
95f299f865 Remote folder wizard: Add optional manual entry #2613 2015-03-13 09:52:21 +01:00
Jocelyn Turcotte
e93c1ccb73 Install the crash handler earlier during startup
This moves the crash handler installation during the OCC::Application
contruction. This still leaves a window where crashes wouldn't be
caught, leaving the QtSingleApplication and theme initialization
code unreported, but isn't requiring any refactoring for now.

Issue #2952
2015-03-12 17:16:05 +01:00
Jocelyn Turcotte
0f84510e6f Fix the build with GCC 4.7
Disable bitfields completely in SyncFileItem with that compiler.
2015-03-12 14:54:11 +01:00
Christian Kamm
1dd3488973 Uploads: Fix big seeks on Windows. #2954 2015-03-12 13:18:08 +01:00
Christian Kamm
9249d6c2f9 Logging: Print instruction when job completed. 2015-03-12 10:26:44 +01:00
Christian Kamm
d0f07ee3a9 FolderMan: fix folderSyncStateChange emission. #2896
It was not emitted when a removed folder finished its sync,
and that left the UI in an old state sometimes.

Removing the Folder explicitly is unnecessary as a QSignalMapper
will automatically remove mappings for deleted QObjects.
2015-03-12 10:00:45 +01:00
Christian Kamm
3992fba168 Activity: Set a message for conflicts. #2792
Also show size when conflicting files are downloaded.
2015-03-12 10:00:45 +01:00
Markus Goetz
f13dfc19a0 OS X: Fix UI glitches related to sync folder
For #2113 and #2947
2015-03-11 16:42:12 +01:00
Jocelyn Turcotte
0fccf5e50d Completely disable the crash handler if the user disabled it
The config currently only disable the reporter, but still leaves
the crash handler installed on startup. This causes conflicts
when running those builds in lldb.

Work around the issue by requiring the crash reporter to be
disabled in the settings before owncloud can be run in lldb.
This has the negative side-effect of not covering the
initial ConfigFile loading with the crash handler.

Issue #2946
2015-03-11 15:49:49 +01:00
Klaas Freitag
a2aab28ba6 ShareDialog: Connect the proper DateEdit signal. 2015-03-11 15:46:05 +01:00
Klaas Freitag
8e7b7caf04 ShareDialog: If the password is empty, disable button 2015-03-11 14:57:55 +01:00
Klaas Freitag
8cc5ff0e70 ShareDialog: Consider if resharing is not allowed on a share.
If a file or directory is shared without resharing permission, the
share dialog displays an error. This is not the optimal solution, but
best for now, as we do not have the permissions available for the file
manager plugin.

This fixes #2923
2015-03-11 14:12:08 +01:00
Klaas Freitag
9086f09fe2 SocketAPI: If filename has a trailing slash, remove it.
The SyncJournal stores the the names of directories without trailing slash.
2015-03-11 14:11:18 +01:00
Christian Kamm
efe9f1b442 Lnk: Work around QFile::rename() #2792
QFile::rename() fails if the source file is a shortcut to a file
or directory that does not exist.
2015-03-11 12:29:33 +01:00
Jocelyn Turcotte
db7919dc2f Shrink sizeof(SyncFileItem) by 20%
Move all small fields together in the struct and make them use bitfields.
Also remove the unused log::_other_remotePerm field.
2015-03-11 11:49:11 +01:00
Olivier Goffart
4a01644625 Disable parallel uploads for server versions <= 8.0.2
Issue #2938
2015-03-11 11:31:51 +01:00
Klaas Freitag
071177cee2 Output a more sensible error message for auth errors 2015-03-10 12:14:14 +01:00
Klaas Freitag
c88742fad3 Revert "SetupW: Display proper error messages if password or user was wrong."
This reverts commit 396f38598f.

This adds redundant code and potentially breaks Shibboleth
2015-03-10 11:17:35 +01:00
Markus Goetz
3b12b9d81d Revert "Propagator: Delete job on finish"
Needs a bit more thinking.

This reverts commit 8746914f3b.
2015-03-09 16:19:16 +01:00
Markus Goetz
31e4009737 Propagator: Use QBA for responseTimestamp instead of QString 2015-03-09 15:52:52 +01:00
Markus Goetz
8746914f3b Propagator: Delete job on finish 2015-03-09 15:41:43 +01:00
Klaas Freitag
2fa6839ac7 Make win32 build work again. 2015-03-09 15:14:55 +01:00
Klaas Freitag
b09e08c06f ShareDialog: Made it less "webbish" for better usability.
- Check the share checkbox automatically on open of the dialog
- Use the date picker with popping up calendar
- Proper initial size
- no resizing and appearing and disappearing.

Fixes probably #2917, also #2764
2015-03-09 14:33:02 +01:00
Jocelyn Turcotte
99f51998f2 Fix a crash in the crash reporter on OSX
The install_name of dependent libraries need to be updated
like we do for cmd and gui.
2015-03-06 19:28:53 +01:00
Klaas Freitag
396f38598f SetupW: Display proper error messages if password or user was wrong.
If the password or user was wrong during setup, the client showed a
ConnectionClosed error instead of a proper Username or password wrong
message. This was because in HTTPCredentials::slotAuthentication, the
reply is closed, and a property is set to indicate the auth problem.

This patch now checks at all occurences of networkErrors if it might
have been an authentication problem, and displays something useful.

There is a good chance that this is a sufficient fix for
owncloud/enterprise#556
2015-03-06 16:41:59 +01:00
Klaas Freitag
d2848b9c26 Theme: Return the correct version string from version() 2015-03-06 16:41:59 +01:00
Markus Goetz
b622981b23 SyncEngine: Show a debug msg only when relevant 2015-03-06 09:28:50 +01:00
Markus Goetz
668de9bf31 Propagate: Don't retry direct download on abort 2015-03-05 21:56:39 +01:00
Markus Goetz
3f712dce02 ETags: For Folder and RequestEtagJob, always use Concatenation 2015-03-05 17:49:12 +01:00
Markus Goetz
2eaeaf33fa Discovery: Change abort code a bit
Now pressing pause in the UI will not show an error to the user.
2015-03-05 16:50:33 +01:00
Luca Lorenzetto
4e56b0d266 Use dynamic library loading for detecting the correct path for links 2015-03-04 17:28:43 +01:00
Klaas Freitag
398bca9fe4 Add OWNCLOUDSYNC_EXPORT prefix to make windows build. 2015-03-04 13:50:55 +01:00
Olivier Goffart
46d5d22f72 PropagateUpload: also read the OC-ErrorString header from the poll job 2015-03-04 12:01:41 +01:00
Olivier Goffart
97c221d860 PropagateUpload: add a few comments 2015-03-04 12:00:55 +01:00
Jocelyn Turcotte
a5d29e6d56 Fix missing symbols on XP
Import a fix from libcrashreporter-qt that should remove
usage of symbols not available in XP's msvcrt.dll

This should help solving #2907 with the crash reporter enabled.
2015-03-04 09:51:54 +01:00
Markus Goetz
131cf63d8d Propagator: Don't use 0,0 progress signals.
They seemed to have messed up the calculation sometimes for
the last chunk.
2015-03-03 17:46:57 +01:00
Olivier Goffart
4d85f1daec setup wizard: use a PROPFIND instead of a GET on the webdav url
In order to initiate the conneciton, we should not send a GET on the
webdav URL because that is not a valid webdav command on a collection.

Issue #2911
2015-03-03 16:03:53 +01:00
Klaas Freitag
f913cd97ee DiscoveryJob: Fix progress display.
This fixes #2909
2015-03-03 16:01:17 +01:00
Olivier Goffart
ccbeb86140 Fix build of the legacy propagator 2015-03-03 10:05:38 +01:00
Olivier Goffart
b43e0f5ebd Do not ask for the password when the check server job times up
QNetworkReply::OperationCanceledError may be both because of anthentication
error (because the HTTPCredentials abort the reply) or because of a timeout
(the timer abort the reply). We should only ask for the password if the
reply was canceled because the password was wrong.
2015-03-03 09:21:24 +01:00
Markus Goetz
fe574dbbf9 Discovery: Free some memory before propagate (#2902) 2015-03-02 15:08:21 +01:00
Markus Goetz
7595c7e697 Discovery: Free some memory on VIO dir close (#2902) 2015-03-02 14:09:01 +01:00
Olivier Goffart
bd6769a3fd LsColJob: one must now specify the properties
So the discovery phase don't ask for the quota, and the selective sync
don't ask for all the other properties

Issue #2906
2015-03-02 11:03:25 +01:00
Markus Goetz
80f3c7584b libowncloudsync: Don't link to Qt SQL and Qt XML
For issue #2901 ..
2015-02-27 16:20:25 +01:00
Klaas Freitag
05624e3fc8 FileSystem: Remove QFileInfo based implementations.
QFileInfo has to be refreshed if the underlying file has been
modified in between. That is dangerous so ckamm and me decided
to eliminate the QFileInfo based implementations.

This was triggered by a bug that the client uploaded files that
it should not have.
2015-02-27 15:27:49 +01:00
Christian Kamm
e381143a8f Ensure good sync state if in-progress folder is deleted. #2896
The slotFolderSyncFinished() didn't reliably trigger because
the folder was being deleted before the syncFinished signal could
fire.
2015-02-27 12:39:19 +01:00
Christian Kamm
b03209ccef Inform user about ignored long files. #2882 2015-02-27 12:12:39 +01:00
Markus Goetz
ec03ebd69f Token Auth: Allow empty token
Just username/password. The received token will automatically be stored
inside the QNetworkCookieJar.
2015-02-27 11:58:18 +01:00
Roeland Jago Douma
51c617801d static member QFileInfo::exists is not available on 4.8 2015-02-27 08:43:33 +01:00
Klaas Freitag
8507aba9f8 SocketAPI: Append trailing slash for directories in UPDATE_VIEW.
This fixes #2233
2015-02-26 16:41:55 +01:00
Olivier Goffart
d8b6e00fe7 Propagator: Let network propagator job understand a new header OC-ErrorString
This allows the server to send a readable error string in many cases
2015-02-26 15:53:09 +01:00
Christian Kamm
c8167b77c9 Remove mention of allprop #2865 2015-02-26 12:36:11 +01:00
Christian Kamm
c37792f58f Propagator: Upload files with future timestamps. #2880 2015-02-26 11:00:06 +01:00
Christian Kamm
842e5ba5e0 Sharing: Fix for folders containing &. #2892 2015-02-26 09:58:09 +01:00
Roeland Jago Douma
fba9020950 Added copyright header 2015-02-25 18:32:25 +01:00
Klaas Freitag
506cc3908a Add proper copyright headers to some files, fixes #2869 2015-02-25 17:00:27 +01:00
Klaas Freitag
ca00b02b0a ShareDialog: Improve some GUI, fix #2850
This improves some wording and fixes some show/hide issues with password
setting.
2015-02-25 13:44:27 +01:00
Klaas Freitag
201075827f Sharedialog: Add a Share button. 2015-02-25 13:44:27 +01:00
Christian Kamm
5c7fd24ea8 Handle 503 due to maintenance more gracefully. #2884 2015-02-25 12:02:10 +01:00
Christian Kamm
76ac628153 Discovery: Distinguish 503 Storage not available. #2884 2015-02-25 12:02:10 +01:00
Christian Kamm
6f71bd9353 SocketAPI: Don't mark .lnk files as ignored on windows. #2447 2015-02-25 11:55:48 +01:00
Christian Kamm
f88398e776 lnk files: Fix exists() calls. #2792 2015-02-25 11:50:32 +01:00
Christian Kamm
08c33cd1dc Discovery: Fix handling of 503 on a folder. #2884 2015-02-25 08:09:07 +01:00
Klaas Freitag
1929040bb7 Discovery: Preserve the error message. 2015-02-24 22:02:31 +01:00
Klaas Freitag
3af936c8a1 Some minor cleanups. 2015-02-24 22:02:29 +01:00
Daniel Molkentin
f38aa698eb Don't translate dummy strings 2015-02-20 10:12:31 +01:00
Daniel Molkentin
366f3f68b8 Activity view: Always add date
Fixes #2223
2015-02-20 10:12:19 +01:00
Jocelyn Turcotte
03e23da6a3 Show the settings also when no arguments are passed
sendMessage would only be called if there were options to
be sent to the running application.
Fix the issue by having explicitly named messages and always
send the show settings message.

Issue #2374
2015-02-19 16:57:16 +01:00
Jocelyn Turcotte
2ddaf5a06a Add a NO_MSG_HANDLER cmake option
This allows QDebug to output to stdout or OutputDebugString
to ease development.
2015-02-19 16:57:16 +01:00
Olivier Goffart
5e1aa7d383 SyncEngine: Fix move would re-upload the file
Because SyncJournalDb::postSyncCleanup was deleting the entries in the database
2015-02-19 15:00:37 +01:00
Olivier Goffart
e1871eb325 libsync: Fix qWarning in SyncEngine::slotJobCompleted saying we cannot find the sync item when moving
We need to compare against the original file name, that's why it's there
2015-02-19 13:13:45 +01:00
Olivier Goffart
1998b602b9 SyncEngine: better merge of the renames node
The same file is on the two sync trees under different names in case of a rename
We must therefore use the rename target as the key in the _syncItemMap to ensure
that the trees are correctly merged.

Also use the same UTF-8 decoding for the target than for the actual file in order
to catch invalid utf-8 in the rename target
2015-02-18 12:41:06 +01:00
Olivier Goffart
193fca4a8b SyncFileItem::operator<: must return false when two items are equal
Fixes #2852
2015-02-18 12:41:06 +01:00
Olivier Goffart
fb77cd5f7e SyncEngine: Fix detection of the server reconfiguration
Some files might be kept (like the default files)
The files should be considered as NONE only if they are NONE on both trees

issue #2847
2015-02-17 16:44:13 +01:00
Daniel Molkentin
99d674c346 Default shiboolethwebview to 900x700, remember last size
Also add host to the title

Addresses #2285
2015-02-17 15:28:14 +01:00
Daniel Molkentin
9690ca0198 Explain the "crash now" button to translators 2015-02-17 14:03:09 +01:00
Olivier Goffart
9351c7485f Try another way to fix the build 2015-02-17 14:04:16 +01:00
Olivier Goffart
d43b82dc82 Fix compilation with clang
The compilation error was

 account.h:140:113: error: expected ')'
 const QList< QPair<QString, QString> > &queryItems = QList< QPair<QString, QString> >());
                                                                                   ^
followed by more errors.

The problem is because the compiler has hard time disambiguiating the comma

int foo(const QPair<int, int> &p = QPair<int, int>());
                                            ^
It is indeed quite hard for the compiler to know if this comma is a separation
between complate arguments or the separation between arguments of the functions.

Use the C++11 construct instead which does not need commas
2015-02-17 11:09:45 +01:00
Olivier Goffart
ce195bd599 SyncEngine: add an getter to the journal 2015-02-17 11:08:16 +01:00
Olivier Goffart
c0c8a22fa3 SyncEngine: pass a non-const reference to the SyncFileItemVector in aboutToPropagate
That way, users of the library  can change the contents of the sync item vector.
2015-02-17 11:08:16 +01:00
Jocelyn Turcotte
a955defae5 Raise the share window to make sure that the user sees it 2015-02-16 16:47:00 +01:00
Daniel Molkentin
2423aa592f Add new icons by Jan 2015-02-16 14:47:32 +01:00
Olivier Goffart
151228b2a6 Fix build when compiling libsync without QtGui
Utility must stay QtGui-free, move the hidpiFileName to the theme which
is the only part in libsync which uses it, and already has #ifdefs
2015-02-16 10:24:42 +01:00
Volkan Gezer
bd4f68233f some typos, grammar and sentence fixes 2015-02-14 23:47:07 +01:00
Olivier Goffart
d6bdbf9f34 Logger: use qFormatLogMessage with Qt 5.4 so it respects the Qt logging preferences 2015-02-14 14:23:01 +01:00
Christian Kamm
40dbc78407 concatUrl: Remove manual parsing, add test. #2817 2015-02-13 14:53:55 +01:00
Daniel Molkentin
957c9f060d GeneralSettings: Add OpenSSL version number to about text 2015-02-12 23:23:47 +01:00
Daniel Molkentin
0bf0bab1eb One more Qt4 compile fix 2015-02-12 22:13:58 +01:00
Olivier Goffart
a7c97388a9 Fix Qt4 build for another error 2015-02-12 20:16:02 +01:00
Olivier Goffart
86c480ee09 Fix Qt4 build 2015-02-12 20:10:31 +01:00
Olivier Goffart
0184a00151 PropagateDirectory: make the code a bit more readable
Do not call slotSubJobFinished when there is are no sub jobs because
no sub jobs were finished.  Instead just call a finalize method
2015-02-12 20:00:04 +01:00
Olivier Goffart
b9161aa06c libsync: Fix a case in which canceling the sync would result in some folder never being sync'ed
The problem occurs because of the sorting of items when we have things like

bigfolder
bigfolder/bigsubfolder
bigfolder-2

Then, because dashes come before slash in ascii, the bigfolder-2 would come before its content
and the propagator would thinkg bigfolder is empty and save the etag before it is processed

Should fix issue #2832
2015-02-12 20:00:04 +01:00
Daniel Molkentin
00e42d1177 More HIDPI support
Except for the non-native activity tab
icon in settings, this should fix #11
2015-02-12 19:44:40 +01:00
Klaas Freitag
d37dd040d0 Sharedialog: Use new share link from ownCloud Server 8 on.
This is derived from pull request https://github.com/owncloud/client/pull/2813
2015-02-12 17:04:03 +01:00
Christian Kamm
a2aef04f21 ConValidator: Avoid a double auth check during startup. #2801 2015-02-12 15:25:44 +01:00
Christian Kamm
8f75434558 QuotaInfo: Ensure only one QuotaJob during startup. #2801 2015-02-12 15:25:44 +01:00
Daniel Molkentin
3dd6bcc323 Disable GUI support for TLS client certificates
The feature needs mor work
2015-02-12 15:17:59 +01:00
Olivier Goffart
063271e978 propagateupload: Disable parallel chunk upload for owncloud < 8
Issue #2743
2015-02-12 14:50:42 +01:00
Olivier Goffart
438c4fe72e Account: put the server version in the account 2015-02-12 14:50:42 +01:00
Klaas Freitag
f4144d6d38 Merge pull request #2827 from rullzer/fix_2812
Added push button to sharedialog to set password
2015-02-12 13:49:56 +01:00
Klaas Freitag
eada70ba44 Sharedialog: Removed Thumbnail retrieval.
It uses an unstable API that the server does not really support.
We need to postpone that. Removed for now.
2015-02-12 13:47:07 +01:00
Daniel Molkentin
3439ea395b Remove one more mention of certDate 2015-02-12 12:43:41 +01:00
Daniel Molkentin
ba3bab8f49 Remove certificateDate property and other superfluous code 2015-02-12 12:37:42 +01:00
Christian Kamm
9ba88f6baf Windows: Sync .lnk files correctly. #2792 2015-02-12 11:27:58 +01:00
Christian Kamm
e4fce1250b Progress: Ensure overall progress is between 0 and 100. #2648
This should *already* be the case - but @dahan1999 reported that
it fixed #2648.
2015-02-12 10:09:07 +01:00
Roeland Jago Douma
8523803d94 Added push button to sharedialog to set password
Added button to explicitly set the password (makes is clear the user has to do
somethign!). Patch for #2812
2015-02-11 22:14:51 +01:00
Olivier Goffart
4f202e5f4c Fix TokenCredentials compilation 2015-02-11 18:10:01 +01:00
Christian Kamm
91ae912373 ShareDialog: Don't crash with bad response. #2811 2015-02-11 16:02:50 +01:00
Christian Kamm
5cdf448693 SyncJournal: Use DELETE journal mode on FAT filesystems. #2693 2015-02-11 14:03:55 +01:00
Christian Kamm
89c69250ef Fix crash in discovery thread dtor.
Occasionally on Windows ~DiscoveryMainThread() triggered a crash.

Probably because the QMutableLinkedListIterator was destroyed after
it's underlying data had been removed (from the map).

Cleaning up the map and lists was redundant anyway, so the
destructor is changed to only explicitly destroy the vio_file_stat
objects.
2015-02-11 14:00:23 +01:00
Christian Kamm
e79e2b80c8 SocketApi: Fix crash on exit. #2798
The _listeners list is destroyed before the _localServer.
And since _localServer is the parent of all generated QLocalSockets,
they get destroyed in turn - which triggers onLostConnection() and
thus accessed the destroyed _listeners list.

To avoid that, delete all active QLocalSockets in SocketApi before
its members are destructed.

We also now delete sockets when we're done with them. I think
disconnected sockets would otherwise linger until SocketApi destruction.
2015-02-11 09:50:10 +01:00
Christian Kamm
f8b24ac34d Fix reconnection after long network outage #2321
The problem was that StatusNotFound can indicate either a transient
network problem or a permanent server configuration problem.
2015-02-11 09:24:56 +01:00
Christian Kamm
51b9ec30a9 Remove connect to removed slot.
This seems to have slipped back in, probably during a complex merge
in ba8b1bbe06.
2015-02-11 08:12:09 +01:00
Klaas Freitag
d45d3892cb Account: Fix path assembling with QUrl, add query items separately.
Otherwise Qt does encode the delimiter between path and query items.
This fixes bug #2804
2015-02-10 17:13:27 +01:00
Klaas Freitag
0bf6a220ae Merge pull request #2807 from rullzer/sharedialog_force_password_multshare
Reset _public_share_id after we delete the share, thanks
2015-02-10 12:18:10 +01:00
Roeland Jago Douma
c44abf4918 Reset _public_share_id after we delete the share 2015-02-10 07:53:35 +01:00
Roeland Jago Douma
d7f5e89a1d Sharedialog: retrive thumbnail from server for shares
Initial patch for #2726. Request a thumbnail from the server if files are to be
shared.
2015-02-09 22:17:37 +01:00
Olivier Goffart
51337a10af LSCOL job: Fix getting the list of folders when there are non-ascii
Task #2795
2015-02-08 12:23:47 +01:00
Markus Goetz
d4132072d8 OS X: Send notification natively
For #2728
2015-02-07 18:23:40 +01:00
Klaas Freitag
4849c31add Sharing: Handle "Enforce password" for public shares properly.
If a 403 is received from the attempt to create a public link, the
dialog shows the password field, as this is server enforced.

This fixes #2774
2015-02-06 16:27:11 +01:00
Daniel Molkentin
01bca39138 s/mirall/client in transifex & translations
Last part of #2470
2015-02-06 15:16:55 +01:00
Olivier Goffart
6e8527e66d Wizard: Show the remote folder name when the theme has one
Relates to issue #2788
2015-02-06 14:50:52 +01:00
Jocelyn Turcotte
0d2b7967bc Windows: Fix opening activity entries with a space in the name
This fixes #2601
2015-02-06 13:44:06 +01:00
Olivier Goffart
70c8803a79 SelectiveSync: show a message in case of error or if there is no subfolder
Usefull when the folder does not exist (for example in case the theme
has a defaultServerFolder that does not yet exist, #2788)

But also to avoid confusion (issue #2663)
2015-02-06 12:27:54 +01:00
Olivier Goffart
0d2fb0754c Wizard: Fix the advanced setup page when the theme has a defaultServerFolder
Especially the selective sync dialog

Task #2788
2015-02-06 12:27:54 +01:00
Markus Goetz
1e57432aae Propagator: Fix crash
This crash was uncovered when testing parallel chunks when one chunk
finished the upload. The propagate was then finished with the other
UploadDevices still being in-flight in the QNAM.
2015-02-06 11:19:41 +01:00
Markus Goetz
7c0d3b8485 Sharing: tr()s added 2015-02-06 11:11:09 +01:00
Daniel Molkentin
46abd47bfe Merge pull request #2787 from cmeh/patch-1
Orthography: "an folder" corrected to "a folder"
2015-02-06 10:31:57 +01:00
Olivier Goffart
5ec793e045 propagateupload: Save the mtime given by the server in the reply to GET
There could be a race condition if the file was updated on the server
between the discovery and the propagate phase. By taking the mtime from
the server, we make sure that we do not have a race.

This is tested by t6.pl with BIG3.file because the script was modifying
the file between the two phases
2015-02-06 10:23:20 +01:00
cmeh
1554f41441 Orthography: "an folder" corrected to "a folder" 2015-02-06 10:22:49 +01:00
Daniel Molkentin
9e945eb471 Settings dialog: better color for separator line 2015-02-06 08:30:51 +01:00
Daniel Molkentin
c4dd1cfb69 Mac Settings Dialog: Native icons for account 2015-02-06 07:54:25 +01:00
Volkan Gezer
eaa9c4fdf8 json capital 2015-02-05 20:41:08 +01:00
Markus Goetz
94e61c3205 Notifications: Fix creation of notification (fixup2)
For #2728
2015-02-05 17:20:52 +01:00
Markus Goetz
c4cf13bd97 Notifications: Fix creation of notification (fixup)
For #2728
2015-02-05 16:55:32 +01:00
Markus Goetz
71e22ffe2c Notifications: Fix creation of notification
For #2728
2015-02-05 16:46:40 +01:00
Olivier Goffart
3169a6f170 SelectiveSync: change the wording of the dialog on the wizard
Have different wording depending on the wizardSelectiveSyncDefaultNothing theme option

Relates to #2580
2015-02-05 16:22:04 +01:00
Markus Goetz
446e2b27d7 OS X Sparkle: Fix warning 2015-02-05 15:49:46 +01:00
Olivier Goffart
856df4c5f6 libsync: Get the capabilities and store it in the account 2015-02-05 15:42:56 +01:00
Olivier Goffart
34237f604e JsonApiJob: Refactor out of the shibbolethuserjob 2015-02-05 15:42:01 +01:00
Olivier Goffart
21345b81f1 wizard: fix the EntityExistJob URL
We need to add the davPath in there.
Otherwise there will be a redirect which will break shiboleth
(We want to only enter the password once)

Issue #2739 and #2780
2015-02-05 12:53:04 +01:00
Olivier Goffart
3dd8ce08b8 Parallel chunk upload: Fix a off-by-one while saving the done chunk in the DB
We should assume that the chunk currently uploading is NOT done (hence the -1)

il task 405
2015-02-04 18:52:26 +01:00
Markus Goetz
f233af04f6 Windows XP: Possible fix for #2648 2015-02-04 18:49:04 +01:00
Olivier Goffart
acb7e972ea Merge pull request #2778 from jturcotte/master
Allow building natively on Windows with MinGW
2015-02-04 17:11:56 +01:00
Jocelyn Turcotte
1ac523ec01 Output libocsync and libowncloudsync in the bin directory
Windows finds DLLs using PATH or the directory of the process'
executable. By outputing those dependend DLLs together with
owncloud.exe, the developer only need to have OpenSSL's bin
and the qtkeychain build directory in his PATH to let the
dynamic linker find them.

As the documentation of RUNTIME_OUTPUT_DIRECTORY points out,
this only affects windows as other platforms don't consider
libraries as runtime targets.
2015-02-04 15:00:22 +01:00
Olivier Goffart
ca56e5d9ca SyncEngine: Fix crash
We must check if 'it' is not == to begin() before doing it-1
Also i believe the logic was reversed if it was begin()

Task #2765
2015-02-04 14:52:41 +01:00
Jocelyn Turcotte
43a51c1bef Fix the MinGW build
- qtkeychain isn't necessarily in a qt5keychain subdirectory.
- Explicitly add OpenSSL to the include directories
- Make sure that the USE_OUR_OWN_SQLITE3 code is initialized
  for csync by calling find_package.
2015-02-04 14:50:38 +01:00
Olivier Goffart
26132fd14e owncloudconnectionmethoddialog: typo 2015-02-04 13:42:49 +01:00
Olivier Goffart
ca68ccd76a Fix Qt4 build 2015-02-03 20:04:04 +01:00
Olivier Goffart
1f9d7c41e8 owncloudconnectionmethoddialog: Change order of buttons, fix wording, and add the URL 2015-02-03 17:55:01 +01:00
Roeland Jago Douma
48254579a2 Sharedialog: add copy button text and actually connect the button 2015-02-03 13:02:52 +01:00
Daniel Molkentin
a3106b1771 Client Dialog Support: Fix certificate dialog 2015-02-02 23:35:39 +01:00
Jeroen Hoek
227b7ccabd Add dialog to connection wizard
When connecting to a https:// URL fails, present the user with three
choices:

 * Try again with a http:// URL
 * Configure client-side TLS certificates
 * Go back and enter a different URL

This allows users connecting with an ownCloud server secured with
client-side TLS certificates to start the certificate import wizard
manually instead of relying on a custom server error message.
2015-02-02 22:29:21 +01:00
Christian Kamm
49021fd96d SyncJournal: Reset all prepared statements. #2757
Makes closing of the database actually release file locks.
2015-01-30 15:35:42 +01:00
Olivier Goffart
db6214e090 SyncEngine: Do not assert when the neon session is 0
It can now be 0 if neon is not in used

Issue #2755
2015-01-30 01:05:46 +01:00
Markus Goetz
df214cd6c1 Folder: Make debug message clearer
The thread was actually already started in the discovery phase.
2015-01-29 20:47:45 +01:00
Klaas Freitag
d2f1e6e03e ShareDialog: Disable sharing of external files.
See https://github.com/owncloud/client/issues/2732 for discussion.
2015-01-29 18:11:04 +01:00
Daniel Molkentin
332601ed26 Remove noisy debug output 2015-01-29 15:37:21 +01:00
Christian Kamm
43d6dbb0f2 SQL: Add debugging options. #2693
OWNCLOUD_SQLITE_JOURNAL_MODE: To use something else than WAL
OWNCLOUD_SQLITE_TEMP_STORE: To test with storing temporaries in memory.
2015-01-29 11:02:01 +01:00
Christian Kamm
cd0ad21132 SQL: Improve error reporting of failed exec(). #2693 2015-01-29 09:47:48 +01:00
Daniel Molkentin
6fa73e073f Certificate Wizard: Remove dead code, cleanup style 2015-01-28 17:38:38 +01:00
Christian Kamm
5fc231cda4 Shib: Fix fetching of 'user'. #2751 2015-01-28 15:15:35 +01:00
Daniel Molkentin
1ca8ab81c7 Fix for non C++11 compilers 2015-01-28 14:19:37 +01:00
Olivier Goffart
d70e146c1f Merge remote-tracking branch 'origin/ssl_client_cert'
Conflicts:
	CMakeLists.txt
	csync/src/CMakeLists.txt
	csync/src/csync_owncloud.c
2015-01-28 14:13:40 +01:00
Daniel Molkentin
989005d616 Clientcert support: Explictly link libsync against openssl 2015-01-28 13:31:17 +01:00
Christian Kamm
2cee591b0e Merge branch 'sharedialog_fixes' of git://github.com/rullzer/client
Fix missing OcsShareJob constructor.

Conflicts:
	src/gui/sharedialog.cpp
2015-01-28 12:19:40 +01:00
ckamm
8a71d7d254 Merge pull request #2730 from rullzer/filebrowser_integration
Sharedialog: 404 is also an acceptable response when retriving shares
2015-01-28 12:09:33 +01:00
Christian Kamm
7950eb8ed6 sqlite: Update to version 3.8.8.1. #2750 2015-01-28 11:52:04 +01:00
Christian Kamm
f59515883d FolderMan: Require 2s minimum delay.
Otherwise we run into "can't upload because it's too recent" issues
when the folder watcher triggers a sync.

We used to do this, but my recent refactoring started counting the
time since the last sync against this minimum delay, leading to
1ms delays in practice. This fixes the regression.
2015-01-28 11:24:47 +01:00
Daniel Molkentin
524f04f34e Wizard: Give useful error message when server access is forbidden
Final fix for #2607
2015-01-28 11:06:41 +01:00
Daniel Molkentin
9e7ee42eb7 Wizard Remove unused pointer 2015-01-28 11:06:41 +01:00
Daniel Molkentin
6f82e80698 Remove debug 2015-01-28 11:06:41 +01:00
Christian Kamm
37680a0909 ShareDialog: Prepare for multiaccount. #43
Also fix a possible bug with the share dialog when no account
is configured.
2015-01-28 10:52:55 +01:00
Christian Kamm
350ad98c27 Folderwizard: Prepare for multiaccount. #43
Avoid accessing the global account instance and instead pass it in
from the outside.
2015-01-28 10:40:32 +01:00
Olivier Goffart
b0dbb49ca8 Shib: fix broken signal/slot connections 2015-01-26 16:23:43 +01:00
Olivier Goffart
3169833cd7 gui: Still give a decent experience if there is no system tray
Helps for tasks #1138, #2023, #2123
2015-01-26 13:00:45 +01:00
Joachim Schiele
9abc3e1333 fixes required by upstream 2015-01-23 19:22:56 +00:00
Olivier Goffart
dcba129a98 Make it compile without neon 2015-01-23 17:56:46 +01:00
Olivier Goffart
b856266e91 Remove neon link flag when not required 2015-01-23 17:35:17 +01:00
Olivier Goffart
fe51ada1e8 Don't require NEON with Qt 5.4 2015-01-23 17:11:34 +01:00
Olivier Goffart
807277c0ae Socket API: Do not broadcast the shared menu entry on all socket when one connects to the socket API
Now we reply to the command SHARE_MENU_TITLE
2015-01-23 16:09:38 +01:00
Markus Goetz
12ac9f9aa9 Discovery: Fix broken signal/slots 2015-01-23 15:37:36 +01:00
Markus Goetz
3885d5d706 Discovery: Report root etag from engine to folder
For #2352
2015-01-23 15:30:44 +01:00
Markus Goetz
c54621eb19 OS X: Share menu for Finder 2015-01-23 12:00:31 +01:00
Klaas Freitag
2943b4a85a CMake: Fixed the rpath settings to make the nighlies build again. 2015-01-23 11:50:42 +01:00
Klaas Freitag
ed0b4e48d5 Sharedialog: Fix some error display. 2015-01-23 11:50:42 +01:00
Roeland Jago Douma
f9938c90ff Sharedialog: 404 is also an acceptable response when retriving shares
When we try to get the shares for a file/dir that has no shares yet 404 is an
acceptable response from the server.
2015-01-23 10:29:12 +01:00
Roeland Jago Douma
bcdc19f0e3 Sharedialog: Moved more logic to OcsShareJob
To make the Sharedialog a bit cleaner and to only have the logic in one place.
The postdata is now passed as a QList<QPair<QString, QString>> to the
OcsShareJob.
2015-01-23 09:41:10 +01:00
Roeland Jago Douma
fb967427e8 Sharedialog: We always want json return format
Cleanup the code a bit and set that we want json as return format for all
replies.
2015-01-23 09:17:00 +01:00
Roeland Jago Douma
0b10761291 Sharedialog: emit proper error code, only show error label if there is one 2015-01-23 09:10:02 +01:00
Olivier Goffart
0f98a90858 Wizard: Add an option in the theme to default to nothing selected in the selective sync
Issue #2580
2015-01-22 15:57:55 +01:00
Christian Kamm
094da51d82 FolderWatcher: Fix ignore list usage.
All patterns with started with a ] were not working correctly.
2015-01-22 15:42:47 +01:00
Olivier Goffart
3c26bfa618 Propagate Remote mkdir: save the fileid to the database early
It's important so that if we delete or rename  a diectory that is being
uploaded, this is properly detected
2015-01-22 15:11:04 +01:00
Olivier Goffart
168c89aba7 Wizard: fix spacing 2015-01-22 15:11:03 +01:00
Markus Goetz
0502f684e9 Discovery: Even less qDebug 2015-01-22 14:45:08 +01:00
Markus Goetz
45cb679ea7 Discovery: Less verbose debug 2015-01-22 14:37:35 +01:00
Markus Goetz
c9f9d55658 Merge branch 'qnam_csync_update'
Conflicts:
	src/libsync/networkjobs.cpp
2015-01-22 14:34:36 +01:00
Markus Goetz
dde8e35785 Discovery: Put results into proper place in map
The map is for memory management.
It can later be used as a cache for the recursive PROPFIND
(if we decide to activate it again)
2015-01-22 14:25:24 +01:00
Christian Kamm
fa4e6d8261 Exponential backoff for rapid follow up syncs. #2355 2015-01-22 08:55:52 +01:00
Christian Kamm
145df8ec67 Pause between sync runs (particularly long ones) #2355 2015-01-22 08:55:52 +01:00
Christian Kamm
af5cbdbed8 Folder: Add timer for sync duration. 2015-01-22 08:55:52 +01:00
Nourredine
ba8b1bbe06 adds 'SSL client certificate' support from n.octeau with qknight changes as:
* removed broken QSsl::SslV3 default
* rewrote slotHandleErrors(): no longer claim errors which are none.
* hack reverted: lib64 was not the cause for NixOS issues related to libraries.
* refactored csync/src/csync_owncloud.c and discovered+fixed why the dav_connect was never getting the certPath+certPassoword
* cleanup of code but seems this crushed the ssl client certificate support
* fixes the https://github.com/owncloud/client/issues/69#issuecomment-69358377 issue
* lots of cleanup
* From TODO list : translate all french comments into english
* changed _pemCertificate type from QString to QByteArray
2015-01-21 23:55:11 +00:00
Olivier Goffart
f2a7e0b28f Selective sync dialog: give a proper size by default 2015-01-21 15:37:00 +01:00
Olivier Goffart
0e86ceff73 Connection Validator: let the user cancel the password dialog
And don't ask for the password again if this happens
2015-01-21 15:33:51 +01:00
Olivier Goffart
c91de092e5 Setup wizard: Fix the http fallback logic
Also don't allow to go back from the advanced settings page because
this break everything
2015-01-21 15:33:51 +01:00
Markus Goetz
7a173f6e62 OS X: Fix path rewrite for owncloudcmd
It was broken after the folder restructuring (cmd/ and client/)
2015-01-21 15:17:40 +01:00
Klaas Freitag
95f7e83c5c Sharedialog: Some more refinements after the merge of the branch.
- Some dialog changes: Made it less vertical space comsuming
- Some variable cleanups
- Allow to share files that are not within the synced dir by
  copying them to the root of a sync dir first.
2015-01-21 15:05:23 +01:00
Olivier Goffart
d8b621d05f LsColJob: fix getting the sizes when the path contains %-encoded chars 2015-01-21 12:04:54 +01:00
Markus Goetz
fb87ad1442 OS X: Fix path rewrite for owncloudcmd
It was broken after the folder restructuring (cmd/ and client/)
2015-01-20 19:03:56 +01:00
Markus Goetz
c580275a01 Discovery: Delete file entries on destruction 2015-01-20 18:49:27 +01:00
Olivier Goffart
5c2298fa37 Discovery phase: fix a few warnings 2015-01-20 18:50:03 +01:00
Markus Goetz
906779c4b1 SyncEngine: Use QNAM for csync_update
This is for #2507
2015-01-20 18:27:25 +01:00
Klaas Freitag
bd80c034ba Merge pull request #2723 from rullzer/filebrowser_integration
Sharedialog: link sharing from desktop
2015-01-20 17:45:34 +01:00
Daniel Molkentin
00ed37dd02 Merge pull request #2709 from rullzer/monochrome-state-info-icon
Resepct theming when no syncs are configure
2015-01-20 08:21:42 +01:00
Daniel Molkentin
4de815ad67 Merge pull request #2710 from rullzer/sort_folder_order
Manged folder list in the tray icon is now sorted
2015-01-19 18:56:55 +01:00
Daniel Molkentin
86eed7cb81 Fix SSL button icons 2015-01-18 15:34:48 +01:00
Roeland Jago Douma
63f18a7ebb Sharedialog: Pass QDate around instead of QString
Now pass a QDate object around so we only do the conversion in one place in
case the API changes.
2015-01-17 09:57:17 +01:00
Roeland Jago Douma
233f0423fa Sharedialog: Also reply on delete should be checked 2015-01-17 09:48:18 +01:00
Roeland Jago Douma
d5bddca01d Sharedialog: More Q_FOREACH 2015-01-17 09:29:13 +01:00
Roeland Jago Douma
00cb6f71da Sharedialog: Set correct minimum date
The minimum date should always be the current date + 1 day.
2015-01-17 09:10:42 +01:00
Roeland Jago Douma
9ac35d5869 Sharedialog: Use arg instead of append 2015-01-17 09:01:24 +01:00
Roeland Jago Douma
bd1db30eea Sharedialog: Minor fixes
The server generates a new share when a password is set/deleted so we need to
refetch the shares once that is done.

It is not possible to set an expiration date in the past for a share. So do not
allow the user to select a date in the past.
2015-01-17 08:50:28 +01:00
Roeland Jago Douma
6c3a5b1d69 Sharedialog: Do not hard code error reply messages
The server provides error messages in the json return code. Use those error
messages.
2015-01-17 08:29:20 +01:00
Roeland Jago Douma
c233baab5b Sharedialog: grouped sharelink stuff in one widget
A bit of grouping in the UI requiring less ->hide() and ->show() calls
2015-01-17 08:10:18 +01:00
Christian Kamm
aa6a5e4ac2 Credentials: Use the bound account everywhere.
This is preparation for multiaccount.
2015-01-16 15:22:56 +01:00
Roeland Jago Douma
71560ace71 Sharedialog: Show general info about a share
A start with some general share info in the share dialog.
2015-01-16 14:48:56 +01:00
Roeland Jago Douma
0fba4eee98 Sharedialog: Removed user/group sharing 2015-01-16 14:06:34 +01:00
Christian Kamm
91fce3ea73 Make public API explicit about blacklist kind. #2301
'blacklist' can mean the selective sync blacklist or the error
blacklist. Names in public API are now explicit about which
blacklist is meant.
2015-01-16 10:17:19 +01:00
Christian Kamm
b50475bc17 SQL: Fix error reporting on prepare fail. #2697 2015-01-16 09:12:25 +01:00
Klaas Freitag
40c802b148 Download: Handle locking problems as soft errors, enterprise #455 2015-01-15 20:51:30 +01:00
Klaas Freitag
7d9f917810 Filesystem: Check more return values and more logging. 2015-01-15 20:51:30 +01:00
Klaas Freitag
a5ae1a9734 Folder: Only count error free downloads for the gui notification. 2015-01-15 20:51:30 +01:00
Klaas Freitag
506360716a FolderMan: Removed too explicit logging that scares users. 2015-01-15 20:51:30 +01:00
Olivier Goffart
22ad34fa0e Merge branch '1.7'
Conflicts:
	admin/win/nsi/l10n/French.nsh
	src/mirall/propagator_qnam.cpp
2015-01-15 17:58:43 +01:00
Olivier Goffart
ce0e7e4a5d Propagator download: Do not assume the server do not support ranges if we cannot parse the Content-Range header
There are several reason why start==0
* The Content-Range header was not present
* We can't parse it
* Or it is actually 0

If we can't parse it, we cannot assume anything and must error out.
So only in the first case we should discard the temporary file and continue.

Issue #2708
2015-01-15 17:56:49 +01:00
Olivier Goffart
907b79d3b8 Utility: Use appropriate unit when converting from bytes to human readable units
We must not use the SI units if we use power of 2

I believe that we should use SI units and power of 10
But since the server still use power of 2, we need to show the same numbers

But at least we use the proper standard IEC unit that are explicit
2015-01-15 14:06:17 +01:00
Olivier Goffart
863731fd6a Revert "Utility: Use SI units"
This reverts commit 7445fa7ef7.
and commit f654c53c35.

The server still use wrong powers, so we still need to use the same
2015-01-15 13:56:51 +01:00
Olivier Goffart
c9f1b3229b Add Folder Wizard: fix wording
(Relates #2663)
2015-01-15 13:55:48 +01:00
Olivier Goffart
2b8b204cfc SelectiveSyncDialog::estimatedSize: return qint64 because -1 in case of error 2015-01-15 13:07:16 +01:00
Olivier Goffart
264471af43 csync: cleanup some unused error code 2015-01-15 12:19:06 +01:00
Olivier Goffart
08d3ae9f02 csync_statedb: Have more granular error reporting when the loaddb fails
In order to distiguish error from sqlite_open or from the integrity check

Issue #2673
2015-01-15 11:36:24 +01:00
Roeland Jago Douma
cd0c9b2ddb Sharedialog: More error checking 2015-01-14 19:47:25 +01:00
Roeland Jago Douma
b80bbe6587 Sharedialog: more const 2015-01-14 19:36:42 +01:00
Roeland Jago Douma
879d41bf2d Sharedialog: Fix spinners and passwordfield
The password field now show correct info when a password is entered etc.
Maybe we should have an extra info part where we state that the user needs to
press enter to submit the password
2015-01-14 19:08:04 +01:00
Roeland Jago Douma
7b1cfd69d7 Sharedialog: use QProgressIndicator
This is a merge from the movie in the original commit (which was local) to the
QProgressIndicator. However, on all connections I tested it, it did not add
much since the API is in gernal pretty quick. So maybe we can just remove this.
2015-01-14 18:42:56 +01:00
Luca Lorenzetto
ef9f2a965d Fix for issue #2703 2015-01-14 17:39:14 +01:00
Olivier Goffart
ac0e8b1fe1 Qt 4 fix 2015-01-14 16:30:10 +01:00
Olivier Goffart
da0f7317b4 Wizard: Show the size of the folders that will be downloaded
Part of #2580
2015-01-14 16:11:07 +01:00
Roeland Jago Douma
3e81839af5 Sharedialog: Removed duplicted code
Handling of updated shares is identical from users and groups
2015-01-14 15:27:15 +01:00
Christian Kamm
0af5574951 Propagate upload: code cleanup 2015-01-14 15:20:02 +01:00
Olivier Goffart
0ae9055ea6 Propagator upload: Fix UploadDevice::seek 2015-01-14 15:08:09 +01:00
Olivier Goffart
885aafcea3 SelectiveSync dialog: Show the sizes of the folder 2015-01-14 15:08:09 +01:00
Olivier Goffart
7445fa7ef7 Utility: Use SI units 2015-01-14 15:08:09 +01:00
Markus Goetz
a544133d73 Propagator: Guard access to BandwidthManager
Shouls fix #2623
2015-01-14 14:28:47 +01:00
Christian Kamm
b3c02798a3 Propagator: Use FILE_SHARE_DELETE on Windows. #2070 #2597 2015-01-14 14:16:05 +01:00
Roeland Jago Douma
0bd6eb1792 Sharedialog: fix changes due to rebase 2015-01-14 13:51:02 +01:00
Olivier Goffart
3ec19ee355 Propatage upload: Preload the chunk in memory and close the file
This should solve #2675 and #1981

By preloading the chunks in memory before sending them, we don't keep the
file open and therefore we let other program open the file for writing.

If the file is modified between two chunks, we detect that and abort anyway
2015-01-14 13:46:51 +01:00
Olivier Goffart
0215b250af UploadDevice: mark overrided method as Q_DECL_OVERRIDE 2015-01-14 13:46:51 +01:00
Olivier Goffart
6a0c9fdd34 Propagate upload: Change the default chunk size to 5MiB and make chunk upload parallel
The server is slow to process each chunk. As a result the time between
the chunks is not neglectible. Therefore we gain a lot of time by
uploading the chunks in parallel. So the bandwitdh is used when the
server is waiting between chunks.
2015-01-14 13:46:51 +01:00
Olivier Goffart
7f1593c5d7 PropagateUpload: The PUTJob owns the chunk device, so make it a QScopedPointer instead of a QSharedPointer 2015-01-14 13:46:51 +01:00
Roeland Jago Douma
e420a689dc Sharedialog: More reply checking and removing some duplicated code 2015-01-14 13:43:01 +01:00
Roeland Jago Douma
9addd56f9b Sharedialog: follow correct behavior for files when editing permissions 2015-01-14 13:43:01 +01:00
Roeland Jago Douma
a7e69a5dc5 Sharedialog: Started parsing server replies 2015-01-14 13:43:01 +01:00
Roeland Jago Douma
f6a83d5de2 ShareDialog: UI is different for files/dirs
Bunch of if statements to make sure that we do not display delete/create on
files.
2015-01-14 13:43:01 +01:00
Roeland Jago Douma
d1d8a40acf Sharedialog: fix unused var compiler warnings 2015-01-14 13:39:07 +01:00
Roeland Jago Douma
cb18dfaaef Sharedialog: Of course users can also have create and delete privileges 2015-01-14 13:39:07 +01:00
Roeland Jago Douma
a22a03e501 ShareDialog: Group sharing is now also possible
Basically the same functionality as for user sharing. Maybe it would be wise to
merge the two functionalities. Should be rather straight forward if we also
merge the UI parts.
2015-01-14 13:39:06 +01:00
Roeland Jago Douma
9a35b5670e ShareDialog: Allow sharing with users
This commit needs a lot of cleaning up. And a lot of error checking needs to be
added. However it is now possible to change and add new shares with users.
Sharing with groups should be just copy paste.

Also the UI needs some love.
2015-01-14 13:39:06 +01:00
Roeland Jago Douma
017b54f9a8 Sharedialog: Allow modifications of permission for users 2015-01-14 13:39:06 +01:00
Christian Kamm
9b7e6cc5c1 Fix warnings.
* remove Unused variable
* zorder for spacers makes no sense
2015-01-14 11:28:53 +01:00
Klaas Freitag
209276efa8 ShareDialog: Moved open slot from Application object to Gui object.
Also set auto delete flag for the dialog explicitely.
2015-01-13 13:50:41 +01:00
Daniel Molkentin
31e584e3e3 Fix win32 build 2015-01-12 13:53:40 +01:00
Klaas Freitag
ad09f6491b ShareDialog: Fix const ref for arguments. 2015-01-12 11:35:11 +01:00
Klaas Freitag
efbe033bfb Sharedialog: Fix merge problem (use AccountPtr) plus cleanup. 2015-01-12 11:30:02 +01:00
Klaas Freitag
2c6f0950f6 Merge pull request #2674 from rullzer/filebrowser_integration
Add Sharing from the desktop, SocketAPI and Dialog.
2015-01-12 11:16:28 +01:00
Roeland Jago Douma
b680788f48 Sharedialog: Allow setting and retrieving of experiation data for public urls 2015-01-12 10:14:45 +01:00
Daniel Molkentin
5e0d4ab31d Further Windows compile fix 2015-01-12 09:50:37 +01:00
Daniel Molkentin
488f993f45 Fix compilation on Windows 2015-01-12 09:40:11 +01:00
Roeland Jago Douma
811cbc27c0 Sharedialog: Construct correct public url for existing shares 2015-01-11 14:16:49 +01:00
Volkan Gezer
cefa31eb82 fix typo
suggested by transifex translator
2015-01-11 14:07:04 +01:00
Roeland Jago Douma
25e90ff658 Sharedialog: use Q_FOREACH 2015-01-11 13:56:23 +01:00
Roeland Jago Douma
fa390299f9 Added Q_FUNC_INFO at several places 2015-01-11 13:41:15 +01:00
Roeland Jago Douma
accb036507 Removed some unused outcommented code 2015-01-11 13:36:45 +01:00
Roeland Jago Douma
44690ff596 ShareDialog: fixed "" -> QString 2015-01-11 13:27:32 +01:00
Roeland Jago Douma
e20f819c1d Sharedialog: QString("") -> QString() 2015-01-11 13:24:40 +01:00
Roeland Jago Douma
1d011a2f9a ShareDialog: make visible text translatable 2015-01-11 13:22:48 +01:00
Roeland Jago Douma
bc84a78b0f ShareDialog: Made slot arguments const 2015-01-11 11:19:12 +01:00
Daniel Molkentin
6034bd0946 Wizard: Never attempt to hide server page
The wizard code used to call hide() on hardcoded wizards.
This means that for a brief moment, the first page with the URL
(disabled line edit) may be seen. I think that's completely
legitimate from a feedback perspective. The alternative would
be to unhide on error, but this is rather unelegant...
2015-01-11 07:38:09 +01:00
Klaas Freitag
786a877986 SocketAPI: Some cleanups plus added some consts 2015-01-09 11:44:01 +01:00
Daniel Molkentin
c86d8e5acf Clean up BSD support patch 2015-01-08 22:40:47 +01:00
Daniel Molkentin
4a819026df Merge pull request #2634 from ryo-on/netbsd-support
Support NetBSD like FreeBSD or Linux.
2015-01-08 22:35:44 +01:00
Olivier Goffart
7671ae8df7 Application: Initialize the folderman after we checked for existance
So we don't start the SocketAPI if we are going to quit.
We also do not log any message anymore before we install the hooks

Should solve #2666
2015-01-08 16:52:23 +01:00
Daniel Molkentin
df555d5321 Merge remote-tracking branch 'origin/master' into accountstate
Conflicts:
	src/cmd/cmd.cpp
2015-01-08 15:38:41 +01:00
Daniel Molkentin
c3468b7ed6 Merge remote-tracking branch 'origin/master' into accountstate
Conflicts:
	src/gui/owncloudsetupwizard.cpp
	src/gui/owncloudsetupwizard.h
	src/libsync/propagatedownload.cpp
	src/libsync/propagatedownload.h
2015-01-08 15:33:39 +01:00
Olivier Goffart
bbf0e7c0a5 owncloudcmd: add --unsyncedfolders to test selective sync 2015-01-08 15:27:02 +01:00
Daniel Molkentin
3f5c1d2ade Merge pull request #2678 from chrodan/master
Hide Ignored files in context menu
2015-01-08 14:29:36 +01:00
Daniel Molkentin
dd063d0207 Add hack to make old themes work 2015-01-08 14:21:58 +01:00
Christoph Dann
309ff2997c potential fix for #1865
Do not show ignored files in context menu
2015-01-08 11:42:14 +01:00
Daniel Molkentin
8e8ca97eec Fix build 2015-01-08 09:42:26 +01:00
Daniel Molkentin
51d7559a2c Simplify checkDowngradeAdvised logic
Also, show() and back() belong into slotConnectionCheck only
2015-01-07 18:22:44 +01:00
Daniel Molkentin
5c4f706fe4 Setup Wizard: Make sure to reset auth type when URL changes 2015-01-07 18:01:18 +01:00
Daniel Molkentin
7ac32a19b5 Do not show the HTTP-reconnect popup when its not warranted
Fixes usability issues in the workaround of #2607
2015-01-07 18:01:11 +01:00
Olivier Goffart
8e3dbcb7c0 SocketAPi: use absoluteFilePath unstead of canonicalFilePath
Because canonicalFilePath is way too slow.

Issue #2671
2015-01-07 14:37:05 +01:00
Olivier Goffart
ab0bc75e43 PropagateUploadFileQNAM::slotUploadProgress: Fix inverted condition
( Apply this commit 2d8053a9df )
2015-01-05 17:32:12 +01:00
Olivier Goffart
414ac5433d Merge branch '1.7'
Conflicts:
	binary
	doc/accountsetup.rst
	doc/architecture.rst
	doc/navigating.rst
	doc/owncloudcmd.rst
	doc/troubleshooting.rst
2015-01-05 14:40:53 +01:00
Olivier Goffart
b2c01ffe21 SyncEngine: Show an error when a file name is not encoded with valid UTF-8
... instead of uploading the file with replacement character, and asserting
on the next sync.

Issue #2649

If the file or folder on the file system has a name with invalid UTF-8,
We would convert the name to utf-8, and the conversion would result in
replacement character placeholder.  And we would upload that file on the server
with that name, and save it with this name on the database.
Fix this issue by showing an error to the user for invalid files.
2015-01-05 13:54:31 +01:00
Olivier Goffart
517dea6958 accountsettings: Use right palette when using reversed palette
Issue #2654

The problem is that the WindowsVistaStyle does something wierd with the palette
when drawing the text, and we should do the same then.
2015-01-05 12:17:05 +01:00
Roeland Jago Douma
ee2e6e5dce Also allow sharing if we only sync a part 2014-12-28 20:13:11 +01:00
Roeland Jago Douma
facb6b2e81 Check box public link now works multiple times
When deleting a share (public link) and recreating it we need to store the new
id.
2014-12-28 20:13:11 +01:00
Roeland Jago Douma
ec3c83c0c9 Minor sharedialog.ui fixes 2014-12-28 20:13:10 +01:00
Roeland Jago Douma
0ad4fb7273 Create valid poststring 2014-12-28 20:13:10 +01:00
Roeland Jago Douma
763d5f67cd Some error checking on SHARE sockeAPI command 2014-12-28 20:13:10 +01:00
Roeland Jago Douma
b7d4c997a3 Fix rebase of branch 2014-12-28 20:13:10 +01:00