💻 Desktop sync client for Nextcloud
Find a file
Jocelyn Turcotte 0469236d80 Overlay icon fixes (#4765)
* 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.

* 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.

* 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.

* 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.

* [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-02 16:33:17 +02:00
admin [tx-robot] updated from transifex 2016-04-24 01:15:28 -04:00
binary@ac42257499 Revert "Disambiguate socket API pathes on Windows with user name" 2016-04-28 13:52:15 +02:00
cmake OS X: Allow ampersand in APPLICATION_NAME #4657 2016-04-15 11:30:49 +02:00
csync Adding CURL check in t6.pl 2016-04-30 11:44:16 +02:00
doc Merge pull request #4704 from owncloud/doc_overlay_icons 2016-04-22 08:40:09 -07:00
resources Added temporar icon for notifications. 2016-03-10 17:22:36 +01:00
shell_integration Revert "Disambiguate socket API pathes on Windows with user name" 2016-04-28 13:52:15 +02:00
src Overlay icon fixes (#4765) 2016-05-02 16:33:17 +02:00
test Use QTokenizer to properly parse netrc 2016-04-21 12:46:03 +02:00
theme Run optipng on existing non-mono state icons 2015-09-11 13:45:57 +02:00
translations [tx-robot] updated from transifex 2016-04-28 02:19:20 -04:00
.gitattributes git: fix entry in .gitattributes to not export binary dir. 2014-09-22 11:24:24 +02:00
.gitignore Add Dockerfile that allows cross compiling the client 2016-02-05 12:17:31 +01:00
.gitmodules Submodule: Use https path 2016-03-15 11:55:28 +01:00
.tag Export repo revision indicator 2012-10-12 14:44:21 +02:00
.travis.yml Cleanup travis build file 2015-06-12 13:22:08 +02:00
binary.rej Bump to 1.9 2015-05-06 17:01:05 +02:00
ChangeLog ChangeLog: Set release date 2016-02-09 15:57:01 +01:00
client.qrc Added temporar icon for notifications. 2016-03-10 17:22:36 +01:00
CMakeLists.txt OS X: Allow ampersand in APPLICATION_NAME #4657 2016-04-15 11:30:49 +02:00
config.h.in Remove legacy propagator and neon 2015-10-20 17:57:43 +02:00
CONTRIBUTING.md Minor build etc typos 2015-09-10 13:20:11 +05:45
COPYING Correct COPYING file from FSF website, rpmlint found an old address 2011-11-22 22:45:14 +01:00
COPYING.documentation Add doc cmake targets (HTML, PDF, QtHelp, CHM, man) 2012-11-25 00:38:47 +01:00
CPackOptions.cmake.in Mirall -> (Desktop) Client 2014-12-08 17:54:32 +01:00
issue_template.md Use 1.8 troubleshooting link 2015-03-30 17:32:19 +02:00
mirall.desktop.in [tx-robot] updated from transifex 2016-04-22 06:16:18 -04:00
OWNCLOUD.cmake Minor build etc typos 2015-09-10 13:20:11 +05:45
OwnCloudCPack.cmake CPack: Use APPLICATION_SHORTNAME rather than APPLICATION_NAME 2015-07-16 14:38:59 +02:00
README.md Add coverity badge 2015-11-04 21:06:48 +01:00
sync-exclude.lst Exclude: .Trash-* trash folders #4600 2016-04-14 18:27:33 +02:00
theme.qrc Add changes theme.qrc 2015-09-11 15:31:56 +02:00
VERSION.cmake Set base version to 2.3.0. For 2.2, please use the branch 2.2 2016-04-25 14:15:17 +02:00

ownCloud Desktop Client

Job State
client-build-matrix Build Status
client-test-matrix-linux-no-build Build Status
coverity_scan Build Status

Introduction

The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server with your computer.

Download

Binary packages

Source code

The ownCloud Desktop Client is developed in Git. Since Git makes it easy to fork and improve the source code and to adapt it to your need, many copies can be found on the Internet, in particular on GitHub. However, the authoritative repository maintained by the developers is located at https://github.com/owncloud/client.

Building the source code

Building the Client in the ownCloud Desktop Client manual.

Maintainers and Contributors

The maintainers of this repository are:

ownCloud Desktop Client is developed by the ownCloud community and receives patches from a variety of authors.

Reporting issues and contributing

If you find any bugs or have any suggestion for improvement, please file an issue at https://github.com/owncloud/client/issues. Do not contact the authors directly by mail, as this increases the chance of your report being lost.

If you created a patch, please submit a Pull Request. For non-trivial patches, we need you to sign the Contributor Agreement before we can accept your patch.

If you want to contact us, e.g. before starting a more complex feature, you can join us at #owncloud-client-dev.

License

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.