Commit graph

2554 commits

Author SHA1 Message Date
Olivier Goffart
d59c146488
Fix encoding of version string 2017-10-05 22:01:38 +02:00
Dominik Schmidt
bdd3dc743b
Set CMAKE_INSTALL_RPATH as RPATH for installed executables 2017-10-05 22:01:37 +02:00
Christian Kamm
96a6d64500
Packaging: Make check for theme.qrc more specific #5957
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-10-05 22:01:37 +02:00
Christian Kamm
f64519bfbd
Move the --version output text to Theme #5957
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-10-05 22:01:37 +02:00
Olivier Goffart
bbbd2319ed
Use QDateTime::currentDateTimeUtc instead of the non utc version
QDateTime::currentDateTime is terribly slow.
2017-10-05 22:01:37 +02:00
Olivier Goffart
79c775bcd8
OAuth: Fix crash when closing the browser while identifying
To reproduce, log in and click "authorize" on the browser, then close
the browser before the client has replied, (but after redirected to localhost,
i.e. when the client is asking the server for the token)

The problem is that socket can be destroyed so we don't need to answer on a
destroyed socket.
2017-10-05 22:01:37 +02:00
Jocelyn Turcotte
185cb2e39a
Use SyncJournalDb in csync
This gets rid of the csync_statedb sqlite layer and use
the same code and same connection as the rest of the SyncEngine.

Missing functions are added to SyncJournalDb and change a few minor
things (like changing SyncJournalFileRecord::_modtime to be an int64
instead of a QDateTime, like it was in csync).
2017-10-05 22:01:37 +02:00
Jocelyn Turcotte
c6610f6fbf
SyncJournalDB: Allow callers of getFileRecord if the query failed
The current implementation would return the same value whether the query failed
or if no row would be found. This is something that is currently checked by csync
and needs to be provided if we want to use SyncJournalDB there.

Adjusted all call sites to also check the return value even though they
could still just rely on rec.isValid(), but makes it more explicit as to what
happens for database errors in those cases, if we ever want to gracefully handle
them.
2017-10-05 22:01:37 +02:00
Markus Goetz
cabf7a79d5
macOS: Fix compile 2017-10-05 22:01:36 +02:00
Olivier Goffart
2b12990f19
Httpcreds: Fix double slash in the Request App Password url
Issue #6044
2017-10-05 22:01:36 +02:00
Olivier Goffart
3184d4bb32
OAuth2: Fix double slash in URL
We need to use concatPath to avoid possible double '/' in the URLs if the
account url() ends with '/'.

This has become even more of a problem since commit
d1b8370a4a which was resolving the url after
a redirect where most server actually add a '/' if the url is a folder
2017-10-05 22:01:36 +02:00
Olivier Goffart
f793de4629
RemotePermissions: Store in a class rather than in a QByteArray to save memory
Create a specific type that parses the permissions so we can store
it in a short rather than in a QByteArray

