Commit graph

3699 commits

Author SHA1 Message Date
Olivier Goffart
d1bfc7a636 Settings: fix broken signal/slot connection:
No such slot OCC::GeneralSettings::slotForceRemoteDiscoveryOnFolders()
      (sender name:   'OCC__IgnoreListEditor')
      (receiver name: 'OCC__GeneralSettings')

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

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

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

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

Will solve syncing NTFS directories #3241
2015-07-01 13:05:08 +02:00
Olivier Goffart
4a541a9ab4 Merge remote-tracking branch 'origin/maser' 2015-06-30 13:52:38 +02:00
Olivier Goffart
ec5894ef7a Fix Qt4 build 2015-06-30 11:29:59 +02:00
Daniel Molkentin
66e8aaeabc Use doxygen style everywhere 2015-06-29 18:56:09 +02:00
Daniel Molkentin
eff4daa00b Merge remote-tracking branch 'origin/master' into doxygenify
Conflicts:
	src/gui/quotainfo.h
2015-06-29 18:45:55 +02:00
Daniel Molkentin
0735aa1fbd Structure developer documentation
- rename target "doc-dev"
- group into modules
- move to doc/dev
2015-06-29 18:43:21 +02:00
Olivier Goffart
076f8ea105 Merge pull request #3097 from owncloud/translatable-remaining-time
make the remaining time string translatable and support plural forms
2015-06-29 18:30:44 +02:00
Markus Goetz
ef1e6add4f Settings: Auto download bandwidth limit #1485 2015-06-29 17:43:25 +02:00
Olivier Goffart
ec3fc50e0e FolderMan: store folders in a QMap instead of a QHash so they are kept in order
Issue #1529
2015-06-29 15:49:47 +02:00
Olivier Goffart
7a324ff25b Utility: improve the function to conver a duration to string
- Make it translatable
 - Make use of the %n so that it supports plurals (but this will only
   take effect if we have an english translation)
 - Only put two units.  eg:  "5 years 7 months" instead of
   "5 years 7 months 12 days 34 minutes 23 seconds"
   Even when it is "2 hours 23 minutes" the amount of second does not
   matter, especially since the estimation is likely to be boggus anyway

Issues #2672 and #3097
2015-06-29 14:59:28 +02:00
Olivier Goffart
23ccaa2821 QuotaInfo: add a comment about long running job
To document the change made two commits ago
2015-06-29 10:57:32 +02:00
Olivier Goffart
51c10de672 QuotaInfo: make sure that we always check the quota every 30 seconds 2015-06-26 18:04:27 +02:00
Olivier Goffart
236951d9b3 QuotaInfo: allow only one job at the same time 2015-06-26 16:58:34 +02:00
Olivier Goffart
e7d7646151 QuotaInfo: only request the quota when the UI is visible 2015-06-26 15:43:19 +02:00
Olivier Goffart
7757886ebc SystemTray menu: remove the quota information
It makes no sens anymore with multi account and users will see it
from the dialog anyway.
2015-06-26 13:32:02 +02:00
Olivier Goffart
61a1a0bb2d PropfindJob: fix a debug output message
Prpfind job can be used for more than getting the quota
2015-06-26 13:32:02 +02:00
Christian Kamm
77941b5ba7 IgnoreEditor: Make UI more explicit. #3172
People were mistaking the checkbox for something that enables
and disables specific ignore patterns. Now it's much more
explicit.
2015-06-26 10:46:13 +02:00
Christian Kamm
10aaf18129 FolderMan: Make folderSyncStateChange() signal reliable. #3354 2015-06-26 10:09:03 +02:00
Olivier Goffart
db87d2a18e QuotaJob: remove and use a PropfindJob instead
This remove code duplication because the QuotaJob was just a duplication
of the propfind jobs with the properties hardcoded.
2015-06-25 14:39:48 +02:00
Olivier Goffart
29fecb029e Merge remote-tracking branch 'origin/1.8'
Conflicts:
	VERSION.cmake
        src/gui/accountsettings.cpp
	src/gui/accountsettings.h
2015-06-25 12:30:52 +02:00
Olivier Goffart
494f08de8c Theme: add a non-inline destructor
That way we do not need to include QIcon in theme.h
So the header can be included (indirrectly) from cmd.cpp
which is not compiled with the QtGui include paths
2015-06-24 10:14:55 +02:00
Olivier Goffart
c56cb2235c Missing EXPORT macro 2015-06-23 00:53:32 +02:00
Jocelyn Turcotte
9797782682 shell_i: Build the extension with the '-' identity by default
This allows developers to build and run the extension by default.
Official packages bundles will be re-signed after the build, we

The SocketApi prefix can be set at configure time through cmake and
should match the key that will be used to sign the whole .app bundle
(including the embedded FindexSync .appex bundle).
2015-06-22 13:55:19 +02:00
Christian Kamm
deb5e68e15 Ignores: Force a remote discovery after ignore list change #3172
The problem was that the modified ignore pattern was not applied
to the parts of the remote tree we simply retrieve from the db
because the folder etag didn't change.

Even worse, if one removed an ignore pattern, the un-ignored
files would not be synced correctly.

With this change, a modification to the ignore list always results
in a full remote discovery. This guarantees that we find un-ignored
files.
2015-06-19 14:58:47 +02:00
Jocelyn Turcotte
9a9897ea1e Shibboleth: Let the webview use its own QNAM #3359
Since we periodically recreatet the QNAM owned by the Account,
the web view could end up holding a dangling pointer to it.

