1
0
mirror of https://github.com/chylex/Nextcloud-Desktop.git synced 2024-09-29 00:42:45 +02:00
Commit Graph

7999 Commits

Author SHA1 Message Date
Dominique Fuchs
585094a719 Minor property hierarchy fix
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:40:47 +01:00
Dominique Fuchs
4b79c597dc Disabled animations until population glitches are fixed
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:11:08 +01:00
Dominique Fuchs
1bc8ec59aa Streamlining local sync notification/activity icons with server ones. Added fileAction logic for local sync activities
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:09:34 +01:00
Dominique Fuchs
b9a350e201 Minor layout adjustments
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 15:19:17 +01:00
Dominique Fuchs
cd80c749d6 Retreive and svg data from icon property url for activity entries
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 14:01:54 +01:00
Dominique Fuchs
06fdde8f1e Upgrade of NC server API usage + corresponding activity queries and properties including icon ref
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 12:43:04 +01:00
Dominique Fuchs
9f259bda27 Add check if applist rowCount() already empty to prevent assert exception
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 11:30:51 +01:00
Dominique Fuchs
246f7e9395 1px border #0082c9 around tray window
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 08:01:09 +01:00
Michael Schuster
7fe138330e
Double the width of the Apps menu (x starts at the Talk button)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-16 00:57:49 +01:00
Michael Schuster
3488fd7c7f
Fix font sizes for "Log out" and "Remove account" and the Apps menu
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-16 00:45:31 +01:00
Brandon
d10bc1bb14 Correct wrong variable
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
Brandon
18a88fcecf Correct wrong variable
Signed-off-by: Brandon <me@branbit.com>
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
ritsute
c92f520423 Handle broken shared file error gracefully
Signed-off-by: Brandon <me@branbit.com>
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
Dominique Fuchs
00d73a9389 Add visual separation between accountStateIndicator and avatar
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 20:11:50 +01:00
Dominique Fuchs
ddf67ff948 Preserve a 2px distance from tray border (streamlining with acount menu)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 19:28:40 +01:00
Dominique Fuchs
9b32ebdae4 Allow text to expand further if one or both buttons aren't visible
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 19:15:25 +01:00
Dominique Fuchs
0ec2291bd7 Layout adjustments & also show remote path in activitylist
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 18:44:33 +01:00
Michael Schuster
026bf02c85
App menu: Filter out Talk because we have a dedicated button for it
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 18:14:20 +01:00
Michael Schuster
42ebc7e995
Remove debug output
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 18:09:33 +01:00
Michael Schuster
b4b6366ba8
Add App list menu to Tray UI
- Modify Window.qml and Systray to show the App menu upon clicking the App button
  on the top-right. Fall back to opening the general URL in case no apps are found.

- Introduce a new UserAppsModel in UserModel.cpp to access the fetched server Apps
  from AccountState (propagated down from the User class).

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:42:06 +01:00
Michael Schuster
7b740f5e9a
Remove setTalkCapability() from AccountState and filter for Talk upon App list building
Since the per Account App list is now being built in AccountState's slotNavigationAppsFetched
it's easy to filter for the availability of the Talk app on the server by its ID property
upon App list building, thus eliminating the need for an extra fetch job.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:30:05 +01:00
Michael Schuster
cb328d6cea
Fetch server Apps in AccountState (moved from ownCloudGui)
- Add a new class AccountApp to keep them in an AccountAppList
  and also save properties like ID and Icon URL.

- Clear the app list upon re-fetch to avoid endlessly growing lists
  like in the previous implementation in ownCloudGui.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:23:46 +01:00
Dominique Fuchs
b57b8cfb66 Resized add account icon, adapted layout for new size
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 08:01:54 +01:00
Dominique Fuchs
29138cc533 Font and icon size improvements, svg transfer to new folder
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 19:48:21 +01:00
Dominique Fuchs
c09dd9287c Fix missing trayScreen init in non-OSX clause
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 08:55:39 +01:00
Dominique Fuchs
65b47d4613 Make qml UI strings translatable
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 07:59:28 +01:00
Dominique Fuchs
f748a4bb50 Made tray window positioning HighDPI aware
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 22:11:57 +01:00
Dominique Fuchs
e4b19d0cb5 Activity refresh in background
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 14:35:58 +01:00
Dominique Fuchs
eeefbe57af Added progressInfo / cleanup to acitivtymodel
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 13:10:32 +01:00
Dominique Fuchs
84066634e7 Integrated local error messages in activitymodel
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 12:54:38 +01:00
Dominique Fuchs
9e82ba60b4 Integrated local sync activities in activitymodel
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 12:20:41 +01:00
Dominique Fuchs
96a74d9ef0 Minor improvements
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 11:46:49 +01:00
Dominique Fuchs
1ebcd3a0fb Icon selection, svg path transfers, scrollbar
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 09:59:34 +01:00
Michael Schuster
8f9101773c Fix Explorer integration on Windows and the crash on other systems
- Ensure that the folder integration stays persistent in Explorer,
  the uninstaller removes the folder upon updating the client.
  Recreate all entries upon start. This has the benefit of removing
  old remains of non-working, outdated entries.

- Don't crash on the other systems when the user clicks the option
  button "Show sync folders in Explorer's Navigation Pane".
  Even though the option currently doesn't work on the other platforms,
  crashing is never good...

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-13 09:25:01 +01:00
Dominique Fuchs
17fcfd4e41 Show ListView delegate only when model is populated (prevent dummy delegate)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 09:12:44 +01:00
Dominique Fuchs
9e6df7a4dc Add populate transition
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 08:43:51 +01:00
Dominique Fuchs
9319210c4c Fix local folder not opening on windows, add extra slash
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-13 08:33:10 +01:00
Dominique Fuchs
58f1c3234d Temperarily disabling animations due to lags - FIXME
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 21:37:08 +01:00
Dominique Fuchs
715924cac6 Show activitylist on initial tray opening when logged in
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 21:19:18 +01:00
Dominique Fuchs
163ca3b58a Removed old account toolbox
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 19:53:02 +01:00
Dominique Fuchs
1c2916052d Bunch of fixes and optimizations for activityList
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 17:52:51 +01:00
Dominique Fuchs
b76da25ef1 Model/View improvements, also fixes crash on account removal
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 16:16:24 +01:00
Dominique Fuchs
7f35178c70 More fixes to login/logout logic
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 11:06:48 +01:00
Dominique Fuchs
212e1f80f5 emit signal for current user GUI refresh on login/logout
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 10:46:14 +01:00
Dominique Fuchs
a2c9e369c3 call resetRejectedCertificates on fresh login
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 10:42:40 +01:00
Dominique Fuchs
78f12de997 Merge branch 'master' into qml-tray-menu 2020-01-12 09:12:16 +01:00
Dominique Fuchs
8ec7cfa700 Connection status indicators as avatar overlay
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 09:10:06 +01:00
Dominique Fuchs
bc8f64bb98 Generalized connection check, now working for every user in account menu
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-12 08:50:13 +01:00
Dominique Fuchs
578a3b4ef4 Streamlined 'Add account' button with account entries
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 20:28:00 +01:00
Dominique Fuchs
cc671dfad3 Fix local folder URL
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 19:56:56 +01:00
Dominique Fuchs
86b915d42e Systray now a singleton with instance(), show tray on finished wizard
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 17:34:56 +01:00
Dominique Fuchs
738127525f Fix comment
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 17:14:44 +01:00
Dominique Fuchs
6485ef480b Added confirmation dialog for account removal
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 17:06:42 +01:00
Dominique Fuchs
9af7d4ad06 Fix crash on startup when no users configured
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 16:41:20 +01:00
Dominique Fuchs
32741162d9 Detect newly added user and rebuild account menu automatically
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 15:47:36 +01:00
Dominique Fuchs
3da982f073 Implemented account removal
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 15:32:59 +01:00
Dominique Fuchs
a021f62e96 Tray creation timing, account menu reinstantiating on visible change
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 15:05:37 +01:00
Dominique Fuchs
80e21560eb More UserLine, avatar fixes
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-11 14:57:22 +01:00
Dominique Fuchs
9c0221a0fa UserLine drafting, bugfixes, restuctures
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-10 16:28:53 +01:00
Roeland Jago Douma
05083e32c9 Ask for password on password protected link shares
Fixes #1485

This was missed when creating the new share dialog.
Now it pops up with a nice share password dialog to enter for your link
share.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-09 18:20:32 +01:00
JanDragon
4a64e8da83 Updated year in legalnotice.cpp 2020-01-06 09:08:22 +01:00
Dominique Fuchs
6ac1a4a353 Preps for UserLine submenu
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-05 21:31:09 +01:00
Dominique Fuchs
330ff96ee2 Code cleanup regarding context menu. Pause/resume logic implemented. Halfway through remodeling account menu.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-05 21:06:42 +01:00
Dominique Fuchs
a90995cf15 Focus and popup improvements for macOS
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-05 16:25:32 +01:00
Dominique Fuchs
aa9921c6f5 Quit/settings button in tray menu, disable context menu, font size fixes
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-04 17:22:56 +01:00
Dominique Fuchs
d653618b0a Fix blurry caret svg due to https://bugreports.qt.io/browse/QTBUG-44863
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-04 12:18:06 +01:00
Dominique Fuchs
dc9744448c Fix wrong macro clause
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-04 12:15:01 +01:00
Dominique Fuchs
ed9c06583a Fix macOS popup y position, neglecting unneccesary calculations
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-04 12:08:30 +01:00
Dominique Fuchs
ff92adf3e0 Tray account menu wording/positioning
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-04 10:09:01 +01:00
Dominique Fuchs
e0641df727 First real activity connection
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 16:15:15 +01:00
Dominique Fuchs
f01c47e0ec Fix server adress retreival in tray window buttons
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 14:00:07 +01:00
Dominique Fuchs
faf46fcf60 More typo fix
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 13:42:07 +01:00
Dominique Fuchs
687a99279d Has function for ActivityModel, typos
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 13:39:10 +01:00
Dominique Fuchs
02cb43180c Fix git not recognizing case sensitive changes
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 13:12:04 +01:00
Dominique Fuchs
b32310b8a6 Gigantic ton of changes and deletions: ActivityListModel, tray GUI, Account logic.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-03 13:09:29 +01:00
Dominique Fuchs
556a1a5ef2 Added ActivityModel in new tray backend, implemented as delegate in UI
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-02 10:39:53 +01:00
Dominique Fuchs
36467c1e3a Added folder search for User instance, added open folder button connection
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-02 09:55:37 +01:00
Dominique Fuchs
d4b334636e Fall back to primary screen on QT version < 5.10 instead of icon position detection
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-02 08:56:07 +01:00
Dominique Fuchs
7653c5fa60 Fix merge conflict
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-02 08:43:34 +01:00
Dominique Fuchs
44bfc79caa Implemented platform agnostic tray window positioning logic
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-30 14:14:28 +01:00
Dominique Fuchs
6f8ffc0357 Backend code separation & structure cleanup
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-30 11:52:07 +01:00
Dominique Fuchs
bb45a5f67e Added popup show/hide logic
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-30 11:39:21 +01:00
XNG
314c00a8b7 apply http2 qt resend patch from owncloud
Signed-off-by: XNG <Milokita@users.noreply.github.com>
2019-12-25 13:59:15 +08:00
Michael Schuster
2b2810511d
KeychainChunk: Fix error handling in ReadJob::slotReadJobDone
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 12:17:43 +01:00
Michael Schuster
e07859fb3c Fix date in ActivityWidget and remove unnecessary string conversion
The local date and time value was converted into a string, just to be converted
into another string, to be converted to a value once again, returning zero as
the result. This caused the widget to always display "now".

Looks like this was a simply copy and paste mistake from this line in
ActivityListModel::slotActivitiesReceived:

a._dateTime = QDateTime::fromString(json.value("date").toString(), Qt::ISODate);

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 08:53:14 +01:00
Michael Schuster
9b034a2eb0 Heavy refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys and large certs
With QtKeychain on Windows, storing larger keys or certs in one keychain entry causes the
following error due to limits in the Windows APIs:
    Error: "Credential size exceeds maximum size of 2560"

This fix implements the new wrapper class KeychainChunk with wrapper jobs ReadJob and WriteJob
to encapsulate the QKeychain handling of ReadPasswordJob and WritePasswordJob with binaryData
but split every supplied keychain entry's data into 2048 byte chunks, on Windows only.

The wrapper is used for all keychain operations in WebFlowCredentials, except for the server password.

All finished keychain jobs now get deleted properly, to avoid memory leaks.

For reference also see previous fixes:
- https://github.com/nextcloud/desktop/pull/1389
- https://github.com/nextcloud/desktop/pull/1394

This should finally fix the re-opened issue:
- https://github.com/nextcloud/desktop/issues/863

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:47:35 +01:00
Michael Schuster
bd9652b24c Flow2AuthWidget: Minor fixes and improvements
- Improve status messages

- Add a counter to make sure that "Link copied to clipboard." is visible for
  three seconds and to not enable the buttons too early

- Add more space between buttons and status

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
8b5f09305c Flow2: Refactor UI into Flow2AuthWidget only and improve Flow2Auth
- Flow2AuthCredsPage:
  - Remove .ui file and embed Flow2AuthWidget into layout

- Flow2AuthWidget:
  - Make use generic for Flow2AuthCredsPage and WebFlowCredentialsDialog
  - Fix _errorLabel to render HTML tags instead of dumping them as plain text

- Flow2Auth:
  - Explicitly start auth with startAuth(account) instead of using constructor
  - Take control of copying the auth link to clipboard
  - Request a new auth link on copying, to avoid expiry invalidation
  - Use signals statusChanged() and result() to be more verbose (status, errors)
  - Change timer invocation and add safety bool's to avoid weird behaviour when
    the user triggers multiple link-copy calls (fetchNewToken)

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
6d033f2964 Add new HeaderBanner class for WebFlowCredentialsDialog
New widget on top of the layout, based on Qt's own modern wizard header banner.

This should improve the user's perception of the dialog.

Encapsulate the existing layout into a container layout to allow the banner taking
the full width of the dialog.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
0bcac1882a Make WebFlowCredentialsDialog cancellation- and deletion-safe
- Add new signal to let WebFlowCredentials know and emit asked() to also
  tell AccountState that the user won't authenticate, and triggering
  log-out state in the settings window.

- Use deleteLater() to safely delete WebFlowCredentialsDialog, so
  that Qt can free it at the right time and without crashes.
  Do the same with it's _webView and _flow2AuthWidget on closeEvent().

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
b6b04aeff8 WebFlowCredentialsDialog: Bring re-auth dialog to top (raise) on error
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
a69aed80e6 Flow2: Make ProgressIndicator's background-aware (Dark-/Light-Mode switching)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
e81f972270 Flow2: Add poll status text, ProgressIndicator and countdown timer
Also enable / disable buttons during polling.

This aims to make the authentication status more transparent and should avoid the
impression that the client is perhaps doing nothing.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
542590db7c Small fixes and code cleanup
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
e04aae94bc Flow2: Poll for re-auth result upon WebFlowCredentialsDialog window activation
Since the default remote poll interval has been re-raised recently to 30 seconds,
the delay between clicking "Grant access" in the browser and fetch and showing success
in the dialog may seem erroneous to the users and tempt them to click "Re-open browser"
again, causing the whole login process to restart.

This commit implements an event handler to pass the dialog's window activation
event down to the Login Flow v2 widget, in order to allow it to poll earlier.

See previous commits for dependent implementation details.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
aa18667905 WebFlowCredentialsDialog: Bring re-auth dialog to top (raise) upon showing SettingsDialog
Purpose: The floating re-auth windows of the WebFlowCredentialsDialog often get hidden behind
the SettingsDialog, and the users have to minimize a lot of other windows to find them again.

See previous commit for dependent implementation details.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
addb27a085 Add helper slots and signals to catch SettingsDialog's window activation events
Signal the SettingsDialog's window activation event down to ownCloudGui and Application,
so that other classes can hook in to get notified when the SettingsDialog is being shown
again.

This approach has been chosen because we otherwise would have to deal with new instance
pointers of the current SettingsWindow - but Application is already there ;-)

Purpose: The floating re-auth windows of the WebFlowCredentialsDialog often get hidden
behind the SettingsDialog, and the users have to minimize a lot of other windows to find
them again. This commit implements the preparation for the upcoming fix commit.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
be10d5200f Flow2: Use ownCloudGui::raiseDialog to bring account setup wizard to top (raise) on auth result
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
e8348612b4 Flow2: Poll for auth result upon account setup wizard window activation
Since the default remote poll interval has been re-raised recently to 30 seconds,
the delay between clicking "Grant access" in the browser and fetch and showing success
in the wizard may seem erroneous to the users and tempt them to click "Re-open browser"
again, causing the whole login process to restart.

This commit implements an event handler to pass the wizard's window activation
event down to the Login Flow v2 page, in order to allow it to poll earlier.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
3a160a4dce Flow2: Bring account setup wizard to top (raise) on auth result
Show and raise the wizard on success / error in the Login Flow v2 auth.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:46:57 +01:00
Michael Schuster
ccd20f0172 Fix issue #1237: White text on almost-white background
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:44:18 +01:00
Michael Schuster
c03bc8540c Fix folder opening in ActivityListModel
After fixing the crash in the previous commit, double-clicking on Activity list rows still didn't work.

This fix partly reverts commit 8546d53b05 in ActivityItemDelegate::PathRole
of ActivityListModel::data, but adds a new check for relPath's existence in line 74.