Note: in RemotePermissions::toString, we make sure the string is not
empty by adding a space, this was already existing before commit
e8f7adc7ca where it was removed by mistake.
2017-10-05 22:01:35 +02:00
Olivier Goffart
0ad05aee0d
Port to new signal-slot syntax what cannot be done automatically
Some slot were protected or private but needed to be public.
Some needed a static_cast (can't use qOverload because it is in Qt 5.7)

This is not only a partial change.
2017-10-05 22:01:35 +02:00
Olivier Goffart
7aca2352be
Use the Qt5 connection syntax (automated with clazy)
This is motivated by the fact that QMetaObject::noralizeSignature takes 7.35%
CPU of the LargeSyncBench. (Mostly from ABstractNetworkJob::setupConnections and
PropagateUploadFileV1::startNextChunk). It could be fixed by using normalized
signature in the connection statement, but i tought it was a good oportunity
to modernize the code.

This commit only contains calls that were automatically converted with clazy.
2017-10-05 22:01:35 +02:00
Olivier Goffart
c219ceea52
Gui: Use lambda instead of QSignalMapper
It's simpler, and QSignalMapper is deprecated in Qt 5.10
2017-10-05 22:01:34 +02:00
Olivier Goffart
608f5034ef
Remove settingsdialog.cpp.Rbt431 2017-10-05 22:01:34 +02:00
Christian Kamm
05927b68a8
Private links: Retrieve link through propfind property #6020
* The sharing ui does a propfind anyway: use that to query the new
property as well!
* For the socket api, asynchronously query the server for the right url
when an action that needs it is triggered.

The old, manually generated URL will be used as fallback in case the
server doesn't support the new property or the property can't be
retrieved for some reason.

Depends on owncloud/core#29021
2017-10-05 22:01:34 +02:00
Olivier Goffart
faa7fd1b32
Gui: Allow to add multiple sync folder connection of the same folder
... or child folders

There is also no real reason to forbid the user from syncing the same
folder to multiple location on its hardrive.
A real use case is when the user uncheck a big directory using "choose
what to sync", but would still like to sync a folder within this disabled
tree. The user can now do this with the "add folder" feature

Since 2.3, we even support syncing the same local folder to multiple
remote folder, so why not allow syncing the same remote folder several
times?

Relates to issue #3645
2017-10-05 22:01:34 +02:00
Jocelyn Turcotte
81e32e1a08
Move SyncJournalDB to src/common 2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
0f21ed6a5b
Remove SyncFileItem::_isDirectory
It's always equivalent to _type == SyncFileItem::Directory.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
85a93efe51
Remove SyncFileItem::log
This remove the remaining "other" fields of the sync log to save a
bit of memory.

other_etag and other_fileId don't give much information to the users
and other_instruction will always be INST_NONE anyway.

other_modtime and other_size are kept since they are sometimes used.
They were renamed to have a bit more meaningful name.

SyncEngine::checkPermissions will now fetch its information from the
csync trees since they are now preserved until right after this point.

Fixes #3213
2017-10-05 22:01:33 +02:00
Christian Kamm
78b082a23c
Reduce timeout for some admin jobs
The oauth token jobs and the wizard redirect check job shouldn't have
5min timeouts.
2017-10-05 22:01:32 +02:00
Christian Kamm
1aa1e7f833
Wizard: Handle url-shortener redirects #5954
Grab any permanent redirects from the base url the user entered
before attempting to connect to a modified url (with status.php
added).
2017-10-05 22:01:32 +02:00
Christian Kamm
23153a4866
Credentials: Use per-account keychain entries #5830
This requires a lot of migration code: the old entries need to be read,
saved to the new locations and then deleted.
2017-10-05 22:01:32 +02:00
Christian Kamm
e47b8ffaca
OAuth: Don't use implicit POST bodies
The query args of POST requests become the request body. If there's a
redirect, the redirected url will therefore not contain the query
arguments. Use an explicit request body to make the redirection work.
2017-10-05 22:01:32 +02:00
Christian Kamm
a79b0a3791
OAuth: Pass client auth in header instead of url
To play more nicely with redirects.
2017-10-05 22:01:32 +02:00
Christian Kamm
ce51ea34b9
OAuth: Use redirectable jobs for oauth token management 2017-10-05 22:01:32 +02:00
Christian Kamm
df05042e7f
Make DetailError different from BlacklistedError
It's quite different in regard to blacklist handling and overall
sync failure changes.
2017-10-05 22:01:32 +02:00
Helmut K. C. Tessarek
e8f17f5b0b
remove qt4 code 2017-10-05 22:01:32 +02:00
Christian Kamm
72131ff4ce
Excludes: Allow escaping # #6012
Otherwise adding patterns that start with # are impossible to add, since
they get treated as comments. Also add this escaping for patterns added
in the ui.
2017-10-05 22:01:06 +02:00
Christian Kamm
755b18db61
Folder: Check etag again after active sync #4116
Maybe more things were happening on the server?
2017-10-05 22:01:05 +02:00
Christian Kamm
b810ce7768
Update server url in case of permanent redirection #5972
This is the first time the account url may update outside of
account setup.

Summary of redirection handling:
1. During account setup (wizard)
   - status.php gets permanently redirected -> adjust url
   - authed PROPFIND gets *any* redirection -> adjust url
2. During connectivity ping (ConnectionValidator)
   - status.php gets permanently redirected -> adjust url (new!)

All other redirections should be followed transparently and
don't update the account url in the settings.
2017-10-05 22:01:05 +02:00
Christian Kamm
1c0d80c20d
Use DetermineAuthTypeJob in HttpCredentials
* Move it to networkjobs
* Minor adjustments to its logic
* Fixes redirect handling for oauth/basic http auth check #6003
2017-10-05 22:01:05 +02:00
Jocelyn Turcotte
a8c33885bb
Fix the macOS Sparkle build 2017-10-05 22:01:04 +02:00
Christian Kamm
3591849279
Http credentials: Fix behavior for bad password #5989
When the GET request from askFromUser is scheduled on the QNAM inside
the slot that handles the QNetworkReply::finished signal, it seems to
not get processed at all.

This workaround moves the sending of the new GET to the event loop,
sidestepping the problem.
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
bfc7ea562d
Move Utility to a new common static library
Now that csync builds as C++, this will avoid having to implement
functionalities needed by csync mandatorily in csync itself.

This library is built as part of libocsync and symbols exported
through it.
This requires a relicense of Utility as LGPL. All classes moved into
this library from src/libsync will need to be relicensed as well.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
f897a91354
Move csync to src/csync 2017-10-05 22:01:03 +02:00
rockihack
ecaa37efbe Linux Hardening
see: https://wiki.debian.org/Hardening#User_Space
2017-09-29 14:34:30 +02:00
Olivier Goffart
0ceb806f1a Test OAuth2
Include a test for PR #6057
2017-09-28 18:38:33 +02:00
Olivier Goffart
1da398e6c6 OAuth: fix compilation with old gcc
We need to used QPointer::data in the signal slot connection

Relates to pr #6065
2017-09-28 10:55:28 +02:00
Markus Goetz
2df74fd9d7 Updater: Rudimentary support for beta channel
So we can get people update from our alpha to the beta and rc
2017-09-27 16:23:34 +02:00
Olivier Goffart
d68b07dfc7 Fix encoding of version string 2017-09-27 12:06:49 +02:00
Dominik Schmidt
a2ce739192 Set CMAKE_INSTALL_RPATH as RPATH for installed executables 2017-09-27 09:13:44 +02:00
Christian Kamm
9a021d2279 Packaging: Make check for theme.qrc more specific #5957
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-09-27 09:13:44 +02:00
Christian Kamm
844bfc5f25 Move the --version output text to Theme #5957
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
2017-09-27 09:13:44 +02:00
Olivier Goffart
13e0cc6b50 Use QDateTime::currentDateTimeUtc instead of the non utc version
QDateTime::currentDateTime is terribly slow.
2017-09-26 16:14:17 +02:00
Olivier Goffart
7af81f7665 OAuth: Fix crash when closing the browser while identifying
To reproduce, log in and click "authorize" on the browser, then close
the browser before the client has replied, (but after redirected to localhost,
i.e. when the client is asking the server for the token)

The problem is that socket can be destroyed so we don't need to answer on a
destroyed socket.
2017-09-26 14:56:57 +02:00
Jocelyn Turcotte
a034ee894c Use SyncJournalDb in csync
This gets rid of the csync_statedb sqlite layer and use
the same code and same connection as the rest of the SyncEngine.

Missing functions are added to SyncJournalDb and change a few minor
things (like changing SyncJournalFileRecord::_modtime to be an int64
instead of a QDateTime, like it was in csync).
2017-09-26 11:03:23 +02:00
Jocelyn Turcotte
6f46764daa SyncJournalDB: Allow callers of getFileRecord if the query failed
The current implementation would return the same value whether the query failed
or if no row would be found. This is something that is currently checked by csync
and needs to be provided if we want to use SyncJournalDB there.

Adjusted all call sites to also check the return value even though they
could still just rely on rec.isValid(), but makes it more explicit as to what
happens for database errors in those cases, if we ever want to gracefully handle
them.
2017-09-26 11:03:23 +02:00
Markus Goetz
81d9f94a29 macOS: Fix compile 2017-09-23 13:42:39 +02:00
Olivier Goffart
382cc444f0 Httpcreds: Fix double slash in the Request App Password url
Issue #6044
2017-09-23 10:10:40 +02:00
Olivier Goffart
0cec6f08ca OAuth2: Fix double slash in URL
We need to use concatPath to avoid possible double '/' in the URLs if the
account url() ends with '/'.

This has become even more of a problem since commit
d1b8370a4a which was resolving the url after
a redirect where most server actually add a '/' if the url is a folder
2017-09-23 10:10:40 +02:00
Olivier Goffart
95d23b1914 RemotePermissions: Store in a class rather than in a QByteArray to save memory
Create a specific type that parses the permissions so we can store
it in a short rather than in a QByteArray

Note: in RemotePermissions::toString, we make sure the string is not
empty by adding a space, this was already existing before commit
e8f7adc7ca where it was removed by mistake.
2017-09-22 09:29:08 +02:00
Olivier Goffart
35e4fe061d Port to new signal-slot syntax what cannot be done automatically
Some slot were protected or private but needed to be public.
Some needed a static_cast (can't use qOverload because it is in Qt 5.7)

This is not only a partial change.
2017-09-21 14:05:39 +02:00
Olivier Goffart
ff4213b59f Use the Qt5 connection syntax (automated with clazy)
This is motivated by the fact that QMetaObject::noralizeSignature takes 7.35%
CPU of the LargeSyncBench. (Mostly from ABstractNetworkJob::setupConnections and
PropagateUploadFileV1::startNextChunk). It could be fixed by using normalized
signature in the connection statement, but i tought it was a good oportunity
to modernize the code.

This commit only contains calls that were automatically converted with clazy.
2017-09-21 14:05:39 +02:00
Olivier Goffart
797f8087bc Gui: Use lambda instead of QSignalMapper
It's simpler, and QSignalMapper is deprecated in Qt 5.10
2017-09-21 14:05:39 +02:00
Olivier Goffart
bf77ac6ba5 Remove settingsdialog.cpp.Rbt431 2017-09-21 09:25:45 +02:00
Christian Kamm
dca2664707 Private links: Retrieve link through propfind property #6020
* The sharing ui does a propfind anyway: use that to query the new
property as well!
* For the socket api, asynchronously query the server for the right url
when an action that needs it is triggered.

The old, manually generated URL will be used as fallback in case the
server doesn't support the new property or the property can't be
retrieved for some reason.

Depends on owncloud/core#29021
2017-09-19 10:51:03 +02:00
Olivier Goffart
8f5110900c Gui: Allow to add multiple sync folder connection of the same folder
... or child folders

There is also no real reason to forbid the user from syncing the same
folder to multiple location on its hardrive.
A real use case is when the user uncheck a big directory using "choose
what to sync", but would still like to sync a folder within this disabled
tree. The user can now do this with the "add folder" feature

Since 2.3, we even support syncing the same local folder to multiple
remote folder, so why not allow syncing the same remote folder several
times?

Relates to issue #3645
2017-09-18 15:17:06 +02:00
Jocelyn Turcotte
a1f1775d15 Move SyncJournalDB to src/common 2017-09-18 14:00:52 +02:00
Jocelyn Turcotte
a8ea7b0858 Remove SyncFileItem::_isDirectory
It's always equivalent to _type == SyncFileItem::Directory.
2017-09-18 11:46:09 +02:00
Jocelyn Turcotte
0e97770c47 Remove SyncFileItem::log
This remove the remaining "other" fields of the sync log to save a
bit of memory.

other_etag and other_fileId don't give much information to the users
and other_instruction will always be INST_NONE anyway.

other_modtime and other_size are kept since they are sometimes used.
They were renamed to have a bit more meaningful name.

SyncEngine::checkPermissions will now fetch its information from the
csync trees since they are now preserved until right after this point.

Fixes #3213
2017-09-18 11:46:09 +02:00
Christian Kamm
8635b8ac84 Reduce timeout for some admin jobs
The oauth token jobs and the wizard redirect check job shouldn't have
5min timeouts.
2017-09-15 15:25:10 +02:00
Christian Kamm
d1b8370a4a Wizard: Handle url-shortener redirects #5954
Grab any permanent redirects from the base url the user entered
before attempting to connect to a modified url (with status.php
added).
2017-09-15 15:25:10 +02:00
Christian Kamm
671599c8b2 Credentials: Use per-account keychain entries #5830
This requires a lot of migration code: the old entries need to be read,
saved to the new locations and then deleted.
2017-09-15 09:29:05 +02:00
Christian Kamm
e05f5fc50d OAuth: Don't use implicit POST bodies
The query args of POST requests become the request body. If there's a
redirect, the redirected url will therefore not contain the query
arguments. Use an explicit request body to make the redirection work.
2017-09-15 09:28:03 +02:00
Christian Kamm
da6250fc1f OAuth: Pass client auth in header instead of url
To play more nicely with redirects.
2017-09-15 09:28:03 +02:00
Christian Kamm
7d075cdcb7 OAuth: Use redirectable jobs for oauth token management 2017-09-15 09:28:03 +02:00
Christian Kamm
0c99673581 Make DetailError different from BlacklistedError
It's quite different in regard to blacklist handling and overall
sync failure changes.
2017-09-15 09:27:07 +02:00
Helmut K. C. Tessarek
709aa27031 remove qt4 code 2017-09-15 07:11:05 +02:00
Christian Kamm
0b7ad2c804 Excludes: Allow escaping # #6012
Otherwise adding patterns that start with # are impossible to add, since
they get treated as comments. Also add this escaping for patterns added
in the ui.
2017-09-14 14:53:05 +02:00
Christian Kamm
66415831ea Folder: Check etag again after active sync #4116
Maybe more things were happening on the server?
2017-09-12 13:58:59 +02:00
Christian Kamm
09173fb727 Update server url in case of permanent redirection #5972
This is the first time the account url may update outside of
account setup.

Summary of redirection handling:
1. During account setup (wizard)
   - status.php gets permanently redirected -> adjust url
   - authed PROPFIND gets *any* redirection -> adjust url
2. During connectivity ping (ConnectionValidator)
   - status.php gets permanently redirected -> adjust url (new!)

All other redirections should be followed transparently and
don't update the account url in the settings.
2017-09-11 19:27:36 +02:00
Christian Kamm
de5de6284c Use DetermineAuthTypeJob in HttpCredentials
* Move it to networkjobs
* Minor adjustments to its logic
* Fixes redirect handling for oauth/basic http auth check #6003
2017-09-11 19:15:43 +02:00
Jocelyn Turcotte
5ede5ab4ce Fix the macOS Sparkle build 2017-09-08 13:58:14 +02:00
Christian Kamm
506f7c0764 Http credentials: Fix behavior for bad password #5989
When the GET request from askFromUser is scheduled on the QNAM inside
the slot that handles the QNetworkReply::finished signal, it seems to
not get processed at all.

This workaround moves the sending of the new GET to the event loop,
sidestepping the problem.
2017-09-07 11:23:24 +02:00
Jocelyn Turcotte
cf15cbf0b3 Move Utility to a new common static library
Now that csync builds as C++, this will avoid having to implement
functionalities needed by csync mandatorily in csync itself.

This library is built as part of libocsync and symbols exported
through it.
This requires a relicense of Utility as LGPL. All classes moved into
this library from src/libsync will need to be relicensed as well.
2017-09-05 17:25:19 +02:00
Roeland Jago Douma
cdc5c1db43
Merge remote-tracking branch 'oc/master' into master-oc 2017-08-23 15:40:35 +02:00
Jocelyn Turcotte
28a0971cdf Move csync to src/csync 2017-08-22 11:18:22 +02:00
Markus Goetz
20a979173f Sync Folder: Add file manager favorite also in folder wizard #455
Not only in the account wizard.
2017-08-04 17:38:01 +02:00
Jocelyn Turcotte
9e36cabcbf macos: Add a sidebar icon
In the process, use an iconset to generate the icns using iconutil.
Also add some missing icon resolutions according to the guidelines.

Issue #296
2017-07-31 18:43:47 +02:00
Olivier Goffart
f707a43b3c FolderWizard: fix crash in FolderWizardRemotePath::slotHandleLsColNetworkError
The Job is a LsColJob, not a MkColJob!

Reproduce by entering a name with invalid character that cause an error 400
in the folder wizard's remote path line edit.

(Relates issue #5924)
2017-07-28 11:57:08 +02:00
Jocelyn Turcotte
7a96e8a292 General settings: Put all advanced checkboxes in a layout
The mac style has the concept of Layout Item Rectangle that bleeds
widgets margins into parent margins. This unfortunately doesn't work
when the parent layout doesn't have any margin, like we do when we
have the hierarchy:
 Vertical(normal margin)
   / Horizontal(no margin, uses parent layout spacing)
     /Widget

I guess Qt should propagate remaining uneaten margins to grand-parent
layouts and so on to have this work properly, but nobody seems to
have touched that code since Qt 4.4.
So just try to make the problem less worse by making sure that
all checkboxes we want to align are either in the same layout, or
in a loyout of their own.

Issue #5492
2017-07-27 17:37:27 +02:00
Jocelyn Turcotte
90cce0ab56 Fix the selective sync notification folder list being cropped
The maximumHeight would stay at the last animated value.

Issue #5492
2017-07-27 17:37:27 +02:00
Olivier Goffart
41ed603abf AccountState: reset _waitingForNewCredentials when signin in
Just to force the logic to re-ask the credenticals, in case we were
already asking them when singin off.

Issue: https://github.com/owncloud/client/issues/5893#issuecomment-316949686
2017-07-26 14:58:28 +02:00
Olivier Goffart
6ae88514d8 OAuth: clear refresh token when the server claim not to support oauth
Allow upgrade path when the server removes support for oauth
Relates: https://github.com/owncloud/client/issues/5848#issuecomment-317353049

We also need to force the account to commit the config to the disk,
otherwise we may not register we are no longer using owncloud and we
risk sending the password as the token to the token refresh API call
2017-07-25 12:34:13 +02:00
Olivier Goffart
c043840cb1 OAuth: Fix refresh of token after expiration
Before commit d3b00532b1,
fetchFromKeychain was called everytime we detect that the creds are
invalid (in AccountState::slotInvalidCredentials)
But since that commit, AccountState was calling askFromUser directly,
breaking the refresh of the token.

So I made sure AccountState::slotInvalidCredentials still calls
refreshAccessToken.

Another change that was made was too be sure to clear the cookies
in HttpCredentials::invalidateToken even when we are only clearing the
access_token. That's because the session with a cookie may stay valid
longer than the access_token
2017-07-25 12:34:13 +02:00
Jocelyn Turcotte
a41dc00160 Don't keep the list of touched files for the whole sync
We only want to know if they were touched within the last 15 seconds,
so change the data structure to use a QMultiMap, and sort them by
QElapsedTimer. This allows us to iterate over old entries ordered by
time and to stop once we find a recent entry.

This makes the look-up slower but in most cases the folder watcher
will report any change within milliseconds, and we start from the
most recent. What this really makes slower are actual user file
changes while a fast sync is underways which will need to iterate
over the whole map to find out the file isn't there.

This reduces the growth of the memory usage when downloading a large
amount of files.
2017-07-24 17:54:29 +02:00
Olivier Goffart
50874eecfa OAuth: Add the user in the authorize call
Issues: #5897, https://github.com/owncloud/oauth2/issues/48
2017-07-17 10:13:12 +02:00
Olivier Goffart
06f3a70f9a OAuth: Better message when loggin in with the wrong username
Since the user is already in the browser, put the error message in the
browser with a message to log out and then log in as the right user.

Issue #5895
2017-07-14 11:17:24 +02:00
Christian Kamm
bd107e133f Ensure qsrand is called 2017-07-13 18:06:40 +02:00
Olivier Goffart
5738110cb6 OAuth2: Have a link to the browser in the owncloud UI
When the browser is open, ad a link in the ui to re-open
the browser.

Issue #5893
2017-07-13 16:09:42 +02:00
Christian Kamm
7979342edf AccountSettings: Draw a box to indicate pending conflicts 2017-07-13 11:48:10 +02:00
Christian Kamm
2cdf5517cb Conflicts: Detect and show in issues tab
Incidentally fixes a potential issue where conflicts were silently-
ignored and thus deleted if the parent folder was deleted.
2017-07-13 11:48:10 +02:00
Christian Kamm
fe0de111fd IssuesWidget: Fix insertion of sync errors before item errors 2017-07-12 10:10:00 +02:00
Christian Kamm
971abaea80 IssuesWidget: Add button to retry 507 errors #5537
Since these errors are blacklisted, it can take up to 24h to retry items
that had a 507 error for a while. This way users can intervene and cause
an upload attempt immediately.
2017-07-12 09:04:27 +02:00
Christian Kamm
a76670f3b8 IssuesWidget: Hide folder column when possible 2017-07-12 09:04:27 +02:00
Christian Kamm
e13b618a65 Add ElidedLabel
A label that adjusts its text based on Qt::TextElideMode.
2017-07-12 09:04:27 +02:00
Christian Kamm
c3cb186952 ProgressInfo: Carry a sync status
* A bunch of code was determining sync status by ad-hoc comparing some
  progress info fields. It can now just check the status, making it
  easier to comprehend.
* There's a clear indication for "a new sync is starting", which helps
  wiping the issues tab at the right time.
2017-07-12 09:04:27 +02:00
Christian Kamm
5ca743dd25 SyncEngine: Introduce overall errors that are not tied to a file #5746
For now we use them for:
* csync errors: This allows them to appear in the sync issues tab
* insufficient local disk space, as a summary of individual file errors

Insufficient remote space will use them too, as might other issues that
are bigger than a single sync item.
2017-07-12 09:04:27 +02:00
Olivier Goffart
d34dbbdb0b OAuth: Redirects to the server in case of sucessfull login
Requires https://github.com/owncloud/oauth2/pull/45

This commit moves the reply after we got the token reply from
the server, that allows to reply with an error to the browser
if the login does not work.
2017-07-11 09:56:04 +02:00
Christian Kamm
1c9b51c330 IssuesTab: Hide filters if they wouldn't be useful
As suggested by @dragotin
2017-07-10 11:13:48 +02:00
Christian Kamm
122854af77 FolderMan: Add missing folderListChanged emits
She signal of a folder list change was not emitted when folders were
deleted from the list.
2017-07-10 11:13:48 +02:00
Christian Kamm
a5ace5e71d Account/Credentials: Have identical lifetimes
The QNAM may continue to outlive both.

Rename Credentials::getQNAM() to createQNAM() while we're at it - it's
used to make a new QNAM that will subsequently be owned by the Account
object.

See d01065b9a1 for rationale.

Relates to
d40c56eda5
147cf798a6
2017-07-08 13:07:13 +02:00
Christian Kamm
99b1f69271 Link share: Remove direct download if unavailable #5837
It would have been much nicer to keep the menu assigned to the
QToolButton, but if one switches away from InstantPopup (to adjust the
entries before they're displayed), the button always gets a menu
indicator that can't be removed.
2017-07-07 11:23:32 +02:00
Christian Kamm
e54be1c4ee Link shares: Add "show file listing" option #5837 2017-07-07 11:23:32 +02:00
Christian Kamm
411621bf03 shell integrations: Change share menu title to "Share..."
Since the appname is in the context submenu title already.

Also drop APPNAME string.
2017-07-07 10:50:07 +02:00
Christian Kamm
ca2ffd4fb3 SocketAPI: Change strings to a consistent _MENU_TITLE postfix 2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
3b20684dc7 shell/macos: Remove legacy (< 10.10) overlay icons
Having to update the plugins to add a submenu in the context menu,
it's more cost-effective to remove support for legacy macOS versions
than implementing and testing this setup.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
389499d639 SocketApi: Add GET_STRINGS:BEGIN and END
The Windows shell extension relied on the response of
SHARE_MENU_TITLE to advance its state machine, but in order
to use the new GET_STRINGS instead, we need to know when the
last string was received. Also add BEGIN for consistency.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
7b58a82840 SocketApi: Adjust the format of the mailto: URL
Minor tweaks that weren't actually an issue, but just in case.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
9d818066a7 SocketApi: Improve logging 2017-07-07 10:49:51 +02:00
Christian Kamm
0238a29c7c Introduce private link sharing #5023
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands
* The nautilus and dolphing shell integrations show a submenu from which
  one can share as well as access the private link.
* The SocketAPI provides a new GET_STRINGS command to access localized
  strings.
* The private link can also be accessed from the user/group sharing
  dialog.
* The numeric file id is extracted from the full id to create the
  private link url.
2017-07-07 10:49:51 +02:00
ckamm
ce8341ca1f Add a more functional error view #5516 (#5861)
* Add a more functional error view #5516

* Allow filtering of ignores and warnings to see only important bits.
* Navigate from the folder view to the error view by clicking on the
  error list with the red background.
* Move the error list into its own ui file to allow easier extension.
* Fix issue around tab id handling in ActivitySettings.
* Rename "Action" column to "Issue".
* Change mouse cursor to hand over button and new error list area

Several OSX fixes provided by guruz.
2017-07-04 14:08:41 +02:00
Christian Kamm
9493e8f42e AccountState: Add a 1-5min reconnection delay #5872
This only applies when the server was explicitly in maintenance mode or
when it was 503-unavailable.
2017-07-04 13:12:41 +02:00
Christian Kamm
b1aaf055b1 Blacklist: Don't let errors become warnings #5516
Before, blacklisted errors were set to FileIgnored status and hence
displayed as warnings. Now, they have their own BlacklistedError
category which allows them to appear as errors in the issues list and in
the shell integration icons.
2017-07-04 13:07:51 +02:00
Olivier Goffart
34e75f80bc main.cpp: Fix a compiler warning
src/gui/main.cpp:112:9: warning: bool literal returned from 'main' [-Wmain]

Used 1 to keep previous behaviour. I supposed the code was meant
to return success (0), but it does not really matter anyway.
2017-07-04 11:43:07 +02:00
Jan-Christoph Borchardt
3d2f5b6af1
Change wording from synchronizing to synchronized 2017-06-29 15:36:57 +02:00
Christian Kamm
15ee7b39ac Merge remote-tracking branch 'origin/2.3' 2017-06-22 14:06:31 +02:00
Christian Kamm
1e78a14f1a Ignore ui: Add the sync journal patterns #5844
The ignore patterns for the journal files are hardcoded. Add them to
the UI to make them discoverable.
2017-06-20 13:35:34 +02:00
Christian Kamm
4291ea47f7 Journal: Don't use a ._ path if it won't work #5633
When synchronizing a folder on a samba share, creating files that begin
with ._ is often forbidden. This prevented the client from creating
its ._sync_abcdef.db file.

Now, it'll check whether the preferred filename is creatable, and if
it isn't it'll use .sync_abcdef.db instead.

The disadvantage is that this alternative path won't be ignored by
older clients - that was the reason for the ._ prefix.
2017-06-20 13:35:34 +02:00
Olivier Goffart
85d8ae6b93 AccountSettings: Triggering log in re-ask about previously rejected certificates #5819
Issue #5819
2017-06-14 11:48:24 +02:00
Olivier Goffart
5100a2daf1 OAuth: cleanup debug messages
- Add category to the all messages (they did not have it was merged right after
the patch to add category everywhere, but this code did not have it.)

- Make sure there is no warnings in the normal flow. (The wizard does a request
without authentication to determine the auth type)
2017-06-13 12:08:24 +02:00
Olivier Goffart
6e57b0219e Don't link dirrectly against openssl
All our crypto code is handled by qt nodaways.
No need to carry this dependency.

Especially since it causes warnings on system where there are
twp openssl version installed:
/usr/bin/ld: warning: libcrypto.so.1.0.0, needed by /usr/lib/libQt5Network.so.5.9.0, may conflict with libcrypto.so.1.1
2017-06-13 11:27:23 +02:00
Christian Kamm
4b0d956b3d OAuth: Fix a typo in the success message 2017-06-12 12:58:20 +02:00
Olivier Goffart
85408961ba Wizard: Don't let the second to last page go back with OAuth2
We don't want to re-open the browser in that case.
2017-06-12 12:58:20 +02:00
Olivier Goffart
04b6794318 OAuth: Error handling in the wizard
Issues: #5813 and #5811
2017-06-12 12:58:20 +02:00
Christian Kamm
aeeb408c74 Merge branch '2.3' 2017-06-08 13:02:34 +02:00
Olivier Goffart
c17a678385 FolderStatusModel: fix assert in Qt when the list of subfolder is empty
Fix an assert that happens in beginInsertRows when opening a folder
and that folder is empty.
This can only be reproduced with a debug build of Qt.
2017-06-06 14:49:03 +02:00
Olivier Goffart
3d93527a8e Authentication with OAuth2
When the OAuth2 app (https://github.com/owncloud/oauth2) is enabled,
We will open a browser and perform the OAuth2 authentication

Issue: #4798 and https://github.com/owncloud/platform/issues/17
2017-06-01 10:39:33 +02:00
Julius Härtl
b7fa50be4c Set proper application name, icon name for freedesktop notifications
Use application name defined in OEM build configuration
2017-06-01 10:01:05 +02:00
Markus Goetz
42751f87d9 Application: debug implies logdebug 2017-05-29 22:05:26 +02:00
Olivier Goffart
f88431adbf Don't call QElapsedTimer::restart on uninitialized timer
That's an undefined behavior.
Since we don't use the return value anyway, we should just use start()
2017-05-29 10:51:05 +02:00
Christian Kamm
03aa7e3044 Sharing: Disable 'set password' button when password is empty #5788 2017-05-22 14:41:06 +02:00
Christian Kamm
91f6cae168 Share dialog: Use default icon if available #5781 2017-05-22 14:15:53 +02:00
Christian Kamm
ddd584077c Share link: Fix disabled API/sharing #5778
* Don't hide the displayed error directly after showing it
* Don't try to fetch shares when sharing isn't possible
2017-05-22 10:59:57 +02:00
Christian Kamm
8201f0b6ea Share Dialog: Remove unused hline 2017-05-22 10:59:57 +02:00
Christian Kamm
f2b5fcd706 Share link: Fix parsing integer ids #5777
Older ownCloud servers like 8.2.0 used to use integer ids.

This broke when switching to QJson because toString() on JSON
values is strict and returns "" for integers.
2017-05-22 10:54:30 +02:00
Christian Kamm
950439e5b8 Sharing dialog: Ensure error labels are expanding #5774 2017-05-22 10:52:52 +02:00
Christian Kamm
f24cdf5a05 Share dialog: Hide the icon when unused
Previously this used up some space when there was no icon, leading
to an oddly indented header.
2017-05-22 10:52:52 +02:00
Christian Kamm
d3b00532b1 Credentials: Simplify credential flow #5728
And as a side effect: don't ask for user password when we can't
connect to the server in the first place.
2017-05-22 10:52:18 +02:00
Christian Kamm
b7ed0fce2a Account: forget credentials on delete #5752 2017-05-22 10:49:11 +02:00
Christian Kamm
c1d2a9ab92 Sharing: Show warning that link shares are public #5785 #5747
Backport of 3872e060ba33913e43714776a1afce787e772351
2017-05-22 10:28:16 +02:00
Christian Kamm
87a7642381 Settings: Ensure the 'about' label isn't cut off #5760 2017-05-22 10:11:09 +02:00
Jocelyn Turcotte
c50136d675 Add the account name and folder when starting the sync
This should help clearly delimiting them in the log for multi-account setups.
This information is already available elsewhere in the log in any case.

Issue #5672
2017-05-17 12:39:59 +02:00
Christian Kamm
c8d0f788e0 Apply clang-format 2017-05-17 12:26:27 +02:00
Christian Kamm
ae263d60bd Reformatting: Reformat some lines that would become really long 2017-05-17 12:26:27 +02:00
Christian Kamm
df3fe25702 Reformatting: Adjust trailing comments
These would otherwise be line-wrapped by clang-format,
and then consecutive reformattings remove the aligned
comment indentation

Example:

int a; // too long comment

->

int a; // too long
       // comment

->

int a; // too long
// comment
2017-05-17 12:26:27 +02:00
Christian Kamm
ee4892e345 Wizard: Skip result page with acceptance instead of closing #5764 2017-05-12 10:21:07 +02:00
Jocelyn Turcotte
7fd2f292e7 Promote a few more logs to info/warning 2017-05-11 17:22:59 +02:00
Markus Goetz
b68d982619 macOS: Fix usage of qCDebug in .mm file 2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
cf058bc537 Add the possiblility to enable debug logging categories
Add a checkbox in the log window as well as a --logdebug command-line
option that should have the same effect.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
b7553d5bdf Upgrade some qCDebug to qCInfo or qCWarning
Use qCInfo for anything that has general value for support and
development. Use qCWarning for any recoverable error and qCCritical
for anything that could result in data loss or would identify a serious
issue with the code.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
4ad190a558 Use Qt logging categories for logging
This gives more insight about the logs and allow setting fine-tuned
logging rules. The categories are set to only output Info by default
so this allows us to provide more concise logging while keeping the
ability to extract more information for a specific category when
developping or debugging customer issues.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
e10a08f64d Remove the unused folderwatcher_qt implementation 2017-05-11 17:22:59 +02:00
Christian Kamm
4b6edaa01a Detect maintenance mode #4485
When we first detect a 503 (probably from a PROPFIND) and enter the
ServiceUnavailable state, we new trigger a status.php query that will
switch the state to MaintenanceMode if necessary.
2017-05-11 11:39:49 +02:00
Markus Goetz
8da7919a43 Sharing: Fix UI glitch when sharing is disabled 2017-05-10 15:41:58 +02:00
Markus Goetz
f52d66a954 Sharing: Optionally show warning that links are public
For https://github.com/owncloud/enterprise/issues/1914
2017-05-10 15:41:58 +02:00
Christian Kamm
881641f0b7 Remove stray debug output 2017-05-09 10:37:40 +02:00
Christian Kamm
3da1e9a4b9 Remove 3rdparty qjson #5710 2017-05-08 11:50:33 +02:00
Christian Kamm
2598579d84 Switch JsonApiJob to Qt5's QJson #5710 2017-05-08 11:50:33 +02:00
Christian Kamm
c5b6ec209a Sharing: Switch from QtJson to Qt5's QJson #5710 2017-05-08 11:50:33 +02:00
Markus Goetz
fbe812b9bc Selective Sync: Open sub folder context menu #5596 2017-05-08 11:24:02 +02:00
Markus Goetz
4ed9edb104 Wizard: Don't show not-so-useful result page #5726
Better immediately show the settings dialog where people can see what's going on.
They can go to sync folder or webinterface from there.
2017-05-03 19:21:46 +02:00
Christian Kamm
d709a47b93 Share dialog: Add option to copy/email direct links #5627 2017-05-03 10:26:27 +02:00
Tommy Sparber
72a3e08907 Move check for mono icons into separate function 2017-04-26 17:39:01 +02:00
Christian Kamm
cd4e647816 Merge remote-tracking branch 'origin/2.3' 2017-04-24 10:32:53 +02:00
Christian Kamm
05236f0a7a Sharing multiple public links: Depend on new capability
See owncloud/core#27709: files_sharing/public/multiple
2017-04-21 14:08:00 +02:00
Christian Kamm
3c1a2cde33 ShareDialog: Review fixes
* Allow creating nameless shares
* Display token as name for nameless shares
  (both to be consistent with server)
* Allow changing a share's name by editing it in the table
* Minor adjustments
2017-04-21 10:16:08 +02:00
Christian Kamm
a1f7168d2a ShareDialog: Add support for multiple public link shares #5655
Starting from oC 10.0.0 having several public link shares with
different attributes for a path will be supported. This adds
functionality to create, edit and delete these public link shares.

The behavior is currently gated by server version, but should be
adapted to use a capability as soon as one is introduced, see
owncloud/core#27622.

The UI reduces to a single-share version when talking to older servers.

Testing scenarios:
* Link sharing is disabled (by capability, not by theme)
* Required passwords
* Required expiry
* Forbidden 'allow upload' for folders
* New and old servers
2017-04-21 10:10:12 +02:00
Christian Kamm
1e1c2f8de2 Rename ShareWidget to ShareUserLine
There will probably be a ShareLinkLine too, due to #5655
2017-04-21 10:09:01 +02:00
Christian Kamm
76e67db04b ShareDialog: Use a tab widget #5655 2017-04-21 10:09:01 +02:00
ckamm
543e8a224c Fix a crash in ProxyAuthHandler (#5711)
See
https://sentry.io/owncloud/desktop-win-and-mac/issues/243433178/activity/
https://sentry.io/owncloud/desktop-win-and-mac/issues/234182688/activity/

The problem was that an account's QNetworkAccessManager can be deleted
when reentering the event loop.
2017-04-20 09:21:33 +02:00
ckamm
ea378fe837 FolderStatusModel: Fix crash for empty relativePath (#5713)
The problem was that split("", SkipEmptyParts) is the empty list.

See
https://sentry.io/owncloud/desktop-win-and-mac/issues/251167186/
2017-04-20 09:16:55 +02:00
Markus Goetz
de9ee295be Some Dialogs: Bring to top on tray click #5515 #5566 (#5664)
On my OS X, it might get hidden under other apps while I opened it and then want to quickly
verify something in another app.
2017-04-20 08:55:44 +02:00
Markus Goetz
5ac58d3b83 Server: Parse version from capabilities too #5691 (#5698)
Newer servers will have the option of hiding version, versionstring, edition
and productname. They will always send the full information in the capabilities.
2017-04-19 11:02:03 +02:00
Olivier Goffart
8cb3a77022 Merge remote-tracking branch 'origin/avatar_pics'
Also fix compilation because of 22370fdbdadd06f0cacd249a8d7a32f0d3c1374e

Pull request #5482
2017-04-13 11:54:28 +02:00
Olivier Goffart
1ed4eb46f2 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	VERSION.cmake
2017-04-13 10:19:35 +02:00
Christian Kamm
7c31da5a95 AccountSettings: Sync with clean discovery on Ctrl-F6 #5666 2017-04-13 10:11:21 +02:00
Christian Kamm
1f245b3791 AccountSettings: Easier access to selected folder alias 2017-04-13 10:11:21 +02:00
Markus Goetz
554d1b88fc Avatar: macOS support 2017-04-12 17:55:28 +02:00
Christian Kamm
8a639d39fc ShareDialog: Reenable user input textedit on error #5694 2017-04-11 15:50:32 +02:00
Markus Goetz
26af3ce525 Wizard: Improve folder creation (2) 2017-04-10 16:15:28 +02:00
Markus Goetz
e08ec11fd4 Wizard: Improve folder creation 2017-04-05 16:55:52 +02:00
Christian Kamm
a10fe84a83 ShareDialog: Hide the detailed permissions if there is only one #5655 2017-04-04 09:40:48 +02:00
Christian Kamm
7d9c4d052c ShareDialog: Margin and spacing refinements #5627 2017-04-04 09:40:48 +02:00
Christian Kamm
f8d69dfe8e ShareDialog: Fix thumbnail size #5654 2017-04-04 09:40:48 +02:00
Christian Kamm
35af03b2e5 Improve http error messages; cleanup
By default QNetworkReply::errorString() often produces messages like
   "Error downloading <url> - server replied: <reason>"
but the "downloading" part invariably confuses people since the
error might very well have been produced by a PUT request.

This commit produces clearer error messages for HTTP errors.

Additionally:
* Remove some unnecessary null checks from slots connected to
  network job signals and document that these signals never send
  null replies.
* There was a bug where AbstractNetworkJob::_timedout wasn't
  set when derived classes overrode slotTimeout. We now ensure
  it's always set by disallowing overrides of slotTimeout.
  Instead it now calls onTimedOut, which allows custom handling.
* Several subclasses declared errorString, isTimedOut. Move
  these to AbstractNetworkJob.
* Unify handling of OC-ErrorString (via the new, general
  Job::errorString)
* Add documentation in various places.
2017-04-04 09:27:37 +02:00
Roeland Jago Douma
68f0f1b404 complete url when using themed wizardUrlPostfix
Before we would only open the part of the url that the users entered.
Now if the wizardUrlPostfix is used this is should be appended to that
when opening the browser on the result page.
2017-03-29 18:09:15 +02:00
Olivier Goffart
85afa4788b AccountState: Attempt to fix a crash
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x21
  File "qcoreapplication.cpp", line 1281, in QCoreApplication::postEvent
  File "qobject.cpp", line 2125, in QObject::deleteLater
  File "connectionvalidator.cpp", line 240, in OCC::ConnectionValidator::reportResult
  File "connectionvalidator.cpp", line 206, in OCC::ConnectionValidator::slotAuthFailed
  File "moc_connectionvalidator.cpp", line 127, in OCC::ConnectionValidator::qt_static_metacall
  File "qobject.cpp", line 3716, in QMetaObject::activate
  File "moc_networkjobs.cpp", line 653, in OCC::PropfindJob::finishedWithError
  File "networkjobs.cpp", line 570, in OCC::PropfindJob::finished

I believe the problem is caused because 'this' was deleted in ConnectionValidator::reportResult
as the signal connectionResult gets emited. The AccountState::slotConnectionValidatorResult
slot does indeed call slotInvalidCredentials which might call {Shibboleth,Http}Credentials::fetchFromKeychain
which might emit fetched directly, which will call AccountState::slotCredentialsFetched
which deletes the _connectionValidator

So use deleteLater when deleting the _connectionValidator, hoping this helps
2017-03-28 18:04:19 +02:00
Christian Kamm
e86499d990 dynamic chunking: cleanup, fixes, improvements
* make target duration a client option instead of a capability
* simplify algorithm for determining chunk size significantly
* preserve chunk size for the whole propagation, not just per upload
* move options to SyncOptions to avoid depending on ConfigFile
  in the propagator
* move chunk-size adjustment to after a chunk finishes, not when
  a new chunk starts
2017-03-28 11:32:10 +02:00
Christian Kamm
a0e88477c1 ShareDialog: Make "can edit" partially checked sometimes #5642
Previously the check box was checked if *any* of its sub-permissions
were granted. This can hide the fact that only a limited subset of them
are actually granted.

The new behavior is to display as "partially checked" if only some
of the sub-permissions are available. Clicking the check box itself
still toggles between granting all or none of them.
2017-03-24 09:52:01 +01:00
Christian Kamm
f67989afea Wizards: Never propose an existing folder for syncing #5597 2017-03-21 17:07:35 +01:00
Christian Kamm
14fef4a0d3 Wizard: Remove unused oldLocalFolder property 2017-03-21 17:07:35 +01:00
Olivier Goffart
d3439d5526 owncloudsetuppage.ui: Remove that file, it is unused 2017-03-21 16:38:13 +01:00
Olivier Goffart
722918abd6 Folder::showSyncResultPopup: Fix undefined behavior when there is no errors
When there is no errors  _syncResult.firstItemError() is NULL, and accessing
it's _file member is an undefined behavior. (Thankfully, createGuiLog did not
use the string when the count was 0, but we are not supposed to create
null references.

Found with the UB sanitizer:

src/gui/folder.cpp:348:49: runtime error: member access within null pointer of type 'OCC::SyncFileItem'
src/gui/folder.cpp:348:19: runtime error: reference binding to null pointer of type 'const QString'
2017-03-20 11:53:13 +01:00
Olivier Goffart
4597201560 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	src/libsync/owncloudpropagator.h
2017-03-16 14:35:08 +01:00
Olivier Goffart
a60370255e ActivityListModel: attempt to fix a crash.
The backtrace seems to indicate that the account is invalid.
I don't know how this can happen, maybe the account's display
name was changed while the app is running?

Backtrace:
Crash: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x18
  Module "owncloud", in OCC::AccountState::account
  Module "owncloud", in OCC::ActivityListModel::data
  Module "owncloud", in OCC::ActivityItemDelegate::paint
  Module "QtWidgets", in QListView::paintEvent
  Module "QtWidgets", in QWidget::event
  Module "QtWidgets", in QFrame::event
  Module "QtWidgets", in QAbstractScrollArea::viewportEvent
  Module "QtWidgets", in QAbstractItemView::viewportEvent
  Module "QtWidgets", in QAbstractScrollAreaFilter::eventFilter
  Module "QtCore", in QCoreApplicationPrivate::sendThroughObjectEventFilters
2017-03-16 14:31:15 +01:00
Olivier Goffart
574435687d Merge remote-tracking branch 'origin/2.3'
Conflicts:
	src/libsync/owncloudpropagator.cpp
2017-03-16 13:51:53 +01:00
Olivier Goffart
8e68e0321c Attempt to fix a crash in FolderStatusModel::slotUpdateDirectories
The backtrace looks like:

  File "atomic_base.h", line 396, in QString::~QString
  File "qlist.h", line 442, in OCC::FolderStatusModel::slotUpdateDirectories

This is the only QList operation, and it may crash if the list is empty.
It can be empty if the propfind returned empty results.
I'm not sure how this can be possible to have an empty list there since
the server is always supposed to return at least one entry, for the directory
itself. But it can happen if a directory was transformed in a file, or
if there is a bug on the server.
2017-03-15 17:23:39 +01:00
Christian Kamm
881b32521b HttpCreds: Update app passwords url #5605
See also owncloud/core#27360
2017-03-15 16:30:08 +01:00
Christian Kamm
b98876e265 Account server version: Helper to create versions
Hex literals don't work well with version 10: 0x100000 doesn't do
the right thing.
2017-03-15 16:30:08 +01:00
Olivier Goffart
dbb5bcb784 Ignore list editor: adjust the size
The previous patch on this file made it a bit too big, so make it a bit smaller
For issue #5600
2017-03-15 16:00:48 +01:00
Samuel Alfageme
fce194ce08 Using different window flags on the connection method dialog (#5614)
This is a possible fix for #3850, applying custom window flags (http://doc.qt.io/qt-5.8/qt.html#WindowType-enum) on the connection method dialog. These avoid resizing the dialog and displaying a maximize button on OS X and context help button on Windows.
2017-03-15 15:46:51 +01:00
Christian Kamm
9ca9773e9d Add more versions to --version #5592
* Add git revision, if available
* Add SSL runtime version
* Add compile-time Qt version
2017-03-14 16:13:52 +01:00
Olivier Goffart
2152bc5fca Ignore list editor: adjust the size of the columns in the table
So the title of the column is fully visible.
Adjust the default size and the size policy of the label so it behave
correctly as the window get resized

Issue #5600
2017-03-13 17:05:24 +01:00
Klaas Freitag
5e33898a08 Avatar: Use QImage instead of QPixmap to avoid dep on QApplication.
That fixes the test suite.
2017-03-09 22:34:36 +01:00
Christian Kamm
4a1a5fa076 AbstractNetworkJob: Improve redirect handling #5555
* For requests:
  - reuse the original QNetworkRequest, so headers and attributes
    are the same as in the original request
  - determine the original http method from the reply and the request
    attributes
  - keep the original request body around such that it can be sent
    again in case the request is redirected

* Simplify the interface that is used for creating new requests in
  AbstractNetworkJob.
2017-03-07 13:18:01 +01:00
Olivier Goffart
f4495c5c80 ActivityListModel: fix possible crash in slotActivitiesReceived
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x401
  File "moc_activitylistmo_M5OEXJ7XGJYTWT.cpp", line 92, in OCC::ActivityListModel::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_networkjobs_7AMNCW4BBANVRK.cpp", line 1342, in OCC::JsonApiJob::jsonReceived
  File "networkjobs.cpp", line 714, in OCC::JsonApiJob::finished
  File "abstractnetworkjob.cpp", line 207, in OCC::AbstractNetworkJob::slotFinished
  File "moc_abstractnetwor_PFI2TXGQHRE33H.cpp", line 98, in OCC::AbstractNetworkJob::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_qnetworkreply.cpp", line 367, in QNetworkReply::finished
  File "qnetworkreplyhttpimpl.cpp", line 2100, in QNetworkReplyHttpImplPrivate::finished
  File "qnetworkreplyhttpimpl.cpp", line 279, in QNetworkReplyHttpImpl::abort

My theory is that the AccountState stored in a property of the job was destroyed.
before the job timed out.
Therefore, the qobject_cast within the qvariant_cast would call the metaObject()
virtual function on a dangling pointer.

Fix it by storing a QPointer instead which will track the deletion.
2017-03-06 17:25:22 +01:00
Olivier Goffart
4a010ce7cd SslButton: Remove additional ')'
Regression since 7bfe061382
Issue: #5573
2017-03-03 10:43:47 +01:00
Olivier Goffart
7bfe061382 Verify that all strings are properly escaped (#5558)
- I checked every occurence of a '%2' and make correct use of the
QString::arg overload that takes several argument instead of chaining
them, because the first argument can contains a '%1'

 - I tried to look for every label that they either use plain text or richtext
and escape the user provided strings in there.
2017-02-23 14:54:17 +01:00
Christian Kamm
21a09df7d1 Wizard: Handle PROPFIND redirects #5553
By default, followRedirects is true for all requests, to transparently
handle redirections. In the wizard, we have special redirect-handling
code though and that was being skipped.

Setting the flag to false allows the wizard to be aware of redirects
and to handle them in the correct way. Tested with the server described
in
https://github.com/owncloud/administration/tree/master/redirectServer

There's a second bug here, where followRedirects always converts
redirected requests to the GET verb. That means redirected PROPFINDs
will never have worked. This change un-breaks them for the wizard only.
There should be no case that previously worked that stops working now.
2017-02-22 13:24:13 +01:00
Markus Goetz
65d8f51a10 Message Boxes: Force to be more on top #5503 (#5536) 2017-02-20 13:58:35 +01:00
Olivier Goffart
e8c10501a5 Folder: Keep files option after aboutToRemoveAllFiles should not clear selective sync list (#5531)
We were removing the wholme journal db when the user wanted to keep all files,
But that would also remove the selective sync lists.
We should only remove the metadata table.

Issue #5484
2017-02-15 13:27:41 +01:00
Olivier Goffart
058f7df635 Folder: remove unused variable 2017-02-14 10:10:07 +01:00
Jocelyn Turcotte
d1dace9e7f Remove unneeded Q_DECLARE_METATYPE 2017-02-08 17:57:20 +01:00
ckamm
7879c470b3 Merge pull request #5518 from ckamm/asserts
Improve usage of asserts
2017-02-08 15:25:02 +01:00
Christian Kamm
4c1fdf1dee Double check usage of asserts #5429
A few are supposed to be fatal.
2017-02-08 15:15:19 +01:00
Olivier Goffart
439e688906 Folder: Change the wording for the massive deletion message
Issue #5503
2017-02-08 14:30:14 +01:00
ckamm
4198d9f420 Settings: Don't migrate settings on access error #5499 (#5523)
Previously, we'd try migrating from legacy settings if reading
the settings failed with an error. Now, we try again after a
couple of seconds and eventually give up.
2017-02-08 14:28:50 +01:00
Olivier Goffart
06579a5c70 AccountManager: Fix small leak in the account migration code
The QSettings object was not deleted in every possible code paths
2017-02-08 12:31:07 +01:00
Markus Goetz
df773ea8bb CentOS: More build fixes 2017-02-08 11:39:28 +01:00
Markus Goetz
e7be4faac8 CentOS: Another attempt 2017-02-08 11:15:23 +01:00
Markus Goetz
1102ac20ac Improve previous fix
After comment on 78a798eef3
2017-02-07 19:40:32 +01:00
Markus Goetz
78a798eef3 Old Qt: Another build fix 2017-02-07 18:54:40 +01:00
Markus Goetz
9614a94035 Revert "Disable RTTI"
This reverts commit 85d3de1589.
This breaks our old Qt on CentOS.

We can re-introduce this with #5470
2017-02-07 17:35:04 +01:00
Olivier Goffart
0d16cf41fe Merge remote-tracking branch 'origin/master' into 2.3
We can do that because the only changes that were in master but not in 2.3 were the
translations change and documentation change, and the support for the 'M' permission
which we want in 2.3.
2017-01-27 17:45:05 +01:00
Olivier Goffart
65e4afedc4 Account Wizard: don't whitelist everything on the first sync if we still want to confirm big folder
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274564441
2017-01-27 15:59:59 +01:00
Olivier Goffart
b76a9654cc General Settings: Make sure to reload the settings when an account is added
The Size limit, or confirmation checkboxes might have changed.

We need to guard against saving if the control changes while we are loading

Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274878023
2017-01-27 15:59:59 +01:00
Olivier Goffart
38cf459b3e Confirm External Storage: adjust the notification message
We need to forward the information that the folder is an external storage
for the notification message.

Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274878023
2017-01-27 15:59:59 +01:00
Olivier Goffart
ed7416098e Wizard: Increase the size
The advanced page has become quite complex and does not fit on the screen
anymore if the fonts are too big
2017-01-27 15:59:59 +01:00
Olivier Goffart
517623e457 FolderStatusModel: Different icon for external storages
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274564441
2017-01-27 15:59:59 +01:00
Olivier Goffart
f854c5263b Wizard: Add options to ask confirmation for external storage
Added two checkboxes in the Account Wizard in the advanced page to change the first options.
Also added a checkbox in the general settings to ask for confirmation for external storages.

Theme options allow to hide the checkboxes in the wizard.

As described in issue #5340
2017-01-27 15:59:59 +01:00
Jocelyn Turcotte
9db23d4df1 Remove SyncFileItem::_requestDuration #5456
This will save a QElapsedTimer in each job that was used only for
.owncloudsync.log (for which the request duration doesn't bring much
value).
2017-01-26 17:13:54 +01:00
Jocelyn Turcotte
b0700ebbab Remove duplicate SyncFileItem entries for the log
The accuracy of that log isn't as important as the few bytes those
fields take as hostage for the whole sync.
2017-01-26 17:13:54 +01:00
Markus Goetz
2bda55be81 Don't create legacy 'folders/' subdirectory 2017-01-26 12:29:58 +01:00
Markus Goetz
e859d220be Cookies: Use different DB for different accounts (#5490)
This is a follow up to #5469
2017-01-26 10:54:03 +01:00
Jocelyn Turcotte
ee211d7609 Release SyncFileItem objects with their job
We now delete subjobs as their propagation is complete. This allows us
to also release the item by making sure that nothing else is holding a
reference to it.

Remove the stored SyncFileItemVector from SyncEngine and SyncResult
and instead gather the needed info progressively as each itemCompleted
signal is emitted.

This frees some holes on the heap as propagation goes, allowing many
memory allocations without the need of requesting more virtual memory
from the OS, preventing the memory usage from increasingly growing.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
1fc5a76622 Pass the SyncFileItem as SyncFileItemPtr in itemCompleted
This will allow us to keep a reference on the items in connected slots.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
a764d7eb86 Don't pass the PropagatorJob in itemCompleted
This was to catch duplicate emissions for PropagateDirectory but we
don't emit this signal anymore from there.
This fixes a warning about PropagatorJob not being a registered metatype.

This reverts commit fe42c1a818.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
92e86641d1 Bring back the error message if the sync-exclude.lst file is missing
We unconditionnally add the file on startup, but don't check for errors.
During sync we check for errors, but only try loading the file if it
exists.
2017-01-25 23:26:23 +01:00
Markus Goetz
c8cfb3160e Merge remote-tracking branch 'origin/selective-sync-big-folder' into 2.3 2017-01-25 19:45:20 +01:00
Christian Kamm
59c1fdbe05 Shib: Use different keychain entry per account #5469
Previously shib multiaccount didn't work at all because the
session cookie was stored in the same keychain entry.
2017-01-24 13:14:11 +01:00
Christian Kamm
26234dbf6c Folders: Adjust ui when account is disconnected #5477
Previously if you paused/unpaused a folder for a disconnected account
they would prepare to sync and thus display the 'Waiting...' text. With
this change, folders that can't possibly sync don't show text like
this.

When account connectivity changes, all unpaused folders will be
scheduled anyway.
2017-01-24 10:26:03 +01:00
Klaas Freitag
e95b73dfac Avatar: Set a circle mask around the avatar image.
The server displays the avatar cut into a circle, and so we do.
2017-01-23 21:36:18 +01:00
Klaas Freitag
d466a05915 SettingsDialog: Display the user avatar as action icon if available.
The avatar image is fetched from the server async, thus connect a signal
from the account if the avatar changes.

Server feature https://github.com/owncloud/core/pull/26872 is needed.
2017-01-22 13:58:36 +01:00
Jocelyn Turcotte
d3a0608bd5 SocketAPI: Only push status for files requested by the shell #5361
We currently push the SYNC status for all files that will be propagated,
and then the OK status when those files are propagated.
On top of this, we send those statuses to all clients connected, even
if the socket is kept open by an application that only needed to show
a file open dialog. On macOS we're also using an NSConnection which
means that we have to wait for the RPC call to return from the
extension, which makes bulk status changes possibly heavy.

Reduce the time spent needlessly sending status pushes by limiting
them to files requested through that socket since it connected.
To limit the data to store, only remember the parent directory of
files requested, and store those in a bloom filter.

Note that this adds a requirement to shell extensions: they should
make sure that the status cache only contains entries that have been
requested through the socket API. In other words, the status cache
must be empty when each socket client connects to the socket API.
Otherwise the cached icon type will be shown to the user, and the
SocketAPI won't push new status for that file if it didn't receive
a RETRIEVE_FILE_STATUS.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
c25b599bbb SocketApi::slotReadSocket: Small optimizations
- Use the looked-up method index also for the invocation
- Do the method name concatenation already on QByteArray since we'll
  convert anyway
- Use staticMetaObject instead of metaObject()
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
a5ff9e58e3 SocketAPI: Remove unecessary null-checks
Those methods are private and there is only one call-site, we can
be sure that this parameter won't be null already.
2017-01-18 12:15:52 +01:00
Christian Kamm
352f168313 Folder: Remove unused variable 2017-01-17 14:53:09 +01:00
Markus Goetz
85d3de1589 Disable RTTI
Shrinks owncloud binary by 24 KB and libowncloudsync by 14 KB.
I don't know if it has influence on memory usage or runtime speed though.

Was worth a try.
2017-01-17 14:52:10 +01:00
Markus Goetz
588a88fb63 Updater: Don't create instance for invalid URL
Also don't use dynamic_cast
For enterprise/#689
2017-01-17 14:52:10 +01:00
Olivier Goffart
0249a68420 SelectiveSync: adjust the position of the "Loading" label
It should be parented to the treeview to be sure that is shows inside of it.
2017-01-13 10:55:45 +01:00
Christian Kamm
aa6f041c36 wizardSelectiveSyncDefaultNothing applies to folder wizard #4581
Previous the Theme option only applied to the account setup wizard.
2017-01-13 10:52:39 +01:00
Christian Kamm
dce3f8c4f6 Selective sync: Adjust widget common to folder/account wizards 2017-01-13 10:52:10 +01:00
Christian Kamm
ffbf34cb97 Log the auth type being used for accounts
There have been hard to track down bugs related to the wrong auth
type being used.
2017-01-11 09:30:59 +01:00
Christian Kamm
e286bb1b64 Wizard: Don't accidentally pre-fill url field #5412
slotUrlEditFinished() is called when the wizard is triggered in
some situations.
2017-01-03 11:53:40 +01:00
Christian Kamm
fa9b36f829 Wizard: Let the user know if url is invalid #5398 2017-01-03 11:28:56 +01:00
Christian Kamm
22135f9f57 Fixup broken authType on load #5408 2017-01-03 10:38:20 +01:00
Christian Kamm
473dcb0947 Only create a FolderWatcher if the path exists
Also retry creating it before each sync.

See #5317
2017-01-02 08:52:26 +01:00
Christian Kamm
e306f4611c Reschedule a folder regularly with some delay for some errors
Like "folder doesn't exist" - such that we will detect when the folder
becomes available and start syncing.

See #5317
2017-01-02 08:52:26 +01:00
Markus Goetz
c6f4f44619 Fix up SSL client certificates #5213 #69 (#5289)
The re-enables the UI, uses Qt API for importing and
stores the certificate/key in the system keychain.
People who had set up client certs need to re-setup the account. This is ok
since it was an undocumented feature anyway.
2017-01-02 08:34:02 +01:00
Christian Kamm
3b7887ca35 Wizard: Detach saved account from wizard
Fixes #5408 #5407.

The problem was that cleanup of the credentials page set the
credentials of the account back to dummy, thereby overriding
things like shib usernames.

This should be broken since a932eac832.
2016-12-21 15:31:12 +01:00
Christian Kamm
3912dba33a Move qDeclareMetatype from Folder to SyncEngine 2016-12-20 11:43:39 +01:00
Olivier Goffart
775a1c9ad8 FolderStatusModel: Fix insert/remove items when there are labels
Otherwise it might happen that the model is inconsistant and this can
lead to crash in the worst case.

(For example, if there was a "fetching" label, and we hide it because it
was a 404. In this case, we would not call begin/endRemoveRows, so the
view could still call the model with an index of row 0, that used to be
for the label, but now correspond to the first element of _subs. And
because _subs is empty, this could lead to crashes)
2016-12-14 14:13:47 +01:00
Christian Kamm
d631f2e070 Sync now: Disable on disconnect, rename while running #2158 2016-12-13 15:28:52 +01:00
Jocelyn Turcotte
f985111b62 Fix the log window not showing csync logs
The csync log level was only set up on startup, and for log files.
Fix the issue by making Logger::isNoop rely on being explicitly activated
for the log window instead of relying on the presence of a connected
signal, and move the csync log level logic in Logger.
2016-12-09 10:03:46 +01:00
ckamm
5bef1aa402 Merge pull request #5045 from owncloud/dbjournal_per_account
Allow a folder to be synced to several accounts. This changes the path of the sync journal file!
2016-12-06 10:55:58 +01:00
Christian Kamm
a139d1a279 FolderWizard: pass AccountPtr by const&
For review of #5045
2016-11-29 10:39:20 +01:00
Christian Kamm
acb155503b Ensure the 'Sync paused' state is used after pausing #5290 2016-11-29 09:56:45 +01:00
Christian Kamm
68f99bcc27 AccountSettings: Add a "Force sync now" context menu option 2016-11-25 14:23:56 +01:00
Christian Kamm
49f8143f00 Bugfixes for sync journal name generation and usage
* Use 'user' value for journal name generation
* Save journal name in settings
* Make owncloudcmd choose the right db
2016-11-23 16:48:15 +01:00
Christian Kamm
bea7241910 Don't wipe each journal on each start 2016-11-23 16:48:15 +01:00
Christian Kamm
61b4da944c Split folders configuration locations for backwards compatibility 2016-11-23 16:48:15 +01:00
Christian Kamm
9641c7a1e7 Rename sync journal to ._sync_xxx.db.
The added underscore means that older clients will also ignore the
file.
2016-11-23 16:48:15 +01:00
Christian Kamm
3e59a9b316 Merge branch 'master' into dbjournal_per_account 2016-11-23 16:47:56 +01:00
Markus Goetz
679ac0d26a Wizard: Show if server asks for client certificate #2799 #69 (#5261)
This also nicely displays the 'Untrusted domain' message of oC.
The link to add a trusted domain (via web browser) is clickable.
2016-11-23 11:43:15 +01:00
Markus Goetz
2e3a3bcf84 Folder: Make folder only accessible by user #5282 (#5315)
Because on OS X the parent folder might not protect
against access.
2016-11-23 11:05:41 +01:00
Samuel
4998303c42 Fixing a typo on a message
This refers to the message shown when copying the list of unsynced items on the activity tab
2016-11-22 12:14:03 +01:00
Christian Kamm
ceef2f2d46 FolderMan: Never schedule paused folders #5290
Previously the last folder in the queue was scheduled, regardless
of whether it was paused or not.
2016-11-22 10:53:15 +01:00
Olivier Goffart
a1dc4069c9 libsync: Don't store the remote URI in the csync or in the SyncEngine
We are going to change the webdav path depending on the capabilities.
But the SyncEngine and csync might have been created before the capabilities
are retrieved.

The main raison why we gave the path to the sync engine was to pass it to csync.
But the thing is that csync don't need anymore this url as everything is done by the
discovery classes in libsync that use the network jobs that use the account for the urls.
So csync do not need the remote URI.

shortenFilename in folderstatusmodel.cpp was useless because the string is the
_file of a SyncFileItem which is the relative file name, that name never
starts with owncloud://.

All the csync test creates the folder because csync use to check if the folder
exists. But we don't need to do that anymore
2016-11-21 08:09:11 +01:00
Christian Kamm
eb8de8e3c0 Enable clicking on 'not synced' items #5306 2016-11-18 16:19:36 +01:00
ckamm
ec7333a4bf Merge pull request #5272 from owncloud/licensefix-pending
License: Adjust license of GPLv2 source files to GPLv2+
2016-11-18 15:14:47 +01:00
Christian Kamm
6451eb3ade Tray: Add a 'New account...' action if no account is configured #5307
Useful when left-clicking the tray icon isn't working for some reason.
2016-11-18 12:17:05 +01:00
Markus Goetz
89f55cf9df Folder: Add comments after discussion about pre-selected selective sync 2016-11-16 14:08:05 +01:00
Olivier Goffart
2723cd225e FolderStatusDelegate: Fix compiler warning.
QStyleOptionProgressBarV2 is deprecated in Qt5.
2016-11-15 10:16:41 +01:00
Tobias Haeussler
0c0a3ca0a5 Add manifest file on Windows to make the application UAC aware. 2016-11-14 12:16:58 +01:00
Christian Kamm
eb012d26ee FolderStatusModel: Minor cleanups. 2016-11-08 14:01:07 +01:00
Christian Kamm
9ee8187083 Sort folder list alphabetically #5299 2016-11-08 14:01:07 +01:00
Christian Kamm
0e2782d369 Terminate sync when pausing from context menu #5290 2016-11-07 12:50:06 +01:00
Christian Kamm
10644d3568 Move concatUrl and settingsWithGroup to Utility
There was little reason to keep them cluttering Account.
2016-10-25 12:05:28 +02:00
Christian Kamm
9ee3144358 Account: Remove wasMigrated/setMigrated
It was unused since early in the multi-account work:
a932eac832
2016-10-25 11:43:06 +02:00
Christian Kamm
cf48ea2e00 Remove unused functions
Account::changed and AbstractCredentials::changed have not been needed
in a long while.
2016-10-25 11:33:38 +02:00
Christian Kamm
db24f60ae3 License: Adjust license of GPLv2 source files to GPLv2+
See #5180
2016-10-25 11:06:54 +02:00
Christian Kamm
6026148692 FolderMan: Clean up API
Many public slots didn't need to be public or slots.
2016-10-25 09:44:34 +02:00
Christian Kamm
a2222228c9 FolderMan: Document and clean up folder scheduling 2016-10-25 09:44:34 +02:00
Christian Kamm
1b04489887 Remove stale commented code
These functions don't even exist anymore.
2016-10-18 11:21:01 +02:00
Markus Goetz
5000d40619 Fixup previous commit
Thanks @ogoffart for spotting.
2016-10-12 19:10:56 +02:00
Klaas Freitag
16e28567a6 Folderman: Some comments for the checkPathValidityForNewFolder method. 2016-10-12 18:16:53 +02:00
Klaas Freitag
3bef42db6b folderman: checkPathValidityForNewFolder - correct file path comparison
It now checks based on the correct case sensitivity and also using the new
method for filename comparison.
2016-10-12 14:50:10 +02:00
Markus Goetz
fc7aaf792b Auto Start: Only set on first account setup, not all later ones 2016-10-11 20:28:14 +02:00
Olivier Goffart
9d3e78ed54 AccountManager: do not load invalid account
Some tests (such as FolderManTest) can polute the config file with invalid
accounts.

(That's because most of the code, (even in libsync) always instentiate a ConfigFile)
2016-10-11 14:27:14 +02:00
Klaas Freitag
e1a48e3c33 Move the journal file name generation to the syncjournaldb class.
As requested by Olivier.
2016-10-10 16:59:17 +02:00
Olivier Goffart
c2fa9b5bbf AccoutWizard: Change the set policy of a radio button
In an attempt to make sure the button next to it don't get too small.

Issue #5209
2016-10-10 13:27:28 +02:00
Klaas Freitag
c84140d293 checkPathValidityForNewFolder: Catch sync folders underneath sym links.
plus some whitespace changes.
2016-10-07 16:23:13 +02:00
Christian Kamm
91b6b88883 Tray: Fix crash on startup for non-OSX oses 2016-10-07 13:32:42 +02:00
Tommy Sparber
67ecca492b Improve macOS SysTray/StatusBar monochrome icon (#5227)
- Use a white icon if the context menu is visible.
- Enable `QIcon::setIsMask` if compiled on Qt >= 5.6 to allow automatic
  macOS color handling.
- No changes if the colored icons are used.
2016-10-06 17:18:51 +02:00
Klaas Freitag
838c072ccc Folder Setup: Allow to set up more sync connects to the same folder.
One local folder can now be configured as sync target for multiple
accounts as long as their url and user differ.

Also this patch accepts that the sync folder is behind a symlink.
Also this patch fixes a bug that before the user input was taken
canonically which was not working for the symlink handling.
2016-09-30 14:08:00 +02:00
Christian Kamm
bd2bcad3ba ShareDialog: Remove context help button
Ticket #5203
2016-09-28 13:00:52 +02:00
Markus Goetz
95c479aa07 Wizard: Do the system proxy lookup in a thread (#5160)
This is analogous to the code in ConnectionValidator.
2016-09-26 15:45:30 +02:00
ckamm
035442b6da Improve the "new big folder" UI #5202 (#5204)
Instead of using the regular selective-sync UI (where it's unclear what
the "Cancel" button would even mean in this context), provide a
different set of buttons that allow the user to quickly synchronize
all pending big folders, none of them, or perform manual changes
as usual.
2016-09-23 13:47:57 +02:00
ckamm
98efb07535 Tray: Workaround collection (#5179)
Tray: Workaround collection

* QDBus workaround for Qt 5.5.0 only, there were reports of the tray
  working fine with 5.5.1. #5164
* OWNCLOUD_FORCE_QDBUS_TRAY_WORKAROUND to force the workaround on an off
* OWNCLOUD_TRAY_UPDATE_WHILE_VISIBLE to enable or disable updating of
  the menu while it's visible - disable by default due to problems on OSX and Xubuntu.
* Track the visibility of the tray menu with aboutToShow/aboutToHide
  only on OSX - the aboutToHide signal doesn't trigger reliably on linux
* Refactor such that setupContextMenu is different from updateContextMenu
* Don't use on-demand updating of the tray menu when the qdbus workaround
  is active, instead to occasional (30s) updates of the tray menu.
2016-09-23 10:44:54 +02:00
Christian Kamm
e10c97573f Warning if mailto url fails #5142 2016-09-22 14:16:58 +02:00
Christian Kamm
0cea3d85f5 Add log messages for LockWatcher use #5190 2016-09-22 09:57:42 +02:00
Jocelyn Turcotte
31aaf956f5 Merge pull request #5182 from jturcotte/msvcBuild
Fix the MSVC build
2016-09-20 10:39:14 +02:00
Jocelyn Turcotte
2b274e9460 Fix the MSVC build
- Replace functions that are provided by MinGW with a Win32-based
  implementation
- Explicitly export needed symbols from ocsync.dll
- Rename share.h to sharemanager.h since the name clashes with one
  of the Windows headers and get included from there
- Remove the timestamp from the fallback csync stderr logging, it's
  not used since we always provide a log callback
2016-09-16 17:43:39 +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
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
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
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
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
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
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
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
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
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
5a57e4a7a6 Ensure OpenSSL config file is only read from app dir 2016-08-05 16:38:08 +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
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
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
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
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
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
3c575a2f37 Add 'open in browser' to account menu #4824 2016-07-05 14:48:51 +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
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
6e9df8673f Merge remote-tracking branch 'origin/2.2' 2016-06-22 15:41:37 +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
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
cb50fae0a7 SocketAPI: Move the normalization closer to the data entrance (#4972)
Follow-up for #4884
2016-06-15 21:03:21 +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
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
48efbcb8ca Merge remote-tracking branch 'origin/2.2' 2016-06-07 09:39:44 +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
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
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
Olivier Goffart
159535fe90 Merge branch '2.2' 2016-05-25 16:30:17 +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
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
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
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
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
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
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
12bf6e39b7 Share link: Consistent order of options owncloud/core#24122
(cherry picked from commit 8dc178a9f3)
2016-04-26 10:44:29 +02:00
Roeland Jago Douma
d3a93322d2
Only 1 : between namespace and property 2016-04-22 14:38:43 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ffbd5df25f Account UI: Fix log out button text #4578 2016-03-29 12:14:53 +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
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
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
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
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
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
05de710b67 Notifications: Display timestamp of the notification in the widget 2016-03-18 08:21:54 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c93ecfbfb5 Merge branch restore_backup 2016-02-10 17:47:06 +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
Daniel Molkentin
dd76d72d61 Merge remote-tracking branch 'origin/2.1' 2016-01-26 14:09:38 +01: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
709da37be2 Activities: Only emit debug when actually refreshing 2015-11-23 21:48:25 +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
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
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
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
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
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
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
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
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
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
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
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
Klaas Freitag
9279bcdba4 Add a tabwidget to Settings dialog for activity. 2015-10-30 13:26:27 +01:00
Olivier Goffart
49cd53ee44 FolderStatusModel: attempt to detect removed undecided files #3612 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
Roeland Jago Douma
8c0297f688 Use QLatin1Char 2015-10-29 16:03:47 +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
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
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
Daniel Molkentin
4737c16996 State application name in update notification
Fixes #4020
2015-10-28 20:45:57 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Phil Davis
b8ccbbc72a GUI comment and message typos for master 2015-10-05 10:06:19 +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
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
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
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
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
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
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
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
16d6418d10 Use a themable WebDAV path all over.
This is needed for enterprise#481
2015-09-10 13:04:26 +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
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
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
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
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
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
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
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
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
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
bd71fdc388 SslButton: Fix harder #3534 #3536 2015-08-11 12:18:25 +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
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
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
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
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
1feb74981e Progress: Show real speed and all filenames #3403 #3095 2015-08-06 15:25:16 +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
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
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
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
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
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
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
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
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
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
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
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
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
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