Let the web view use its own QNAM, but make sure that the cookie
jars are shared so that we can grab the session token given
by the server.
2015-06-19 12:33:11 +02:00
Olivier Goffart
bb85db6cc5 Fix windows build 2015-06-18 10:24:40 +02:00
Olivier Goffart
dd5ddf2166 AbstractNetworkJob: move to its own file 2015-06-17 17:29:11 +02:00
Jocelyn Turcotte
85938ab1f1 shell_i: Remove the ICON_PATH socket API message #2340
It was only used on OS X and couldn't be used by the FinderSync
extension since that one runs in a sandbox. So use the same system
to load images in the legacy extension by shipping them in the
extension bundle instead of the owncloud.app bundle.

This is also given that the legacy extension needs padded icons
while the FinderSync one needs unpadded icons.
2015-06-17 17:15:50 +02:00
Klaas Freitag
79cc902673 FolderMan: Save migratated folder definitions to Configfile. 2015-06-17 14:54:51 +02:00
Klaas Freitag
214bc6b29b Folder: Simplify Folder constructor: No need for AccountState.
Do not pass AccountState in constructor of Folder, set with a
new method called setAccountState after creation. Thus the
parameter does not need to be passed through all over.
2015-06-17 14:54:51 +02:00
Christian Kamm
84bae92264 AccountSettings: Fix initial visibility of sel sync panel #3355 2015-06-17 14:43:38 +02:00
Christian Kamm
191d66fc6f Propagator: Add entry with dummy etag on local mkdir. #2761 2015-06-17 14:38:51 +02:00
Jocelyn Turcotte
c98bcc8e9e OS X: Fix a few warnings 2015-06-17 14:32:34 +02:00
Jocelyn Turcotte
a4f519eaeb Reduce the amount of rebuild needed after a git commit
Since GIT_SHA1 would need to be updated in config.h, all files
including it would be rebuilt by make.

Reduce the number of files to rebuild by moving this variable
to version.h instead.
2015-06-17 14:32:34 +02:00
Olivier Goffart
c11358219a FolderStatusModel: fix a coverity warning 2015-06-17 12:46:49 +02:00
Christian Kamm
28d6d0dc1e Download: Gracefully skip files with 404. #2227 2015-06-17 12:24:21 +02:00
Jocelyn Turcotte
977b1464b5 shell_i: Don't load the old extension in >= 10.10 #2340 2015-06-16 15:30:43 +02:00
Olivier Goffart
d902a37dfd Fix Qt4 compilation
This header is not included in Qt4's QAbstractItemModel header
2015-06-16 12:14:04 +02:00
Olivier Goffart
0cfc518c33 Fix coverity build which does not support nsdmi 2015-06-16 09:30:29 +02:00
Olivier Goffart
f8cbed34c2 Should fix coverity build
Issue #3346
2015-06-15 17:59:08 +02:00
Olivier Goffart
2e177590a6 libsync: Remove some Theme dependency
Theme will eventually be moved to the GUI

Theme::appNameGUI and QApplicaiton::applicationName are the same, it is currently
set in the constructor of ConfigFile
2015-06-15 17:39:28 +02:00
Olivier Goffart
7f0735a955 Account: don't use the Theme from the account
The Theme will be moved to GUI
The server URL is anyway overriden by the wizard or the accountmanager
2015-06-15 17:39:28 +02:00
Olivier Goffart
ce0a0e3f0d Credential: move the implementation to the gui 2015-06-15 17:39:28 +02:00
Olivier Goffart
6e337ad242 Move Account::settings to AccountState::settings
It is only used by the GUI. Also return a unique_ptr to make the ownership clearer
2015-06-15 17:39:28 +02:00
Jocelyn Turcotte
bfcfdeec64 shell_i: Use an NSConnection instead of a local socket #2340
This prepares the switch to the official FinderSync API on Yosemite
which requires the extension to run in a sandbox. This complicates
the usage of a local socket to communicate with a non-sandboxed GUI
client. An NSConnection is easier to use in this case, which we can
use as long as the server name (i.e. Mach port registered name) is
prefixed with the code signing Team Identifier.

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

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

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

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

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

I tested the redirection case and the invalid credentials case.
2015-04-24 16:03:28 +02:00
Christian Kamm
27159104a9 Folders: Store inside account config. 2015-04-24 13:42:35 +02:00
Christian Kamm
a13a974e2d Account: Generate shorter account ids. 2015-04-24 09:54:42 +02:00
Markus Goetz
3a52db46ad Discovery: Fix another empty-local-directory bug 2015-04-23 16:15:13 +02:00
Christian Kamm
f184d66ea2 Save and restore multiple accounts. 2015-04-23 16:08:20 +02:00
Christian Kamm
11927d625d Fix crash on exit by not making Account parent of AccountState. 2015-04-23 16:08:20 +02:00
Christian Kamm
abfdc574d4 Add a basic random Account::id() 2015-04-23 15:47:49 +02:00
Christian Kamm
d64373c610 Never use 'new Account' directly, prefer Account::create() 2015-04-23 15:47:49 +02:00
Christian Kamm
28306e5dfb Move AccountState::displayName to Account. 2015-04-23 15:47:49 +02:00
Christian Kamm
89bb58ac30 Ensure 'user' is available early enough for ui in httpcreds 2015-04-23 15:47:49 +02:00
Christian Kamm
3cc2e1a968 Fix bad connect/disconnects. 2015-04-23 14:24:54 +02:00
Christian Kamm
8390b0b930 Determine right account in ownCloudGui::slotShowShareDialog 2015-04-23 14:14:28 +02:00