I'm assuming the previous change there has been done to shorten the code and avoid opening the user's home
folder upon clicking entries which file value is "App Password". The new path-check takes care of that too now.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:42:01 +01:00
Michael Schuster
003acb7254 Fix crash in ActivityListModel (fixes #1693)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:42:01 +01:00
Michael Schuster
b961b683d6 Show date and time in activity log (fixes issue #1683)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-24 07:40:42 +01:00
Michael Schuster
a7dade979c Fix build (missing refactoring)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
3a2caf61e5 Mac and high-dpi displays: Add workaround in ActivityItemDelegate to show full uncropped activity's actionText and timeText
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
b5ed16088a Make all ProgressIndicator's background-aware (Dark-/Light-Mode switching)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
e4a20b9e72 Make OwncloudWizard and its pages background-aware (Dark-/Light-Mode switching)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
37e5fe786f Remove unnecessary string translation and copy in ActivityItemDelegate
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
643995528b Remove unnecessary breaks in ActivityListModel
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
ecd17f2ea2 Make ActivityItemDelegate background- and selection-aware (Dark-/Light-Mode switching)
Also implement cached member icons in ActivityListModel and return their enums to
ActivityItemDelegate instead of always recreating them for each call to paint().

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
bf0bf2c1b6 Refactor ActivitySettings: Rename member variable ui to _ui
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
acedf362b6 Make AccountSettings and ActivitySettings background-aware (Dark-/Light-Mode switching)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
3b580eeca7 Change error link colour in AccountSettings::showConnectionLabel
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
6adfff1f13 Add new Theme helper method to custom-colourize links
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
7d542d7989 Change Dark Mode link colour
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-19 22:07:30 +01:00
Michael Schuster
cc21d175f1 Fix Activity List: Add check to avoid first empty entry
Add checks to ActivityListModel::combineActivityLists in order to avoid adding
empty Activity entries to the _finalList.

The previous implementation always added an empty entry to the top of the list because
_notificationIgnoredFiles was appended without checking (_listOfIgnoredFiles.size() > 0).

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-18 03:29:54 +01:00
Michael Schuster
b754eacd74 macOS: Rename 'Explorer' appropriately on non-Windows
- Rename it to 'Finder' on macOS.
- This way we also avoid having the whole string re-translated on Transifex.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
7ce8a6a201 Make the ShareDialog background-aware (Dark-/Light-Mode switching)
Use customizeStyle() to change link colours, icons and pixmaps in the ShareDialog and notify
it's widgets via slots.

TODO - known issue (macOS):
- The background and font colours in the ShareUserLine widget still stay the same.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
789a2a7ae3 Make SettingsDialog background-aware (Dark-/Light-Mode switching)
Use customizeStyle() to change link colours in the SettingsDialog and notify it's widgets via slots.

Also modify the background colour of the errors messages in AccountSettings::showConnectionLabel
to always use an appropiate colour for it's custom-defined background.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
be4fc6b887 Implement and move some colour-aware helper methods into the Theme class
This introduces a new method to change the colours in the links in QLabel's.
Utilizes a custom crafted RegEx function to replace already-coloured links.

Moved code is based on stuff from the SettingsDialog class.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
2dae31486a Pick from upstream: Fix too low contrast when tab is selected
The low contrast is also a problem with the Dark Mode on macOS.

For reference please see:
- Commit: 413ef5e96d
- Issue: https://github.com/owncloud/client/issues/7512

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
71f66c6229 Fix SSL-button's info background color for Dark Mode
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Michael Schuster
b4f926ded7 Remove submodule qtmacgoodies and the MacSettingsDialog class
Reverts back to the SettingsDialog class because of bugs and glitches with
more recent Qt versions (Qt 5.12) and with the macOS Dark Mode.

See upstream: https://github.com/owncloud/client/pull/7492

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-09 21:37:21 +01:00
Dominique Fuchs
438a445353 Merge remote-tracking branch 'origin/master' into qml-tray-menu 2019-12-09 06:52:52 +01:00
Dominique Fuchs
6a04fe8ab6 Remove init.qml from CMakeLists and resource file
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-09 06:43:20 +01:00
Dominique Fuchs
c45d2212a5 Removal of init.qml plus minor fixes
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-08 20:18:03 +01:00
Dominique Fuchs
66bfccc738 Replaced .engine() by pointer access b/c of backward compatibility
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-08 13:18:46 +01:00
Dominique Fuchs
ae7eddf7c9 Fixed inconsistent module import versions (based on Qt 5.9)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-08 11:32:22 +01:00
Michael Schuster
5869b93acb Fix deleteKeychainEntries: Stay consistent with job->setInsecureFallback(false)
We never fall back to the insecure variant in the whole codebase, so don't do it here.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
b15eb27aa9 Fix Windows key-chunk deletion (too paranoid)
Clear the key chunk buffer, but don't set _clientSslKeyChunkCount to zero because we need it later for deleteKeychainEntries

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
336b64a569 Fix member variable name from last refactoring (Windows code)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
6a49e787bb Fix Remote Wipe keychain storage
In certain cases don't write the app password in Account::writeAppPasswordOnce:
- id() is empty: This always happend once the Account Wizard showed the folder selection
- appPassword is empty: Caused by Logout -> Relaunch, preventing remote wipe on relaunch

Implement some logging to ease debugging in the future.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
0c5f4a1525 Remote Wipe: Implement hack to allow deleting all keychain entries (SSL certs & keys)
Client SSL certificates and keys cannot be deleted at this time because there is
no UI for selecting them on re-login.

We introduce this dirty hack here, to allow deleting them upon Remote Wipe.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
6ef9f3cc26 Refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys
WebFlowCredentials:
- Remove _clientSslCaKeyWriteQueue and simply use _clientSslKeyChunkBufferPEM
- Store key's sub-chunks in slots with "." (dot) suffix
- Implement deletion of the key chunks in WebFlowCredentials::deleteKeychainEntries
- Remove spaces in log messages
- Improve code readability

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
72be80cbd9 Windows: Workaround for storing >= 4k (4096 bit) client-cert SSL keys
With QtKeychain on Windows, storing larger keys in one keychain entry causes the
following error due to limits in the Windows APIs:
  Error: "Credential size exceeds maximum size of 2560"

To avoid overhead on the other platforms and balance code duplication, this
approach puts some read- and write-parts into Windows-only defines.

For reference also see previous fixes:
- https://github.com/nextcloud/desktop/pull/1389
- https://github.com/nextcloud/desktop/pull/1394

This (again) fixes the re-opened issue:
- https://github.com/nextcloud/desktop/issues/863

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-08 02:47:22 +01:00
Michael Schuster
877fd7abb9 Fall back to old login flow on GS as this is not yet ready (#2: re-auth)
This commit ensures that the check also occurs on re-authorization in case
the user gets logged out.

See: https://github.com/nextcloud/desktop/pull/1644

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-12-06 21:03:01 +01:00
Roeland Jago Douma
363e62f8fa Fall back to old login flow on GS as this is not yet ready
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-12-06 21:03:01 +01:00
David Kahles
9a3aa55b29 Compare QDateTime objects more efficient
There is no need to call toMSecsSinceEpoch() as QDateTime implements an
comparison operator itself. This is more efficient, because the
QDateTime comparison operator doesn't call localtime() in all cases. Thus, we
don't read /etc/localtime for every comparison. This improves
performance in some cases.

Signed-off-by: David Kahles <david.kahles96@gmail.com>
2019-12-06 16:17:53 +01:00
Dominique Fuchs
ab9897b397 Added frontend invokation to open local folder
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-06 14:50:34 +01:00
Dominique Fuchs
c18611d4af Finished account switch back- and frontend in tray menuwindow
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-05 11:38:29 +01:00
Dominique Fuchs
5eff8608fe Account swtich logic and UI updates
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-05 08:21:19 +01:00
Dominique Fuchs
3a4ca5e190 Working on account switching
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-04 16:19:42 +01:00
Dominique Fuchs
d1d1f9bb58 Connected AccountWizard with new account action in tray menu, minor fixes
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-04 14:19:23 +01:00
Dominique Fuchs
90ace3fedc Minor preps for c++ ActivityListModel impl. in QML
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-04 13:10:28 +01:00
Dominique Fuchs
4e0997dbdf Minor fixes and enhancements
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-04 08:06:56 +01:00
Dominique Fuchs
57084fbd3e WIP: working UserModel.cpp and account menu
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-03 22:15:25 +01:00
Dominique Fuchs
4478399282 More stuff regarding tray/UserModel.cpp
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-03 18:50:34 +01:00
Dominique Fuchs
53abf5a316 WIP: Building User/MenuModel backend for tray menu
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-03 17:25:11 +01:00
Joas Schilling
9ce2491d67 Use … instead of 3 dots
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-03 09:06:06 +01:00
Joas Schilling
ec637217f2 Fix some translations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-03 09:06:06 +01:00
Joas Schilling
91a5395e1a Improve the translation of "Share via …"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-03 09:06:06 +01:00
Dominique Fuchs
dac1c9b413 Avatar, full user name and server address now reflected in QML gui, provided by C++ backend
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-12-03 07:26:59 +01:00
Dominique Fuchs
c21e4f5982 Clean up test variable 2019-12-02 22:48:39 +01:00
Dominique Fuchs
478281d853 Restructures and refactorings: New systray class, handling of current user selection, integration of user information in tray window header 2019-12-02 22:45:14 +01:00
Dominique Fuchs
08d4c56886 WIP: Extending systray class, transitioning towas independent ActivityModel inclusion 2019-12-02 14:10:18 +01:00
Dominique Fuchs
03c0d8ba5a Minor preps for c++ ActivityListModel impl. in QML 2019-11-29 17:06:35 +01:00
Michael Schuster
76c7ab499f Use ReadPasswordJob::finished for ReadPasswordJob
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-29 13:53:52 +01:00
Michael Schuster
dcc84d3508 Fix remote wipe keychain storage (issue #1592)
The app password for the remote wipe was constantly being written in
WebFlowCredentials::slotFinished to the keychain, leading to unnecessary
write and log overhead on the system.

This fix introduces a check to only store the app password once in
a lifetime of the Account class. Also the method used to store the
password will be renamed from setAppPassword to writeAppPasswordOnce
to be more expressive.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-29 13:53:52 +01:00
Christoph Wurst
923abd8d0b Fix legal notice year
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-11-26 12:46:02 +01:00
Michael Schuster
fca7b32405
Merge pull request #1604 from nextcloud/rakekniven-patch-1
l10n: Remove string from Transifex resource
2019-11-14 03:22:29 +01:00
Michael Schuster
5131463644
Fix: Apply http2 patch from owncloud #1573 - only with Qt >= 5.8
Drone builds failed with Qt 5.7 and we introduce a new ifdef here
to avoid patching specifically for Ubuntu Xenial only.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-14 02:39:06 +01:00
rakekniven
e896c41ef9
l10n: Remove string from Transifex resource
Fix for #1578 

Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2019-11-13 18:03:22 +01:00
Camila Ayres
4efa282f80
Merge branch 'master' into issue_1351 2019-11-04 22:48:07 +01:00
Camila Ayres
94986877d8
Merge branch 'master' into master 2019-11-04 20:20:32 +01:00
Camila Ayres
a5365a6cce
Merge branch 'master' into master 2019-11-04 20:14:11 +01:00
Michael Schuster
b9ad82ceeb
Merge branch 'master' into fix-remote-wipe-proxy 2019-11-04 19:58:56 +01:00
Michael Schuster
6421397083
Fix updater message: Download link instead of "use the system's update tool"
Provide a download link to the new version instead of the confusing message that
users should use their "system's update tool to install it".

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-11-04 19:19:59 +01:00
Camila San
52ae354ca2 Fix remote wipe when a proxy is configured.
Signed-off-by: Camila San <hello@camila.codes>
2019-11-04 17:52:02 +00:00
Dominique Fuchs
c6ff66be79 Smoother deletions: Added animation for removeDisplaced including sequential opacity change and displacement animation
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-11-04 12:48:07 +01:00
XNG
cf1532acf1 Apply http2 patch from owncloud
Signed-off-by: XNG <Milokita@users.noreply.github.com>
2019-11-01 09:35:10 +08:00
Dominique Fuchs
06b251063e Initial ListView design/modeling for activity list
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-30 20:47:21 +01:00
Dominique Fuchs
cb7b2a3dc6
Merge branch 'master' into qml-tray-menu 2019-10-30 17:19:18 +01:00
Dominique Fuchs
6135eb26ad Finished (static) header design and hover effects
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-29 23:25:00 +01:00
Dominique Fuchs
7ed03f1f29 resolving conflict with current master
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-29 14:07:26 +01:00
Dominique Fuchs
5301477747
Merge branch 'master' into recipientnote 2019-10-29 12:58:14 +01:00
Dominique Fuchs
73667a5367 Updated vecto icons and names, disabled init position (breaks on multiple monitors on windows), integrated new icons in qml
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-29 08:13:05 +01:00
Camila San
1e43c29484
Add new qml tray icon.
This is a work in progress.

Signed-off-by: Camila San <hello@camila.codes>
2019-10-27 20:02:30 +01:00
Michael Schuster
8e8858178b
Merge branch 'master' into move-rtfiles 2019-10-27 17:49:22 +01:00
Michael Schuster
e54f127a06
Merge branch 'master' into lnx-domainname-desktopfiles 2019-10-27 17:30:48 +01:00
Michael Schuster
9618500975
fix tab spacing
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-27 17:25:50 +01:00
Michael Schuster
25076f2ddc
tab formatting (just a little more ;p)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-27 17:03:23 +01:00
Dominique Fuchs
66912071a8 Merge branch 'syncjournal-del-prio' of https://github.com/nextcloud/desktop into syncjournal-del-prio 2019-10-27 16:56:07 +01:00
Dominique Fuchs
e9438549f4 tab formatting
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-27 16:55:37 +01:00
Dominique Fuchs
eff75a2059
Merge branch 'master' into move-rtfiles 2019-10-27 15:43:41 +01:00
Dominique Fuchs
d001d9d1a3
Merge branch 'master' into syncjournal-del-prio 2019-10-27 15:38:43 +01:00
Dominique Fuchs
7f764f8108 Added basic UI [WIP] for new tray window
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-27 15:19:20 +01:00
Sergey Zolotarev
9a11bef263 Fix duplicate items in Apps menu (a bug introduced in #1477)
Signed-off-by: Sergey Zolotarev <sryze@protonmail.com>
2019-10-24 02:55:56 +06:00
Camila Ayres
3a310f93e0
Merge branch 'master' into qt-5.12.5-update-submodules 2019-10-22 14:31:27 +02:00
Michael Schuster
4d5dd0f49c
Merge branch 'master' into testSyncFileStatusTracker-winPath 2019-10-20 21:33:19 +02:00
Michael Schuster
a12164ad53
MSVC Fix for PR #1526: Fix clang's variadic macro warnings
The recently merged #1526 caused the MSVC Builds on Windows to fail.

This patch sets the new CMake flag only if the compiler it not MSVC.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-20 12:52:52 +02:00
Michael Schuster
abd50022d1
Update submodules for Qt 5.12.5 (qtmacgoodies)
Fetch the new submodule commits to get these fixes:
- Merge upstream: Retrieve the associated NSView more reliably: https://github.com/camilasan/qtmacgoodies/pull/1
- Bugfix for Qt 5.12.5 - Redraw the ToolBar: https://github.com/camilasan/qtmacgoodies/pull/2

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-19 05:04:41 +02:00
Michael Schuster
8950417d37
Merge branch 'master' into clang-variadic-macro-warning-fix 2019-10-19 04:37:42 +02:00
Michael Schuster
4f1e4e149f
Merge branch 'master' into fix/too-low-default-poll-interval 2019-10-19 03:40:21 +02:00
adrb
921b144d06
Merge branch 'master' into issue_1351 2019-10-18 08:19:32 +02:00
Adrian Brzezinski
3b750895b4 * fix for issue no. 1351
Signed-off-by: Adrian Brzezinski <adrian.brzezinski@eo.pl>
2019-10-18 08:16:59 +02:00
Johannes Lorenz
8c334a1f43 Fix clang's variadic macro warnings
Using variadic macros like `qCWarning()` without any parameter for "..."
is a GNU extension, which causes a lot of `clang` warnings:

```
desktop/src/common/ownsql.cpp:74:24: warning: must specify at least one
 argument for '...' parameter of variadic macro
 [-Wgnu-zero-variadic-macro-arguments]
        qCWarning(lcSql) << "Error:" << _error << "for" << filename;
                       ^
/usr/include/qt/QtCore/qloggingcategory.h:140:11: note: macro 'qCWarning'
 defined here
          ^
```

This patch tells `clang` to be silent.

Signed-off-by: Johannes Lorenz <j.git@lorenz-ho.me>
2019-10-18 05:25:05 +02:00
Michael Schuster
32bb31a417
Merge branch 'master' into feature/remote-wipe 2019-10-17 22:05:20 +02:00
Camila San
19491ff85f
Once client gets 401/403 from the server, check if remote wipe was requested.
- When the the users logs because of 401 or 403 errors, it checks if the
server requested the remote wipe. If yes, locally deletes account and folders
connected to the account and notify the server. If no, proceeds to ask the
user to login again.
- The app password is restored in the keychain.
- WIP: The change also includes a test class for RemoteWipe.

Signed-off-by: Camila San <hello@camila.codes>
2019-10-17 20:11:31 +02:00
Camila San
8546d53b05
Merge the list of ignored files/symlinks into one Activity notification.
Signed-off-by: Camila San <hello@camila.codes>
2019-10-17 18:45:33 +02:00
Camila Ayres
6c56811636
Merge branch 'master' into testSyncFileStatusTracker-winPath 2019-10-17 13:37:01 +02:00
Michael Schuster
ade50d0b92 Pick from upstream: Update qtmacgoodies for an OSX crash fix #6930
With Qt 5.12.5 this OC crash also applies to the Nextcloud Desktop Client on macOS.

For reference please see:
- https://github.com/owncloud/client/issues/6930
- 0dc7bc3328

For the required changes in the qtmacgoodies submodule see:
https://github.com/camilasan/qtmacgoodies/pull/1

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-17 04:29:33 +02:00
Michael Schuster
e8fc3ecf28
Merge branch 'master' into quit-wizard-fix 2019-10-16 04:43:41 +02:00
Michael Schuster
c8b4145214
Add a 'Content-Length: 0' header to initial POST requests
The webserver lighttpd rejected POST requests without a Content-length
header with "411 Length Required".

See: https://github.com/nextcloud/desktop/issues/1473

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-10 05:17:22 +02:00
Michael Schuster
04a9f0313a
Merge pull request #1481 from asapelkin/for_loop_optimization
Avoiding copying in range-based loops
2019-10-10 01:30:40 +02:00
Michael Schuster
4ddc606361
Merge branch 'master' into for_loop_optimization 2019-10-10 01:12:57 +02:00
Michael Schuster
836c748cd9
Merge branch 'master' into trexcl 2019-10-10 01:12:48 +02:00
Michael Schuster
0d349d54b4
Fix outdated link to server admin docs
Sets the target version from "15" to "latest" and removes
"index.html" because this could get obsolete in the future too.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-10-10 01:03:46 +02:00
Michael Schuster
29123f4d9d
Merge branch 'master' into master 2019-10-10 00:45:04 +02:00
Dominique Fuchs
c1cd308940
Merge branch 'master' into quit-wizard-fix 2019-10-09 09:18:26 +02:00
Sergey Zolotarev
4bba498229 Replace isQuitting flag with disconnect()
Signed-off-by: Sergey Zolotarev <sryze@protonmail.com>
2019-10-09 11:07:00 +06:00
Dominique Fuchs
7750d2198d Don't need a second if for non-Windows, using Qt macro for platform check
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-08 08:44:08 +02:00
Dominique Fuchs
f993e7c555 Fixed typo preventing successful path rename on Win and modified ASSERT for Window path styles
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-10-08 08:31:31 +02:00
asapelkin
6b71e4ec6f
Merge branch 'master' into for_loop_optimization 2019-10-07 15:31:01 +03:00
Dominique Fuchs
75444e44b9
Merge branch 'master' into master 2019-10-07 09:45:22 +02:00
asapelkin
17f39bd09d little loops optimization
Signed-off-by: asapelkin <asapelkin0x01@ya.ru>
2019-10-07 01:29:55 +03:00
Sergey Zolotarev
eaddc55267 Don't run connection wizard when quitting the application
Signed-off-by: Sergey Zolotarev <sryze@protonmail.com>
2019-10-05 22:38:47 +06:00
Sergey Zolotarev
f6b6765424 Prevent jumping of tray menu
Instead of adding the "Apps" menu after the apps are fetched, add it
from the start (together with other actions) but in a disabled state,
and enable it after the apps data is ready.

Signed-off-by: Sergey Zolotarev <sryze@protonmail.com>
2019-10-05 22:10:35 +06:00
Michael Schuster
7deb74cc22
Merge branch 'master' into show-server-vers 2019-10-05 00:44:08 +02:00
rakekniven
b25aa99de7
Fixed grammar
Reported at Transifex.
See https://www.transifex.com/nextcloud/nextcloud/translate/#nl/client/182396083

Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2019-10-04 08:10:55 +02:00
Daniel Kesselberg
4114fe68c9 Add server info to menu
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-10-01 16:16:20 +02:00
Camila Ayres
7f19d5669b
Merge branch 'master' into fix-ldap-display-name 2019-10-01 12:34:39 +02:00
Felix Eckhofer
28da954aad
Fix typo
Signed-off-by: Felix Eckhofer <felix@eckhofer.com>
2019-10-01 08:25:24 +02:00
Camila San
481d8d3a0b
Checks if exclude file is empty before creating the regular expressions.
The default file created by the application it is not empty.

Signed-off-by: Camila San <hello@camila.codes>
2019-09-30 20:38:56 +02:00
Felix Eckhofer
ace142bb23
Use user-provided username in displayName()
This replaces `davUser()`, which is replaced by a numeric ID when using
LDAP, by the username that was actually used for logging in.

Fixes #836

Signed-off-by: Felix Eckhofer <felix@eckhofer.com>
2019-09-30 17:56:14 +02:00
Dominique Fuchs
0a407a39b0
Merge branch 'master' into lnx-domainname-desktopfiles 2019-09-30 09:46:15 +02:00
Dominique Fuchs
3ad1c0e7a8 Created wrapper variable LINUX_APPLICATION_ID to clean up code
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-30 09:45:41 +02:00
Andreas Wunderlich
f293dbfeeb Revert default remote poll interval back from 5 seconds to 30 seconds
Signed-off-by: Andreas Wunderlich <code@andwun.me>
2019-09-29 00:58:35 +02:00
Dominique Fuchs
10a5e75cd8 Harmonizing sorting algorithm (again)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-28 09:17:12 +02:00
Dominique Fuchs
3269402f48 Merge branch 'syncjournal-del-prio' of https://github.com/nextcloud/desktop into syncjournal-del-prio 2019-09-27 12:21:06 +02:00
Dominique Fuchs
26f7848821 Fix logic for DELETE prio, now (hopefully) in harmony with destination sorting
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-27 12:21:02 +02:00
Dominique Fuchs
08efb40599
Merge branch 'master' into syncjournal-del-prio 2019-09-27 09:59:32 +02:00
Dominique Fuchs
f81e5be119 Implemented second sorting step for SyncFileVector (merged trees) to prioritize DELETEs
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-27 09:34:49 +02:00
Michael Schuster
00db94a73c
Revert "Fix White Window issue on Windows after Qt 5.12.4 upgrade"
This reverts commit 8f616969ab.

Turns out that with the upgrade to the new released Qt 5.12.5 the issue
has been solved by the Qt developers, so this fix becomes obsolete.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-27 04:58:12 +02:00
Dominique Fuchs
83918619cf Corrected new .desktop file location in forgotten function
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-26 20:56:14 +02:00
Dominique Fuchs
f52c330c22 cleanup and migration for location change
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-26 19:09:40 +02:00
Dominique Fuchs
67ed54671b Adapted for cmd version and added migration step for config file
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-26 17:47:01 +02:00
Dominique Fuchs
fc6b895f52 moved default db sync file to Qt standard path AppDataLocation
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-26 17:09:24 +02:00
Camila Ayres
6f9256f290
Merge branch 'master' into lnx-domainname-desktopfiles 2019-09-26 13:26:22 +02:00
Dominique Fuchs
555c513acb
Merge branch 'master' into lnx-domainname-desktopfiles 2019-09-26 12:51:20 +02:00
Dominique Fuchs
96da4674f9 Updated .desktop file naming scheme
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-26 12:36:05 +02:00
Camila Ayres
570041e3b4
Merge branch 'master' into enhancement/change-share-menu-wording 2019-09-26 11:12:43 +02:00
Michael Schuster
8f616969ab
Fix White Window issue on Windows after Qt 5.12.4 upgrade
Qt 5.12.4 seems to introduce a new bug on Windows, causing the settings window
to not be redrawn when re-opening it, for example by clicking at the tray icon.

As a workaround this fix starts a 100 ms timer to be fired once upon
QDialog::showEvent is called.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-26 04:59:17 +02:00
Camila San
b9f0e444e8
Improve wording of the context menu in the file manager extension.
'Share...' -> 'Share options'
'private link' -> 'internal link'
Removes 'to clipboard' from 'copy link' options.

Signed-off-by: Camila San <hello@camila.codes>
2019-09-25 19:54:22 +02:00
Dominique Fuchs
cd89efc24b Fixed some missing 'translatable' exclusions, added missing window titles in flow dialogs
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-25 14:02:59 +02:00
Camila San
dd90ed9643
Changes wording in the share context menu.
Instead of only Nextcloud it says "Share via Nextcloud".

Signed-off-by: Camila San <hello@camila.codes>
2019-09-24 16:25:03 +02:00
Dominique Fuchs
d8dca83dd5
Merge branch 'master' into recipientnote 2019-09-20 19:01:34 +02:00
Dominique Fuchs
0ff91574d2 show only 'shared with you by...' if it's not the current user itself
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-20 18:50:32 +02:00
Michael Schuster
30cff4e4f8
UI improvement: Message box: Delete / Keep all files
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-20 16:47:11 +02:00
Dominique Fuchs
31f3b322c8 Color corrections and sharer=self case implementation
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-19 10:04:52 +02:00
Mariusz Wasak
dcc33f3417 Fix for #1382 "linux client crashes for no discernable reason"
There in no "return" in
PropagateUploadFileCommon::slotStartUpload in if (prevModtime != _item-
>_modtime) {... }

There is possibility that
PropagateItemJob::done(status, errorString)
maybe called two times from PropagateUploadFileCommon::slotStartUpload
1. in if (prevModtime != _item->_modtime) {... }
2. in if (fileIsStillChanging(*_item)) {..}
if changes in files are frequent the second call is possible.

This two calls has effect in PropagatorCompositeJob::slotSubJobFinished
and job is removed two times in _runningJobs.remove(i);
(the second time with argumetnt -1 (because first call removed job).

This return was removed in commit
efc039863b - by accident I think.

Good simulation is to synchronize firefox profile with frequent page
refresh.

Signed-off-by: Mariusz Wasak <mawasak@gmail.com>
2019-09-18 18:18:12 +02:00
Dominique Fuchs
5a9fc02f07 Correcting autoraise for widget w/ background fill
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-18 13:40:14 +02:00
Dominique Fuchs
9d6780d6c1 Finishing PR #1154 adding note when sharing
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-18 13:37:49 +02:00
Michael Schuster
207de071f4
Add warning for failed chown in libsync/propagatedownload.cpp
In addition to PR 1409 generate warnings if chown fails.

See: https://github.com/nextcloud/desktop/pull/1409

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-16 20:26:18 +02:00
Michael Schuster
916d414543
Merge branch 'master' into ivan/remote-size-retrieved-race-condition 2019-09-16 19:17:00 +02:00
Michael Schuster
b40e3e7b4e
Merge branch 'master' into msvc-warn-audit 2019-09-16 16:55:42 +02:00
Kilian Pfeiffer
c46ca5c256
Merge branch 'master' into master 2019-09-16 13:41:15 +02:00
Dominique Fuchs
a2a753a34b
Merge branch 'master' into fix_urlscheme_warning 2019-09-15 19:12:22 +02:00
Camila Ayres
82a67a44c4
Merge branch 'master' into bugfixing-slideshow 2019-09-15 18:18:46 +02:00
Dominique Fuchs
a35b346e62 Fixed e2e key transmission issue after generation (forgotten content type on sendrequest())
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-15 11:53:57 +02:00
Dominique Fuchs
7d4406254a
Merge branch 'master' into fix_urlscheme_warning 2019-09-15 09:56:16 +02:00
Dominique Fuchs
1eb61b7949 Fixed unused var
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-13 20:49:59 +02:00
Dominique Fuchs
f6bac6cfdd Merge branch 'bugfixing-slideshow' of https://github.com/nextcloud/desktop into bugfixing-slideshow 2019-09-13 20:38:16 +02:00
Dominique Fuchs
e8c8fe4223 Added slight svg transparency as requested in ref issue, fixed bg detection logic
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-13 20:38:03 +02:00
Dominique Fuchs
3659bca0ec
Merge branch 'master' into bugfixing-slideshow 2019-09-13 17:30:25 +02:00
Dominique Fuchs
ace3da841c (Maybe) finished implementation of themed wizard buttons and accessibility refinements and thus implementation of helper fct. to retrieve themed QIcons.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-13 17:26:39 +02:00
Kilian Pfeiffer
457b0c3ab1
Merge branch 'master' into master 2019-09-13 08:57:06 +02:00
Dominique Fuchs
544229d1e8 [WIP] themed button implementation
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-13 08:24:02 +02:00
Dominique Fuchs
af05db895c [WIP] Resource file and include changes as well as new control icons for wizard slide buttons
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-13 08:08:39 +02:00
Dominique Fuchs
1d96b102c0 Layout optimizations and tab access for self-hosting link
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-12 22:00:43 +02:00
Dominique Fuchs
ff5bf8634f fix naming for slide navigation, adapted everywhere to be consistent
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-12 20:59:03 +02:00
Dominique Fuchs
f49cd1850c Restructured layout, as the initial change were too broken (after additions through the last months)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-12 20:53:40 +02:00
Dominique Fuchs
c873da75e4 Fixed wrong resource paths
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-12 17:52:31 +02:00
Dominique Fuchs
907f36bfcb Merge branch 'bugfixing-slideshow' of https://github.com/nextcloud/desktop into bugfixing-slideshow 2019-09-12 16:43:54 +02:00
Dominique Fuchs
04fedf83b4 Added newly created next/prev svg's and fixed reduntant layout parts in wizard
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-12 16:43:24 +02:00
Michael Schuster
f3d774e2e5
Merge branch 'master' into fix-double-slashes 2019-09-12 05:09:21 +02:00
Dominique Fuchs
febc035063
Merge branch 'master' into ivan/remote-size-retrieved-race-condition 2019-09-11 22:56:34 +02:00
Dominique Fuchs
4902751d02
Merge branch 'master' into bugfixing-slideshow 2019-09-11 22:17:57 +02:00
Dominique Fuchs
45bd869a15
Merge branch 'master' into master 2019-09-11 22:06:22 +02:00
Michael Schuster
905c1532fe
fix comment typo
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-11 17:31:16 +02:00
Dominique Fuchs
dd130ede8f
Merge branch 'master' into master 2019-09-10 10:17:37 +02:00
Dominique Fuchs
c662ff1902 fixed wrongly assigned pointer, didn't recognize class
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 20:06:32 +02:00
Dominique Fuchs
a237493def Q_UNUSED for atm unused parameters
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:38 +02:00
Dominique Fuchs
3a0cd45782 Declared Q_UNUSED for as-of-now unused parameters.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:37 +02:00
Dominique Fuchs
f08cc08eb2 Prevented warning regarding operator precedence - enhanced clarity by adding parentheses
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:36 +02:00
Dominique Fuchs
e3685b951c removed reduntant /* within a comment
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:35 +02:00
Dominique Fuchs
6b04e2f77b Remove unnecessary argument
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:34 +02:00
Dominique Fuchs
2e8b7771b0 Prevent use of uninitialized folder pointer.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:32 +02:00
Dominique Fuchs
26e98d35e6 Added forgotten case when parsing log through gui. LockedFiles were not communicated.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:31 +02:00
Dominique Fuchs
ab3d0141ec initialize _modtime to prevent undefined usage
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 19:23:30 +02:00
Dominique Fuchs
39df36c247 Use return type to prevent warning and determine chown success. Added TODO
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 18:06:29 +02:00
Dominique Fuchs
7473cdf184 Removed disabling of msvc warning to prevent generating a unknown option for other compilers in turn. Now detect specifically GCC in ifdef
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-09 13:46:46 +02:00
Dominique Fuchs
c585e81530 Moved macro definition due to timing issues while compiling when relying on header inheritance
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 19:46:08 +02:00
Dominique Fuchs
c779098772 Conditional (based on Qt version) use of 'horizontalAdvance' to provide better UI experience. See https://doc.qt.io/qt-5/qfontmetrics-obsolete.html#width
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 19:37:56 +02:00
Dominique Fuchs
cc07ed1ee8 commit 222b2d did the trick. now streamlined use of https://doc.qt.io/qt-5/qtglobal.html#QT_VERSION_CHECK
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 19:22:40 +02:00
Dominique Fuchs
222b2d8645 Further testing of cond. include of Qt library > 5.9. Utilized different macro.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 19:17:00 +02:00
Dominique Fuchs
f41eeaf6ec Fixed another logic error -> logical to bitwise OR for QTLEGACY
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 18:51:54 +02:00
Dominique Fuchs
48097801e8 Fixed logic error in QTLEGACY macro and added forgottin #if clause for header file
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 18:42:40 +02:00
Dominique Fuchs
dca83aad45 Added macro definition and compile-time condition to support Qt < 5.9
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 17:33:34 +02:00
Dominique Fuchs
be7a524557 Indeed, DWORD is a special snowflake - only when on _WIN32
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 16:22:08 +02:00
Dominique Fuchs
0827ff0995 Fixed wrongly formatted args for win32 linker flags resulting in 'unrecognized option' for all of them. Remark: /WL is for VS only, useless (and not necessary for msvc cmd)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 16:09:58 +02:00
Dominique Fuchs
503b9de2a0 Fixed missing braces
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 15:49:53 +02:00
Dominique Fuchs
a2d47cdec4 Qt: Fixed numerous deprecated calls by adapting newer ones
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 15:40:49 +02:00
Dominique Fuchs
d60a216982 Use existing fct for RegKeyQuery instead of redundant subroutine
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 13:44:00 +02:00
Dominique Fuchs
d6af025a46 Numoerous safe conversions implemented. Added additional Utility::convertSizeToDWORD for windows builds.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 11:33:20 +02:00
Dominique Fuchs
82fa10c227 Corrected namespace when calling convertSizetoUint
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 10:21:59 +02:00
Dominique Fuchs
46e0a05078 Renamed conversion function to make intention more clear. Also defaulted to 'controlled truncation' to not stupidly crash. TBD/TODO: Better handling for such things.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 02:20:24 +02:00
Dominique Fuchs
8329de4cee Selectively and temporary disabled warning about unknown preprocessor declarative for msvc when using specific GCC instruction.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 02:07:52 +02:00
Dominique Fuchs
b4dee67bf5 Implemented Utility::convert function to convert size_t -> uint safely and on the fly. Often necessary for Qt and WIN32 functions. Using this will not generate compiler warnings of possible truncation. First call implemented in ownsql.cpp
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 02:04:50 +02:00
Dominique Fuchs
5ae3435fe6 Fixed broken overloading mechanism of variadic templates. See code comment for further information.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-08 01:09:22 +02:00
Michael Schuster
67107a4f5d
Fix double slashes in WebDAV URLs (account setup wizard)
Sanitize URL paths to elaminate double-slashes in the URL path string,
used for the first connection by the account setup wizard.

Example: https://cloud.example.com/remote.php/webdav//

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-07 04:18:07 +02:00
Camila Ayres
081f9741e4
Merge branch 'master' into flow2-ui-qt5-compat 2019-09-06 17:32:40 +02:00
Camila Ayres
a3beb9ba41
Merge branch 'master' into w10-start-logo 2019-09-06 17:02:06 +02:00
Camila Ayres
0841fe8dd3
Merge branch 'master' into master 2019-09-06 16:50:27 +02:00
Camila Ayres
9ab5241459
Merge branch 'master' into w10-start-logo 2019-09-06 16:03:54 +02:00
Camila Ayres
ec603b061d
Merge branch 'master' into logo-update 2019-09-06 15:42:02 +02:00
Michael Schuster
b792a627e2
Qt5.5 compatiblity patch for login flow V2 + UI improvment
Removes the right-click function for the "Re-open browser" buttons because
they are not intuitive for the user.

Adds a dedicated "Copy link" button.

Implements Qt 5.5 fixes based on: https://github.com/nextcloud/desktop/pull/1392

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-09-06 14:40:54 +02:00
Camila Ayres
d36ddb752a
Merge branch 'master' into per-directory-ignore 2019-09-06 13:35:28 +02:00
Dominique Fuchs
680f70aa1a
Merge branch 'master' into w10-start-logo 2019-09-06 09:30:12 +02:00
Dominique Fuchs
4ea64bf9ee Final commit to resolve #22 (at least in desktop repo, final bits have to be set in client-building).
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-06 09:24:06 +02:00
Dominique Fuchs
c1dd0079d9 Modified CMakeLists (src/gui/) to install VisualElements logo files in appropiate install output folder
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-06 08:35:46 +02:00
Dominique Fuchs
f33d0a322d Renamed files for consistent sheme & use in CMakeLists (/src/gui)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-06 08:23:48 +02:00
Dominique Fuchs
abb2711d26
Merge branch 'master' into logo-update 2019-09-05 21:38:17 +02:00
Dominique Fuchs
4b9e8274b5 Merge branch 'logo-update' of https://github.com/DominiqueFuchs/desktop into logo-update 2019-09-05 20:59:34 +02:00
Dominique Fuchs
7aefa5afaf Updated CmakeLists for gui part to correct old variable (OUTFILE_BASE[NAME]) that changed by recent update of AddAppIcon modules. Fixes wrong naming of resource pack in build output.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-05 20:58:05 +02:00
Michael Schuster
1b2e64788d
Merge branch 'master' into ssl-error-digests 2019-09-05 01:07:20 +02:00
Roeland Jago Douma
b8ef78205a
Merge pull request #1256 from meskobalazs/master
Marking unused strings as unstranslatable
2019-09-04 23:06:08 +02:00
Martin Sucha
3e6422a889
Use newer digest algorithms in TLS error dialog
MD5 has been broken for a long time now and SHA1 has been
deprecated as well. SHA1 is not used when issuing new
publicly trusted certificates since 1 January 2016[1] and
there are more and more effective attacks[2][3] against it,
so display SHA1 fingerprint only for old certificates
to encourage use of safer digests by users.

So, we display SHA-256 and SHA-512 fingerprints instead in
the common case.

[1] https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.6.5.pdf
[2] https://shattered.io/static/shattered.pdf
[3] https://eprint.iacr.org/2019/459.pdf

Signed-off-by: Martin Sucha <git@mm.ms47.eu>
2019-09-04 22:06:12 +02:00
Dominique Fuchs
8f3bf3313e Integrated registry check on windows when hasDarkSystray is called.
Return value determines which theme is applied for monochrome variant.
Fixes #1276 but only when monochrome option is toggled or nc starts, not automatically when changing windows theme.

Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2019-09-01 22:13:14 +02:00
Michael Schuster
61884d1ada
fix indents, add comment
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-30 05:35:36 +02:00
Michael Schuster
b52292db92
Windows: Workaround for CredWriteW used by QtKeychain
Saving all client CA's within one credential may result in:
  Error: "Credential size exceeds maximum size of 2560"

Client CA certificates are now being stored in separate slots
within the keychain and are being processed by a queue mechanism.

IMPORTANT TODO:
forgetSensitiveData(): Invoked by "Log out" & "Remove account"

- Remove client CA certs and KEY!
  (uncomment "//deleteKeychainEntries();" )

  Disabled as long as selecting another cert is not supported by the UI.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-30 04:56:01 +02:00
Roeland Jago Douma
d584bedcb6
Also store the CACertificates of the client side certificate
Else authentication will still fail in setups that have a chain of
certificates supplied.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-27 09:55:41 +02:00
Michael Schuster
dbde585049
Adds SSL client cert storage to webflow + Login Flow v2
The previous commit 50cd6af394 - Build a webflowcredentials
changed:

src/gui/wizard/flow2authcredspage.cpp in line 135 to use WebFlowCredentials
instead of HttpCredentials.
But the WebFlowCredentials class didn't include code to store and load SSL client
certificates and keys from the keychain.

This commit migrates the useful stuff from the old HttpCredentials class
into WebFlowCredentials.

Successfully tested on Windows. Please test on other systems and verify it's safe! :)

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-27 03:32:21 +02:00
Roeland Jago Douma
302ca0e04e
Fix some compiler warnings
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-26 20:41:14 +02:00
Roeland Jago Douma
50cd6af394
Build a webflowcredentials
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-26 20:04:23 +02:00
Michael Schuster
fd8345ccbe
Login Flow V2: adds re-auth upon logout, improvements
- Implements re-auth upon logout -> login
- Improves UI and security

TODO:
- SSL: Client certificate login is possible at the first time only but missing after relaunch

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
7add98e9a3
UI: don't let Flow2 and OAuth hide the wizard
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
aa93a04fd6
fix comment typo in httpcredentials.cpp
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
628bab92c4
fix comment typo in webflowcredentials.cpp
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
12f2ea6728
Login Flow V2: remove static test url
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
8fa55b97b4
Login Flow V2: 1st implementation, cleanup
This is the first draft of the Login Flow V2 authorization method.

See: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/LoginFlow/index.html#login-flow-v2

- Adds the Login Fĺow V2 auth method
- Adds ability to reinitiate a new request via UI

TODO:
- Implement re-auth upon logout -> login
- Improve UI
- SSL: Client certificate login is possible at the first time only but missing after relaunch

Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Michael Schuster
2742411abd
Login Flow V2: 1st test-implementation
Signed-off-by: Michael Schuster <michael@schuster.ms>
2019-08-26 20:03:15 +02:00
Roeland Jago Douma
e0a1d78441
Merge pull request #1225 from edent/patch-1
Typo
2019-08-19 15:39:10 +02:00
Samir Benmendil
5e3c2d2a96 Fix fullPath matching
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
7a9b13a563 Manual exclude are anchored to _localPath by default
This makes a lot of sense, since there should be no file to be synced
outside of _localPath.

Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
e27645cb00 Extract loadExcludeFile and use it when discovering new exclude files
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
34fcb13e78 Never ignore .sync-exclude, even if excludeHidden
That is unless any of the parent folders is hidden.

Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
9f4873e864 Fix some typos
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
94448a8b33 Add menu action to main sync folder too
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
acf0b0f7c4 Add menu action to each subfolder
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
d4816442ef Extract IgnoreListTableWidget to be reused
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
e44a2302de Remove all rows in the table widget
`clearContents()` will leave the number of rows as is. This was causing
a segfault when trying to loop over the items of the widget.

Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
4a2b91a043 IgnoreListEditor can work on any path
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Samir Benmendil
14279104ae Read .sync_exclude.lst in each subdirectory
Signed-off-by: Samir Benmendil <me@rmz.io>
2019-08-15 03:00:26 +01:00
Roeland Jago Douma
4c8da1a3e7
Add proper CA
If the cert has a chain of certs we should send them all properly

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-02 14:19:37 +02:00
Camila San
3ea472d9f2
Minor text change in the link to help in the tab 'General'.
Also uses helpUrl() retrieve the correct APPLICATION_HELP_URL
instead of APPLICATION_DOMAIN.

Signed-off-by: Camila San <hello@camila.codes>
2019-07-24 16:39:21 +02:00
Camila Ayres
5d30f4b1eb
Merge branch 'master' into pr/607 2019-07-22 19:38:56 +02:00
Camila Ayres
4801bd5818
Merge branch 'master' into pr/607 2019-07-22 16:46:45 +02:00
Camila Ayres
9411a34a2b
Merge branch 'master' into pr/878 2019-07-22 16:09:52 +02:00
Camila Ayres
0ae72cd68a
Merge branch 'master' into pr/878 2019-07-22 15:45:56 +02:00
Claas Augner
116c5b361f Displays FileIgnored activities with an info icon
See: https://github.com/nextcloud/desktop/issues/965
Signed-off-by: Claas Augner <git@caugner.de>
2019-07-21 22:02:15 +02:00
Camila San
d6a0a5272a
Displays the uid_owner of a shared file.
Also displays the sharees that reshared it via share link.

Signed-off-by: Camila San <hello@camila.codes>
2019-06-21 18:36:45 +02:00
Kilian Pfeiffer
ac24874585
Merge branch 'master' into master 2019-06-12 12:41:09 +02:00
Camila San
bb7d330516
Add error category for http file lock error status 423.
It filters the error out of the list of blocking errors. It now shows up
in the Activities and Notificattions list as a warning.

Signed-off-by: Camila San <hello@camila.codes>
2019-06-11 23:32:10 +02:00
Ivoline Ngong
5c2e8c9574
Merge branch 'master' into pr/607 2019-06-07 19:36:44 +03:00
Ivan Čukić
200032c9cb
Merge branch 'master' into ivan/encryption-initial-setup 2019-06-03 09:11:56 +02:00
ivyclare
f4340b98ce Unshare action transferred to 3 dot menu
Signed-off-by: ivyclare <ivolinengong@gmail.com>
2019-05-29 20:54:53 +03:00
Camila Ayres
867e546fa9
Merge branch 'master' into master 2019-05-29 17:40:53 +02:00
ivyclare
bcdc88ecf0 Change »Details…« to »View more activity…«
Signed-off-by: ivyclare <ivolinengong@gmail.com>
2019-05-28 01:14:31 +03:00
Camila San
9ff1a30dc4
Display error when current user is not allowed to reshare file/folder.
Signed-off-by: Camila San <hello@camila.codes>
2019-05-27 19:46:38 +02:00
Camila San
4f0ff154d3
Display sharees on the first show of the share dialog.
It was displaying them only when the current user would edit the share.

Signed-off-by: Camila San <hello@camila.codes>
2019-05-27 19:46:38 +02:00
Camila San
981a4ee240
Adds parameter to retrieve shares with its reshares.
If the initiator or the recipient is not the current user,
show the list of sharees without any options to edit it.

Minor change: updates api to v2.

Signed-off-by: Camila San <hello@camila.codes>
2019-05-27 19:46:38 +02:00
Sven Strickroth
85d217ec95 WebView: Properly handle usernames with spaces and plus signs in it
The path returned from the server encodes a space in the username with `+` and if the username contains a `+` sign it is encoded as `%2B` (cf. https://www.php.net/manual/function.urlencode.php).

Fix: Don't (double) decode the URL path and then replace `+` with space (introduced in issue #279 resp. commit 9ec61a84ce). Instead first replace `+` with space, then decode percent encoding.

Tested with a username containing a space, a username containing a `+`sign and a username containing just A-Za-z0-9- (with Nextcloud 16).

(fixes issue #1266)

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2019-05-23 17:09:33 +02:00
Ivan Čukić
33605d7f65 Removed ellipsis from the button text 2019-05-18 22:58:41 +02:00
Ivan Čukić
4f17366262 Changed the message to 'Enable encryption...' 2019-05-14 21:54:43 +02:00
Ivan Čukić
a8ac89c20c Merge branch 'master' into ivan/encryption-initial-setup 2019-05-14 21:53:57 +02:00
Balázs Meskó
a13bba7f42 Marking unused strings as unstranslatable
Signed-off-by: Balázs Meskó <mesko.balazs@fsf.hu>
2019-05-14 20:07:08 +02:00
Roeland Jago Douma
b6c0f9db5d
Merge pull request #1253 from muesli/webview-typo
Fixed typo in "certificate"
2019-05-13 07:58:52 +02:00
Christian Muehlhaeuser
9dc0027304 Fixed typo in "certificate"
Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com>
2019-05-13 05:22:58 +02:00
Yaron Shahrabani
692d885b55
Fixed typo
Chipher -> Cipher
2019-05-12 19:11:33 +03:00
Ivan Čukić
6c0d796b4b E2E UI setup poligh
- Text changed to "Enable..." instead of "Setup"
- The close icon follows NC style
- "end-to-end" instead of "end to end"

Signed-off-by: Ivan Čukić <ivan.cukic@kde.org>
2019-05-11 19:20:19 +02:00
Ivan Čukić
db7e5e01b3 Merge branch 'master' into ivan/encryption-initial-setup 2019-05-11 19:19:00 +02:00
Camila Ayres
bdfc5dcd14
Merge branch 'master' into master 2019-05-10 14:42:44 +02:00
shobha
188374f60c updated default remote poll to 5 seconds #1115
Signed-off-by: shobha <tyagishobha@gmail.com>
2019-05-10 09:15:09 +05:30
Joshua Sterner
b6ff17c50b Fixed Issue #1000 - Subfolders of moved folders not synced
Signed-off-by: Joshua Sterner <joshua.s.sterner@gmail.com>
2019-05-09 04:12:33 -07:00
Ivan Čukić
7af786fde9 Added a nice UI for the E2E-enabled account first connect
Instead of immediately popping up the mnemonic dialogue,
only show a notification bar on the account setup page.

For the cases where the user does not want to use E2E,
this is significantly less intrusive than the old approach.
2019-05-09 00:37:24 +02:00
Ivan Čukić
0f7c10a2d6 Race condition in the remote size loading logic
The quota retrieval process might not be finished by the time
the used space on the server (`_rSize`) is compared against
the locally available disk space which might end up in
a "There isn't enough free space in the local folder!" message
even if there is enough free space.

This patch updates the status after the quota has been retrieved.

It also initializes `_rSize` to `-1` so that errors like this
are easier to catch in the future.
2019-05-08 23:09:55 +02:00
Christoph Wurst
c2e3cbca31
Fix memory leak with device pointer
Downstream of https://github.com/owncloud/client/pull/6856

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-08 19:41:48 +02:00
Corentin Noël
18f51e47d7
Merge branch 'master' into master 2019-05-03 17:04:42 +02:00
Terence Eden
e64fa74899
Typo
There's no such thing as a "key*h*chain".
2019-04-28 10:03:38 +01:00
Björn Bidar
cea0d519a4 fix qt warning about registering a URL sheme first.
Qt recommends to register a URL scheme before installing it.
I don't know the impact of the not registering before instaling but I
think the change is pretty harmles.

See:
https://doc.qt.io/qt-5/qwebengineurlscheme.html#registerScheme
Signed-off-by: Björn Bidar <theodorstormgrade@gmail.com>
2019-04-22 07:38:38 +02:00
Camila Ayres
4d61a7c263
Merge branch 'master' into tuchfarber/fix_empty_file_error_wording 2019-04-12 16:51:36 +02:00
Camila San
7f3c3f6eb6
Uses configuraion to determine if it should show empty folder popup.
Configuration default value is set to false because  users are getting
the popup message too often.

Signed-off-by: Camila San <hello@camila.codes>
2019-04-12 16:22:07 +02:00
Camila San
35114cf45c
Disable options in share dialog if account state changes.
Signed-off-by: Camila San <hello@camila.codes>
2019-04-12 14:17:58 +02:00
Camila San
e07c472057
Refactores sharing link to support multiple share links.
Signed-off-by: Camila San <hello@camila.codes>
2019-04-12 14:17:58 +02:00
Camila San
0fed1cc54d
Fixes deleting of one single link share.
Signed-off-by: Camila San <hello@camila.codes>
2019-04-12 14:17:57 +02:00
Corentin Noël
088a5a9771 Fix several memory leaks in cloudproviders and add translation support 2019-04-04 22:06:22 +02:00
Stéphane Guillou
3a893d6179
Fix a minor typo 2019-03-24 20:12:44 +10:00
Izabela Bakollari
ff7b0aace9 Modified slideshow buttons and edited "Host your own server" link 2019-03-18 16:31:35 +01:00
Kilian Pfeiffer
2c58bee151
Merge branch 'master' into master 2019-03-09 17:57:11 +01:00
Matt Tuchfarber
0862d6cfb0 Fix empty file wording in error log
Changing empty file error text so that it reads correctly.
2019-03-07 00:18:12 -05:00
Roeland Jago Douma
0e3a8856e5
Merge pull request #1092 from nextcloud/enh/debug_not_warnings
Be less verbose with logging
2019-03-04 10:19:16 +01:00
Morris Jobke
158c6e8136
Fix typo in translation string 2019-03-01 11:40:20 +01:00
Roeland Jago Douma
bb2f179342
Be less verbose with logging
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 20:23:24 +01:00
Joda Stößer
9393626ec2
correct app passwords link
Since some versions ago, the path/url for the app password settings is `/settings/user/security#security` instead of `/settings/personal#apppasswords`
2019-02-14 05:26:21 +01:00
Kilian Pfeiffer
c4ffd844f3
Merge branch 'master' into master 2019-02-12 12:46:19 +01:00
Roeland Jago Douma
c9d4360fb6
Add invalid certiticate messagebox
This is a quick hack to make self signed certificates work.
I'm not to fond of it the real solution should be to request the url
with QNAM and then see if it fails.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-05 10:18:35 +01:00
Camila Ayres
d4a77be3f8
Merge branch 'master' into enh/notifications/do_not_show_dismissed 2019-02-04 20:27:44 +01:00
rakekniven
d564279254
Fixed l18n issue. Added space for separating string
Related to #1068 

Reported at forums with screenshots. See 

https://help.nextcloud.com/t/client-2-5-1-linux-typo/46796

Signed-off-by: Mark Ziegler <mark.ziegler@rakekniven.de>
2019-02-04 17:13:53 +01:00
Roeland Jago Douma
86251ff2e3
Do not display dismissed notifications
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-01 14:39:59 +01:00
Roeland Jago Douma
50ebc49d69
Work around proxy issue with webview by always setting a proxy
Just use the prefered http tcp socket proxy.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 14:14:31 +01:00
Roeland Jago Douma
eb3245b241
Fix login flow with system proxy
I must admit why this works is puzzling me. However if I just use a system
proxy without this it doesn't work. I suspect a Qt bug but will have to
dig deeper to find out if that is the case.

For now this little hack will have to do.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 13:45:40 +01:00
Roeland Jago Douma
e2293eddce
Allow to specifiy server url via CMAKE
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 11:28:46 +01:00
Roeland Jago Douma
b34708da29
Move help URL also to CMAKE
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 11:28:46 +01:00
Roeland Jago Douma
0c21852bc3
No need to overwrite customMedia in the theme
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 11:28:46 +01:00
Roeland Jago Douma
944f9e9668
Move wizard options to CMAKE as well
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 11:28:38 +01:00
Roeland Jago Douma
5c2996deb7
Use the provided updater URL
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 09:52:16 +01:00
Roeland Jago Douma
bf81a473af
Merge pull request #1054 from nextcloud/enh/no_double_slash
Do not add double slash to login flow url
2019-01-30 16:39:52 +01:00
Roeland Jago Douma
7c1401da1c
Do not add double slash to login flow url
If the entered url ends with a slash we should not add another one.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 22:50:30 +01:00
Izabela Bakollari
e3731e40aa Changes to be committed:
modified:   src/gui/activitywidget.cpp

  Removed whitespace from string

  Issue #928
2019-01-29 13:10:11 +01:00
Javier Llorente
cbc19e86fb Add sync date next to "Synchronized with local folder" 2019-01-22 23:16:57 +01:00
kilian.pfeiffer
10073c1f10 changed max GUI bandwith limits 2019-01-18 15:11:52 +01:00
Javier Llorente
e5b5573711 Show an error message if there is no enough free space in the local
folder
2019-01-13 23:35:06 +01:00
Roeland Jago Douma
27298a2056
Merge pull request #959 from yan12125/correct-webview-deallocation
Make sure _profile and _page are deleted in the correct order
2019-01-07 15:01:23 +01:00
Roeland Jago Douma
9ec61a84ce
Handle spaces in username properly in login flow
Fixes #279

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-07 10:41:01 +01:00
Oskar Kruschitz
74454d0452 Removed Stylesheet
Stylesheet String was not correctly defined (missing ";" after "%2") and caused an error in logging output.

After checking the fixed Style I removed it since it does not really look good.
2019-01-03 15:54:50 +01:00
Chih-Hsuan Yen
09b0055dc3
Make sure _profile and _page are deleted in the correct order
Inspired by https://github.com/electron/electron/pull/15028

Closes https://github.com/nextcloud/desktop/issues/941
Closes https://github.com/nextcloud/desktop/issues/950
2018-12-19 21:44:54 +08:00
Roeland Jago Douma
071709ab5e
Merge pull request #946 from hiiamok/qt5.12-wizard-webview
Added missing Include
2018-12-13 19:34:42 +01:00
Oskar Kruschitz
1295884420 Added missing Include
Fixing an error during Build with Qt5.12:
error: member access into incomplete type 'const QWebEngineCertificateError'
2018-12-13 16:13:01 +01:00
Camila Ayres
f91678ef24
Merge branch 'master' into background 2018-12-06 09:35:15 +01:00
Roeland Jago Douma
8b64db6344
Merge branch 'master' into fix/566/do_not_read_system_exclude 2018-11-27 11:19:20 +01:00
Camila Ayres
72901a4ed8
Merge branch 'master' into background 2018-11-26 21:07:14 +01:00
Roeland Jago Douma
287d78ffd3
Write the actual folder to the log
Fixes #873
Not all folder names are proper latin1.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-23 10:33:25 +01:00
Roeland Jago Douma
b93c762205
Fix the activity loop
We should stop fetching the moment the activity stream is empty when
fetched. It doesn't matter if the current list is empty.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-22 10:40:00 +01:00
Roeland Jago Douma
bdd5d423ed
Merge branch 'master' into fix/788/no_activity_flood 2018-11-19 21:29:58 +01:00
Roeland Jago Douma
d8c0fb856c
Merge branch 'master' into share-dialog-take-2 2018-11-19 19:33:05 +01:00
Roeland Jago Douma
6cc496633f
Do not read system exclude list if user exclude is present
For #566

Since we only showed the user exclude list (and some extra items) the
system exclude list was still used.

This copies over the system exclude list (if it isn't there).
If it fails we use the system one still.

However if you now remove items from your own list it will really be
gone.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-19 15:35:32 +01:00
Roeland Jago Douma
1d0bf08a1c
Do not fetch activities if they are not enabled
Fixes #788
Fixes #834

If the activity app is not enabled we should not try to fetch the
activities at all.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-19 14:13:51 +01:00
Daniel Hansson
2d6c5f393f
Change link to docs for NC 15
This changes the link for the "Host your own" link in the wizard.
2018-11-18 11:02:34 +01:00
rakekniven
6c0cd4bd3a
Fixed typo
Reported at Transifex.

Signed-off-by: Mark Ziegler <mark.ziegler@rakekniven.de>
2018-11-17 11:36:16 +01:00
J-P Nurmi
d6170271e9 ShareDialog: increase the width
To match the old width it had before the alignment work.
2018-11-17 09:24:45 +01:00
J-P Nurmi
6f145e3a80 ShareUserGroupWidget: allow frame when scrollable 2018-11-17 09:22:52 +01:00
J-P Nurmi
3c193143f2 Cleanup sharedialog.ui 2018-11-17 09:22:52 +01:00
J-P Nurmi
b25e15347b ShareUserGroupWidget: fix scroll area size management 2018-11-17 09:22:52 +01:00
J-P Nurmi
a8cce41f35 sharedialog.ui: fix scroll area size 2018-11-17 09:22:52 +01:00
J-P Nurmi
f0f691fffc Cleanup shareuserline.ui 2018-11-17 09:22:52 +01:00
J-P Nurmi
847706432b ShareLinkWidget: redo the layout
NOTE: The progress indicator is temporarily moved one line up to avoid
inserting it on its own line, which would cause the content pushed down
and the dialog size jump back and forth.
2018-11-17 09:22:52 +01:00
J-P Nurmi
bd93489b14 Cleanup shareusergroupwidget.ui
Remove hard-coded fixed sizes, size constraints, and other unnecessary
property assignments. This works with any dialog width, meaning that
the width can be defined in one place higher up in the widget hierachy.
2018-11-17 09:22:52 +01:00
J-P Nurmi
96d0059ca4 ShareDialog: use auto-raising tool buttons as confirm buttons 2018-11-17 09:22:52 +01:00
J-P Nurmi
df802472cb ShareLinkWidget: sync the confirm button size 2018-11-17 09:22:52 +01:00
J-P Nurmi
94750a5ea1 ShareUserGroupWidget: sync the share confirm button size with others
This keeps also the total width of the share dialog constant.
2018-11-17 09:22:52 +01:00
J-P Nurmi
fae1c0dbdd ShareUserLine: fix eliding
The widget doesn't have its final size at construction time, so the
width for eliding is not yet known. Let ElidedLabel do the job.
2018-11-17 09:22:52 +01:00
J-P Nurmi
b546e7c224 ElidedLabel: add default constructor
Makes it possible to promote QLabel to an ElidedLabel in Qt Designer.
2018-11-17 09:22:52 +01:00
J-P Nurmi
cd58850f5b ShareUserGroupWidget: remove nested content margins 2018-11-17 09:22:52 +01:00
J-P Nurmi
7d3242077b ShareDialog: align the left margin
All other margins are 10px.
2018-11-17 09:22:52 +01:00
Manuel Stahl
6718f5ad58 Fix cmake build using WITH_PROVIDERS=OFF
Fixes #821.
2018-11-13 14:54:30 +01:00
Julius Härtl
2d79ea5262
More verbose error and proper app name on configuration read error
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-13 11:01:20 +01:00
Roeland Jago Douma
e2c813bfca
Merge branch 'master' into action-colors 2018-11-13 07:41:53 +01:00
Roeland Jago Douma
0d9d942ab7
Merge branch 'master' into modernize 2018-11-12 20:21:13 +01:00
J-P Nurmi
53c89e2196 SettingsDialog: tweak color aware icons
If selected text is light, provide a light icon too when selected.
2018-11-12 20:04:02 +01:00
J-P Nurmi
b0959a6292 SettingsDialog: fix a little glitch in the account tool button size
SettingsDialog::accountAdded() uses the height of the toolbar to
calculate the desired default size for toolbuttons. Make sure to have
the "General" and "Network" tool buttons in place before calling
accountAdded() to avoid cramped first button.
2018-11-12 18:53:47 +01:00
J-P Nurmi
1af9bf8abc libsync: run clang-tidy modernize-use-nullptr 2018-11-12 18:46:39 +01:00
J-P Nurmi
0d1c15a768 libsync: run clang-tidy modernize-use-override 2018-11-12 18:43:58 +01:00
J-P Nurmi
48acaec66f libsync: search'n'replace "Q_DECL_OVERRIDE" with "override" 2018-11-12 18:39:50 +01:00
Roeland Jago Douma
c5a4694c74
Merge branch 'master' into modernize 2018-11-12 14:56:35 +01:00
Roeland Jago Douma
0f2294cef4
Merge pull request #806 from nextcloud/server-notification-handler
Fixup the port in server notification URLs
2018-11-12 14:48:30 +01:00
J-P Nurmi
ba53a01339 SlideShow: don't allow clicks while animating
Changing slides while animating was looking a bit awkward.
2018-11-11 12:30:33 +01:00
J-P Nurmi
8217c44ee5 SlideShow: slow down the slide interval
The original non-animated slide show was running at 2500ms interval.
The new animated slide show was using the same interval, but used
1000ms to animate the slides. This left significantly less time for
the user to read the slides.
2018-11-11 12:27:21 +01:00
J-P Nurmi
fff64e8aa5 GUI: search'n'replace remaining "Q_DECL_OVERRIDE" with "override" 2018-11-11 11:12:37 +01:00
J-P Nurmi
8e38e2ac86 GUI: run clang-tidy modernize-use-override 2018-11-11 11:08:03 +01:00
J-P Nurmi
fb5ff96ed6 GUI: run clang-tidy modernize-use-nullptr 2018-11-11 10:56:22 +01:00
J-P Nurmi
91602574a9 Fixup the port in server notification URLs
... in addition to fixing up the scheme and host.

For example, the survey app sends "/settings/admin/survey_client" as
a link. Clicking the "More information" button wouldn't lead to the
correct place if NC was running on a custom port.
2018-11-10 22:24:17 +01:00
rakekniven
a73da99d78
Merge branch 'master' into rakekniven-patch-1 2018-11-09 16:37:43 +01:00
rakekniven
f25ef73772
l10n. Added space for correct grammar.
Signed-off-by: Mark Ziegler <mark.ziegler@rakekniven.de>
2018-11-09 16:37:29 +01:00
Roeland Jago Douma
cf0838643f
Merge pull request #800 from nextcloud/fix/open_activities_on_conflict
Actually open the activity view on a click for more info
2018-11-09 16:36:24 +01:00
Roeland Jago Douma
3a0c7f64c0
Use a format that supports alpha channels for avatars
If we use the source format it can result in fully black images. As the
basic generated avatar doesn't have an alpha channel.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-09 13:01:28 +01:00
Roeland Jago Douma
7925c6c081
Actually open the activity view on a click for more info
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-09 12:12:25 +01:00
Roeland Jago Douma
9c0e5c2b19
Merge pull request #797 from alexcustos/issue_alternative_log_in
Added default scheme when server returns just a host
2018-11-09 08:52:39 +01:00
Aleksandr Borisenko
f5586baee7 Added default scheme when server returns just a host 2018-11-08 11:35:27 +03:00
Aleksandr Borisenko
bb2d31a2bd Removed explicit initialization; Fixed RAND_bytes not found 2018-11-08 11:24:39 +03:00
J-P Nurmi
3a6d0ee29c SettingsDialog: disable unnecessary wrapping for the about label
For some reason, QLabel with rich text and word wrapping enabled
calculates quite a bit too large size hint. Luckily, it's rich text
that is already divided to paragraphs so that wrapping makes actually
very little visual difference. For example, on my screen, when the
settings dialog is resized horizontally to the minimum, the only word
that actually wrapped was "2017". After this patch, it naturally won't
wrap anymore, but the General Settings page also doesn't leave a large
gap at the bottom. As a result, the minimum height of the dialog went
down from 581 to 525. The exact values depend on the style and fonts.

Fixes #91.
2018-11-07 20:01:28 +01:00
J-P Nurmi
ee8bcb2a5b Add a command line option to launch the client in the background
Allow passing a --background argument to force the app in the background
even if systray is not available.

Fixes #737
2018-11-07 18:42:36 +01:00
J-P Nurmi
d01a99e9e5 ActivityWidget: remove a hard-coded white background
Let the system palette provide the appropriate color.

Fixes #742.
2018-11-05 22:13:34 +01:00
J-P Nurmi
b8d97b590f Fix palette usage in ActivityItemDelegate::paint()
Fixes #742.
2018-11-05 20:18:54 +01:00
Roeland Jago Douma
fe60a2a570
Use Nextcloud
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-05 13:27:30 +01:00
Roeland Jago Douma
ef15534c64
Merge branch 'master' into margins 2018-11-04 19:40:40 +01:00
Roeland Jago Douma
0c535872cb
Merge branch 'master' into feature/migrate_http_to_webflow 2018-11-04 13:47:04 +01:00
J-P Nurmi
028979d752 ActivityWidget: remove double margins
To align margins with the account settings tab, so the content doesn't
jump when switching tabs.
2018-11-03 23:03:54 +01:00
J-P Nurmi
1e1d116052 SettingsDialog: remove an unused button box
This makes the bottom margin aligned with horizontal margins, and
eliminates a warning on startup:

    [unknown QObject::connect: Cannot connect (null)::clicked() to OCC::SettingsDialog::accept()
2018-11-03 22:49:48 +01:00
Roeland Jago Douma
045bba0161
Migrate http auth to webflow
This moves all the basic http auth over to the webflow mechanism.
This thus also makes sure that if the password changes a webflow page
pops up. And thus will directly move them over to apptokens then.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-03 12:37:53 +01:00
Roeland Jago Douma
af8a2819be
Merge pull request #768 from nextcloud/fix/766/copy_over_old_windows_config
Copy over config file to new location on windows
2018-11-02 21:01:22 +01:00
Roeland Jago Douma
0f767ed995
Increase durations a bit
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-02 11:10:57 +01:00
Roeland Jago Douma
e6f1d7632a
Merge branch 'master' into slideshow 2018-11-02 10:43:01 +01:00
Roeland Jago Douma
40c36a9ed3
Merge pull request #756 from jpnurmi/add-button
Make the "Add Folder Sync Connection" button act like a button
2018-11-02 10:39:00 +01:00
Roeland Jago Douma
67714d33db
Merge pull request #744 from jpnurmi/remove-qtsvg-include
Build fix: remove an unused QtSvg/QSvgRenderer include
2018-11-02 10:31:01 +01:00
Roeland Jago Douma
e01cb108e1
Merge pull request #754 from kevin147147/patch-1
theming for general settings ui
2018-11-02 10:08:18 +01:00
Roeland Jago Douma
3e634dad70
Merge pull request #764 from Awesome-Technologies/user_group_widget
Fix warning in ShareUserGroupWidget
2018-11-02 10:05:14 +01:00
Roeland Jago Douma
188a1a6e24
Copy over config file to new location on windows
Fixes #766

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-01 15:02:31 +01:00
Roeland Jago Douma
899fca12ba
Merge pull request #721 from storca/patch-1
Inform user that configuration is not writable
2018-11-01 11:44:37 +01:00
Roeland Jago Douma
0f1395fdf0
Merge pull request #758 from nextcloud/self-signed-login-flow
Allow to use the login flow with a self signed certificate
2018-11-01 11:43:54 +01:00
Manuel Stahl
c9f720b68d Fix warning in ShareUserGroupWidget
Change-Id: I63091c67cd56dce241f04ed6badc090bb25cad5f
2018-11-01 10:26:19 +01:00
Roeland Jago Douma
bb4c180c89
Merge branch 'master' into upstream/wizard 2018-11-01 08:32:12 +01:00
Roeland Jago Douma
3b5d8f0277
Merge branch 'master' into upstream/pr/6656 2018-11-01 08:07:55 +01:00
Roeland Jago Douma
5cfdc71ca5
Merge branch 'master' into upstream/pr/6671 2018-10-31 21:13:10 +01:00
J-P Nurmi
08879c0f14 Make the "Add Folder Sync Connection" button act like a button 2018-10-31 20:05:14 +01:00
Roeland Jago Douma
b7d0e5672a
Merge branch 'master' into upstream/pr/6616 2018-10-31 13:51:34 +01:00
Roeland Jago Douma
cb4450864e
Merge pull request #656 from nextcloud/upstream/pr/6672
Settings: Attempt to fix rename issue on old macOS
2018-10-30 23:04:34 +01:00
Roeland Jago Douma
ef3aeb65cc
Merge pull request #658 from nextcloud/upstream/pr/6698
OAuth: Fix infinite loop when the refresh token is expired
2018-10-30 23:04:09 +01:00
Roeland Jago Douma
aca75ee982
Merge pull request #403 from nextcloud/upstream/pr/6372
Partial local discovery: Fix scheduling logic
2018-10-30 23:03:16 +01:00
Roeland Jago Douma
326c872ba7
Merge pull request #663 from nextcloud/upstream/pr/6707
Windows: Release handle/fd when file open fails #6699
2018-10-30 22:40:44 +01:00
Roeland Jago Douma
8df9746005
Merge branch 'master' into upstream/pr/6372 2018-10-30 22:37:30 +01:00
Roeland Jago Douma
668c53a0af
Allow to use the login flow with a self signed certificate
The QWebEngine uses a different certificate store/system. So we can't
just pass wour accepted certificates in there.

As a work around we now trust the url we set by definition. As this has
to already be approved before we access this.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-30 22:23:10 +01:00
kevin147147
30032f9c0c
i18n for general settings ui 2018-10-30 17:32:52 +01:00
J-P Nurmi
1d3d261e38 Setup wizard: implement an animated and interactive slide show 2018-10-29 19:10:27 +01:00
J-P Nurmi
f48aabf344 Build fix: remove an unused QtSvg/QSvgRenderer include
Slipped in in 156605c.
2018-10-25 21:32:43 +02:00
Julius Härtl
99d4f81892
Merge branch 'master' into upstream/pr/6592 2018-10-24 22:38:11 +02:00
storca
ef8e029cbf
Merge branch 'master' into patch-1 2018-10-24 18:10:35 +02:00
Roeland Jago Douma
eb31e9205c
Merge branch 'master' into upstream/issues/6696-6610 2018-10-24 16:50:39 +02:00
Roeland Jago Douma
174f99728f
Merge branch 'master' into upstream/pr/6617 2018-10-24 16:27:31 +02:00
Roeland Jago Douma
d246c1e8b9
Merge branch 'master' into upstream/pr/6485 2018-10-24 08:27:11 +02:00
Roeland Jago Douma
091c4fd9b0
Merge branch 'master' into upstream/pr/6688 2018-10-24 07:29:10 +02:00
Julius Härtl
23883b2b60
Merge branch 'master' into patch-1 2018-10-23 23:11:21 +02:00
Dominik Schmidt
cddb9aa8ba
Support higher resolution theme icons 2018-10-23 23:07:17 +02:00
Roeland Jago Douma
24606c0105
Merge branch 'master' into upstream/pr/6632 2018-10-23 22:51:12 +02:00
Roeland Jago Douma
6b7328bb87
Merge branch 'master' into upstream/pr/6632 2018-10-23 22:48:34 +02:00
Roeland Jago Douma
f3529e3dd7
Merge branch 'master' into upstream/pr/6674 2018-10-23 21:43:13 +02:00
Roeland Jago Douma
c37186cc56
Merge branch 'master' into upstream/issue/6581 2018-10-23 21:08:51 +02:00
Roeland Jago Douma
35c0c9c0b1
Merge branch 'master' into upstream/issue/6522 2018-10-23 20:13:28 +02:00
Roeland Jago Douma
0cf2970134
Merge branch 'master' into upstream/pr/6605 2018-10-23 12:32:16 +02:00
Roeland Jago Douma
1c8307f264
Merge branch 'master' into fix-issue-268 2018-10-23 12:04:14 +02:00
Roeland Jago Douma
a492ab8294
Merge branch 'master' into upstream/issue/6545 2018-10-23 10:59:56 +02:00
Roeland Jago Douma
156308c72e
Merge branch 'master' into upstream/issue/6581 2018-10-21 14:19:07 +02:00
Roeland Jago Douma
2dc7ff7332
Merge branch 'master' into upstream/pr/6360 2018-10-19 16:13:09 +02:00
Roeland Jago Douma
7ace48d5de
Merge pull request #643 from nextcloud/upstream/pr/6615
Log: Adjust update/reconcile log verbosity
2018-10-19 16:04:26 +02:00
Roeland Jago Douma
56ccff4ee8
Merge pull request #654 from nextcloud/upstream/sqlite-version-3-24
sqlite: Update bundled version to 3.24.0
2018-10-19 16:03:04 +02:00
Roeland Jago Douma
9d9f96a685
Merge branch 'master' into upstream/pr/6615 2018-10-19 15:43:50 +02:00
storca
4bd3829f78
Merge branch 'master' into patch-1 2018-10-16 21:17:58 +02:00
Roeland Jago Douma
6805d91033
Merge branch 'master' into fix-issue-665 2018-10-15 13:47:18 +02:00
Camila San
45ff3385c7
Uses QByteArray to store private key.
Removes QSslkey. See #268

Signed-off-by: Camila San <hello@camila.codes>
2018-10-15 00:21:08 +02:00
storca
620908523e
Update accountmanager.cpp
Fixed syntax error
Possible fix for issue #720
2018-10-13 18:45:01 +02:00
storca
8a996ba9a9
Update accountmanager.cpp
Fixed issue #720 by adding the isWrittable method
2018-10-13 18:36:40 +02:00
kevin147147
e214234001
Rename README to README.md
Preview :)
2018-10-08 21:01:08 +02:00
kevin147147
54e58b51ab
Rename INSTALL to INSTALL.md
Preview :)
2018-10-08 20:57:34 +02:00
Camila San
debe37308f
Fixes #665 Adds slot for confirmShare button.
Signed-off-by: Camila San <hello@camila.codes>
2018-10-08 20:56:01 +02:00
Camila San
63d7e54ef3
Updates submodule qtmacgoodies.
Signed-off-by: Camila San <hello@camila.codes>
2018-09-11 16:11:47 +02:00
Markus Goetz
a2f4917daf
SettingsDialogMac: Show the page for the newly created account 2018-09-11 13:45:01 +02:00
Olivier Goffart
a09f1d14ba
SettingsDialog: Show the page for the newly created account 2018-09-11 13:44:22 +02:00
Christian Kamm
4bd2545dad
Windows: Release handle/fd when file open fails #6699 2018-09-10 21:17:20 +02:00
Olivier Goffart
08e4ba3363
Data-Fingerprint: Fix backup detection when fingerprint is empty
Add a test to test the data fingerprint feature make me realize it was broken.
The code was relying in the distinction between empty and null QByteArray,
but this was a bad idea as this difference is lost when going through QString.
2018-09-10 20:44:03 +02:00
Olivier Goffart
3b2c6d2202
OAuth: Fix infinite loop when the refresh token is expired
The server reply with a code 400 when the token is invalid,
the client was understanding this error as a network error, and was retying
again with the same token.

Instead, we must rely on what the json is saying, even if the reply is
not a 200 code.

Issue https://github.com/owncloud/enterprise/issues/2777
2018-09-10 20:22:40 +02:00
Markus Goetz
4f83bba829
Windows: Don't ignore files with FILE_ATTRIBUTE_TEMPORARY
Too many applications incorrectly use this attribute.

For #6696 #6610
2018-09-10 20:20:40 +02:00
Markus Goetz
109947ba3f
Settings: Attempt to fix rename issue on old macOS
Found by @hurradieweltgehtunter
2018-09-10 17:34:48 +02:00
Christian Kamm
5b228d1afd
Do not require server replies to contain an mtime
The check was added for #6317 in commit
13eb64584f.

We did see missing mtimes in replies in tests with live servers though.
Possibly those were old incomplete responses cached in the stat cache?
2018-09-10 17:33:53 +02:00
Markus Goetz
b873311bc5
sqlite: Update bundled version to 3.24.0
For OS X and Windows.
2018-09-10 16:44:16 +02:00
Christian Kamm
3ec4fc6145
Update: Report on readdir() errors #6610 2018-09-10 14:33:36 +02:00
Olivier Goffart
b3e4ec9454
FolderMan::checkPathValidityForNewFolder: make sure to work when folder points to deleted folders
Note that we also needed to adjust the server url to contains the user name
in the folder wizard. (As checkPathValidityForNewFolder expect the user name)

Issue #6654
2018-09-09 22:02:44 +02:00
Olivier Goffart
39c6196487
Wizard: show a message when the URL is invalid
Rather than let Qt show "Host not found"

Issue #6646
2018-09-09 21:47:03 +02:00
Olivier Goffart
986cf448a9
Wizard OAuth2 Page: add a context menu to copy the link
Relates to https://github.com/owncloud/enterprise/issues/2600
2018-09-09 21:46:42 +02:00
Olivier Goffart
67f793a49e
Log: Remove inaccurate comment about --logdebug
The exact string is actually "sync.*.debug=true\ngui.*.debug=true".
And this is not strictly equivalent to setting the env var, as it
calls QLoggingCategory::setFilterRules.
Over all, that's an implementation details that users do not care about.
2018-09-09 21:44:55 +02:00
Olivier Goffart
d202942a2c
Reconcile: When detecting a local move, keep the local mtime
https://github.com/owncloud/client/issues/6629#issuecomment-402450691
2018-09-09 21:38:10 +02:00
Christian Kamm
283c4b13a1
Log: Adjust update/reconcile log verbosity
Not having these enabled by default is causing significant extra back
and forth with reporters since they must manually use --logdebug for the
log to be useful.
2018-09-09 21:34:41 +02:00
Olivier Goffart
40007537ea
OAuth: Remove the timeout
There is no real reason to have a timeout. The connection can stay open
as long as we are not authenticated. The User can still re-open a browser
from the UI at any time.

Issue #6612
2018-09-09 17:57:38 +02:00
Markus Goetz
6122a47241
UpdateInfo: Remove unused code 2018-09-09 17:39:56 +02:00
Christian Kamm
ce3339a00f
fixup: remove outdated Qt5.5 workaround code 2018-09-09 17:27:30 +02:00
Christian Kamm
14df7a3273
fixup: use initializer for contextMenuVisibleManual 2018-09-09 17:23:49 +02:00
Christian Kamm
9330d2b178
fixup: make logging "info" 2018-09-09 17:15:58 +02:00
Christian Kamm
87dd198b52
Tray workarounds #6545
* Disentangle the previous 'qdbusWorkarounds' into three different
  things
* Make not trusting tray.isVisible() a new workaround
* Introduce env vars for all workaround flags
* Use the workaround flags for OSX
* Determine workaround flags for KDE when the plasma integration plugin
  is missing
2018-09-09 13:17:31 +02:00
Olivier Goffart
a68c95522d
OAuth2: Try to refresh the token even if the credentials weren't ready.
This can happen when the client is started and the internet connection
was not enabled. Then we would fetch the credentials, but we would
no do the refresh token step (because network is down).
So next time we try to connect, we would also not refresh the token
because the credentials are not marked as 'ready'

Reported in
https://github.com/owncloud/client/issues/6522#issuecomment-396845167
2018-09-09 12:00:59 +02:00
Christian Kamm
cba0627a9c
Ensure GETFileJob notices finishing #6581
It could happen that readyRead was emitted for incoming data while the
download was not yet finished. Then the network job could finish with
no more data arriving - so readyRead wasn't emitted again.

To fix this, the finished signal also gets connected to the readyRead
slot.
2018-09-09 11:50:00 +02:00
Camila Ayres
bddc573c54
Merge branch 'master' into fix/279/abstract_webflow_qnam 2018-09-05 12:42:56 +02:00
Oskar Kruschitz
2bfb99f174 Mac Application Icon
Replaced ownCloud.icns with APPLICATION_ICON_NAME variable
2018-09-05 11:57:26 +02:00
Roeland Jago Douma
9f1f99f4db
Add a WebFlowCredentialsAccessManager
Fixes #279

Some setups don't make Qt emit the right signals and the client would
end up in state where it could not do the initial authentications.
This is a similar hack that apparently already was is place for basic
http auth.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-04 20:59:25 +02:00
Camila Ayres
44026763b8
Merge branch 'master' into host_link 2018-09-02 12:55:44 +02:00
Camila Ayres
3a489b73f9
Merge branch 'master' into webview_scale 2018-09-02 12:23:44 +02:00
Tobia De Koninck
d9f79215a7 Fix the hiddensync state in the UI + also sync hidden in cmd 2018-09-01 16:30:27 +02:00
Jan-Christoph Borchardt
309b0b6382 Sync hidden files by default 2018-09-01 16:30:27 +02:00
Óscar Nájera
452f64221e Web view scales vertically
Fix #591
2018-08-31 19:49:13 +02:00
Óscar Nájera
72419a1149 Remove hostButton from setup page 2018-08-31 18:35:52 +02:00
Óscar Nájera
ab5c4749c1 In setup wizard put link to nextcloud installation
Fix #604

Remove the not actionable button but a direct link to the nextcloud
installation page. In this case the button is changed for a label with an
html link to the website.
2018-08-31 18:32:00 +02:00
Camila Ayres
4a47d1c8ef
Merge branch 'master' into unpause_resume 2018-08-30 16:47:28 +02:00
Camila Ayres
efc2f0eded
Merge branch 'master' into login_button 2018-08-30 14:33:00 +02:00
Camila Ayres
3e839b2e44
Merge branch 'master' into unpause_resume 2018-08-30 13:31:34 +02:00
Óscar Nájera
121c0d8433 Hide login button on setup screen
Fix #576
2018-08-30 13:24:23 +02:00
Óscar Nájera
0f80ecbb39 Drop the ToolTipRole from the activity list
Fix #515
2018-08-30 00:37:59 +02:00
Óscar Nájera
d896edeee8 Rename Unpause to Resume
Fix #192
2018-08-29 17:03:07 +02:00
Christian Kamm
2844c925eb
Show a tray message when a folder watcher becomes unreliable #6119 2018-08-28 17:04:25 +02:00
Camila San
64e21d5083
Fixes #538: correctly checks for local sync actitivities.
- Local sync activities are now listed with the sync icon and included
in the correct list: once a file is synced, activityWidget checks for
its status to know if it is an error or if the file was successfully synced.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-24 09:24:32 +02:00
Camila San
d5a0ec7d8b
Fixes #534: interactions with expiration date and password.
- Fixes call for slot when date is set - it was the password
slot for that.
- Adds QProgressIndicator and function to toggle animation.
- Fixes: when date was set, the date was not being correctly set and
displayed.
- Fixes: hides and 'deletes' passsword and expire. date widgets when
the user unchecks it in the toolbox menu.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 22:48:51 +02:00
Camila San
eecbdb00de
Fixes #534: can edit permission were always disabled.
- Properly checks files and folder share permissions when displaying
can edit checkbox - which can also be partially checked - and listing
permissios in the tollbutton menu.
- Fixes click on can edit checkbox - which can also change state of
permissions in the toolbutton menu.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 22:48:51 +02:00
Camila San
085de2825a
Enhancement #534: hide tool button when there is no share link.
- Only display button when there is a share link.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 22:48:51 +02:00
Camila San
cf3ee4b3a4
Fixes share link delete action when clicking on tool button menu.
- Shared point was not handled properly.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 22:48:50 +02:00
Camila San
8f7bc8cff9
Changes 'Allow editing' for file sharing to a checkbox instead of a radiobutton.
Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 22:48:42 +02:00
Camila San
c8d5d9a622
Removes dynamic cast when building navigation apps.
- It checks for the menu title to know where to add the apps menu instead of trying to cast
the menu pointer saved in the sender() property.
- The previous solution was not working reliably - see #523
- Adds TODO.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-21 14:57:12 +02:00
István Váradi
8b996772a4 Further QAction constructor fixes 2018-08-15 17:02:28 +02:00
István Váradi
8cbc757a56
Merge branch 'master' into qaction 2018-08-14 17:13:44 +02:00
István Váradi
5bcc4ece77
Merge branch 'master' into qaction 2018-08-14 17:11:00 +02:00
Camila San
135bcaea3e
Fixes #517: changes QPalette for more readability in the activities list.
Signed-off-by: Camila San <hello@camila.codes>
2018-08-14 17:00:43 +02:00
István Váradi
a15a470ea2
Merge branch 'master' into qaction 2018-08-14 16:53:14 +02:00
Camila San
1d4fc91d79
Fixes #518: adds more margin for the text in the activity (only for Windows).
Signed-off-by: Camila San <hello@camila.codes>
2018-08-14 16:32:48 +02:00
Camila San
c1c5e5da5f
Fixes #533: Removes the copy activities/notifications button
- Also removes the signal/slot associated with it.
- Minor changes: removes white background and changes frame style to the
same used in the accountsettings for consistency.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-14 13:53:14 +02:00
István Váradi
14615855d0 Provide parent to QAction 2018-08-14 11:54:08 +02:00
Camila Ayres
8e8a619ee1
Merge branch 'master' into issues/494 2018-08-13 17:42:53 +02:00
Camila San
8fd0ca4587
Removes unused NotificationWidget class.
Since the new activities/notifications list UI this class is not used
anymore.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-13 15:17:40 +02:00
Camila San
2aa942e4b8
Issue #494: removes close button from the settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-08-13 14:24:10 +02:00
Julius Härtl
3576fbb2a5
Remove unused subclass of QWebEngineView
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-11 17:47:40 +02:00
Julius Härtl
8dedb9084e
Make links open in an external browser
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-11 17:38:08 +02:00
Roeland Jago Douma
b85bad0566
Remove nlohmann/json.hpp
Not used so no need to have it lying around

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-08 20:03:04 +02:00
Roeland Jago Douma
c4d7f97e00
Add legal notice button to about dialog
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-02 22:17:11 +02:00
Roeland Jago Douma
aa4ff0c083
Fix include order
Because why not :S

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-02 21:19:57 +02:00
Camila San
9d087b920b
Inserts ShareDialogStartPage in the correct position in the share dialog.
- With the new UI this had to be adapted.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 20:23:26 +02:00
Camila San
2cd32261a2
Checks if share link exists before settings password.
Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 20:22:37 +02:00
Camila San
8e0398426d
Replaces 'more' (3 dots) png icon for svg in buttons of the share
dialog.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 20:21:11 +02:00
Camila San
44865e0107
Adjustes sizes and margins in the share dialog and its widgets.
- Adds TODO's in commented out code.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:57:17 +02:00
Camila San
c2c2fe3ce3
Changes Share User/Group widget UI to match the server share UI.
- Display list of permissions in the tool button menu.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:57:17 +02:00
Camila San
25ff932a0b
Fixes edit permission on share link for files and folders.
Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:57:17 +02:00
Camila San
b14aa11c29
Changes share link layout so it looks like the UI on the server.
- Adds icons to Share link and to save password on share dialog.
- Changes wording of the menu options for sharing link.
- Adds functionality to the new menu (mostly permissions).
- More widget size and size policy adjustments.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:57:16 +02:00
Camila San
a19904657a
Switches order of widgets in share dialog: share link comes first.
- First text input to search for users,then share link and then the list
of users.
- Adjusts size and scroll bar for sharees list.
- Adds option 'can share' to 3 dots menu in share user/group widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:52:28 +02:00
Camila San
7aff1e27c0
Fixes share users/groups widget.
- Existing sharees where not being displayed.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:52:28 +02:00
Camila San
55b0b46bb6
Changes size, size policy, content and margins of the share dialog and its widgets.
- Adds select with permissions to share dialog on the user/group search.
- Changes order of widgets, removes excess of text and do not display empty widgets.
- Share user/group widget: replaces combo box for tool button with permissions.
- Using Fixed as size policy it gives a much smoother user experience
when windows size dinamically changes.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:52:27 +02:00
Camila San
4ecfab4bf3
Improves share dialog.
- Removes the tabs: adds items to a vertical layout.
- Fix spacing and alignment.
- Removes extra text.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-02 19:48:42 +02:00
Camila San
0ac532f5c9
Fixes crash on mac OS and linux.
- The crash was happening when the user could not connect and it would
crash on trying to retrieve and display the navigation apps.
- Checks AccountStatePtr earlier in the function
slotNavigationAppsFetched.
- Cast of pointer stored in QVariant to QMenu was not done correctly -
qvariant_cast works best for user type defined or QMetaType known to
QVariant.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-01 00:28:25 +02:00
Julius Härtl
bc96ec8ae1
Fix styling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-31 13:35:37 +02:00
Julius Härtl
3159a36f25
Make build optional
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-31 13:35:36 +02:00
Julius Härtl
156605c2fa
Use proper URL
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-31 13:35:36 +02:00
Julius Härtl
295750555d
Allow to use provider registration with flow auth
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-31 13:35:35 +02:00
Camila San
32bb1ca449
Aligns copy button to the left in the activity widget.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
a149660ae9
Enables again alternate row color in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
524a3d4c6a
Returns default icon when no status matches any of the check for SyncFileItem::Status.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
90a2d5a3e7
Aligns text correcty when not all text has content in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
156b4cf284
Aligns time vertically on the bottom of the notification action text when there is no message.
- Minor fix: gives less space for long text that needed ellipses which
was not showing and set right margin because otherwise text was not
painted correctly and completly.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
ee612bda3a
Fixes crash when folder it is not set in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:03 +02:00
Camila San
a1cab471e8
Comments out slotProgressInfo.
- Added TODO.
- It seems to be working only in some cases.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
f294cf1b93
Changes icons for errors and warnings in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
31892f5337
Changes background color to white for the Activity list widget.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
e9dbee0df5
Removes alternate color on the rows of Activity Widget.
- Also fixes the click on each activity: the user had to click twice -
one to select the row and then one click to open file manager or
browser.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
9cbf5aa783
Changes icons for actions in Activity List.
- For folder (open file manager) and close (dismiss
notification).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
36a73432bc
Implements ActivityWidget::slotProgressInfo.
- Attempts to implement slot as it was in the old IssuesWidget.
- It should clean up the activity list when needed -  e.g. when file
conflict was solved.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
b2834e047d
Refactores ActivityListModel::removeFromActivityList.
- Fixes crash when dismissing notification - notification was being
removed from the wrong list.
- Minor changes: removes AccountStatePtr where it was needed anymore now
that ActivityListModel has an _accountState, it doesn't need to be
checked for each activity/notification.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
f63434b856
Stores folder in ActivityData.
- The information is needed on ActivityWidget::slotProgressInfo.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
7bc9275a8c
Separates types of errors: SyncErrorType and SyncFileItemType.
- This follows what the enums already being used SynResult::Status and
SyncFileItem::Status.
- Do not display buttons for FileErrorTypes - since they are errors on
local syncing, there is nothing to do in the server.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
7b1569df81
Removes static const from activity widget.
- It didn't need to be static.
- It crashed on Windows (Visual Studio 15 2017 Win64).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
f85825dee4
Adds header and forward declaration of 'QMouseEvent' to ActivityItemDelegate.
To fix compiling for Qt5.7 (drone error).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
3673603e5a
Fixes buttons clickable area in the activities list.
- Their size was not correctly calculated so it was hard to filter the
clicks on the list. User had to click multiple times before clicking on
the right acceptable area.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
9f9be7814c
Adjust space between action/buttons in the toolbar.
- Minor: cleans up code used for debug.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
938c99ec42
Fixes and improves 'copy to clipboard' output.
- With the merging of activities and notifications the copy to clipboard
function got broken. Had to put it back as it was before.
- The output text from the clipboard was almost unreadeable. Ajusted the
space between texts and used separator '-' instead of ','.
- Minor: cleans up comments.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
4a6b7854f5
Adds 'Join' string for call notifications.
- Stores object_type from the api response to check if notification is a
call so the primary button text and action is 'Join'.
- Puts strings into consts.
- Minor change: Improves comments on ActivityListModel.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
00effb0e2f
Adds 'accept' button for remote share notifications.
- Stores object_type form the api response to check if notification is
remote_share, so the primary button text is 'accept' instead of 'more
information'.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
f0ca5dbded
Fix settings dialog for mac.
- Fixes adding/removing accounts with separator in the toolbar -
accounts were not added in the right order and removing was not
including the separator.
- Fixes button sizes in the activities list - the buttons were too small
for the text.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
11484d5588
Removes Protocol and Issues widget files and references.
- Minor changes:
 - Improves comments and qCWarning  messages
 - Removes commented out code.
 - adds TODO's.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
ab3c6da5d7
Gives full path to file to open in file manager.
- The path to the file wa being stored in the wrong activity property.
It was in the action link when it should be in the file.
- Minor: comments out the display of issues and protocol widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
f402b1d9e4
Changes icons for opening in file manager and to dismiss notification.
- The icons used before were not really clear on what their function
was.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
ec51428e4d
Fixes the url for the button 'more information'.
- The url for the browser was not full path to the file.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
64d635a046
Fixes the color of the font.
- It was too light when the row was selected.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
9de3985021
Small fixes.
- Align progress indicator to the center.
- Moves unused code.
- Removes unused labels.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
a9cd3b3a6d
Merges errors and protocols into notifications/activities.
- Errors will always be on top, then Notifications comes next and then Activities for last.
- Adds 2 new types of Activity: NotificationType and ErrorType.
- ActivityListModel and ActivityWidget stores AccountState to connect user and widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
d0c72dd642
Makes space smaller bewteen user/activities and network/settings menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
9ad2a980ce
Moves the separator to between accounts.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
7e8b5f34d7
Fixes the text length for activities.
- Activities from the server don't have buttons to interact with so
their content can use the full lenght of the row.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
918ccb1ed3
Removes row when notification is dismissed.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
e3c7a5a2ff
Changes Activity list view icons, buttons and drawing.
- Displays the notification icon when available.
- Adds dismiss button with an icon.
- Handles buttons actions in the list view.
- Changes what is painted first (activityitemdelegate) for each row in
the activity list.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
00a73b5ded
Adds class to retrieve icons.
- This is an attempt to cache the icons.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
49377976db
Removes notification row from the view when clicking on Dismiss.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
ef4a30fcb9
Displays a menu once the user clicks on the button in the notifications.
- In activityitemdelegate the mouse events are filtered (ActivityItemDelegate::editorEvent) to check if the user clicked
on a button in the list of activities/notifications. Then a signal is emitted to ActivityWidget that does the rest:
show submenu when there are more options, open browser, open file manager, send request to server.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
9ad01f0819
Fixes order of the notifications: latest on top.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
7fa5e41e8d
Only displays buttons if it is a notification and adjust space left.
- Do not display buttons for activities.
- Adds correctly text and button in the space left depending on the widget size.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
4e4a0da3b7
Returns the activity type to the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
2350b41dc3
List model returns the list of actions for each activity.
- The list of possible actions (server requests( was not being used in
the activityitemdelegate. This is needed to be able to draw the primary
action buttons and other options for each notification in the view.)
- Minor changes:
  - Uses different icons for activities and notifications in the list view.
  - Align elements in the list view of notifications/activities properly.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
d1f4f8a558
Correctly removes actions - account, separator and settings widget from toolbar when account is removed.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
a6331c7a75
Fixes widget stack visibility when switching actions.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
22a6303c9d
Adds space bewteen different accounts and activity.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
1b1468a9c6
Each user has its own list of activities.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
b13f77c0fb
Adds one activity widget for each user.
- ActivityListModel and ActivityWidget stores an AccountState to connect user and widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
8e0c036fc3
Aligns Network and General to the right.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
75c2613b1b
Displays activity and notification messages in the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
908870ccde
Adds notifications to the Activities list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:57 +02:00
Roeland Jago Douma
24efdd3b45
Fix E2E query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 11:40:58 +02:00
Roeland Jago Douma
6c11c1aa73
Fix query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 10:33:26 +02:00
Olivier Goffart
d114212333
OwnSql: Fixup after feedback for #6388 2018-07-03 10:33:26 +02:00
Olivier Goffart
779969f865
OwnSql: Put the SQL queries next to their use.
This avoid haivng to modify 4 places when we want to add a query
2018-07-03 10:33:26 +02:00
Olivier Goffart
518fb90757
OwnSql: Some refactoring
Use QByteArray for the query so we don't have to convert twice.
Automatically finish the query when the DB close, so we don't
have to call reset
2018-07-03 10:33:26 +02:00
Christian Kamm
d549c77af6
Issues: Show link to conflicts doc if there are some #6396
The link url is themed.
2018-07-03 10:18:18 +02:00
Roeland Jago Douma
0d70b05b65
Set Accept-language header for webview requests
This way the server will properly translate it for you if it has
translations.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 07:45:02 +02:00
Camila Ayres
9627aad04c
Merge branch 'master' into fix/458/do_not_show_webview_by_default 2018-07-02 22:01:03 +02:00
Christian Kamm
70b5d54082
Proxy settings: Fix bad behavior with empty host
Fixes f6a075ef54 for #5885

When no host is given it shouldn't just *appear* that there is no
proxy, there actually shouldn't be a proxy set then.
2018-07-02 21:15:30 +02:00
Roeland Jago Douma
34d964fc80
Do not force to show the webview on construct
Should fix #458

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 20:09:30 +02:00
Roeland Jago Douma
08abc71acb
gui Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 13:02:15 +02:00
Roeland Jago Douma
ce545b1e47
propage*encrypted Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 12:45:44 +02:00
Roeland Jago Douma
e871359453
Remove unneeded ;
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:03:58 +02:00
Roeland Jago Douma
b952fa64ee
Restore logger installation
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:01:52 +02:00
Roeland Jago Douma
d2b75cabb2
Remove default trademark text
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-29 21:36:18 +02:00
Roeland Jago Douma
595cbfaa16
Update urls
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 12:46:47 +02:00
Camila San
4c7b7dfcaa
Restores previous text in the about section.
Signed-off-by: Camila San <hello@camila.codes>
2018-06-28 12:33:40 +02:00
Olivier Goffart
c5ace2338c
Theme: unify ownCloudTheme and Theme classes
The goal is to avoid confusion described in issue #6422 by removing
duplicates between the Theme and owncloudTheme.

 - Use the about from ownCloudTheme everywhere
 - Create default applicationIcons() and condifFileName() that should work
   everywhere
 - trayFolderIcon was removed as it is not used
 - the helpUrl from the default Theme now points to the owncloud client
   documentation. Before there was no help entry by default for branded
   client if the function was not overriden.
 - Do not merge functions that would otherwise break compatibility with
   theme that did not override them. For example colors or customMedia.
2018-06-28 12:33:39 +02:00
Camila San
e69a9c61d0
Windows: moves translation files to /i18n.
Signed-off-by: Camila San <hello@camila.codes>
2018-06-26 23:56:34 +02:00
Roeland Jago Douma
9eb950bdcf
Merge pull request #438 from nextcloud/bugfix/413/hide-decrypt-option
Hide decrypt option since it does only work for empty folders
2018-06-23 21:20:46 +02:00
Julius Härtl
92480ec8fb
Hide decrypt option since it does only work for empty folders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 12:13:04 +02:00
Julius Härtl
e42f5648bd
Add indicator to e2e folders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 11:21:30 +02:00
Julius Härtl
655a43db10
Use custom mnemonic dialog
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 10:42:01 +02:00
Roeland Jago Douma
48a6ef37b2
Add a button to E2E accounts to show the mnemonic
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 19:52:27 +02:00
Roeland Jago Douma
30b211381f
More fixes for the OSX daily builds
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 15:22:53 +02:00
Julius Härtl
4ba40a6ce1
Move information icon to warning icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-20 16:06:19 +02:00
Roeland Jago Douma
f7bf8c7577
Thread local storage don't work properly on OSX
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-14 21:26:07 +02:00
Christian Kamm
ca8f569371
SocketAPI: Remove SHARE_STATUS
It was never used by a shell integration.
2018-06-11 19:35:17 +02:00
Christian Kamm
2bec587d4d
SocketAPI: Allow opening share dialog if contents still syncing #4608
With the previous changes the "Share..." action was shown but it didn't
work yet.
2018-06-11 19:35:16 +02:00
Christian Kamm
d304fcbda7
Rename local discovery option for clarity
It's using full relative filepaths, not just dir paths.
2018-06-11 14:50:01 +02:00
Christian Kamm
77fcff5bdf
Conflicts: Change tags to be more user friendly #6365
From "_conflict-user-yyyymmdd-hhmmss"
to   " (conflicted copy user yyyy-mm-dd hhmmss)"
2018-06-11 14:40:40 +02:00
Roeland Jago Douma
dc41f8a16e Fix windows build
* Reorder openssl header import
* not => !

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-08 16:53:56 +02:00
Christian Kamm
e65caee9cf
Notify if an explicitly excluded folder is created #6222 2018-06-08 14:49:26 +02:00
Christian Kamm
a1d6af60f0
AccountWizard: Reserve space for error label #6546 2018-06-07 15:32:52 +02:00
Olivier Goffart
7c9ec4a55a
Credentials: Retry fetching from the keychain in case the keychain is still starting
When owncloud is restored, at boot time, it might be started before the
crendential manager. So if we detect an error, wait 10 seconds and hopefully
it'd be loaded by then.

Issues: #4274, #6522
2018-06-07 15:18:40 +02:00
Julius Härtl
689ab5b8b3
Merge branch 'master' into upstream/owncloudsynclog 2018-06-07 14:38:49 +02:00
Markus Goetz
3cd21e258e
macOS: Don't use WAL for sqlite3 in /Volumes
For #6049
2018-06-07 10:22:07 +02:00
Christian Kamm
8147963b24
SyncJournal: Explain added file-exists check 2018-06-07 09:50:09 +02:00
Christian Kamm
cc04ce9fe4
SyncJournal: Check file existence even for open dbs #6049
With WAL mode sqlite seems to occasionally crash when the
underlying filesystem goes away.
2018-06-07 09:50:09 +02:00
Christian Kamm
5f793c151c
Upload: Adjust timeout for final job based on size #6527
Some servers have virus scanners and the like that can delay the
response of the final chunked upload assembly significantly, often
breaking the current 5min (!) timeout. See owncloud/enterprise#2480
for details.
2018-06-07 09:38:16 +02:00
Christian Kamm
4fa762b5ce
Propagation: Connection closed is a normal error #6516
Because it sometimes appears in conjunction with server bugs and we
don't want to halt all syncing for other files in these cases.
2018-06-07 09:12:46 +02:00
Olivier Goffart
14ff3534a8
Fix compilation warning
propagateuploadng.cpp:500:10: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
2018-06-07 08:53:12 +02:00
Christian Kamm
d9640dd79e
PropagateUpload: Fix miscount in abort() #6516
Previously it tried to abort even jobs that had already finished, which
was not going to work as they wouldn't emit finished() again.

Also, in some cases the abortCount would never go to zero and that case
wasn't well documented.
2018-06-07 08:53:12 +02:00
Christian Kamm
96126a53d3
PropagateUpload: Remove unused PropagateUploadFileCommon::abort 2018-06-07 08:53:10 +02:00
Christian Kamm
797b40237e
Partial local discovery: Fix scheduling logic
A recent patch that touched the condition for deciding whether a
periodic full local discovery is necessary accidentally inverted the
condition.
2018-06-06 22:49:50 +02:00
Christian Kamm
898a530ba5
ShareLink: Preserve password when unrelated ui changes #6512 2018-06-06 20:56:34 +02:00
Olivier Goffart
31ba483845
sqlite: Update bundled version to 3.23.1
For OS X and Windows.
2018-06-06 20:40:23 +02:00
Olivier Goffart
fbc1747168
Fix a bunch of warning with clang
The option -Wno-discarded-qualifiers only exists with GCC, clang warns that
it has no effects.

Also it warns when some virtual fuction are marked with override but not
all of them.
2018-06-06 20:31:14 +02:00
Markus Goetz
367d0c39e8
Logging: Avoid the word "Error"
The old code printed "QNetworkReply::NoError"
2018-06-06 20:24:32 +02:00
Christian Kamm
e1ab5f3811
Network settings: If no proxy host given, show "no proxy" #5885
What happens internally is that a proxy without a hostname gets treated
as no proxy.
2018-06-06 20:11:09 +02:00
Olivier Goffart
073a5184cb
Use std::chrono::milliseconds to represent milliseconds 2018-06-06 17:26:53 +02:00
Olivier Goffart
c4af4a5a85
More Button: Use SVG and fix size so it renders good in highdpi
When the more button was changed from using a text to an icon,
the size computation was not adjusted proerly to that of a button
with an icon.

And using svg allows it to be rendered correctly with high-dpi

It looks much much nicer now
2018-06-06 13:55:34 +02:00
Olivier Goffart
012c638d4e
Uploads: Don't delete unexisting chunks
Since commit 4dc49ff3, we store an entry in the upload info table even
for non chunked uploads. However, if this fails we don't want to remove
non-existant stale chunks if the upload fails.

Without this commit, we would send a DELETE command to clean non-existant
chunks in the dav/uploads/ namespace.
2018-06-06 09:52:02 +02:00
Christian Kamm
de9fb7dc9a
Silence warning by removing unnecessary this capture 2018-06-06 09:15:25 +02:00
Christian Kamm
550b845037
SocketApi/Sharing: Add "copy public link" to menu #6356
* The new menu option will fetch shares and create a new link share if
  no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
  in particular there's now FileData::get() that calculates all the
  relevant paths that are useful for most socketapi actions.
2018-06-06 09:15:23 +02:00
Markus Goetz
eb097cbffb
Notifications: Lower hiding timeout
With the 4.5sec timeout, it was very easy to accidently hit the wrong notification
when the previous one dissapeared so late.
2018-06-05 21:24:56 +02:00
Markus Goetz
de1032ebd7
Q_UNUSED: Sprinkle around 2018-06-05 20:45:51 +02:00
Markus Goetz
d3cbe63801
macOS: Implement new dynamic Finder menu items #6328 2018-06-05 20:40:40 +02:00
Markus Goetz
648911f3ab
macOS: Unload the Finder extension on exit #5382 #3819 2018-06-05 20:22:02 +02:00
Christian Kamm
4a81ae75cf
Logging: Add persistent auto-logdir option #6442 2018-06-05 20:07:53 +02:00
Christian Kamm
428cfc5e1c
LogDir: Compress log when switching files #6442 2018-06-05 20:07:53 +02:00
Christian Kamm
9319b6594e
LogDir: Go to new file on Problem/Abort too #6442 2018-06-05 20:07:53 +02:00
Christian Kamm
63c2474b70
Folders: Use "Problem" icon for unresolved conflicts #6277 2018-06-05 19:59:19 +02:00
Christian Kamm
ed5e413751
Share link: Update permission wording #6192 2018-06-05 19:46:04 +02:00
Christian Kamm
09f83f4fa9
SyncJournal: Clear etag filter before sync
Before, we only cleared the _avoidReadFromDbOnNextSyncFilter *after* a
sync which meant that we had to sync twice after selective sync setup.

Now, we clear the filter *before* a sync as well which allows the actual
next sync to write the correct etags to the db again - instead of only
the sync after that one.

Also expand on comments and rename _avoidReadFromDbOnNextSyncFilter to
_etagStorageFilter.
2018-06-05 12:00:20 +02:00
Olivier Goffart
613fd30021
SyncJournalDb::setSelectiveSyncList: Always use a transaction
Issue #6431
2018-06-05 11:15:51 +02:00
Christian Kamm
c57e4dcf03
Blacklisting must prevent parent etag updates #6411 2018-06-05 10:12:11 +02:00
Roeland Jago Douma
a0c458d937
Fix output add E2E again
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-05 09:02:41 +02:00
Olivier Goffart
f4f228de3e
FolderStatusModel: fix potential assert
OCC::FolderStatusModel::slotUpdateDirectories: ASSERT: "parentInfo->_fetching" in file /home/olivier/kdegit/owncloud/mirall/src/gui/folderstatusmodel.cpp, line 599

This can happen if the structure of a folder is change while the user
expands the root folder. In this case, resetSubs() is called which
resets _fetching to false.
Instead, we need to keep a pointer to the job so we can abort it by
deleting it.
2018-06-05 08:12:58 +02:00
Olivier Goffart
3e508329b5
csync_update: add the checksum in the discovery log
Issue #6414
2018-06-05 07:52:29 +02:00
Roeland Jago Douma
32ae670c4e
Merge pull request #325 from nextcloud/upstream/ssl-button-speed
SslButton: Improve speed (especially on macOS) #6031
2018-06-04 17:14:38 +02:00
Roeland Jago Douma
4bd6f2b26d
Merge pull request #323 from nextcloud/upstream/upload-finished-flag
Upload: Simplify 'finished' flag
2018-06-04 17:14:17 +02:00
Roeland Jago Douma
c1171d700e
Merge pull request #322 from nextcloud/upstream/pr/6404
Excludes: Expand doc, Desktop.ini only in root folder
2018-06-04 17:13:23 +02:00
Roeland Jago Douma
3a1dc44ec8
Merge pull request #320 from nextcloud/upstream/issue/6403
propagateuploadv1: don't finalize after a done()
2018-06-04 17:12:52 +02:00
Roeland Jago Douma
3c3f3541d4
Merge pull request #291 from nextcloud/fixEncryptionDecryptionNonEmptyFolder
Forbid to encrypt or decrypt a non-empty folder.
2018-06-04 16:03:25 +02:00
Roeland Jago Douma
c49597d9d8
Merge pull request #319 from nextcloud/upstream/issue/4424
Folder: normalize the local path.
2018-06-04 16:02:49 +02:00
Roeland Jago Douma
321e8c0264
Merge pull request #317 from nextcloud/upstream/issue/3146
SslButton: Add HTTP/2 info #3146
2018-06-04 16:01:44 +02:00
Olivier Goffart
393f6c2310
SyncEngine: remove the "CSync" wording from the error messages
They are confusing for the user.
Example in issue #6274
2018-06-04 15:41:38 +02:00
Olivier Goffart
5f30177bfc
CSync: Remove unused error codes
None of the removed ERRNO code were ever set.
So none of the removed error hapenned anymore
2018-06-04 15:41:38 +02:00
Olivier Goffart
15e93c8a31
CSync: reconcile never returns an error 2018-06-04 15:41:38 +02:00
Olivier Goffart
be29fc2f69
csync: remove CSYNC_PARAM_ERROR
It does not make sense to report such error to the user.
Its goal was to show invalid use of the csync API, but this is now done
with asserts.
2018-06-04 15:41:38 +02:00
Olivier Goffart
0443f8dd4d
csync: Simplify csync_walk_local_tree/csync_walk_remote_tree
Small refactoring
2018-06-04 15:41:38 +02:00
Tomaz Canabrava
9b74a596c6
Forbid to encrypt or decrypt a non-empty folder.
The specs forbid the encryption or decryption of a
non empty folder. so...
1 - check for the sync status, if it's not synced return

as there's no way that I can say that there's items on the
server right now without waiting for the sync to finish

2 - verify if the folder is empty locally

as the user could have send some files to the folder.
2018-06-04 15:33:01 +02:00
Julius Härtl
5df1af79c5
Merge pull request #377 from nextcloud/bugfix/noid/cloudprovidesr_314
Fix cloudproviders after merging #314
2018-06-04 15:32:36 +02:00
Markus Goetz
ab34f36836
owncloudsynclog: 1 MB -> 10 MB #6420 2018-06-03 23:09:23 +02:00
Roeland Jago Douma
f96206705a
Merge pull request #315 from nextcloud/upstream/pr/6379
Discovery: Error if properties are missing #6317
2018-06-03 19:58:21 +02:00
Roeland Jago Douma
4b1c6bb833
Fix cloudproviders after merging #314
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-02 20:46:10 +02:00
Roeland Jago Douma
1262cbf4ef
Merge pull request #314 from nextcloud/upstream/pr/6373
Make sure ignored and conflict files show up in the issues tab even with partial local discovery
2018-06-02 20:20:19 +02:00
Julius Härtl
c9634d65aa
Merge pull request #313 from nextcloud/upstream/pr/6380
ConnectionValidator: change the minimum server version
2018-06-01 15:43:19 +02:00
Markus Goetz
b8b9b93a6e
ShareDialog: macOS grey odditiy #5774 2018-06-01 13:31:22 +02:00
Olivier Goffart
4d7617d64b
Propagator: remove a bunch of code related to the 'Shared' directory
This no longer exists since the owncloud server 7.0 which we no longer
allow to connect to
2018-06-01 13:17:20 +02:00
Olivier Goffart
8484b493e4
ConnectionValidator: change the minimum server version
Forbit connection with server older than 7.0. These server did not have
permission.

Also warn for anything older than 9.1. 9.0 is end of life according to
https://github.com/owncloud/core/wiki/Maintenance-and-Release-Schedule
2018-06-01 13:17:11 +02:00
Olivier Goffart
1b587a1241
ConnectionValidator::Status use Q_ENUM
So no need to have a manual conversion to QString
This is only used in debug message anyway.
2018-05-31 21:56:55 +02:00
Olivier Goffart
311307e8cb
Move ClientProxy and ConnecitonValidator to gui
They are using the ConfigFile and are used to control
when to sync rather than for the sync itself
2018-05-31 21:56:55 +02:00
Olivier Goffart
7e05e1e411
owncloudcmd: Do not overwrite the http timeout for json jobs
The AbstractNetworkJob already has a sensible timeout that depends
on an environment variable.
No need to overwrite that with some arbitrary value. (The connection
validator does that because it could cause problems if two connection
validator were to run at the same time. Not a problem here)
2018-05-31 21:56:55 +02:00
Olivier Goffart
204cb470b4
owncloudcmd: Do not read the proxy settings from the gui's config file
The proxy settings for the owncloudcmd client can be set via the
--httpproxy command line argument. owncloudcmd should not depends
on the gui's config
2018-05-31 21:56:55 +02:00
Olivier Goffart
9fe8713bdc
Folder: remove unused member 2018-05-31 21:56:44 +02:00
Roeland Jago Douma
c6ef8eec0a
Merge pull request #305 from nextcloud/upstream/pr/6363
SyncEngine: Use separate state for two unicode conversions
2018-05-30 08:04:05 +02:00
Roeland Jago Douma
86741de622
Merge pull request #299 from nextcloud/upstream/pr/6349
Don't delete contents behind directory junctions #6322
2018-05-30 08:03:04 +02:00
Roeland Jago Douma
c6c42c3c70
Merge pull request #311 from nextcloud/upstream/pr/6371
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
2018-05-29 20:33:34 +02:00
Markus Goetz
13b2e51dfe
Notifications: Immediately request when getting account online 2018-05-29 20:09:08 +02:00
Markus Goetz
00d8343e76
SettingsDialogMac: Also start timer for notifications 2018-05-29 20:09:06 +02:00
rakekniven
8d90c8c17b
Fixed tiny grammar issue 2018-05-20 11:17:46 +02:00
Julius Härtl
6a5654d6d2
Merge pull request #294 from nextcloud/upstream/pr/6330
SocketAPI: "Open in browser" and disable Share entries when sharing i…
2018-05-19 16:09:50 +02:00
Julius Härtl
9196ab1c98
Merge pull request #246 from k1l1/master
scary wording on big changes #216 (translations missing)
2018-05-19 15:44:04 +02:00
Kilian Pfeiffer
bb65eb8cdd changed wording
https://github.com/nextcloud/client/issues/216
2018-05-19 13:17:25 +02:00
Julius Härtl
b7a67863a7
Merge pull request #306 from nextcloud/upstream/pr/6347
Set launch-on-startup when the first account is set up
2018-05-18 16:08:52 +02:00
Roeland Jago Douma
b7d5aff901
Merge pull request #303 from nextcloud/upstream/issue/6322
SyncJournal: Don't use LIKE with paths
2018-05-18 13:56:25 +02:00
Roeland Jago Douma
1dc3c156d4
Merge pull request #304 from nextcloud/upstream/pr/6364
Conflicts: Add user name to conflict file name #6325
2018-05-18 13:56:14 +02:00
Julius Härtl
0283e1bfaa
Merge pull request #295 from nextcloud/upstream/pr/6329
Tray: Change icon for unresolved conflicts #6277
2018-05-18 08:53:49 +02:00
Roeland Jago Douma
3b4fcfcc65
Merge pull request #302 from nextcloud/upstream/pr/6352
Sharing: Use maximum allowed permissions for new share #6346
2018-05-17 21:11:33 +02:00
Roeland Jago Douma
33555292ae
Merge pull request #301 from nextcloud/upstream/pr/6353
HTTP2: Only from Qt 5.9.4 #6285
2018-05-17 15:39:09 +02:00
Roeland Jago Douma
36572b79c3
Merge pull request #298 from nextcloud/upstream/no-shibboleth
NO_SHIBBOLETH: Fix warning
2018-05-17 15:38:04 +02:00
Roeland Jago Douma
cbeb9af7fd
Merge pull request #296 from nextcloud/upstream/issue/6337
FolderStatusModel: Refresh folders on Problem sync #6337
2018-05-17 15:37:20 +02:00
Markus Goetz
9ef42b4835
SslButton: Improve speed (especially on macOS) #6031
From 1+n*450msec to 1*450msec
2018-05-16 21:03:06 +02:00
Christian Kamm
a2675b559b
Upload: Simplify 'finished' flag
* Sometimes there was 'finished' and '_finished'
* Make each done() call automatically set _finished to true
2018-05-16 20:57:26 +02:00
Christian Kamm
5f7fd7c551
Excludes: Expand doc, Desktop.ini only in root folder
The Desktop.ini exclude was added for 2.4 because we add such a file to
the synced folder on Windows. It doesn't need to cover subdirectories.
2018-05-16 20:29:12 +02:00
Olivier Goffart
ad276a4bce
Folder: normalize the local path.
We otherwise normalize all path in the C form, so we must have
the Folder's path normalized the same. Or all comparizon will fail
(such as knowing if a file from the SocketAPI or the FilesystemWatcher
are part of the folder)

Issue #4424
2018-05-16 20:26:09 +02:00
Olivier Goffart
3506c52be9
propagateuploadv1: don't finalize after a done()
Should fix an assert when "Server does not support X-OC-MTime"
(Which only happens with owncloud 5)

Issue #6403
2018-05-16 20:23:47 +02:00
Markus Goetz
434f093f98
SslButton: Add HTTP/2 info #3146 2018-05-16 20:10:51 +02:00
Christian Kamm
1868b2f3ec
IssuesWidget: addItem performance improvement
Ensure adding a new item isn't usually O(n) by keeping track of which
items have associated issues.
2018-05-16 16:49:41 +02:00
Christian Kamm
a0d7095b2c
IssuesWidget: Don't allow two issues for the same file/folder
This is intended to safeguard against invalidation bugs that cause the
same error to be added again for every sync run.
2018-05-16 16:49:03 +02:00
Christian Kamm
a0d5e31423
INSTRUCTION_IGNORE now carries a direction
This allows IssuesWidget to selectively wipe only the 'Up' ignores
during selective local discovery.
2018-05-16 16:48:31 +02:00
Christian Kamm
11b6b48c75
ProtocolItem: Adjust the way data is stored again
The struct makes it easy to pack data and should consume less memory
overall.
2018-05-16 16:48:06 +02:00
Christian Kamm
800f1ace0c
SyncResult: Make sure the number of conflicts is correct #6226
If the SyncResult incorrectly believes that there are no conflicts, the
tray icon won't be correct and there will be no warning about unresolved
conflicts on the account.

Nevertheless, it's pretty awkward that the IssuesWidget is better
informed about pending conflicts than the Folder itself. This kind of
backwards data flow is very confusing.

Unfortunately the only alternative I see is to either keep track of
this information in two places (also in Folder), or create a common
data-holding class that can serve as a model instance for the issues
view as well as provide data directly to the Folder - which would
have been a much larger change.
2018-05-16 16:47:27 +02:00
Christian Kamm
75194d1821
SyncEngine: Make "local discovery?" question available
Also fix the minor bug that was mentioned and add tests.
2018-05-16 16:46:40 +02:00
Christian Kamm
2defaf099d
Issues tab: Invalidate issues selectively #6226
Everything is invalidated later: after discovery, not before. In
addition entries that should only be invalidated when new local
discovery is done have that behavior now.
2018-05-16 16:45:39 +02:00
Christian Kamm
01f83ff398
ProgressInfo: Add information for local vs remote discovery 2018-05-16 16:45:13 +02:00
Christian Kamm
8077748c9d
slotFolderDiscovered: Fix 'local' always being false
It was unused, so no harm done.
2018-05-16 16:44:36 +02:00
Christian Kamm
687b6f5655
Discovery: Error if properties are missing #6317 2018-05-16 16:42:20 +02:00
Olivier Goffart
b0f539fc1f
cmake: Remove references of now unused WITH_TESTING
Issue #6318
2018-05-16 13:00:17 +02:00
Olivier Goffart
d4aebd30de
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
Since the release package will be build with unit test, we don't
want to query the env variable at every call to fsCasePreserving.
So only test the env variable at startup.
And the testutility can still change the value.

(The env variable is still used from t8.pl and maybe smashbox)

Issue #6318
2018-05-16 12:57:20 +02:00
Christian Kamm
583399ad53
Set launch-on-startup when the first account is set up
The previous code would disable it when the second account was
configured.

See #6347
2018-05-15 22:59:16 +02:00
Christian Kamm
f244cc4d4a
SyncEngine: Use separate state for two unicode conversions
It's unlikely that there were interaction effects but still seems safer
to use different conversion state for the path and rename_path.
2018-05-15 22:44:10 +02:00
Christian Kamm
17d174e6fa
Conflicts: Add user name to conflict file name #6325
For the case of uploading conflict files only.
2018-05-15 22:38:35 +02:00
Christian Kamm
ce0e2d0b88
SyncJournal: Don't use LIKE with paths
Paths can contain the wildcards % and _ and that would lead to odd
behavior.

This patch also clarifies the behavior of avoidReadFromDbOnNextSync()
which previously dependend on whether "foo/bar" or "foo/bar/" was
passed as input.

Possibly affects #6322
2018-05-15 19:44:00 +02:00
Christian Kamm
7154a001d6
Sharing: Use maximum allowed permissions for new share #6346
The client already computed the valid permissions, there was just a typo
that meant we didn't end up using them.
2018-05-15 19:26:40 +02:00
Markus Goetz
e82869d10e
HTTP2: Only from Qt 5.9.4 #6285 2018-05-15 19:23:11 +02:00
Olivier Goffart
88347a985f
Adjust the Move To Trash patch
(PR #6265)

 - Remove the UI completely
 - Move the #ifdef inside the FileSystem::moveToTrash function, so it is easier to
   implement on other platforms
 - Q_OS_UNIX includes mac, so we need to disable it. (not using Q_OS_LINUX because of
   other BSD that uses XDG spec as well
 - Translate the error messages
 - Add a couple of doc comments
2018-05-15 19:10:41 +02:00
Christian Kamm
2d1d651fcd
Don't delete contents behind directory junctions #6322
QFileInfo::isSymLink() does detect reparse points that are symlinks but
returns false for junctions. The new function FileSystem::isJunction()
can detect those and is used to not recursively delete files inside
directories that are junctions.

See also https://bugreports.qt.io/browse/QTBUG-45344 and the
discussion in the PR https://codereview.qt-project.org/#/c/113019/.
2018-05-15 18:42:44 +02:00
Markus Goetz
d33692cdc7
NO_SHIBBOLETH: Fix warning 2018-05-15 18:31:12 +02:00
Christian Kamm
1fa88c9820
FolderStatusModel: Refresh folders on Problem sync #6337
We don't want to refresh too frequently. But Problem is very close to
Success and very common.
2018-05-15 18:08:17 +02:00
Christian Kamm
ad750f569c
Tray: Change icon for unresolved conflicts #6277 2018-05-15 17:58:10 +02:00
Olivier Goffart
2fcd7b20b8
SocketAPI: "Open in browser" and disable Share entries when sharing is disabled.
This adds "Open in browser" entry in the menu (Issue #5903)

Also mark the entries as disabled when the file is not yet on the server.
If re-sharing is not allowed for that file, a disabled explaination
entry is added to the menu.
If sharing is disabled globaly in the branding or in the server,
the share entry will not be present.
(Issues #4205 and #4608)

Meta issue #6292
2018-05-15 17:39:30 +02:00
Oleg Solovyov
f9fe24feb9
Move remote-deleted files to trash
Squashed from https://github.com/owncloud/client/pull/6265

Linux only, Hidden option, disabled by default
2018-05-15 17:23:38 +02:00
Camila San
d629f2259d
Changes from qCWarning to qCDebug.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:19:29 +02:00
Camila San
bbff83fe7c
Only updates the list of apps when there is a change in the server (not 304 status).
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
402dc6c33b
Checks for http status code before building navigation apps menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
23a759ef4a
Adds 304 http status code as valid.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
77ebccee72
Adds methods to set/get navigation apps etag response header.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
d7286872f6
Adds function to add raw header to the request.
Function added to be able to add If-None-Match to save the ETag.

Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:42 +02:00
Roeland Jago Douma
889c930b36
Merge pull request #75 from nextcloud/new_flow
Add weblogin flow for NC > 12
2018-05-03 14:07:44 +02:00
Roeland Jago Douma
56e17c25b2
Change loading bar to NC blue
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-03 13:55:27 +02:00
Roeland Jago Douma
ef2d113930
Mark credentials as valid if there is no error
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
35e8d0437d
Address comments
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
6809f12e68
Allow the user to sign in again
If the user is signed out (for whatever reason). Show a popup
with the loginflow again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
ac1664b525
Actually use webflow credentails
* Detect invalid auth (if the users token is removed for example)
* Properly store and fetch from keychain

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
6b43d80c01
Start with persisting credentials
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
356f9b4831
Actually connect properly to server
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
715c738ebf
Add urlschema handler so w can catch the nc:// urls
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
c763a6e7fb
Show webview with page
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
c4a88fe57e
Add QWebView as a dependency
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Camila Ayres
9338dadaab
Merge pull request #265 from k1l1/log_files_path
Put log files somewhere else #221 (name conflict)
2018-05-02 15:30:34 +02:00
Kilian Pfeiffer
56c1d79c49 fixes windows crash / renaming changed 2018-04-30 16:09:04 +02:00
Camila Ayres
64cbc88474
Merge pull request #251 from nextcloud/clientSideEncryptionV4
Client side encryption v4.
2018-04-26 19:56:55 +02:00
Kilian Pfeiffer
cd926e5b84 resolving name conflict in logfiles 2018-04-24 15:47:23 +02:00
Roeland Jago Douma
75609c1b2c
Merge pull request #254 from ad1rie1/FIX32BitApplication
Fix #6394
2018-04-22 20:57:36 +02:00
Camila Ayres
25b40cc852
Merge pull request #255 from ad1rie1/FixDeprecatedTR
Fix Use of Deprecated trUtf8.
2018-04-20 11:11:05 +02:00
Adrien
8e52f1237b Fix Use of Deprecated trUtf8 2018-04-19 12:02:26 +02:00
Adrien
5f0a021c04 Fix #6394 2018-04-19 11:35:03 +02:00
Kilian Pfeiffer
40b1f051a4 log files are visible now 2018-04-17 17:59:03 +02:00
Kilian Pfeiffer
faf64958ec changed paths of logfiles 2018-04-17 15:54:05 +02:00
Tomaz Canabrava
7432d6a814 Merge branch 'master' into clientSideEncryptionV4 2018-04-10 16:18:58 +02:00
Daniel Nicoletti
16aa54ed64 Do not create new db entries when the remote tree does not have proper values 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
3e05bd1da0 Do not detach encrypted files vector 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
3eb3535d0f Fix downloading NEW encrypted files 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
defe2d7631 Fix matching encrypted data for downloading 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
b12066f1aa Properly remove encryption data from JSON of deleted file 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
a9208f6581 Remove unused encrypted property 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
6e63a538b7 Make sure bool _currentLockingInProgress is first defined to false 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
a7a8de8787 Fix matching encrypted file for download 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d93f7269b8 Properly mark encrypted files for removal 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d3b6aacf3f Fix merging remote and local trees when e2e files are involved
When populating the tree from the filesystem we need to fill
the e2eMangledName from DB and we when trying to find another
match on the oposite tree we need to take in account that names
don't match and search with the mangled name information
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
c0ef36b8fa Use QUuid to generate random names 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
60fc5d6dd4 Fix upload of existing encrypted files by matching only filename 2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d5ab642e46 Fix sync status running when encryption data is missing
When a file on the server of an encrypted folder do
not have a matching entry on the JSON metadata, we
need to report an error and be done with the job
so that Sync status is not "running".

This eventually should cause the file to be removed
from the server as it can not be recovered anymore.
2018-04-09 13:23:52 +02:00
Tomaz Canabrava
b4b3e422de Handle gracefully failures in file decryption 2018-03-27 09:18:54 +02:00
Tomaz Canabrava
ed6f56257e Dont use new with QFiles. 2018-03-26 22:18:07 +02:00
Tomaz Canabrava
461aeca200 Do not crash when failing to decrypt the metadata 2018-03-26 22:02:46 +02:00
Tomaz Canabrava
6c88367ac6 Do not crash if there was an error encrypting the file. 2018-03-26 21:44:46 +02:00
Tomaz Canabrava
5fe9717598 Potentially fix crash acessing a deleted pointer. 2018-03-26 21:37:13 +02:00
Tomaz Canabrava
ec28465e01 Correctly handle systems without client side encryption 2018-03-26 20:51:14 +02:00
Tomaz Canabrava
11684682e6 Return empty metadata in case of error, Display error to the user. 2018-03-25 22:31:49 +02:00
Tomaz Canabrava
96115be0c6 Unlock folder in case of error 2018-03-25 21:54:08 +02:00
Camila Ayres
08b33c6f4b
Merge pull request #197 from nextcloud/fix-notifications
Improves notifications:
- Display the actual response text from the notification API in the popups.
- Do not display sync activities messages like how many files were downloaded, only errors.
- Make the notifications section above the activity feed also clickable. e.g open the call, the file that was shared, open the calendar event etc
- Changes "Show desktop notifications" setting to "Show server notifications"
- Show notifications on startup and then show only NEW notifications: uses If-None-Match check to only retrieve notifications once there are new notifications.
2018-03-13 13:30:44 +01:00
Camila Ayres
eb3b3f02a0
Merge pull request #195 from nextcloud/apps-external-sites-menu
Adds apps and external sites to menu.
2018-03-09 11:48:14 +01:00
Camila San
11d178ce1d
Adds absolute=true param to navigation/apps request.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 23:11:11 +01:00
Camila San
2e4472a4db
Enables server notifications by default.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:44:24 +01:00
Camila San
3c778980df
Makes sure JsonApiJob::finished won't throw a JSON error when status code is 304.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:24:16 +01:00
Camila San
621596f45a
Saves notifications ETag response header to use to request only new notifications.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 22:19:04 +01:00
Camila San
d42401e36a
Changes notifications api endpoint to v2.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 15:20:36 +01:00
Camila San
6bf9f65fd3
Only notify users of new notifications and only shows them all on startup.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-27 23:05:18 +01:00
Camila San
56709f3cff
Removes string 'Created' from notifications time.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:56:02 +01:00
Camila San
112c5e10b6
Removes Server Activities option from General settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:02:34 +01:00
Camila San
09a92a518a
Align text and changes spacing in notification widget. 2018-02-26 00:03:29 +01:00
Camila San
0f9d8e15a0
Only uses 'More information' text in button for notification link.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:02:09 +01:00
Camila San
44f299eba2
Removes debug messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:00:42 +01:00
Camila San
d71438f181
Adds host and scheme to activity link so it can be opened in the
browser.

- Removes debug messages.
- Removes Activity data _appName - not used anymore.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:58:28 +01:00
Camila San
71f4760215
Do not display user account when there is only one user in popup message.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:57:44 +01:00
Camila San
4a6a8ca6c6
Removes _appName from Activity data.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:56:54 +01:00
Camila San
e33d2bf7f7
Removes (s) from time strings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:55:04 +01:00
Camila San
1a0edc1cd0
Sync activities notifications are never shown unless there is an error. Server activities and notifications are off by default.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-23 12:08:37 +01:00
Camila San
99d8d050c2
Compares account menu with the account associated with the action to make sure apps is added to the right position.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-22 20:10:22 +01:00
Camila San
4ffff7454e
Refactores code and displays nav. apps before Pause/Unpause folders sync.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-21 18:49:12 +01:00
Camila San
9acb30ecb2
Refactores code to fetch and display sub menu with list from navigation/apps endpoint.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:41:08 +01:00
Camila San
61062f9809
Adds ocsnavigationapps files to CMakeslists.txt.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:33:25 +01:00
Camila San
fb080f08ec
Uses OcsNavigationAppsJob instead of OcsAppsJob and OcsExternalSitesJob in OwncloudGui.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:53:12 +01:00
Camila San
c9bc20c63d
Creates navigation/apps API call class OcsNavigationAppsJob.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:51:56 +01:00
Camila San
f107b3348c
Removes external sites/apps configuration from general settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:55 +01:00
Camila San
00cfbe39be
Removes external sites/apps configuration from config file.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:13 +01:00
Camila San
9f559c8e00
Retrieves list of apps and displays it if 'show apps' checkbox is checked in the settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
bf77dbac73
Adds checkbox 'showApps' to the general settings form.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
e29953bc11
Adds show apps option to the config file.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
8ada9d0471
List apps for each user in the tray main menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
08769b2803
Adds OcsAppsJob to retrieve apps enabled for the user.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
89d743396a
Fixes class name in comments and in ifndef.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
649f3ff904
Changes response parsing for the new request.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
9f0c154e68
Fixes request url - uses the one for all users.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
f48a94ba71
Saves 'show external sites list' option to the config file.
Uses option to toggle display of external sites list in the main menu.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
ec428786ac
Adds checkbox to toggle display of external sites list in the menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
69f3468ec0
Lists external sites for each user in the main menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
8408851cee
Adds OCS External Sites Job to retrieve it from the server.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:19 +01:00
Tomaz Canabrava
7da0764b8d Don't class what's not a class 2018-02-18 01:23:59 +01:00
Tomaz Canabrava
176a42a062 Return the error reported by openssl 2018-02-18 01:13:23 +01:00
Tomaz Canabrava
5faeca1b82 Move BIO2ByteArray to annonymous namespace
This has no use outside of the clientsidenecryption.cpp
2018-02-18 01:04:44 +01:00
Camila San
32e29fb849
Doesn't open the file manager when there isn't a file associated with the Activity.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 19:17:22 +01:00
Camila San
20cf4ed642
Improves Notification Widget UI.
- Changes spacing.
- Removes QFrame.
- Changes icon size.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 18:04:44 +01:00
Camila San
ab7185a6c7
Changes notification text in the checkboxes and adds tooltips with explanation about it.
- Changes the configuration name in ConfigFile and GeneralSettings
accordingly with the new text.
- Makes sure the user sees error and conflict messages even if the
setting is disabled.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-15 20:21:35 +01:00
Camila San
bfc7aa16c6
Adds option to toggle display of Sync and Activity notifications.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 20:38:15 +01:00
Camila San
b24751b099
Adds button to open notification in the browser - to update something, join a call, etc.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 19:22:08 +01:00
Camila San
a7dd3a7da1
Displays the actual notification subject in the system tray messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-12 22:16:46 +01:00
Daniel Nicoletti
99117078f3 Remove table for e2e and add an e2eMangledName column (#169)
If the code was not complex enough syncing two tables
already started to give UNIQUE constrains errors on
simple sync operations, this also adds initial support
remote delete of an encrypted file
2018-02-12 12:50:51 +01:00
Roeland Jago Douma
1eb7ba72f0
Use standardized filename
See https://github.com/nextcloud/end_to_end_encryption_rfc/issues/13

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-09 11:40:06 +01:00
Daniel Nicoletti
080c5ea678 Better explanation for encryption passphrase
FIXES: #149
2018-02-02 17:27:58 +01:00
Camila San
2545017819
Refactores code.
- Renames function from populateTableReadOnlyValues to setupTableReadOnlyItems.
- Use a const to define the number of read only rows.
- Removes enable/disable remove all button checks from where it was not
needed.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 16:01:53 +01:00
Camila San
73b7540468
Enable/disable remove all button depending on the number of rows.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 15:50:17 +01:00
Camila San
c29d3b7e0b
Adds button to remove all items from ignore list table.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:40:30 +01:00
Camila San
4855e3242c
Restores correctly default system values for ignore files list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:15:45 +01:00
Camila San
bf76b596af
Allows deletion of pre configured patterns in the ignore list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:36:40 +01:00
Camila San
6dd349a8a6
Adds button to restore default patterns in the ignore list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:35:38 +01:00
Camila San
f7697b0584
Enables removing patterns from ignored files list.
Signed-off-by: Camila San <hello@camila.codes>
2018-01-31 22:59:51 +01:00
Roeland Jago Douma
d85c2bf025
Fix building on windows
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:10:03 +01:00
Roeland Jago Douma
296f46356e
If the metadata is empty we should store (and not update).
Android only creates the metadata file when the first encrypted file is
added. We assumed it would be there.

This hacky code makes us store the metadata if there wasn't any yet.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-29 22:04:50 +01:00
Tomaz Canabrava
dcc9ac7d2e [Buildfix] Fix build from last merge 2018-01-29 14:17:52 +01:00
Tomaz Canabrava
d24a1e542e Merge branch 'master' into clientSideEncryptionV3 2018-01-29 14:06:12 +01:00
Tomaz Canabrava
f4a50e88f5 [CSE] Ignore renames for downloaded files.
- TODO: Fix the incorrect "filename has been removed" popup.
The file is not removed, just the popup shows.
2018-01-28 23:59:53 +01:00
Tomaz Canabrava
682bb2ad43 [CSE] Save the encrypted name relation on downloads 2018-01-28 23:50:12 +01:00
Tomaz Canabrava
d38e5e1529 [CSE] Bypass rename if it's e2e
The client tracks the files in server and locally, but the
names of the files differ in the server, but we do *not*
wanna rename the files to the server one, we wanna
keep it as is if it's an encrypted file.
2018-01-28 23:48:51 +01:00
Tomaz Canabrava
7b123650da [CSE] Search for name, not mangled name. 2018-01-28 23:48:25 +01:00
Tomaz Canabrava
0c94142c97 [CSE] More debug output 2018-01-28 23:47:58 +01:00
Tomaz Canabrava
e8849a2cf9 [CSE] Save the relation of the file / encrypted file names on the db 2018-01-28 22:26:07 +01:00
Tomaz Canabrava
e9a7a56359 [CSE] Store the encrypted file name on the SyncFilePtr 2018-01-28 18:37:01 +01:00
Tomaz Canabrava
a003d216a5 [CSE] Implementation of the setE2eRelation
This call creates a new entry on the database for e2e.
2018-01-28 18:05:28 +01:00
Tomaz Canabrava
32eaaa0601 [CSE] GetMangledName implementation 2018-01-28 17:50:10 +01:00
Tomaz Canabrava
be817748f8 [CSE] Reset the new Queries on close 2018-01-28 17:46:20 +01:00
Tomaz Canabrava
b909bb6977 [CSE] Change the Database to handle Encrypted Files
Create a table to hold the information between the
real file name and the fake file name
2018-01-28 16:41:07 +01:00
Julius Härtl
bcb9553925
Use Qt5DBus_FOUND instead of the old WITH_DBUS
WITH_DBUS was removed in 257d8142b1

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-25 14:18:03 +01:00
Roeland Jago Douma
48bce4c6b0
Merge remote-tracking branch 'oc/master' into oc_up 2018-01-25 11:17:04 +01:00
Roeland Jago Douma
84b26e0d4d
Merge pull request #133 from nextcloud/fix-notification-dismiss-button
Uses QString::number to get a string equivalent of the notification_id number
2018-01-24 19:29:21 +01:00
Camila San
7a69e19e4d
Uses QString::number to get a string equivalent of the notification_id number.
This fixes the bug reported #117.

Signed-off-by: Camila San <hello@camila.codes>
2018-01-24 17:29:45 +01:00
Olivier Goffart
02988229b1 FolderStatusModel: don't use deprecated QModelIndex::child
Was deprecated in Qt 5.8.
(IMHO this show that child can be usefull and I am not sure the
deprecation was justified)
2018-01-24 10:23:03 +01:00
Roeland Jago Douma
4892b0ec43
Properly fill EncryptedFile
* Add a mimetype (mobile clients need this)
* Add the tag unencoded as we encode it when we send the metadata
already

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:31:00 +01:00
Roeland Jago Douma
21d55c3321
No sharing in metadata yet and PEM as PKCS#8
* Don't store the metadata yet this crashes android
  - Yes android should be fixed but for now this is quicker ;)
* QSslKey exports PEM as PKCS#1
  - This is not handled properly on android so use PKCS#8 helper

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:02:52 +01:00
Olivier Goffart
72b9beb79c Merge remote-tracking branch 'origin/2.4'
Conflicts:
	shell_integration/nautilus/syncstate.py
2018-01-23 14:08:15 +01:00
Olivier Goffart
982c591ec9 SocketApi: add a way to disable menu entries 2018-01-23 14:02:56 +01:00
Olivier Goffart
1782ae3c08 SocketAPI: Make it easier to add or remove item in the action menu
By making it dynamic.
So far only the dolphin shell extension have been ported
2018-01-23 14:02:56 +01:00
Roeland Jago Douma
7ce009ef49
If status.php fails check <server>/nextcloud/status.php
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 13:43:44 +01:00
Christian Kamm
59f2e0634e Protocol: Correct sorting by size #6326
Previously we were sorting by size string, where
"6 MB" < "3 KB".
2018-01-23 12:02:16 +01:00
Christian Kamm
32bb1e6763 ProtocolItem: Use accessors over magic numbers 2018-01-23 12:02:16 +01:00
Christian Kamm
497b327d43 ShareLinkWidget: Remove outdated signal connection
Also convert the others to the new syntax to avoid similar errors in the
future.
2018-01-23 12:01:22 +01:00
Christian Kamm
d831369f86 Protocol: Remove entries for auto resolved conflicts #6316 2018-01-23 12:01:22 +01:00
Roeland Jago Douma
a2b8724adf
Hacky way to drop duplicates (we should really use the fileid!)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:58:05 +01:00
Roeland Jago Douma
bb85e2ab2c
Reuse existing EncryptedFile
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:36:15 +01:00
Olivier Goffart
c3dbb20ce3 Logger: --logdebug only show owncloud's debug message
Recent Qt version show way too many debug messages, spamming the console.
So filter only messages that comes from the client.
2018-01-22 21:13:15 +01:00
Roeland Jago Douma
33beb7aade
Don't generate values after we use them
* Pregerenate IV
* Pregenerate key
* Pregenerate filename

TODO:
  - Reuse existing file entries and update (we might need logic in the
  metadatahandling to do this properly).
2018-01-22 15:24:54 +01:00
Tomaz Canabrava
cae6bbc853 [CSE] Start the download process 2018-01-22 14:08:32 +01:00
Tomaz Canabrava
cf2fa2ea35 [CSE] Get the tag of the encrypted file to feed the metadata
Also, change the logging cattegory
2018-01-21 21:59:19 +01:00
Tomaz Canabrava
5d6817e165 [CSE] Save the tag while encrypting. 2018-01-21 21:49:24 +01:00
Tomaz Canabrava
261cedce3f [CSE] Do not quit if encryption fails
It's much more reasonable to return failure and handle it.
2018-01-21 21:40:53 +01:00
Tomaz Canabrava
2d872f2a8d [CSE] Add missing files 2018-01-21 21:26:05 +01:00
Tomaz Canabrava
009562da1e [CSE] Remove lambas with lambdas
It's hard to reason with lambdas with lambdas, so transform
them into actuall signal / slot calls.
2018-01-21 21:25:06 +01:00
Tomaz Canabrava
d5a76ea70d [CSE] Remove the DecryptionJob
Transform it into an Static function - it was blocking anyway
and this way it's easier to transform it into a thread in the
future.
2018-01-21 21:24:02 +01:00
Tomaz Canabrava
4a2d0ab9e9 [CSE] Move code to display minemonic out of the libsync
The libsync should not contain Qt Widget related code.
2018-01-21 19:50:40 +01:00
Olivier Goffart
5a97ddde5a Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/gui/updater/updater.cpp
2018-01-19 13:41:29 +01:00
Olivier Goffart
b8539eb329 Get rid of the StopWatch in the PropagateUpload job
For issue #6318

The StopWatch is using memory, and we are not really using it.
2018-01-19 13:37:48 +01:00
Christian Kamm
b9c7aa8df3 Sync: Deal with file/folder conflicts #6312
Previously conflicts with a different type on both ends lead to sync
errors. Now they are handled in the expected way: the local item gets
renamed and the remote item gets propagated downwards.

This also adds a unittest for the TYPE_CHANGE case. That one looks like
parts of it might be unified with CONFLICT cases.
2018-01-19 09:47:49 +01:00
Roeland Jago Douma
6d613fb4d5
Quick and dirty way of showing the mnemonic for now
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-18 22:10:55 +01:00
Christian Kamm
c1b5412c16 Exclude regex: Use named captures
My benchmarks show no performance difference.
2018-01-18 10:24:24 +01:00
Christian Kamm
4337e8532e Exclude matching: Speedup the full-path traversal case
Previously we'd use the full regex when the bname triggered a full-path
matching to take place. Now we have a simplified full-traversal regex
for this case that can be significantly faster to apply.

Triggered by #5017 but doesn't actually solve it.
2018-01-17 15:05:50 +01:00
Christian Kamm
a8a6f82270 Link shares: Change default share name #6298
There's a 64 character limit and we don't want to accidentally exceed
it.

Eventually there might be server API for default share name generation.

See owncloud/core#29913
2018-01-17 15:03:11 +01:00
Dominik Schmidt
fe3c68b9dd Fix Linux icons 2018-01-17 12:18:31 +01:00
Olivier Goffart
2a14ba5582 Folder: remove declaration of non-existing method 2018-01-15 15:43:13 +01:00
Olivier Goffart
2a842a5745 Application: remove declaration of non-existing functions 2018-01-15 15:07:09 +01:00
Camila Ayres
cd36f73f6b
Removes 'Log in to all accounts' and 'Log out to all accounts' from main menu.
This is not an often used option and it should be fine if this can only be done
from within the settings dialog.

Signed-off-by: Camila San <hello@camila.codes>
2018-01-15 11:48:27 +01:00
Roeland Jago Douma
5722d29e42
Double encode the metadatakeys
This is required by a misunderstanding of the RFC.
You need to resetup your test user.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-15 11:26:06 +01:00
Jürgen Weigert
a33fc2a0db Update updater.cpp
deprecate suffix nightly, promote suffix daily
2018-01-15 11:25:10 +01:00
Dominik Schmidt
7839c4d4e1 Revert "Disable stack protection for mingw win32 builds in 2.4"
This reverts commit 298f1ab570.

We're shipping libssp-0.dll now with mingw builds. We would
have enough time to test this for 2.5.0 now anyway, but we
also will most likely switch to MSVC for that release.
2018-01-14 14:39:29 +01:00
Dominik Schmidt
d8a279c671 Fix windows cross build of the updater and bump libcrashreporter-qt revision 2018-01-14 00:45:02 +01:00
Dominik Schmidt
6d56f30d9b Fix incorrect target_include_directories usage for crash reporter 2018-01-13 23:49:58 +01:00
Dominik Schmidt
81c20352e1 Use new ECMAddAppIcon macro for application icons.
cmake/modules/ECMAddAppIcon.cmake is heavily patched to support sidebar icons, OUTFILE_BASE parameter and to not include 64 and 64@2x icons on macOS which are not supported. All changes are made in a way that we can upstream this.
2018-01-13 13:58:17 +01:00
Dominik Schmidt
6ee87a77cc Fix macOS updater build without deprecated Qt apis 2018-01-13 13:58:17 +01:00
Dominik Schmidt
539d6fd92e Link client against QtMacExtras as it bundles qtmacgoodies 2018-01-13 13:58:17 +01:00
Dominik Schmidt
cbf470f17b Fix csync installation on windows 2018-01-13 13:58:17 +01:00
Olivier Goffart
437d45981e Remove unused c_strlist 2018-01-13 13:58:17 +01:00
Olivier Goffart
3ae327ea8e Modernize out CMakeLists.txt
Mainly uses target_include_directories instead of include_directories
so libraries public include directory get automatically added when adding
the target in target_link_library
2018-01-13 13:58:17 +01:00
Olivier Goffart
5d0aa5f039 Remove unused c_path 2018-01-13 13:58:17 +01:00
Olivier Goffart
41798cef18 Csync: remove some unused build system stuff 2018-01-13 13:58:17 +01:00
Olivier Goffart
1c11778693 Remove the unusued csync_file_locked_or_open test in csync_reconcile
It is unused. Also remove the corresponding error code
2018-01-13 13:58:17 +01:00
Olivier Goffart
3ddd4b6f16 Get rid of csync_log
We use Qt's debugging code everywhere
2018-01-13 13:58:17 +01:00
Olivier Goffart
d948ed11a1 Csync: use QElapsedTimer and qCInfo instead of CSYNC_LOG and its own csync time function
This allow to remove all the csync time manipulation routne which are now unused
2018-01-13 13:58:17 +01:00
Olivier Goffart
257d8142b1 Build system: Get rid of QtVersionAbstraction.cmake
Use modern cmake with target_link_libraries and Qt5:: that
automatically add the include path and compile flags
2018-01-13 13:58:17 +01:00
Olivier Goffart
48c55b7d29 csync/std: don't build in a separate library
There is no need to create a static library for the csync/std file, just
put everything together in csync
2018-01-13 13:58:17 +01:00
Olivier Goffart
776bbbf7b1 Don't include sqlite3.h from headers
So that sqlite is not part of the public interface of csync
(and that the sqlite include path don't need to be passed when compiling
libsync or gui)
2018-01-13 13:58:17 +01:00
Dominik Schmidt
dbf15fb8dc Make setLaunchOnStartup debug output more meaningful 2018-01-11 16:11:23 +01:00
Olivier Goffart
9613f6437d Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libsync/networkjobs.cpp
2018-01-11 10:46:50 +01:00
Jürgen Weigert
9dc765142c
Update updater.cpp
depricate suffix nightly, promote suffix daily
2018-01-10 16:19:08 +01:00
Christian Kamm
7d70f1becb Ignore files that can't be encoded for the filesystem
There's an upstream bug where QTextCodec::canEncode returns true even
though it should be false. This works around that issue and adds a test.

The original work was done in 72809ef5b1

See #6287, #5676, #5719
See https://bugreports.qt.io/browse/QTBUG-6925
2018-01-10 13:36:00 +01:00
Christian Kamm
cdd8d10940 Fix resizing crash when currentPage() is null
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/425331770/
2018-01-09 13:54:11 +01:00
Christian Kamm
883deb1c5d Fix potential crash in Composite job destruction
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/427476987/
2018-01-09 13:53:57 +01:00
Christian Kamm
e389fcaecb Avatars: Use old location for servers <10 #6279 2018-01-09 11:34:56 +01:00
Christian Kamm
585d2b20bd Exclude regex: Restore old matching on Windows #6245
Unfortunately matching behaved differently on Windows. This patch
restores the previous matching behavior but still uses the new regular
expression based matching.

Further work will hopefully unify the behavior between platforms without
breaking backwards compatibility.
2018-01-09 11:09:05 +01:00
Daniel Nicoletti
a7ee1a95a6 Download and decrypt file if parent folder is marked as encrypted 2018-01-08 21:08:31 +01:00
Daniel Nicoletti
3abbbab6a0 Faster way to detecting CSE capability 2018-01-08 21:08:31 +01:00
Christian Kamm
51b662fdfe Minor logging additions
- Clearly mark local and remote discovery start, to make this searchable
even without --logdebug.
- Promote two messages from debug to info: The 'N entries read from db'
message is useful and the 'read from db but ignored' message is rare
and surprising - if there's a bug there we want to see what happened in
the logs.
2018-01-08 09:36:30 +01:00
Christian Kamm
81baebf113 owncloudcmd: Set proxy earlier #6281
In particular before the capability call.

Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.

(cherry picked from commit d0e7f61db6)
2018-01-05 10:26:55 +01:00
Christian Kamm
f7c884d4d1 owncloudcmd: Remove some dead code
(cherry picked from commit 0f8790d993)
2018-01-05 10:26:53 +01:00
Christian Kamm
d0e7f61db6 owncloudcmd: Set proxy earlier #6281
In particular before the capability call.

Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.
2018-01-05 10:23:29 +01:00
Christian Kamm
0f8790d993 owncloudcmd: Remove some dead code 2018-01-05 10:12:25 +01:00
Christian Kamm
86377aa37a Folder: Remove unused 'dirty proxy' setting 2018-01-05 09:44:20 +01:00
Christian Kamm
3988f3ad77 GCC: Fix implicit-fallthrough warnings 2018-01-05 09:43:53 +01:00
Christian Kamm
7aa9af08c3 Issues: Speed up insertion and add hard upper limit #6272
Since sorting was enabled permanenty the list would be resorted with
each inserted issue. When inserting thousands of ignored files that
would make the whole ui freeze up.

Instead, sorting is disabled for inserts now and is reenabled after some
time has passed. That way users usually see the sorted view without the
lockups. Also, there's now a maximum of 50k issue entries.
2018-01-05 08:44:27 +01:00
Christian Kamm
ab9d6285c6 Proxy: Hostname validation and reconnection on setting change
Where 'validation' currently just means "check whether it's empty".

Code adapted from wiggiBe's original PR #6140
2018-01-04 14:30:24 +01:00
Daniel Nicoletti
e2c895e61f Fix encrypted file location on the server 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
ca92c46970 Add category logging to PropagateUploadEncrypted 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
50916bcda5 Mark ClientSideEncryption::isFolderEncrypted() as const 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
c6491d50bb Replace deprecated Qt API usage 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
fdc96d3a4f Fix deprecated use of QUrl::setQueryItems() 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
e06e04ee93 Fix parsing list of encrypted folders 2017-12-29 17:28:35 +01:00
Daniel Nicoletti
a63d34f870 Prepend "nextcloud" for all logging categories
Thus making easier to exclude logging from kio, qt
and only enable "nextcloud.*"
2017-12-28 17:33:10 -02:00
Daniel Nicoletti
c963259bfb Fix URL in dialog that requests password
An URL that had base like "http://localhost/nextcloud/"
would get the last slash '/' removed and then appended
with "index.php..." resulting in
http://localhost/nextcloudindex.php
2017-12-28 10:00:17 -02:00
Tomaz Canabrava
efc039863b [CSE] Tons of debugs. 2017-12-24 17:08:04 +01:00
Tomaz Canabrava
da9f1c412d [CSE] Remove debug 2017-12-24 16:36:57 +01:00
Tomaz Canabrava
06c34ed617 [CSE] Assorted fixes
- Unlock the folder even on error
- Use the correct name of the file for upload
2017-12-24 16:30:39 +01:00
Tomaz Canabrava
60ef722b60 [CSE] Update the metadata when a file is being uploaded. 2017-12-22 23:05:39 +01:00
Tomaz Canabrava
e70bf44aaf [CSE] Fix the generation of the data for the update Metadata 2017-12-22 22:39:45 +01:00
Tomaz Canabrava
124a7253a4 [CSE] Create job to Update Metadata 2017-12-22 22:02:16 +01:00
Olivier Goffart
a642d99d4b Merge remote-tracking branch 'origin/2.4'
Conflicts:
	VERSION.cmake
        src/CMakeLists.txt
2017-12-21 12:51:01 +01:00
Roeland Jago Douma
65dfc47ac7
Set public key once certificate is retrieved
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 10:20:03 +01:00
Roeland Jago Douma
0dc7831336
Key is already base64 decoded
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 09:49:31 +01:00
Tomaz Canabrava
b72113a53d [CSE] Prepare the beginning of the upload.
I still need to send the metadata.
2017-12-21 00:35:23 +01:00
Tomaz Canabrava
df5fd3fbe6 [CSE] More debug output, fix input file path 2017-12-21 00:00:27 +01:00
Tomaz Canabrava
7be5f0a736 [CSE] Update the finished signal 2017-12-20 23:36:49 +01:00
Tomaz Canabrava
d87648c99a [CSE] Use the metadata as pointer. 2017-12-20 23:30:51 +01:00
Tomaz Canabrava
25d58ccd58 Revert "Store metadata keys as keys"
This commit broke decryption.

This reverts commit b9f094cd94.
2017-12-20 23:16:42 +01:00
Tomaz Canabrava
dd0528037d [CSE] Generate a random name for the temporary file 2017-12-20 23:09:28 +01:00
Tomaz Canabrava
7e83f0591b [CSE] Create the Encrypted File on Disk 2017-12-20 22:32:38 +01:00
Tomaz Canabrava
3760b86e07 [CSE] Mobe fileEncryption to a static function
and I'll move all of those to a namespace latter.
2017-12-20 22:28:01 +01:00
Tomaz Canabrava
20198c5c7b Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-20 22:11:46 +01:00
Roeland Jago Douma
3c301a8282
Add missing FolderMetadata functions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:08:57 +01:00
Roeland Jago Douma
74bc9213c5
Generate encrypted metadata on the fly
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:04:26 +01:00
Tomaz Canabrava
679bb1f18e [CSE] Expose EncryptionHelper 2017-12-20 21:33:25 +01:00
Tomaz Canabrava
14b18b146d Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-20 21:29:54 +01:00
Roeland Jago Douma
5e23ca9658
FolderMetaData: store metadataKeys in a QMap
* This allows us to pick the right key for files

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 21:25:27 +01:00
Roeland Jago Douma
b9f094cd94
Store metadata keys as keys
Don't store them base64 encoded. But store them directly useable
2017-12-20 21:17:41 +01:00
Roeland Jago Douma
c35b57cfba
Parse the files in the metadata
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 20:49:16 +01:00
Tomaz Canabrava
1e899f4172 [CSE] Do not create QPointer from raw pointers 2017-12-20 20:00:59 +01:00
Tomaz Canabrava
0347cf4e9e [CSE] Store the sharing keys in memory 2017-12-20 19:40:58 +01:00
Roeland Jago Douma
fc73ad7476
Salt should not be hardcoded
We append the salt (just like the IV) to the ciphertext of the private
key. This means we also have to split it off properly.

This breaks compartibility with currently stored keys on your server.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 16:07:33 +01:00
Roeland Jago Douma
b924ad7282
Lower mnemonic when generating password
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:41:38 +01:00
Roeland Jago Douma
4551bbe0e0
Forget key + cert + mnemonic on account removal
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:35:23 +01:00
Roeland Jago Douma
a48a3e0acc
Cleanup old functions
Those functions had no use anymore since we store the key and cert in
the keychain. Removed them so we don't use them by accident.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 13:41:13 +01:00
Roeland Jago Douma
ee281963fe
Base64 magic:
* metadata keys: bin -> b64 -> enc -> b64
* sharing metadat: string -> b64 -> enc -> b64

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 10:22:35 +01:00
Tomaz Canabrava
ab89231ca2 [CSE] Remove unused debug 2017-12-20 00:25:56 +01:00
Tomaz Canabrava
d26ade1870 [CSE] Fix the result of the decryption
However the text still looks like encrypted.
2017-12-20 00:25:39 +01:00
Tomaz Canabrava
a1e6901ecc [CSE] Decrypt correctly the metadata
There's a bug that's returning an empty bytearray, need to look
into that.
2017-12-20 00:20:27 +01:00
Tomaz Canabrava
494ae31de9 [CSE] Fix correct json object 2017-12-19 23:09:39 +01:00
Tomaz Canabrava
a02246dc65 [CSE] Fix Metadata bugs p1
The RFC was misleading, I took the chance to fix a few
inconsistencies regarding the QJsonDocument.
2017-12-19 22:47:05 +01:00
Tomaz Canabrava
5609a1dbe8 [CSE] Remove old debug code so I can focus. 2017-12-19 17:02:23 +01:00
Tomaz Canabrava
aa36cc4a5c [CSE] Reduce probability of conflicts when rebasing
Creates a new file/class to handle upload,
propagateuploadencrypted.h/cpp. This should have all the logic to deal
with the encryption and upload.
2017-12-17 22:38:43 +01:00
Tomaz Canabrava
b9cdc8e922 [CSE] Fix the url to delete the metadata 2017-12-17 21:19:32 +01:00
Tomaz Canabrava
23f832caf4 [CSE] Code Cleanup 2017-12-17 19:19:44 +01:00
Tomaz Canabrava
7ef2489f1d [CSE] Fix infoForFileId
We need to traverse the path recursivelly.
2017-12-17 19:14:34 +01:00
Hefee
844e03d000 Also disable fstack-protector for alpha plattform.
This fixes #6211.

(cherry picked from commit 69e81e8f65)
2017-12-16 14:08:08 +01:00
Hefee
69e81e8f65 Also disable fstack-protector for alpha plattform.
This fixes #6211.
2017-12-16 14:03:59 +01:00
Tomaz Canabrava
ce41e3e42f [CSE] Work the Set Decrypted Bit 2017-12-15 23:32:41 +01:00
Olivier Goffart
1940c2f9bf Exclude: Use Qt to load the exclude file
fopen does not work well with relative path tand forward slashes on windows
This fix the windows textexcludedfiles test.
And also make the code simpler.

Note that the 'trimmed' might be a behavior change, but i think it is ok
2017-12-15 19:16:20 +01:00
Christian Kamm
83e94c3ec7 Fix compile after rebase 2017-12-15 18:05:44 +01:00
Christian Kamm
a7c0cfc8eb Upload conflict files #4557
If the server has the 'uploadConflictFiles' capability conflict
files will be uploaded instead of ignored.

Uploaded conflict files have the following headers set during upload
  OC-Conflict: 1
  OC-ConflictBaseFileId: 172489174instanceid
  OC-ConflictBaseMtime: 1235789213
  OC-ConflictBaseEtag: myetag
when the data is available. Downloads accept the same headers in return
when downloading a conflict file.

In the absence of server support clients will identify conflict files
through the file name pattern and attempt to deduce the base fileid.
Base etag and mtime can't be deduced though.

The upload job for a new conflict file will be triggered directly from
the job that created the conflict file now. No second sync run is
necessary anymore.

This commit does not yet introduce a 'username' like identifier that
automatically gets added to conflict file filenames (to name the files
foo_conflict-Fred-1345.txt instead of just foo_conflict-1345.txt).
2017-12-15 18:03:53 +01:00
Christian Kamm
8eebc53728 Unify item type enum
Previously, there was csync_ftw_type_e and SyncFileItem::Type. Having
two enums lead to a bug where Type::Unknown == Type::File that went
unnoticed for a good while.

This patch keeps only a single enum.
2017-12-15 18:02:04 +01:00
Tomaz Canabrava
2e516dfc67 Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-15 15:05:51 +01:00
Tomaz Canabrava
250c8ff1bf [CSE] Add job to delete metadata
This is needed for the correct functioning of the Set Folder
as Decrypted
2017-12-15 15:02:43 +01:00
Tomaz Canabrava
5607e27f20 [CSE] Actually save the http response result 2017-12-15 14:25:57 +01:00
Olivier Goffart
b10edfecfc Workaround MSVC bug with enum in bitfield
MSVC stores the enum as signed in the bitfield (contrary to the C++ spec)
Which means that once we store a value such as SyncFileItem::DetailError
in a bitfield, we get a negative value back, then of course, further
comparison fails.
2017-12-15 14:18:45 +01:00
Tomaz Canabrava
43332d3ac7 [CSE] Properly update UI status to encrypted / decrypted 2017-12-15 14:00:42 +01:00
Julius Härtl
49a16ffb4b
Fix build on windows
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-15 10:59:14 +01:00
Klaas Freitag
3b96097cf6 Config: Look for exclude file in a relative path.
If the application binary is not installed in /usr/bin the client
with this patch considers to check the relative location
../../etc/owncloud-client/ to find the system exclude.

This is an important bit for AppImage based packages of the client,
as this runs from a temporar mountpoint and the system file can not
be found under /etc.
2017-12-15 09:54:40 +01:00
Christian Kamm
298f1ab570 Disable stack protection for mingw win32 builds in 2.4
Mingw builds could have it enabled! But we need to ship libssp and test
this more. For the upcoming 2.4 release it should be disabled.
2017-12-15 09:16:59 +01:00
Roeland Jago Douma
99b4381591
Don't try to decrypt twice
The DecryptMetaDataKeys already base64 decoded

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:40 +01:00
Roeland Jago Douma
69a201a62d
Percentencode the json we send so special chars don't cause trouble
The + sign was lost in transfer.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:07 +01:00
Roeland Jago Douma
56028759d5
Merge branch 'master' into clientSideEncryptionV3 2017-12-14 20:47:05 +01:00
Roeland Jago Douma
be3afd1291
Add FileEncryptJob and FileDecryptJob
This handles encryption and decryption of files.
Just create the job and start off.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 16:54:56 +01:00
Tomaz Canabrava
82c07236c1 [CSE] Add new method "infoForFolderId"
we need to query the model for the subfolderinfo, but we don't
have the model index, we have the folder id. this returns it.
2017-12-14 14:39:07 +01:00
Olivier Goffart
4dc49ff3b0 SyncEngine: Recover when the PUT reply (or chunkin's MOVE) is lost
This can happen if the upload of a file is finished, but we just got
disconnected right before recieving the reply containing the etag.
So nothing was save din the DB, and we are not sure if the server
recieved the file properly or not. Further local update of the file
will cause a conflict.

In order to fix this, store the checksum of the uploading file in
the uploadinfo table of the local db (even if there is no chunking
involved).  And when we have a conflict, check that it is not because
of this situation by checking the entry in the uploadinfo table.

Issue #5106
2017-12-14 11:56:12 +01:00
Julius Härtl
1cedb1919f
Integrate libcloudproviders support
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-14 11:19:25 +01:00
Roeland Jago Douma
fe4bb52a6d
Merge remote-tracking branch 'oc/master' into oc_up 2017-12-14 10:27:11 +01:00
Christian Kamm
f40cceaf04 Share link: Adjust design of folder sharing permissions #6192 2017-12-14 08:34:44 +01:00
Tomaz Canabrava
c592871f94 [CSE] Do not handle b64 inside of the decrypt function
the decrypt function should deal with the raw data always.
2017-12-13 16:37:52 +01:00
rockihack
5cc3b526e8 stack-protector is not supported on hppa.
(cherry picked from commit 8a963a67f2)
2017-12-13 11:28:22 +01:00
rockihack
1b2a8ba6b0 Enable stack-protector-strong on Windows and macOS.
(cherry picked from commit 586fd346ea)
2017-12-13 11:28:22 +01:00
rockihack
8a963a67f2 stack-protector is not supported on hppa. 2017-12-13 11:27:48 +01:00
rockihack
586fd346ea Enable stack-protector-strong on Windows and macOS. 2017-12-13 11:27:48 +01:00
Christian Kamm
e5ed8fc90a Merge remote-tracking branch 'origin/2.4' 2017-12-13 11:03:24 +01:00
Markus Goetz
75676f8830 Notifications: Propagate "Dismiss" as DELETE to server #5922
(cherry picked from commit e86416fff7)
2017-12-13 11:00:40 +01:00
Tomaz Canabrava
9916583ffa [CSE] More verbose output 2017-12-12 21:50:30 +01:00
Roeland Jago Douma
25734afd39
First base64 decode
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-12 21:42:37 +01:00
Tomaz Canabrava
ea3558faf6 [CSE] Fix strings 2017-12-12 21:29:06 +01:00
Tomaz Canabrava
159c0e138f [CSE] Add a DecryptAsync method
Also, cleanup a bit of the old calls. One particular difference
is that I used to set padding to 1 and it should actually be
PKCS1_OAEP_PADDING
2017-12-12 21:23:02 +01:00
Tomaz Canabrava
aca298ca64 [CSE] Be explicit that async encryption uses publicKey 2017-12-12 20:14:31 +01:00
Tomaz Canabrava
2127b2629d [CSE] Move encryption related network jobs to its own file
Move encryption related network jobs to it's own file,
the original file was starting to be just way too big.
2017-12-12 19:36:47 +01:00
Tomaz Canabrava
f6f078d1ee [CSE] Rename Variable 2017-12-12 16:15:05 +01:00
Tomaz Canabrava
ce37235cc4 [CSE] Retrieve the Private Key from the KeyChain
This fixes one thing and exposes a bug.
the MetadataKeys are not being correctly unencrypted.
2017-12-12 16:09:49 +01:00
Tomaz Canabrava
0a58ea76e5 [CSE] Start the work with an existing metadata 2017-12-12 15:35:53 +01:00
Olivier Goffart
02283fc686
Merge pull request #6224 from owncloud/deprecated
Remove use of deprecated Qt API
2017-12-12 11:48:04 +01:00
Tomaz Canabrava
e6f835d138 [CSE] Unlock the folder after a lock
This makes sure the folder will be unlocked for next tests
2017-12-12 11:26:54 +01:00
Tomaz Canabrava
33b1fcfe66 Merge branch 'master' into clientSideEncryptionV3 2017-12-12 10:46:43 +01:00
Christian Kamm
dcf0baa9de Journal: 64bit inodes, fix storing uint64s generally
In addition to using the right function when retrieving inodes this
*also* fixes a more general bug ownsql had with storing uint64 values
that didn't fit into an int64.
2017-12-12 10:30:54 +01:00
Olivier Goffart
bae00358b9
Merge pull request #6219 from owncloud/config
Move config and remove most dependencies form the sync engine.
2017-12-11 17:10:18 +01:00
Olivier Goffart
d517d92f6c FolderWizard: don't use deprecated API 2017-12-08 16:16:06 +01:00
Olivier Goffart
71dcf7fc37 SSLButton: Removes some call to deprecated functions 2017-12-08 16:16:02 +01:00
Olivier Goffart
0a59faf03d OcsJob: Use QUrlQuery
Qurl::setEncodedQueryItems is deprecated.
2017-12-08 16:15:48 +01:00
Olivier Goffart
7bd48b1327 cmd: remove usage of deprecated qInstallMsgHandler 2017-12-08 16:15:48 +01:00
Olivier Goffart
8c652e061d Remove uses of deprecated QString::fromAscii 2017-12-08 16:15:48 +01:00
Olivier Goffart
a4816d6a8c Updater: use QUrlQuery
QUrl::addQueryItem is deprecated
2017-12-08 16:15:47 +01:00
Olivier Goffart
1a503d54f6 Remove usage of deprecated qSort 2017-12-08 16:15:47 +01:00
Olivier Goffart
263668b1cb Remove use of deprecated translate call 2017-12-08 16:15:38 +01:00
Olivier Goffart
3df65460f5 Remove usage of QString::null
Replaces by "QString()"
2017-12-08 16:15:22 +01:00
Olivier Goffart
74672d493d Utility: use QUrlQuery
For QUrl::setQuery is deprecated in Qt5
2017-12-08 16:15:17 +01:00
Tomaz Canabrava
0a83d3e743 [CSE] Fix reading the public key for the metadata
This broke when we started to use QSslKey and the Qt Keychain
framework.
2017-12-08 11:24:22 +01:00
Tomaz Canabrava
a08a32ceca [CSE] Fetch the metadata for the upload. 2017-12-08 10:32:05 +01:00
Tomaz Canabrava
6745777ca3 [CSE] Save folder id and token for the lock
So we can unlock it later. - perhaps we should store this
on the disk or something, to make it harder to lose.
2017-12-08 10:19:56 +01:00
Olivier Goffart
f1b7d506ae csync_exclude: fix compilation of non-test builds 2017-12-08 09:43:26 +01:00
Tomaz Canabrava
70d562668c [CSE] Add handling for side-by-side uploads. 2017-12-07 21:51:42 +01:00
Tomaz Canabrava
ccd8cff4db [CSE] Try to lock repeteadly the folder if needed.
The upload is made in an event loop with more than one
upload at the same time, this confuses the hell out of the
folder locking mechanism.

We need to lock the folder and ask the other trials to try
again in a few seconds in the future to give time for the
uploader to actually upload the current file that's locking
the folder.
2017-12-07 21:31:20 +01:00
Tomaz Canabrava
9f678652f8 [CSE] Lock the folder to upload a file. 2017-12-07 20:52:54 +01:00
Tomaz Canabrava
76916b6c48 [CSE] Request the Folder ID. 2017-12-07 19:39:30 +01:00
Tomaz Canabrava
4878e824e5 [CSE] Fix reading encrypted status of folders. 2017-12-07 19:04:12 +01:00
Tomaz Canabrava
893ca66af8 [CSE] Fix indentation
Parts of the code are indented by spaces, other parts by tabs.
This needs to run in the whole codebase.
2017-12-07 18:12:25 +01:00
Tomaz Canabrava
19120fde9f [CSE] Don't query for files on GetFolderEncryptStatusJob
The request for folders whas also replying for files.
2017-12-07 18:10:14 +01:00
Tomaz Canabrava
7fe4dd2163 [CSE] Renane GetFolderEncryptStatus to GetFolderEncryptStatusJob
it's a network job after all
2017-12-07 18:06:55 +01:00
Olivier Goffart
4581d708ff Account: remove dependency with ConfigFile
Part of #6213
2017-12-07 17:39:16 +01:00
Olivier Goffart
e0a14cac5b ConfigFile: use QStandardPaths::AppConfigLocation for the config file
Also use appName instead of appNameGui in order to compute the path

Issue: #2245

The reason is to respect the XDG spec on Unix (#1601) and might help
on windows roaming profiles (#684)
2017-12-07 17:39:16 +01:00
Olivier Goffart
ac844a2a45 AbstractNetworkJob: move the httpTimeout from the propagator to the network job
Remove one dependency from the config file for the sync engine.
Part of issue #6213
2017-12-07 17:39:16 +01:00
Olivier Goffart
7230fa6b4f SyncOptions: move to its own file
It does not really belong in the discoveryphase.h as it is used also for
propagator option.

Also use C++11 style member initializer
2017-12-07 17:35:38 +01:00
Olivier Goffart
e25af4f0dc csync_exclude: Fix compile
csync_exclude.cpp:428:17: error: assigning to 'char *' from incompatible type 'const char *'
        bname = path;
                ^~~~

The C library's strrchr always return 'char*'
Only the C++'s std::strrchr has two overloads
2017-12-07 17:34:14 +01:00
Tomaz Canabrava
863e86138f [CSE] Pass the folder to the GetEncryptionStatus
Sometimes we are only interested in folders.
2017-12-07 17:32:35 +01:00
Christian Kamm
287670c9d6 Excludes: Remove fnmatch codepath
Now all exclude patterns can be translated to regular expressions.
2017-12-07 14:38:21 +01:00
Christian Kamm
994f3bb644 Excludes: fnmatch doesn't treat '{' as special
Neither the documentation at
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13
nor the fnmatch source code in <glibc>/posix/fnmatch_loop.c points
toward { causing special matching behavior.
2017-12-07 14:38:21 +01:00
Christian Kamm
e5c780ee19 Excludes: Translate full-path patterns to regex
Improves full matches by more than an order of magnitude
and also improves speed of traversal matches by roughly 20%,
judging by the check_csync_exclude performance test.
2017-12-07 14:38:21 +01:00
Christian Kamm
1c3d5ab158 Excludes: Introduce dir-only regex matches 2017-12-07 14:38:21 +01:00
Christian Kamm
5d668eca40 Excludes: Optimize Desktop.ini check 2017-12-07 14:38:21 +01:00
Christian Kamm
7ab127ad53 Excludes: Refactor for pending improvements
Make ExcludedFiles something that is instantiated outside of
the CSYNC context and then given to it as a hook.

ExcludedFiles still lives in csync_exclude and the internal
workings haven't been touched.
2017-12-07 14:38:21 +01:00
Olivier Goffart
dd91f4a86e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/csync/csync.cpp
2017-12-07 09:37:50 +01:00
Hefee
32f38dc5f8 fix typo error: occured-> occurred 2017-12-06 20:02:53 +01:00
Christian Kamm
ceac18c554 Reconcile: Rename maps are consistent with update phase #6212
For duplicate file ids the update phase and reconcile phase determined
the rename mappings independently. If they disagreed (due to different
order of processing), complicated misbehavior would result.

This patch fixes it by letting reconcile try to use the mapping that the
update phase has computed first.
2017-12-06 16:42:11 +01:00
Christian Kamm
99f32dcb99 Clear csync rename mappings after reconcile
They were being preserved *across sync runs*.
2017-12-06 16:42:11 +01:00
Christian Kamm
79fe71db58 Hide selective sync buttons while disconnected #5809
The choices or big folder warnings will pop up again on reconnection.
2017-12-06 16:41:28 +01:00
Olivier Goffart
ed5385faa3 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libsync/connectionvalidator.cpp
     	src/libsync/networkjobs.cpp
2017-12-05 15:58:13 +01:00
Tomaz Canabrava
66aecb9626 [CSE] Handle normal uploads in CSE enabled instances 2017-12-04 22:45:10 +01:00
Tomaz Canabrava
6f35cbff6b [CSE] Fetch the Folder information for encryption status 2017-12-04 22:27:13 +01:00
Tomaz Canabrava
387737d908 [CSE] Start to create the upload logic. 2017-12-04 21:33:43 +01:00
Markus Goetz
0479322c1d fstack-protector: Improve previous commit 2017-12-04 12:37:03 +01:00
Klaas Freitag
0be7b6fe1f Only enable -fstack-protector-strong compiler flag for gcc > 4.9
On older/other compilers this flag is not understood.
2017-12-04 12:37:03 +01:00
Olivier Goffart
ee98daf9ea Shibboleth: Upgrade to OAuth2 When the server supports it
If the server support both Shibboleth and OAuth2, upgrades to OAuth2

Issue #6198
2017-12-04 08:09:34 +01:00
Tomaz Canabrava
8c4928d9f6 Merge branch 'uploadImprovements' into clientSideEncryptionV3 2017-12-03 18:15:33 +01:00
Olivier Goffart
30e3932af8 FolderWizard: Fix minimum size
There are several bugs in QWizard that needs to be worked around for the minimum
size of the widget to take effect.

Issue #4280
2017-11-29 08:03:06 +01:00
Tomaz Canabrava
35eb071874 [uploadImprovements] use the new struct on PropagateUploadNg
use the new struct on PropagateUploadNg to make the algorithm
more future proof.
2017-11-28 22:58:52 +01:00
Tomaz Canabrava
a64bd6059b [uploadImprovements] fix struct hole 2017-11-28 22:22:37 +01:00
Tomaz Canabrava
a623b14209 [uploadImprovements] use the new struct info in PropagateUploadV1
Add a new member for the UploadFileInfo in PropagateUploadCommon
to hold the full file path - as it can change if we use a temporary
file to upload.

Adapt propagateuploadv1 to use the new calls.
2017-11-28 22:17:29 +01:00
Tomaz Canabrava
f609336bfc Split file to upload from the file on disk
They can be conceptually equal - I can upload the file
on disk, and that's what I do right now. But if we want
to accept filters in the future, filters that change
the file on disk like shrinking an image, the current
information used is wrong and we need a way to separate those.

This patch introduces a new struct that holds the *actual*
file that will be uploaded, be it a temporary one or
the original file.
2017-11-28 21:28:06 +01:00
Tomaz Canabrava
2cacf2547e Merge branch 'master' into clientSideEncryptionV3 2017-11-28 20:12:57 +01:00
Markus Goetz
6276d9290d utility_mac: Check for NULL from LSSharedFileListItemResolve #6123
Possibly also #6074
2017-11-28 13:35:15 +01:00
Roeland Jago Douma
0f60deb043
Store and retrieve keys in keychain
* Store privatekey, certificate and mnemonic in keychain
* Retrieve private + public key from server
  - ask for mnemonic to decrypt private key

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-28 12:36:35 +01:00
Markus Goetz
cde6589af8 owncloudcmd: Don't need Qt Sql module 2017-11-28 10:18:01 +01:00
Tomaz Canabrava
c4d3d0987d [CSE] Find the start of the upload 2017-11-27 22:20:24 +01:00
Tomaz Canabrava
47b5cd0fbb [CSE] Shows correctly Encrypt / Decrypt in the menu 2017-11-27 21:19:54 +01:00
Tomaz Canabrava
dd903d447f [CSE] Store the encryption status without the webdav url
The Folder information on the desktop client doesn't
knows about the webdav layout aparently.
2017-11-27 21:09:13 +01:00
Tomaz Canabrava
d2d2df4c75 [CSE] Try to find the webdav url of a folder. 2017-11-27 21:06:38 +01:00
Roeland Jago Douma
ccd050455a
Merge pull request #62 from bceverly/master
Added build support for FreeBSD
2017-11-27 20:39:19 +01:00
Roeland Jago Douma
ffb9f69cf6
Start with moving data to the keychain
* Check for cert + privateKey in keychain
* Work with QSslKey and QSslCertificate
* Abstract reading the BIO's a bit more

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:21:53 +01:00
Roeland Jago Douma
74c4d27ea0
Indent
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:12:56 +01:00
Tomaz Canabrava
e3050f7456 [CSE] Pass by reference, return by value.
Also, Do not create variables in the heap to change it's value
via reference, prefer an aggregation value. use a Typedef to
fully specify what you want in return.
2017-11-27 15:21:29 +01:00
Roeland Jago Douma
9cbe795045
Move more encryption functions to encryption helper
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-25 21:43:15 +01:00
Olivier Goffart
b8444053b8 AccountSettings: Fix the size of the "Add Sync Folder Connection" button
The problem here is that the QPainter is created on the viewport with is a
QWidget, but QAbstractItemView can have a different font, and the
QStyleOptionViewItem::font is this font. QStyleOptionViewItem::font
was used to compute the sizeHint, and the default font from the QPainter
was used to draw the text, so they could be not in sync.

Fix it by always using the font for QPushButton

Reported in
https://github.com/owncloud/client/issues/6156#issuecomment-346576328
2017-11-25 16:07:06 +01:00
Roeland Jago Douma
e0fbdfe175
Remove obsolete encryption functions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-25 15:50:47 +01:00
Olivier Goffart
753d7addb4 libsync: Fix compilation with TOKEN_AUTH_ONLY
This means we cannot use QtGui in libsync.
So this mostly disable the avatar from the account and the avatarjob

Note that there is one logic change: in ConnectionValidator::slotUserFetched
we do the avatar job even if the user is empty. Otherwise we would end up in
a invalid state. This restore the 2.3.x behavior that was broken in
commit e05d6bfcdc
2017-11-25 12:57:16 +01:00
Terence Eden
0b00ab8a15
Typo
Fixes #63
2017-11-25 10:03:00 +00:00
Roeland Jago Douma
12adff76e2
Properly decrypt private key and send it to the server
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-24 22:10:28 +01:00
Roeland Jago Douma
6d145a676b
Added EncryptionHelper
This is to move generic encryption methods out of the main code and into
small helper functions. So we don't scatter the encryption code all over
the place.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-24 21:05:21 +01:00
bceverly
5279e2fb37 Added support for FreeBSD 2017-11-24 08:54:29 -05:00
bceverly
51e355e403 Added support for FreeBSD 2017-11-24 08:54:24 -05:00
Tomaz Canabrava
45d9323653 [CSE] Update encryption status when folder is updated 2017-11-23 16:55:12 +01:00
Tomaz Canabrava
57e0d7abcb [CSE] Fix pointer to e2e
Qt expects things to be pointers even if they are stack
variables.
2017-11-23 16:54:45 +01:00
Olivier Goffart
72809ef5b1 csync_update: ignore remote files that cannot be encoded
This is mainly for linux, whose local is not UTF-8.
For example, in latin1, it is not possible to encode emoji or chinese character.
If there are such character in the filename, Qt would just save the file using
the replacement character ('?'). Then, on the next sync, client would rename
the files using this replacement character.

Avoid this by ignoring the files which cannot be downloaded because the
filename cannot be represented with the user's locale

Relates to issue #5676 and #5719
2017-11-23 12:51:28 +01:00
Christian Kamm
8c94601ef2 User shares: Further avatar tweaks 2017-11-21 16:33:03 +01:00
Christian Kamm
f27ceb7fab User shares: Use background color, remove permission frame #6176 2017-11-21 16:33:03 +01:00
Christian Kamm
60bde048c6 User shares: Fix missing label when there are only link shares
The "not shared with users or groups" label only appeared if there were
no shares at all.
2017-11-21 16:33:03 +01:00
Christian Kamm
3b961204e1 Avatars in user share dialog: Minor tweaks 2017-11-21 16:33:03 +01:00
Christian Kamm
e9907bc8ae AvatarJob improvements
* Drop AvatarJob2
* Allow AvatarJob to retrieve different sizes and users
* Make creating a circular avatar into a function
  (maybe all avatars should be made into that shape in the first place)
2017-11-21 16:33:03 +01:00
Roeland Jago Douma
6b9b5252de User shares: Show avatars
[Sharing] Show placeholders for avatars

Just like on the web show placeholders for avatars in the sharing dialog

[Sharing] Show avatars!

[Sharing] Show same avatar placeholder for group/federated shares as on
web
2017-11-21 16:33:03 +01:00
Christian Kamm
d949ec6877 Protocol: Introduce context menu with "open in browser" #6121
To do this conveniently a bunch of functionality that's common to
IssueWidget and ProtocolWidget is moved to ProtocolItem.

Also the convenience function to asynchronously retrieve the private
link url is moved from the socket api to the network jobs.
2017-11-21 12:42:10 +01:00
Tomaz Canabrava
a118419f0c [CSE] buildfix, use the correct type. 2017-11-21 09:55:44 +01:00
Roeland Jago Douma
462353d0ee
Have correct app password link
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-21 09:17:42 +01:00
Tomaz Canabrava
d31aa7836a [CSE] Add job to find what folders are encrypted.
This still needs to be correctly setuped in the call chain.
The job returns a QVariantMap with the folder-webdav-url
and the encrypted status.
2017-11-20 21:38:17 +01:00
Tomaz Canabrava
34e6534813 Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-11-20 18:01:48 +01:00
Tomaz Canabrava
6d464d9dc6 Merge branch 'master-nextcloud' into clientSideEncryptionV3 2017-11-20 18:00:58 +01:00
Roeland Jago Douma
9878559002
Move to NC theme
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-20 15:46:18 +01:00
Olivier Goffart
e7a91a1169 AccountSettings: Use the proper position to show the menu over sub-folder
The menu can be open with the keyboard shortcut.

(Fixup for the fix of #5596)

Also use popup instead of exec to show the menu: it's safer as it does
not re-enter the event loop.
2017-11-20 15:22:45 +01:00
Roeland Jago Douma
725be9ff54
Merge branch 'master' of https://github.com/owncloud/client into oc_master 2017-11-20 13:29:59 +01:00
Christian Kamm
14a51458ab Link share: Move 'delete' button to the bottom #6163 2017-11-20 12:42:41 +01:00
Christian Kamm
aafe7c4732 Merge remote-tracking branch 'origin/2.4' 2017-11-20 11:54:56 +01:00
Christian Kamm
86c2e9e825 Tray: Fix 'Open folder' action creation
It looks like the action was created but not added to the menu. Did this
work with previous Qt versions?
2017-11-20 11:48:55 +01:00
Olivier Goffart
480932a58a Checksum: Ignore unkown OC-Checksum header when downloading...
And if there are several checksums, pick the "best" one.

The case of several checksum was reported in
https://github.com/nextcloud/client_theming/issues/213
2017-11-20 10:51:15 +01:00
Christian Kamm
e694ffcd03 PropagateDownload: Adjustments to skipping downloads #6153
Previously we required matching mtimes but that's actually
unnecessary when the question is about whether to skip the
download. We will still update the file's metadata.

Also, adjust behavior when the checksum is weak (Adler32):
in these cases we still depend on equal mtimes.
2017-11-16 13:31:54 +01:00
Christian Kamm
eff401d418 Share links: Confirm deletion explicitly #6163
Also add the "Delete" action to the "..." menu.
2017-11-16 11:16:47 +01:00
Roeland Jago Douma
9394fe6e84
Use openssl functions to get random words
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-16 10:45:57 +01:00
Markus Goetz
8fb2167fca sqlite: Update bundled version to 3.21
For OS X and Windows.
2017-11-15 21:53:53 +01:00
Christian Kamm
06ce8dd8bd Wizard: Add explanation text when server error is shown #6157
Just showing a box with the message can be surprising.
2017-11-15 11:01:44 +01:00
Olivier Goffart
9a1ea67a35 Theme: Update the wizard size on high dpi screen
Issue #6156
2017-11-15 10:46:08 +01:00
Christian Kamm
e616f904b6 Share link: Add tooltip to delete button #6163 2017-11-15 10:16:33 +01:00
Christian Kamm
bff24ffd2f PropagateDownload: Fix GET with redirects #6159
The GET jobs were redirected, but the custom incremental handling
in readyRead didn't propagate to the follow-up job.
2017-11-15 10:11:15 +01:00
Christian Kamm
b0f986c740 Private links: Account for overwritehost #6146
Retrieve ocs/v1.php/config to determine the desired host and build the
private link urls with that instead.
2017-11-14 12:14:11 +01:00
Christian Kamm
18091f99d4 Private links: Retrieve numeric file id property #6146
Some servers have non-compliant instance ids (that start with a number)
and thereby make deducing the numeric file id from the full id
unreliable.

To circumvent this problem we retrieve the fileid property from the
server with a PROPFIND.
2017-11-14 12:14:11 +01:00
Christian Kamm
3ae2071129 DetermineAuth: Remove concept of Unknown #6148
This restores 2.3 behavior. Some servers reply 404 to GETs and PROPFINDs
to the remote.php/webdav/ url and used to work. Being more picky would
break them.
2017-11-14 12:10:35 +01:00
Christian Kamm
820ebf4b6e Sql: db close() failing isn't fatal
The assert was made fatal when looking at asserts for #5429 #5518
without having a particular problem in mind. Recent reports weakly
suggest that this might lead to occasional crashes for users when
sqlite_close fails in ways that look ignorable.
2017-11-14 12:10:19 +01:00
Tomaz Canabrava
14aeb6921b [CSE] Fix invalid memory access 2017-11-13 18:15:08 +01:00
Tomaz Canabrava
8adfc28de7 [CSE] Store lock-token and retrieve later 2017-11-13 17:54:19 +01:00
Tomaz Canabrava
a0f0e5617a [CSE] Move the e2e object to the Account
This is important as a lot of the code would start
to rely in direct access to the client side encryption
and there are different keys for different accounts.
2017-11-13 17:22:09 +01:00
Tomaz Canabrava
6351c01ee7 [CSE] Remember the token for folders 2017-11-13 17:04:02 +01:00
Tomaz Canabrava
e32fd58578 [CSE] handle success and failure of metadata upload. 2017-11-13 17:03:40 +01:00
Tomaz Canabrava
22a2ab8999 [CSE] Start to send the metadata to the server 2017-11-13 16:46:30 +01:00
Tomaz Canabrava
4755b8c8a3 [CSE] More warnings 2017-11-12 13:03:52 +01:00
Tomaz Canabrava
19d64e6308 [CSE] Remove warnings 2017-11-12 12:55:12 +01:00
Tomaz Canabrava
05d826a954 Merge branch 'master' into clientSideEncryptionV3 2017-11-11 16:28:20 +01:00
Tomaz Canabrava
685ceacace [CSE] Memleaks 2017-11-11 16:25:38 +01:00
Christian Kamm
37c5612aee Discovery: Treat files starting with '.' as hidden #6145
This bug was introduced when strcmp(a, b) != 0 was accidentally
converted to a == b.
2017-11-08 12:53:46 +01:00
Tomaz Canabrava
ee4a848d9a [CSE] Correctly Unlock the Folder
Wireshark is love, and life.
2017-11-06 20:58:30 +01:00
Tomaz Canabrava
7290cf2813 [CSE] Adjust the CN accordingly to the server 2017-11-06 20:57:50 +01:00
Christian Kamm
9af6e29f42 DetermineAuthType: Adjustments for tight firewalls #6135
With some firewalls we can't GET /remote.php/webdav/. Here we keep the
GET request to detect shibboleth through the redirect pattern but then
use PROPFIND to figure out the http auth method.

Currently we prefer OAuth to Shibboleth to Basic auth.

This also restores the fallback behavior of assuming basic auth
when no auth type can be determined.
2017-11-06 13:09:10 +01:00
Roeland Jago Douma
131fd4e483
Fix encryptJSON and descryptJSON
Now working with tag
Basically we called EVP_*Update to much which resulted in weird output.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-03 18:00:05 +01:00
Tomaz Canabrava
be9cd358d4 [CSE] Bypass Qt DELETE Bug
It appears that Qt implementation of the DELETE http request
does not send bodyData, and we need that for Nextcloud.
Currently I changed the http request on the server side
to accept a POST instead of a DELETE, so I can actually
develop.

Also, I already poked the Qt developers that did this code.
2017-11-03 17:00:28 +01:00
Tomaz Canabrava
6ad6852045 [CSE] Cleanup - remove commented metadata. 2017-11-03 16:59:39 +01:00
Tomaz Canabrava
5514f14e88 [CSE] Get and send the lock - token 2017-11-03 15:12:12 +01:00
Tomaz Canabrava
ea9e2135a1 [CSE] Remove uneeded comments. 2017-11-03 14:28:13 +01:00
Tomaz Canabrava
b53003792f [CSE] Removed lambdas for Metadata / Lock / Unlock 2017-11-03 12:34:30 +01:00
Tomaz Canabrava
6facd29663 [CSE] Start to break the lambdas
Lambda within a lambda is a terrible idea,
Use default signal / slot connections with a
method instead.
2017-11-03 12:00:25 +01:00
Tomaz Canabrava
3b157caf09 [CSE] Handle encrypt / lock / unlock 2017-11-03 11:21:01 +01:00
Tomaz Canabrava
d7e05c9b05 [CSE] Comment out broken code.
But why it's broken?
2017-11-03 11:20:44 +01:00
Christian Kamm
3608114ec1 Journal: Fix low-disk space errors
Fixes a regression from 4dbe9d4113,
low disk space can lead to IOERR not just CANTOPEN.
2017-11-03 10:44:47 +01:00
Christian Kamm
c9d5a9cea2 HttpCreds: Don't create empty client cert keychain entries #5752
This doesn't do anything about deleting the client cert keychain
entries when the whole account is removed though.
2017-11-03 10:28:56 +01:00
Christian Kamm
4dbe9d4113 Journal: Don't crash if the db file is readonly #6050
Surprisingly sqlite3_open_v2() returns ok on readonly files with
SQLITE_OPEN_READWRITE. Probably due to the journal mode?
2017-11-02 16:36:51 +01:00
Roeland Jago Douma
8e3e3a4575
Be java compatible and store the tag at the end of the cipher text
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-02 12:39:42 +01:00
Christian Kamm
c743cc171a Client certs: Improve error message #6128
"Could not load certificate" can very well just be a bad password.
2017-11-02 11:30:44 +01:00
Tomaz Canabrava
8d537fdd3c [CSE] Get Metadata from the server 2017-11-01 18:32:33 +01:00
Tomaz Canabrava
4a66cf11d2 [CSE] Send Metadata to the server 2017-11-01 18:21:30 +01:00
Tomaz Canabrava
2698759525 [CSE] Implement the Folder Unlock api job 2017-11-01 17:54:17 +01:00
Tomaz Canabrava
1b1add5ead [CSE] Add api to lock file 2017-11-01 17:36:54 +01:00
Christian Kamm
6ac44f05cd Credentials: Namespace windows cred keys #6125
The application name is prepended to the key. QtKeychain doesn't
do that automatically on the platform.
2017-11-01 17:03:30 +01:00
Tomaz Canabrava
e5fdcd2f38 [CSE] Add TODO: 2017-11-01 16:48:19 +01:00
Tomaz Canabrava
ef2529ca44 [CSE] Set padding to 0 for the Rsa encryption
Also, commented out the finalization of the decrypt operation
because that was messing with the encryption. There's something
wrong here but I need to get this working and I can fix stuff
later.
2017-11-01 16:13:17 +01:00
Christian Kamm
64a84fda38 Wizard: Don't report confusing error message #6116
For historical reasons CheckServerJob doesn't just check url/ but also
url/owncloud/. However, that means if url/status.php is a 404 and
url/owncloud/status.php is a 404, the user will see the latter url
appear in the error message. That's potentially confusing.

Instead, just show the account url which will be closer to what the
user typed into the account wizard, while being adjusted for protocol
and possible redirects.
2017-11-01 15:57:58 +01:00
Tomaz Canabrava
1a891423e5 [CSE] Call the decryption function to test. 2017-11-01 15:48:40 +01:00
Tomaz Canabrava
41ebcd0b7e [CSE] Decryption of the metadata blob 2017-11-01 15:29:14 +01:00
Tomaz Canabrava
77ec3b086d [CSE] Remember to finalize encryption 2017-11-01 15:24:19 +01:00
Tomaz Canabrava
88d87bf0ca [CSE] Convert encrypted bitearray to Base64
also, start the decrypt.
2017-11-01 14:46:32 +01:00
Tomaz Canabrava
eb43fa1459 [CSE] Internal metadata encryption working 2017-10-31 17:52:01 +01:00
Tomaz Canabrava
8793fdbc69 [CSE] Remember to actually use the correct variable 2017-10-31 16:06:01 +01:00
Tomaz Canabrava
4bb7ebb6aa [CSE] Convert the base64 data to raw, for the decyrption 2017-10-31 13:17:22 +01:00
Tomaz Canabrava
3628f3739d [CSE] Start the decryption of the metadata 2017-10-31 13:06:20 +01:00
Tomaz Canabrava
b28b4705de [CSE] Correctly store the encrypted metadata
Missing the conversion to base64.
2017-10-31 12:07:47 +01:00
Tomaz Canabrava
560ce958de [CSE] Remove warning. 2017-10-31 11:24:10 +01:00
Tomaz Canabrava
69d73162aa [CSE] functions for encrypt / decrypt folder
The code was scattered around the slot for the context
menu request and had already too many indentation levels.
2017-10-31 11:09:34 +01:00
Tomaz Canabrava
69dc099b17 [CSE] Dedicated function for the subfolder menu 2017-10-31 11:03:24 +01:00
Tomaz Canabrava
c7d9abbea3 [CSE] Rework pubkeyPath to be able to fetch pubKey 2017-10-30 20:02:55 +01:00
Tomaz Canabrava
a986532442 [CSE] Generate a random password for the metadata. 2017-10-30 19:08:03 +01:00
Tomaz Canabrava
cf56d58241 [CSE] Start the encryption of the metadataKey 2017-10-30 19:05:55 +01:00
Tomaz Canabrava
edb04c137c [CSE] Call the FolderMetadata 2017-10-30 19:05:32 +01:00
Tomaz Canabrava
c695c50c33 [CSE] Implement the empty metadata
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-30 15:40:05 +01:00
Tomaz Canabrava
5420741edb Merge branch 'master' into clientSideEncryptionV3 2017-10-30 11:21:36 +01:00
Christian Kamm
05c1bfb6cf Merge remote-tracking branch 'origin/2.4' 2017-10-27 10:29:31 +02:00
Jocelyn Turcotte
10c6951438 Windows: Add a setting to enable/disable the explorer navigation pane integration
Issue #5295
2017-10-24 16:10:53 +02:00
Jocelyn Turcotte
56e38e6f80 Windows: Add sync folders to Explorer's navigation pane
This is only the navigation pane, the SyncRootManager entries aren't handled yet.

This follows the instructions from:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn889934%28v=vs.85%29.aspx

Issue #5295
2017-10-24 16:10:53 +02:00
Roeland Jago Douma
238f0b3610
Add note
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:53:17 +02:00
Roeland Jago Douma
817baf292d
Use EVP_aes_128_gcm
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Roeland Jago Douma
ca6fa7b341
Update decryp function
* Do not use AAD
* Do not try to decrypt the last 16 bytes as Android adds the tag there
by default

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Roeland Jago Douma
bacbf337d2
Update encryption function
* Do not use padding
* Do not use the ADD data
* Append the tag to the ciphertext to be compatible with Android

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Olivier Goffart
c36043a175 ShareDialog: trigger a sync for folder affected by a change of sharing
This allow the sync engine to query the new metadata and update the
overlay icons.

Note: we also need to invalidate the etags because the server does not
change the etag of parent directories that see their share-types changed.

Issue #6098
2017-10-24 15:50:14 +02:00
Olivier Goffart
ee63b36ed3 SyncFileStatusTracker: Detect changed in the shared flag
... even if the file is not changed.

We get an UPDATE_METADATA in that case, so make sure we let the
SyncFileStatusTracker know about it.
That means we need to filter out UPDATE_METADATA in the other listeners
of this signal.

Issue #6098
2017-10-24 15:50:14 +02:00
Olivier Goffart
35d28294cd SyncEngine: remove SyncEngine::syncItemDiscovered
It is unused.
2017-10-24 15:50:14 +02:00
Olivier Goffart
c6bd3ab31a Sharing: remove the ShareManager::_jobContinuation
It is growing indefinitively in case of error, causing a leak.
Use a labda instead to pass the capture
2017-10-24 15:50:14 +02:00
Christian Kamm
9c7ee6ef85 Reconcile: Rename handling fixes: duplicate file ids
When users share the same tree several times (say A/ and A/B/ are both
shared) the remote tree can have several entries that have the same
file id. This needs to be respected in rename detection.

Also adds several tests and fixes for issues noticed during testing.

See #6096
2017-10-24 10:54:23 +02:00
Christian Kamm
e85a339d94 Local discovery: Use db instead of filesystem
We mostly trust the file watchers meaning that we don't re-scan the
local tree if we have done that recently and no file watcher events
have arrived. If the file watchers invalidate a subtree, we rescan
only that subtree.

Since we're not entirely sure the file watchers are reliable, we still
do full local discoveries regularly (1h by default). There is a config
file setting as well as an environment variable to control the interval.
2017-10-24 10:00:20 +02:00
Christian Kamm
66f0ce6616 FolderWatcher: reliability and data-loss signal
Add state and signal to catch the following two known problems:
* Linux: inotify user watch pool is exhausted. Folder watcher becomes
unreliable.
* Windows: buffer is too small, some notifications are lost but watching
stays reliable.
2017-10-24 10:00:20 +02:00
Christian Kamm
fb2d31c9ce Folder: Move FolderWatcher to Folder
This makes it unnecessary for FolderMan to manage the list and removes
the need for some forwarders.

This is done in preparation for follow-up commits that want to add
diagnostics to FolderWatcher that shall be available from within Folder.
2017-10-24 10:00:20 +02:00
Christian Kamm
f3ea375083 Wizard: Resolve url/ redirects only if url/status.php not found
Unfortunately checking the base-url for redirects in all cases lead
to incorrect behavior in some SAML/OAuth2 edge cases.

This new iteration checks the base url for redirects only if the
standard CheckServerJob can't reach the server. That way the 2.3
behavior is only changed in cases that would have lead to errors.

See #5954
2017-10-24 09:42:08 +02:00
Tomaz Canabrava
476fe66043 [CSE] Add beginnign of the code to deal with the metadata 2017-10-23 21:06:26 +02:00
Tomaz Canabrava
bb53c2586f [CSE] Add Nlohmann's json library
Because nobody deservers to deal with Qt's JSON API
2017-10-23 21:06:26 +02:00
Tomaz Canabrava
23f5bb7ed9 [CSE] Move network jobs out of networkjobs.h
Since those networkjobs are all about client side
encryption, mvoe them to clientsideencryption.h
This will help with fewer conflicts with the origin.
2017-10-23 21:06:26 +02:00
Olivier Goffart
f41c9fbb7f owncloudsetupwizard: Fix "add new account" if the wizard is already visible
Clicking on the "Add new Account" from the systray menu should raise
the wizard, even if it is already running.

Relates to issue #6105
2017-10-20 12:41:48 +02:00
Olivier Goffart
a0e50670de Shibolleth: raise the browser when clicking on the tray
Issue #6105

Dynamically find the browser trough topLevelWidgets instead of
forwarding the call to the relevant page as it would require to break
many abstration layers (OwncloudSetupWizard -> OwncloudWizard ->
AbstractCredentialsWizardPage -> OwncloudShibbolethCredsPage)
And considering that we want to phase shibboleth down, I tought is
was not worth adding an interface for this.

The OAuth page don't have this problem because it shows a label and
allow the user to re-open the browser.
2017-10-20 10:51:35 +02:00
Olivier Goffart
a9761a8976 Use qEnvironmentVariable* instead of qgetenv when appropriate
Now that we use Qt5, we should do that. It is slightly more efficient
and declares the intent.
(Modified using clazy)
2017-10-19 13:57:49 +02:00
Tomaz Canabrava
1a47052aa3
[CSE] Remove unused function
This is already being called from somwhere else.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
e0988f482c
[CSE] Build fix
- change the name of one Qt Message Handler
- changed parameter from int to QString
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
d83e8819ce
[CSE] SetEncryptionFlagApiJob
This new job sets the Encryption Flag in a folder.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
623eb29845
[CSE] Helper functions for the URL's 2017-10-18 21:51:39 +02:00
Tomaz Canabrava
1436d5bac1
[CSE] Better debug output 2017-10-18 21:51:39 +02:00
Tomaz Canabrava
0b50afe915
[CSE] Correctly Set's the client as connected
If we manage to encrypt and upload the private key
to the server, the client is in it's connected state.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
cfb6e3be8c
[CSE] Send the Private Key to the server 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
78136a10b0
[CSE] Debug statements to help find the encrypt error 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
08dfe86f37
[CSE] Adjust the calls to ent-to-end encryption
We changed the name.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
0f1480728e
[cse] Use fake data to verify the encryption
beware, this is broken.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
ba3d2a61d5
[cse] Call the encrypt and decrypt functions on fake data 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
e0d368cbb3
[cse] Update the encrypt and decrypt algorithm to GCM 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
4f7265c04f
[aes] Create the Decrypt function. 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
6b53b4f257
[cse] Add the crypt method, based on OpenSSL Wiki 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
77c0309e02
[cse] use PKCS5_PBKDF2_HMAC_SHA1 on the random-word passphrase 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
5395fc56b1
[cse] Start the encryption algorithm for the Private Key 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
fd00e180f5
[aes] fix out of bounds access. 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
60729f1fc4
[cse] Enable OpenSSL for encryption 2017-10-18 21:51:38 +02:00
Tomaz Canabrava
418401a33c
[cse] new method, getUnifiedString
Enter a string list, return a string.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
2111aeaac1
[cse] Add wordlist & related methods. 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
69c709714d
[cse] Save signed key on disk 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
090336c928
[cse] Correctly send the CSR
finally.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
307dfd195c
[cse] Call the CSR job.
There's something wrong on the CSR job that I need to discover.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
304231811d
[cse] Start the job to sign the public key. 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
ecb05020a9
[cse] Do not save the certificate on disk
Store it on memory, and discard it as soon as no longer
needed.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
d2992d92ba
[cse] Generate the CSE
I still need to send it to the server. It's been a long
learning with the OpenSSL library.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
c358980448
[cse] Link Against OpenSSL
For some reason, this was working untill I added a call
to X509_REQ_get_subject_name, then the linking suddenly
stopped working (even tougth I'm using a ton of other
OpenSSL calls)

Force to link against 1.0
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
42a3098595
[cse] s/scr/csr 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
58e2e6b30b
[cse] Generate the public / private keys and store locally
Now I need to understand what the hell I need to do
to send this to the server.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
8c342cb1dd
[cse] Generate the KeyPair
Not stored anywhere yet, but it's correctly running.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
17693a75e5
[cse] Request public key from server
This is the first step needed to properly communicate.
Next, get private key.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
f4bbec1019
[bugfix] Return the error code, don't discard it. 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
29b64640fa
[cse] Start to fetch the basics to fetch the key from the server 2017-10-18 21:51:37 +02:00
Tomaz Canabrava
3f4d915a17
[cse] Add files to handle client side encryption
This will be the responsible for encryption,
decryption and talking with the server.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
7e2085375f
[cse] Invalid read of 1 2017-10-18 21:51:36 +02:00
Tomaz Canabrava
1c85f94b00
[cse] Use server capabilities to query for cse 2017-10-18 21:51:36 +02:00
Tomaz Canabrava
920047fa70
[CSE] Remove uneeded includes 2017-10-18 21:51:36 +02:00
Tomaz Canabrava
f7e74f520b
[CSE] Call encrypt and unencrypt from the GUI
If the server allows client side encryption, show
the user the menu with the encrypt and unencrupt options
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
5b51346e83
[CSE] New Network Job: DeleteApiJob
This network job does a DELETE http request on a URL. It's the
second class that does basically the same, but this one returns
the http return code, and it's set to do a api call.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
e2091bb0a3
[CSE] Add FileIdRole for the FolderStatusModel
This way we can actually request the id from outside of the model.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
9870f39dcb
[CSE] Fetch file-id for subfolders
File id is a must if we want to call any API.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
9318c487b9
[CSE] Display menu for encrytp / decryot folders
If the server supports client syde encryption, display
a menu on right click that should display encrypt and decrypt.
ideally it would show the encrypt if the folder is decrypted, and
decrypt if the folder is encrypted but currently there's no way
for the client to know that.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
1c32f6bb2e
[CSE] Check the server for client side encryption
Call the apps api and check if the response has
the client_side_encryption key.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:36 +02:00
Roeland Jago Douma
bc7e65b395
Merge branch 'master' of https://github.com/owncloud/client 2017-10-18 21:03:15 +02:00
Markus Goetz
9866010b4c SettingsDialogMac: Fix account display name #6078 2017-10-18 10:41:01 +02:00
Markus Goetz
a3c1052cae owncloudcmd: Fix timestamps, Fix --logdebug
We did not set a log handler so there were no timestamps.
The --debug didn't have an effect, let's use --logdebug like in GUI version.
(Command line always outputs some log)

Found in owncloud/documentation#3436
2017-10-18 09:16:05 +02:00
Christian Kamm
bf39343920 Sync: Add capability for invalid filename regexes #6092 2017-10-17 17:15:49 +02:00
Markus Goetz
d339b68715 Checksums: Use addData function
Our implementation had bad error handling.
This one now uses a new Qt5 addData function.

owncloud/enterprise#2252
2017-10-17 13:26:54 +02:00
Christian Kamm
17b1c83ae5 Activity: Allow sorting of issues and protocol #6086
The issues tab uses custom ordering where overall and summary sync
issues are displayed first. This ordering is preserved by creating
special sorting logic for the "time" column.

It needed special handling anyway, since sorting by time-string would
have yielded incorrect results.
2017-10-17 09:47:57 +02:00
Christian Kamm
b2a8ffc577 Abort: Fix crash with early aborts
_chunkCount could be 0, leading to a floating point exception

I also added initializers for several uninitialized integers in the
upload jobs.
2017-10-17 09:44:52 +02:00
Christian Kamm
e2711224ed Propagator: Avoid duplicate async abort 2017-10-17 09:44:52 +02:00
Christian Kamm
111bb485ec UploadNG: Avoid div-by-zero for super fast uploads 2017-10-17 09:44:52 +02:00
Piotr Mrowczynski
e10775d34f Fix paused sync file move issue #5949
Dont abort final chunk immedietally

Use sync and async aborts
2017-10-17 09:44:52 +02:00
Christian Kamm
f598ac89ac HttpCreds: Fix retry after wrong password #5989
This is an ugly solution.
2017-10-13 14:24:37 +02:00
Christian Kamm
3f7b3ca962 Checksums: Improve logging and add global disable #5017 2017-10-13 13:08:20 +02:00
Christian Kamm
01c2ffe2ae PropagateDownload: Read Content-md5 header #6088 2017-10-11 09:06:23 +02:00
Christian Kamm
92e90f9c55 Context menu: More detailed status messages
Previously it could only display synchronization progress or "up to
date". Now it also communicates the same overall state that the icon
shows.

See owncloud/enterprise#2134
2017-10-09 14:14:31 +02:00
Olivier Goffart
b8f7c6daae CMakeLists.txt: Put -pie as a linker flag were it belongs
Fixes warning introduced by PR #6040
2017-10-06 14:35:56 +02:00
Markus Goetz
cd07865da6 Settings Dialog: Fix display name compilation for macOS #6078 2017-10-06 13:34:40 +02:00
Thomas Müller
315e38e814 Use display-name from the ocs call in the settings dialog 2017-10-06 10:59:20 +02:00
Christian Kamm
19c6757a0f
Rename detection: File size must be equal
Comparison of file sizes for potential conflicts was added in
0eb9401c62, but did not extend to checking
the file size in case of potential local moves.

This commit adds this check and adds tests for various move+change
scenarios.
2017-10-05 22:01:42 +02:00
Christian Kamm
01bbbb7d08
Excludes: Fix bug with escapes in the regex, add tests 2017-10-05 22:01:42 +02:00
Christian Kamm
f609ea3bef
Excludes: optimize csync_is_windows_reserved_word 2017-10-05 22:01:42 +02:00
Markus Goetz
91223b1a3d
Excludes: During directory traversal, use QRegularExpression
On Mac, this halves the time spent in csync_excluded_traversal
when using check_csync_excluded_performance. A similar performance
increase is seen on linux.
2017-10-05 22:01:42 +02:00
Markus Goetz
f202593ce4
sqlite: Update bundled version to 3.20.1
For OS X and Windows.
2017-10-05 22:01:42 +02:00
rockihack
2bfd85e3c7
Linux Hardening
see: https://wiki.debian.org/Hardening#User_Space
2017-10-05 22:01:38 +02:00
Jürgen Weigert
09c3043c85
support old sqlite before 3.7.7
quickfix: define the symbol for backwards compat
or FIXME: better solution #ifdef SQLITE_IOERR_SHMMAP where needed...
2017-10-05 22:01:38 +02:00
Olivier Goffart
cd44d8ed77
Test OAuth2
Include a test for PR #6057
2017-10-05 22:01:38 +02:00
Olivier Goffart
cfc38753b4
SyncEngine: _hasNoneFiles should be set when there are INSTRUCTION_UPDATE_METADATA 2017-10-05 22:01:38 +02:00
Olivier Goffart
c424dec7d4
OAuth: fix compilation with old gcc
We need to used QPointer::data in the signal slot connection

Relates to pr #6065
2017-10-05 22:01:38 +02:00
Markus Goetz
36117336e7
Updater: Rudimentary support for beta channel
So we can get people update from our alpha to the beta and rc
2017-10-05 22:01:38 +02:00
Olivier Goffart
d59c146488
Fix encoding of version string 2017-10-05 22:01:38 +02:00
Olivier Goffart
6583ebdcd9
csync_rename: optimize lookup
Avoid many memory allocations in reconcile
2017-10-05 22:01:38 +02:00
Olivier Goffart
917e2e43c6
csync_reconcile: Optimize reconcile by avoiding alocations
Fix performence regression from commit d66c2b5fae
For every new file we would look up every parent directories. Allocating
a new QByteArreay for every parent riectory just to know if it is in the other
tree is wasting lots of CPU.
Use a ByteArrayRef trick, similar to QStringRef
2017-10-05 22:01:37 +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
Olivier Goffart
a3b1597d17
OwnSQL: don't parse the error message when we are done 2017-10-05 22:01:37 +02:00
Jocelyn Turcotte
ecb4e96794
SyncJournalDb: Reimplement the db_is_empty logic from csync
This reduces the initial sync local discovery time from
2.0 to 0.6 seconds in LargeSyncBench on my machine.
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
Jocelyn Turcotte
d76ecf015c
SyncJournalDB: Bind phash as a qlonglong instead of a QString
This is what csync does and we don't need to pass it as a string
to let sqlite convert it back to a uint64 later.
2017-10-05 22:01:36 +02:00
Olivier Goffart
fd9662b803
bandwidthmanager: Fix unregistering devices on delete
from the destroyed signal, qobject_cast won't work because the object
is already destroyed. One must use reinterpret_cast then
2017-10-05 22:01:36 +02:00
Olivier Goffart
37810c0a19
PropagateUpload: Fix another non-normalized connect that appears while profiling 2017-10-05 22:01:36 +02:00
Olivier Goffart
d100f9ac67
c_utf8_from_locale: optimize the UTF8 case on Linux
Avoid converting to a QString as an intermediate step
2017-10-05 22:01:36 +02:00
Olivier Goffart
5fc864adb6
csync: use a unordered_map for the FileMap
Saves more than 10% of csync_update on LargeSyncBench
2017-10-05 22:01:36 +02:00
Olivier Goffart
38962ca694
csync_update: fix assert
Amend 1dc44c0f62
2017-10-05 22:01:36 +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
b19677ea97
csync_vio_local: merge readdir and stat in the same call
For the remote this was already done long time ago
For windows, this was already partially done

The goal is to avoid needless conversion of the path to local encoding.
2017-10-05 22:01:35 +02:00
Olivier Goffart
dc0a0841fa
csync_update/reconcile: replace CSYNC_LOG with qDebug/qInfo
CSYNC_LOG has quite an overhead as it uses vsprintf and it might
be run even if the category is disabled
2017-10-05 22:01:35 +02:00
Christian Kamm
351e65309c
SyncEngine: Adjust free space messaging
Before, the way the info message was phrased implied a failure. And
since the large numbers can be hard to compare that can be confusing.
2017-10-05 22:01:35 +02:00
Olivier Goffart
e36c8678d9
csync: remove unused type 2017-10-05 22:01:35 +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
190f821d93
DiscoveryPhase: use the new syntax in disconnect
Since we used the new syntax in connect, we need to use it in disconnect
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
e8a76859c1
Include <QAuthenticator> from code that connect to signal that uses it
The new connection syntax will need that
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
6161b5519b
Fix compile with bad strrchr signature 2017-10-05 22:01:34 +02:00
Christian Kamm
2cac928810
Conflicts: Upload them files if env variable says so
Set OWNCLOUD_UPLOAD_CONFLICT_FILES=1 to trigger this behavior.

Note that this is experimental and unsupported. The real feature is
likely to end up in 2.5.

Uploading conflict files is simply done by removing the pattern from
csync_exclude. The rest here deals with making the conflict notification
ui approximately work.

There are still some concerns about where an uploaded conflict file
appears in the sync protocol and issues list (it should be in both, but
is only in one of them currently!).

See #4557.
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
Jocelyn Turcotte
254f6291df
Fix the build (make install) 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
76d95f8b87
SyncJournalDB: Only reset_and_clear_bindings once
We only need to do it once between each query execution and
that can be right before the first bind.
2017-10-05 22:01:34 +02:00
Jocelyn Turcotte
4e90bd7a5a
csync_update: Remove the check for csync_get_statedb_exists
This always returns true since _csync_statedb_is_empty also always
returns true. This function was initially intended to be a shortcut
in case the database doesn't contain any row, but has been broken since
27fb5d9128 and now won't return false
unless the statement fails.

The _last_db_return_error in _csync_detect_update would take care
of that code path in a more direct and clearer way anyway.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
81e32e1a08
Move SyncJournalDB to src/common 2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
98ef3050d8
Reverse the dependency between SyncJournalFileRecord and SyncFileItem
This will allow us to also use the SyncJournalDB in csync.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
4c2e078eac
Move non-csync-dependent parts of FileSystem to src/common
This keep the csync-dependent parts in src/libsync, slitting the namespace
over two files.
This will allow moving SyncJournalDB to src/common as well.
2017-10-05 22:01:33 +02:00
Christian Kamm
cda72effe2
Checksums: Clearer behavior and added testing 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
Jocelyn Turcotte
82dd1775eb
Remove SyncEngine::_remotePerms
Now that csync is using a more convenient data structure for
its file trees, wait a little bit longer before destroying them and
fetch the remote permissions from the remote tree there instead.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
3bc1f63b0a
Remove the usage of phash in csync
Only store the path since they represent the same thing, and do the
phash conversion during DB lookup like done in libsync.
We could get rid of everything since we also have an index on the path
column, but since it's the primary key this makes the migration non-trivial.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
2276df1eec
Replace the custom rbtree by a std::map 2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
ec52807e29
csync: Keep the csync_file_stat_t instances created during discovery
Now that they use the same structure, avoid _csync_detect_update
having to recreate another instance and transfer everything manually.
Any instance created during discovery should now be used all the way
up to SyncEngine::treewalkFile.

This also makes sure that the path and types are properly set in that
object instead of having to pass everything as separate parameters.

This gets rid of csync_ftw_flags_e which was now converted from,
and to csync_ftw_type_e, already in the csync_file_stat_t.

Issue #1817
2017-10-05 22:01:33 +02:00
Christian Kamm
b92de38c31
AbstractNetworkJob: Allow relative redirect
Previously all redirects were considered absolute.
2017-10-05 22:01:32 +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
4d2261420d
HttpCreds: Remove migration code from 1.7 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
7f75a533d1
Journal: Second attempt at journal mode fallback #5723
Some filesystems, vms or other limitations make using the WAL journal
mode impossible. We are notified of this problem through an sqlite
IOERR for SHMMAP. In that case We want to attempt to fall back to the
DELETE journal mode.
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
0e8ce9c3db
PropagateUpload: Model of remote quota, avoid some uploads #5537
When we see a 507 error, assume that quota is < uploaded size.
2017-10-05 22:01:32 +02:00
Christian Kamm
76faf4937b
SyncOptions/Propagator: Parallelism as an option
Very useful for changing it on a per-test basis.
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
4acb70e79d
Journal: Fall back to DELETE on IO error #5723
Also add logging of extended error codes for this IO error, maybe we can
become more specific about which situations should trigger a journal
mode switch.
2017-10-05 22:01:05 +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
bdf3f1e271
Windows: Make sure that the folder and Desktop.ini have the right attributes (#6018)
When created from scratch, the owncloud icon won't be picked-up by
explorer unless the right attributes are set on both the sync root and the
Desktop.ini file.

Issue #2446
2017-10-05 22:01:04 +02:00
rockihack
4e90179065
Enable DEP & ASLR on Windows 2017-10-05 22:01:04 +02:00
Markus Goetz
43f85a787b
Remove qtkeychain submodule #6004 2017-10-05 22:01:04 +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
deb123b80d
csync_statedb: (really) Make sure children of non-synced items aren't read from the DB
No tests are covering this and I reversed the original logic.
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
7a97dc1783
csync_statedb: Make sure children of non-synced items aren't read from the DB
Fix a regression during C++ conversion from 704ca366b3
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
41f215fd8d
Fix build after C++ conversion of csync
Use the same macro as in SyncFileItem for bitfields on enums.

Fixes #5993
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
e0fa5723eb
Use a C++ contructor and destructor for CSYNC
Merge csync_create and csync_init into the constructor and
replace csync_destroy with the destructor.

Also use a QByteArray for csync_s::root_perms and flatten
csync_rename_s as a rename sub-struct of csync_s since it
can now handle C++ types.
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
4947dc22ab
Remove csync_s::replica
The only difference with csync_s::current is that it's
assigned the value of csync_s::local::type and
csync_s::remote::type, which never change. So might as
well only use the "current" field with constants.
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
157e933ae5
Replace TREE_WALK_FILE with csync_file_stat_t
Just expose csync_file_stat_t since we don't need an abstraction layer
anymore. Also pass the nodes of both trees directly to the visitor
function.

Issue #1817
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
7fad474863
Replace csync_vio_file_stat_t with csync_file_stat_t
Also move csync_normalize_etag to common/utility since we
don't need the char* function anymore.

Remove the single space file_stat->remotePerm codepath since
this won't be used in csync anymore since
8de3bda0b1.

Issue #1817
2017-10-05 22:01:04 +02:00
Jocelyn Turcotte
61d949730b
Make csync_file_stat_t public and partly convert to C++
This is the first commit trying to unify csync_file_stat_s,
csync_vio_file_stat_s and csync_tree_walk_file_s. Use QByteArray
and unique_ptr already since I'm not used to track memory allocations
and this will make the transition easier.

Issue #1817
2017-10-05 22:01:03 +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
4aca1b9697
StatusTracker: Fix different case paths not matching (#5981)
Use a custom std::map comparator functor to do all comparisons
on contained QStrings using Qt::CaseInsensitive on macOS and Windows.

Issue #5257
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
ac4be17192
Compile almost all of csync as C++
This will allow us to unify data structures between csync and libsync.

Utility functions like csync_time and c_std are still compiled as C
since we won't need to be coupled with Qt in the short term.
2017-10-05 22:01:03 +02:00
Jocelyn Turcotte
39e9938cad
Use .cpp for existing csync .cc files
Make this consistent with the rest of the client code.
2017-10-05 22:01:03 +02:00