Commit graph

3422 commits

Author SHA1 Message Date
Felix Weilbach
12bdd8742b Remove unnused variable
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-20 07:43:36 +00:00
Felix Weilbach
38467b2e30 Remove unused pushNotifications variable
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-20 07:43:36 +00:00
Matthieu Gallien
064f64f06d fix width of user status message to not overlap other elements
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 15:19:20 +00:00
Matthieu Gallien
260e1d77f5 clean indentation in UserLine.qml
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 15:19:20 +00:00
Matthieu Gallien
c2602135ab fix size of the Label with user status
ensure the label width is not higher than the parent to ensure log
string get elided as expected

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-16 13:04:33 +00:00
Felix Weilbach
3e61bdc431 Use dav instead of webdav
Fixes #3342

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-16 12:42:02 +00:00
allexzander
de627a9b7c Remove request to config for userVisibleURL.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-16 06:45:41 +00:00
Felix Weilbach
036db9d22d Position main dialog on at tray icon if not a regular window
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-14 18:27:50 +02:00
Felix Weilbach
efaccbd6fd Show main dialog as normal window if tray icons not available
Fixes #3307

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-12 14:10:26 +00:00
Matthieu Gallien
c27fc1be4a use fallback icons for activities without icons
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-06-30 11:28:13 +00:00
Matthieu Gallien
269d225511 directly send the icon url for activities to teh qml component
should allow usage of default cache from Image qml standard component

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-06-30 11:28:12 +00:00
Felix Weilbach
015a5ae235 Don't display account name in italic
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-25 20:13:06 +00:00
Felix Weilbach
40065dc6dc Disable QtWebEngine automatic if not found
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Felix Weilbach
991f79c123 Open provider page in browser when compiling without webengine
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Felix Weilbach
8376b99ec5 Allow to compile without QWebEngine
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Felix Weilbach
216a57c74e Remove dead code
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Felix Weilbach
cb5e8398c4 Fix review comment
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-21 12:04:11 +02:00
Felix Weilbach
ab9784374f Fix review comments
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-21 12:04:11 +02:00
Felix Weilbach
52342e5710 Prevent crash in dialog that warns user about vfs and e2ee
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-21 12:04:03 +02:00
Valdnet
33bdfe687f l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-06-17 12:18:00 +00:00
Camila
7ddc4ca170 Remove extra RowLayout.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
449fda16e1 Fix QML Warning: ReferenceError: PopupMenu is not defined.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
19e581657d Fix QML warning: Cannot specify left, right... anchors for items inside Row.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
5585f61cc0 Fix QML warning: Detected anchors on an item that is managed by a layout.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Camila
c8edb11228 Fix QML warning: Accessible must be attached to an Item.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
Felix Weilbach
7850551cad Start macOS app bundle name with uppercase letter
It's a convention on macOS that app bundle names start with an uppercase
letter. Also this aligns the app name with Windows and Linux.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-15 12:19:55 +00:00
allexzander
a3d12a616b Add error message to GUI.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 14:33:45 +03:00
Felix Weilbach
d4b0273792 Generate application png icons from svg icons
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-14 10:14:28 +00:00
Felix Weilbach
e7c65a71b8 Remove conditional logic for OEM.cmake
This file is not used in Brander and in the desktop client and just
confused people.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-14 10:14:28 +00:00
Felix Weilbach
03610cb706 Set button on QMessageBox before changing the text
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-27 07:39:50 +00:00
Camila
f758157973 Fix aligment emoji + message on Windows.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
8d2264e027 Display the user status emoji separated from the message.
It allows to align the emoji with the message.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
1cb7f63575 Remove signal refreshCurrentUserGui.
Use only QML property bindings to refresh the UI.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
46f7cd3884 User property isConnected instead of a invokable.
Remove unnecessary connection to refreshCurrentUserGui signal.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
1adde8d547 serverUserStatus => serverHasUserStatus.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
2caa9ccfc6 Add Q_UNREACHABLE() after switch statements in UserStatus.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
73da14040b Rename ServerUserStatusRole to ServerHasUserStatusRole.
- serverHasUserStatus Q_PROPERTY is CONSTANT.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
828881d82a Do not display the folder status if there are no folders being synced.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:53 +00:00
Camila
4326eb53ba Fix margins and sizes to align both avatar + user status displays.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
dc01b76066 Fix code style.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
93227ab08b Check if new value is different from the current one.
In AccountState::setDesktopNotificationsAllowed.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
f7e9e31bc9 Rename isDesktopNotificationsAllowed property to desktopNotificationsAllowed.
- User !== instead of !=.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
820e97cd9b Do not display the user status if there is no pre defined message.
Display the server url instead.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
c793cbe593 Always display the server url in the drop down account menu.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
419595ce5e Use DesktopNotificationsAllowedRole to check if user is online.
Rename ServerUserStatus to ServerUserStatusRole.

Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
bd65eee278 Remove unused methods in UserModel.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
671b099c98 Check if the user is connected and if the server supports user status.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
e3b96ddc85 Move stringToEnum and enumToString to an anonymous namespace.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Camila
1f61d258bb Fix user status message alignment.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
rakekniven
793c211232
Merge branch 'master' into Valdnet-patch-3 2021-05-20 07:47:17 +02:00
Felix Weilbach
32b7e62359 Warn user if using e2ee and vfs together
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-18 11:50:18 +00:00
Valdnet
a3b2dc669c
One more apostrophe change
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-05-12 12:45:33 +02:00
Valdnet
dadddd7ea2 l10n: Replace apostrophe with double quotation
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-05-12 12:34:22 +02:00
allexzander
bbf11d7e7a Temporary! Windows. VFS. Block Virtual Files for partition root sync folders.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-11 18:53:35 +03:00
Matthieu Gallien
54d91cdd7b also update ownCloud years interval in copyright notice
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-10 10:29:22 +00:00
Matthieu Gallien
86dda5675f send OS name and version to auto updater to allow selective upgrades
in order to be able to suuport legacy OS, also sends the OS name and
version

will be used to detect Windows 8.1 and similar legacy versions

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 09:32:09 +00:00
Hannah von Reth
adb56178b9 GetLastError() needs to be called when the error happens
qDebug might clear it already

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
rakekniven
6d23e93d31
Changed copyright year to 2021
Fix for #3258 

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-05-05 13:37:31 +02:00
Felix Weilbach
aadee15008 Fallback to primary screen if screen under pointer not found
Fixes #3252

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-05 11:56:46 +02:00
rakekniven
33ef3a1d1e
Merge branch 'master' into rakekniven-patch-2 2021-04-30 14:38:23 +02:00
Valdnet
dc6518a4ee
l10n: Translation of ellipse
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-30 13:57:02 +02:00
rakekniven
0e12b0323e
No need to translate ellipsis
Here another PR for the same code line as #3238 

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-04-30 13:27:18 +02:00
Valdnet
f431649bad l10n: Change to an ellipsis
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-30 08:19:25 +00:00
allexzander
e72013fed1 Fix Felix's comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:21 +00:00
allexzander
19e2d70c53 Final corrections and refactoring.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:21 +00:00
allexzander
deb9ba89f0 Only show password option for email shares.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:21 +00:00
allexzander
526fa399dc Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
allexzander
c908183044 Use separate progress indicator for password and replace a button with it while running.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
allexzander
0072d39ca0 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
allexzander
2d88fc6c99 Obey enforced password for share by email.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
Valdnet
8aedc74838 l10n: Delete space and change capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-28 11:41:06 +00:00
allexzander
e7e5542d3e Improve public link sharing UI. Fix UX issues.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-27 13:51:52 +03:00
Felix Weilbach
9a88e38121 Call finish() if going to remove all files
While investigating #3172, I discoverd that the sync will hang forever
if the user has deleted all files on the server. Calling the callback
resolves the problem.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-26 12:50:14 +00:00
Valdnet
796b4e4e72 l10n: Change to an ellipsis
Reported on Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-22 07:40:15 +00:00
Felix Weilbach
275e46f0db Show progess indicator
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Felix Weilbach
c3fac23903 Don't delete note and expiration date on toggle
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Felix Weilbach
8711d5bf49 Don't use unnecessary layout element
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Felix Weilbach
2851528595 Show user/group note on share if already set
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Felix Weilbach
22a3b19e08 Add expire date to user and group share
Fixes #3100

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Felix Weilbach
946a51e4c1 Add note to user and group share
Fixes #3104

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-20 07:13:23 +00:00
Matthieu Gallien
20357ca7fa Revert "Add CMake option to enable address sanitizers"
This reverts commit 3000e26640.

This was not intended for a direct push

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-19 17:54:09 +02:00
Felix Weilbach
3000e26640 Add CMake option to enable address sanitizers
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-19 15:38:59 +02:00
allexzander
d65c91ea36 Display VFS sync folder within the navigation panel on Windows.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-16 07:18:44 +00:00
Nicolas Fella
2548455f45 Copy FindSharedMimeInfo from ECM
Instead of relying on ECM being installed.

We copy other stuff from ECM so be consistent.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-15 14:32:46 +00:00
rakekniven
03e7d8da28
Merge branch 'master' into patch-1 2021-04-14 17:11:27 +02:00
Nicolas Fella
70033cda1f Use imported target for Threads
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-14 11:07:04 +00:00
castillo92
98a4bb8cce
Update sharedialog.cpp
The original sentence uses the word "share" three times and is too redundant when translated into other languages
2021-04-14 09:24:35 +02:00
Felix Weilbach
696979cb0e Display invalid filenames as warning
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:51 +00:00
Felix Weilbach
b736355985 Add notification cache
The notification cache helps to not display duplicate desktop
notifications to the user.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:50 +00:00
Felix Weilbach
b256c6e694 Ping websocket server
This helps the client to recognize if the websocket server is still alive.

Fixes #2983

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:19:40 +00:00
Valdnet
e628a51735 l10n: Unify spelling
Spelling unification in Nextcloud applications.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:24:57 +02:00
Nicolas Fella
b34a901838 Use FindPkgConfig to find libcloudproviders and related libs
Instead of using custom find modules.

This allows using imported targets which make the code much nicer.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-12 10:00:08 +00:00
Felix Weilbach
c49dc440bb Embed version and icon into windows executable
These changes are necessary because of changing the compilation
process for the gui from a single executable to static lib +
executable in commit 0521dce174.
Otherwise the version and icon information will be lost.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-09 13:53:12 +02:00
Camila
1ca0ea49dd Remove unnecessary local variable.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
29f4a3857b Reposition qml elements for the folder status icon.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
050bd49373 Rename enumToUserString => enumToString.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
8986975a17 Use enum class instead of enum.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
50de12b3c3 Undo unnecessary removal of lines.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
163015492a Fix #3067: missing apps icon.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
c8ac99c8cf Align status text with server url.
Cleans the space in the beginning of the string when there is no emoji
set.

Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
e51dad79a2 Refactor UserStatus.
- Make preDefinedStatus a local var.
- Add function to get the status user string.

Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
d2b762aa66 Move curly brackets to the correct line.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:59 +00:00
Camila
98cfc362f7 Remove const and reference of base types.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:58 +00:00
Matthieu Gallien
d6752c96b1 use QFileInfo to check if path is absolute to avoid assert on windows
on windos absolute path does not have to start with / . Remove failing assert
when editing ignored files list.

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-07 07:40:07 +00:00
allexzander
e15045977e Reduce Socket API logging.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-06 09:34:20 +03:00
Felix Weilbach
b2377ff64f Remove html tags from strings that may appear in notifications
The content of notifications on MacOS are not allowed to contain HTML
tags in it. Linux (Free Desktop) notifications may contain HTML tags
in their content. However, it is optional that the notification daemon
interprets the tags. The GNOME notification daemon does not interpret
HTML tags and even does not strip them off. KDE's daemon interprets
the tags. For now I think it's the best solution to remove the HTML
tags. In the future we should fire a action if the user clicks on the
notification and react on it and open the link then. This should work
on all platforms. But as this change involves working with the native
MacOS api and I don't have hardware for that at the moment for that I
will postpone it.

Fixes #2200

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-31 16:23:42 +02:00
Felix Weilbach
354f4c02ee Don't deploy bearer plugin on MacOS
Fixes #2944, #2237

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-29 13:46:07 +00:00
Camila
9219926a74
Add checks in case userStatus is not available/fails on the server side.
Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:42:26 +01:00
Camila
d9a0778e52
Add UserStatus enum with the pre defined status.
- User QHash to map status strings and Status enum.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:41:31 +01:00
Camila
974e2fb718
Do not display notifications when user status is do not disturb.
- This information is retrieved from the notifications endpoint.
- Add icons for the different pre defined status.
- Make functions available to QML to decide which status icon to display.
- Display the user status icon on the avatar and
move the online/offline connection status to the folder icon.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:40:05 +01:00
Camila
f4d8699db8
Add UserStatus class to retrieve the user status.
- AccountState controls UserStatus.
- Display user status in the system tray menu next to user's avatar.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:39:13 +01:00
Valdnet
519dee9104 l10n: Change sync message #3027 2021-03-24 13:13:40 +00:00
allexzander
193e50311b Refresh Windows download dialog progress when hydrating a placeholder
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-24 14:09:06 +02:00
Felix Weilbach
c296a93cee Enable high dpi scaling on all platforms
Fixes #2295, #1079, #914

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-23 08:36:11 +00:00
Felix Weilbach
f4853da2ab Fix crash when trying to open the folder creation dialog
The bug does seem to just appear in special compiler
constellations. We're unsure why this fix works. To better see if this
fix works or if crashes still occur, we added some logging.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-17 08:43:32 +01:00
Felix Weilbach
ff7932bb54 Display the content of the login dialog correct
This adjustment is necessary because of the changes of the new account
wizard that were introduced with:
e0b7ef15b2

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-16 13:34:34 +00:00
Kevin Ottens
7ad0208800 Finish cleaning up shibboleth
There were a couple of shibboleth related enums left, since that auth
method isn't supported anymore remove the code tied to those enums. It
was dead code anyway.

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00
Felix Weilbach
cdc2e4c56e Don't customize settings dialog palette
Customizing of the palette will prevent the settings dialog from
display a dark theme correct.

Fixes #2993

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-12 11:47:16 +01:00
Felix Weilbach
e3ac63e9ff Rename isActivityIgnored() to isUnsolvableconflict()
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-11 09:42:38 +00:00
Felix Weilbach
05d31e2e53 Split content of User::isValueableActivity()
Refactoring of User::isValueableactivity() because of changes
introduced with merge commit f17c52d.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-11 09:42:38 +00:00
Felix Weilbach
e0b7ef15b2 Restyle wizard pages
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-10 09:55:40 +01:00
Felix Weilbach
f55e5b1885 Restyle wizard
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-10 09:55:40 +01:00
Felix Weilbach
9185956069 Split out wizard welcome page
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-10 09:55:40 +01:00
István Váradi
2e7cc96228 Do not include glib.h with extern C (2)
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2021-03-10 07:48:23 +01:00
István Váradi
db321d25ef Do no include glib.h with extern C
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2021-03-09 10:29:14 +01:00
Felix Weilbach
63dbb90bbd Iteration
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-05 11:32:44 +00:00
Felix Weilbach
ef5abac567 Fix crashes with conflict dialog
When the client runs and a conflict gets detected, the sync engine runs
two times.

On the first run, the sync engine detects the conflict, marks the
file as a conflict and propagates that to the GUI. This leads to an
error notification with the original filename in the main dialog.

The sync engine runs then a second time. On this second run, the file
that originally caused the conflict is not anymore a conflict
file. Instead, the sync engine detects the conflicted copy and
propagates that file as a conflict to the GUI.

When opening the conflict dialog with the original file name (not the
conflicted copy) a crash happens. Usually, the two sync runs are really
fast, so the user does not notice the first notification. However, a
problem can occur if a conflict gets created while the client is not
running. Since then, the client does not do two sync runs. It does only
run once.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-05 11:32:44 +00:00
allexzander
88a21c0665 Do not add debug build to startup programs.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-18 13:19:06 +00:00
Felix Weilbach
29e1a82f56 Add missing override specifer to WebFlowCredentials
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-02-13 10:22:01 +00:00
Felix Weilbach
74d07e28cf Validate the providers ssl certificate
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-02-12 08:25:59 +00:00
allexzander
013f3cea70 Validate sensitive URLs to onle allow http(s) schemes.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-09 15:00:35 +02:00
allexzander
e97b7d8a25 Default parameter nullptr widget for openBrowser.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-09 08:40:51 +00:00
István Váradi
92f1074fcc Put FolderCreationDialog into the OCC namespace.
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2021-02-05 16:27:25 +01:00
allexzander
81a090b362 Allow creation of new folders from the Settings Dialog.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-04 10:05:18 +02:00
Kevin Ottens
55fd0562de
Load the theme resource explictly
Otherwise they won't be loaded automatically at startup leading to lots
of missing icons. Since they're now in a static library they need that
explicit loading.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2021-02-02 18:33:45 +01:00
Felix Weilbach
d8493a9b3b Add automoc property to updater
Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2021-02-02 13:35:04 +00:00
Felix Weilbach
73a41d8e34 Compile nextcoud gui as separate library
Compiling nextcoud gui as a separate library. This is needed to more
easily write tests. The whole nextcloud application can now be linked
against the tests.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-02-02 13:35:04 +00:00
allexzander
8c4d5333c1 Use push notifications for Tray activities/notifications fetch trigger.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-01-27 19:53:28 +02:00
Felix Weilbach
51d8cf8102 Start file conflict resolve dialog asynchronous
Fixes #2804

Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2021-01-27 08:01:25 +00:00
Valdnet
d8a88fd047 Replace dots with ellipses and add spaces. 2021-01-27 07:36:52 +00:00
Valdnet
817d460b84 Move space in "owncloudadvancedsetuppage.cpp" 2021-01-26 16:40:46 +00:00
Kevin Ottens
4168c0d082 Avoid keeping Account alive via a shared ptr in ClientSideEncryption
This account object was really only used during the initialization phase
or for forgetting the sensitive data. So let's receive it as parameter
there and pass it on from job to job as needed.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2021-01-26 11:20:13 +00:00
Valdnet
f365ec1e4c Move space in "folderwizard.cpp" 2021-01-25 17:42:38 +00:00
Valdnet
8539dc7dc6 Change the quotation marks 2021-01-25 17:33:46 +00:00
Felix Weilbach
78f00acaa2 Add push notifications for file changes
Resolves #2802

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-01-25 17:01:09 +00:00
Kevin Ottens
4992bfa8ef
Ensure the right radio is selected when selective sync is picked
This got broken previously when trying to reconcile during a
cherry-pick. This also repairs the case when the theme tells us the
default is to not select anything (not that we're using this right now
but in case we'd like to brand this).

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2021-01-25 16:53:21 +01:00
Kevin Ottens
2b2dac10ef
It's not really recommended anymore at least not on Windows
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2021-01-25 16:24:44 +01:00
Felix Weilbach
db0f1e245d Remove NO_SHIBBOLETH flag and dead code
Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2021-01-05 12:58:58 +01:00
Hannah von Reth
09cc988026
Fix a possible crash with the remove all files dialog 2020-12-30 16:20:43 +01:00
Hannah von Reth
552427ffc3
Update windows launch on start binary location
Fixes: #7672
2020-12-30 16:17:47 +01:00
Kevin Ottens
e37a5f36b0
Don't look at virtual files data for the mimetype matches
Otherwise this would attempt to download the file everytime we check the
direct editor for a given file which wouldn't be adequate. Would also
lead to a deadlock in our case since that would happen in the main
thread and implicit hydration is driven from there as well.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-30 09:44:58 +01:00
rakekniven
29d968ab15 Changed triple dot to ellipsis
Reported at Transifex.

Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-12-21 08:00:29 +00:00
Camila
0e0ea9d81a Update the settings dialog window title.
Signed-off-by: Camila <hello@camila.codes>
2020-12-17 07:04:07 +00:00
Camila
625752f85d General settings: move buttons to the bottom left of their group boxes.
Signed-off-by: Camila <hello@camila.codes>
2020-12-17 07:04:07 +00:00
Kevin Ottens
c57eff6fd8
Please the clang-tidy overlord
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 11:01:53 +01:00
Hannah von Reth
9d9eadba8e
Use time the request was send,..
not when it was processed by the client, to determine the quality of the connection.
2020-12-15 11:01:08 +01:00
Hannah von Reth
96eaef6dba
Pause sync when remove all dialog is displayed
Fixes: #8263
2020-12-15 10:59:27 +01:00
Hannah von Reth
c253b51249
Use enum instead of int 2020-12-15 10:59:27 +01:00
Hannah von Reth
befc373ea6
Fix test on systems where C:\ is not writeable 2020-12-15 10:59:27 +01:00
Hannah von Reth
0eb8b01f0a
Fix usePlaceholders migration 2020-12-15 10:59:26 +01:00
Hannah von Reth
a083a37126
Fix vfs experimental text 2020-12-15 10:59:26 +01:00
Hannah von Reth
b2934a68bc
Fix folder permission check on NTFS
Fixes: #8187
2020-12-15 10:59:26 +01:00
Hannah von Reth
8dbdaed5c3
Fix condition 2020-12-15 10:59:26 +01:00
Hannah von Reth
e4a0222954
Append .exe to crashreporter path so it is better located 2020-12-15 10:59:25 +01:00
Hannah von Reth
f6faba48e2
Don`t block main thread when displaying all files removed dialog
Fixes: #8170
2020-12-15 10:59:25 +01:00
Hannah von Reth
b4cb3ecb5a
Don't use exec() on dialogs 2020-12-15 10:59:25 +01:00
Hannah von Reth
7c65d38ba4
Draw active progressbar
Pass a widget to the progressbar in the folder delegate to draw the correct active state
2020-12-15 10:59:25 +01:00
Kevin Ottens
7e5f81ea81
Allow to control availability of folders in the settings dialog
It felt odd to be able to control the encryption status in the settings
dialog but not the availability. Also availability was controllable on
the root, so let's make it widely available.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:24 +01:00
Kevin Ottens
70c2dc70a1
Resurrect the display of subfolders for VFS sync folders
This got removed from the settings since in that case selective sync
isn't supported. Unfortunately that's also necessary to display them to
allow encrypting folders via the context menu.

So we display the subfolders again but in the case of VFS we disable the
ability to (un)check them. They just have an icon, a name and a context
menu.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:24 +01:00
Kevin Ottens
9f0e0b0f6a
Update the FolderStatusModel when a folder encryption ends
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:24 +01:00
Kevin Ottens
596bfab6e1
Set the account state after E2EE is setup in the GUI
Otherwise we would not display the E2EE message if the account was
connected before the creation of the settings dialog. This was likely
caused by the delayed creation of the settings dialog.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:24 +01:00
Kevin Ottens
f45e84f2ee
Remove empty action in the settings toolbar
This was causing an unwanted line in the middle of the bar.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:24 +01:00
Kevin Ottens
d63097475c
Fix typo and style
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:23 +01:00
Kevin Ottens
ce5edfdf4d
Stop using e2e()->isFolderEncrypted() in the folder wizard
We used the same approach than for the FolderStatusModel by getting the
is-encrypted property straight from the LSCOL job.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:23 +01:00
Kevin Ottens
4fde05b8b6
FolderStatusModel now uses the LSCOL job result for encryption status
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:22 +01:00
Kevin Ottens
8e5a8d9fb9
FolderStatusModel LSCOL job now gets the is-encrypted property
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:22 +01:00
Kevin Ottens
37a51872e1
Set the encrypted flag in the database when EncryptFolderJob succeeds
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:22 +01:00
Kevin Ottens
b667bdda14
Change EncryptFolderJob path convention
It had a different path convention than all the other jobs, most likely
for legacy reasons because of the tight coupling it had to the settings
dialog.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:22 +01:00
Hannah von Reth
dd3e70b667
VirtualFiles: Ensure the target location supports vfs
Fixes: #8131
2020-12-15 10:59:20 +01:00
Hannah von Reth
60011e8003
Remove vfs warning in the delegate, indicate them in the description instead
Fixes: #8139
2020-12-15 10:59:20 +01:00
Hannah von Reth
356192fb1d
Don't show 404 errors when manually creating folder sync pair.
Fixes: #7724
2020-12-15 10:59:20 +01:00
Hannah von Reth
1619cd5dcc
Use winvfs by default when adding folder sync connection
Fixes: #8083
2020-12-15 10:59:19 +01:00
Hannah von Reth
8460526df9
Clear cookies on logout 2020-12-15 10:59:19 +01:00
Hannah von Reth
020c6d6424
Fix placeholders are reverted to OnlineOnly
Fixes: #7779
2020-12-15 10:59:19 +01:00
Hannah von Reth
f1f6257b5d
Windows VFS: Enable Windows VFS by default 2020-12-15 10:59:18 +01:00
Hannah von Reth
bd62615aab
Clazy: Fix some warnigns 2020-12-15 10:59:17 +01:00
Hannah von Reth
d109d49b49
Ui: Hide selective sync settings if vfs is active
Fixes: #7976
2020-12-15 10:59:17 +01:00
Hannah von Reth
54cc2be00f
Fix assertion introduced by e1ca612c5d3087e02f6b7f8e454224e0b88e82ad
[ fatal default ]:ASSERT: "last < rowCount(parent)" in file C:\_\17a9f6ae\qtbase-everywhere-src-5.12.9\src\corelib\itemmodels\qabstractitemmodel.cpp, line 2787

e1ca612c5d3087e02f6b7f8e454224e0b88e82ad stopped adding sub folders so we can return the actual size.
2020-12-15 10:59:17 +01:00
Hannah von Reth
93281c8560
Use const access where possible 2020-12-15 10:59:17 +01:00
Hannah von Reth
2887a93c40
Win: Use full Windows paths in file watcher and improve logging 2020-12-15 10:59:16 +01:00
Hannah von Reth
b9638bc778
Fix warning
warning C4573: the usage of 'QObject::disconnect' requires the compiler to capture 'this' but the current default capture mode does not allow it
2020-12-15 10:59:15 +01:00
Hannah von Reth
e38b43123c
Log: Only print 'Saved account settings' in debug mode
Don't log that there was no error...
2020-12-15 10:59:15 +01:00
Hannah von Reth
c9ee0a0343
Log: Improve log message [ info gui.folder ]: Folder sync result: 4...
by including the name of the folder and print the name of the result
2020-12-15 10:59:15 +01:00
Hannah von Reth
fb34f8ea85
Gui: Don't try to display the wizard during shutdown
Fixes: #7936
2020-12-15 10:59:14 +01:00
Hannah von Reth
4f8928d35e
Remove dead code 2020-12-15 10:59:14 +01:00
Hannah von Reth
c5b59bf3b1
Make ownCloud accassible on the Application object 2020-12-15 10:59:14 +01:00
Hannah von Reth
4645e69147
Remove ifdef(Q_OS_X11) code, there never was such a define.
As noone complained since I don't think anyone will miss the code
2020-12-15 10:59:14 +01:00
Hannah von Reth
f932dfc648
VFS: Tell the vfs plugin whether we have multiple accounts
This allows us to decide on the presentation of the account
2020-12-15 10:59:14 +01:00
Hannah von Reth
7fdb842ed2
VFS: Prevent duplicated navigation panel icon
Issue: #7748
2020-12-15 10:59:13 +01:00
Hannah von Reth
c92f70d4ff
Beautify flags 2020-12-15 10:59:13 +01:00
Hannah von Reth
2b95f919ad
Fix 3aeca58b316363dc12ad4b392750fc57e7a2965a 2020-12-15 10:59:13 +01:00
Hannah von Reth
6d2526a67d
Fix warning C4715: 'OCC::Utility::vfsCurrentAvailabilityText': not all control paths return a value 2020-12-15 10:59:12 +01:00
Hannah von Reth
b492b69dfd
Fix 150a5b4d06600d140ddf05383fb74cda6ae6e941 2020-12-15 10:59:12 +01:00
Hannah von Reth
6fde08d9f7
Fix crash on settings migration
Fixes: #7878
2020-12-15 10:59:12 +01:00
Hannah von Reth
fa87b899fb
Fix usage of QMessageBox
Fixes: #7874
2020-12-15 10:59:12 +01:00
Hannah von Reth
11b9e3fa61
Fix order of pluginkit commands and modernise 2020-12-15 10:59:12 +01:00
Hannah von Reth
eed4ffb823
Wizard: Raise own window
The OAuth authentication brings the broweser to the front, once thats done the wizard continues.
But the wizard ist now most probably hidden behind the browser
2020-12-15 10:59:11 +01:00
Hannah von Reth
baff0a6986
VFS Dialog: Don't enable on close button clicked
Issue: #7710
2020-12-15 10:59:11 +01:00
Hannah von Reth
b15c308170
Remvoe now unneeded SyncRunFileLog::directionToStr 2020-12-15 10:59:11 +01:00
Hannah von Reth
4681421b62
Remvoe now unneeded SyncRunFileLog::instructionToStr 2020-12-15 10:59:11 +01:00
Hannah von Reth
4d615c31da
Rename csync_instructions_e -> SyncInsturctions 2020-12-15 10:59:10 +01:00
Hannah von Reth
bcceb5c33d
[Gui] Implement raiseDialog on Windows
Issue: #7774
2020-12-15 10:59:09 +01:00
Hannah von Reth
12ae1e97c6
[SocketApi] Ensure listener still exists 2020-12-15 10:59:08 +01:00
Hannah von Reth
d63d4cdf62
Don't insert items into the folder model if selectiveSync is not supported
This fixes an assertion in FolderStatusModel::SubFolderInfo::resetSubs
rowCount reported 0 but we actually had items in the model
2020-12-15 10:59:08 +01:00
Hannah von Reth
9176afe263
Make sure all cases are handled 2020-12-15 10:59:08 +01:00
Hannah von Reth
9b0788bdf8
[Gui] Fix vfs dialog not showing on Windows 2020-12-15 10:59:08 +01:00
Olivier Goffart
b7193e6a0e
Folder Wizard: warn when adding a folder which is the parent of a sync'ed folder
issue #7741
2020-12-15 10:59:07 +01:00
Hannah von Reth
13c9d6431d
Fix expansion of tree view on newly added accounts
The change is based on 97ce20ac028660e6ae3dd0b98d4b487999d8768a

I removed a few lines of code there which are already part of fetchMore()

Fixes: #7336
2020-12-15 10:59:07 +01:00
Hannah von Reth
fdc3b7c8da
[Wizard] Make vfs dialog blocking
Calling the callback after the receiver was deleted caused a crash
Fixes: #7709
Fixes: #7711
2020-12-15 10:59:07 +01:00
Hannah von Reth
ba87fc9e78
[SSL] Properly restore user accepted certificats 2020-12-15 10:59:06 +01:00
Hannah von Reth
c8dd333e31
[Sanity] Remove old ifdef 2020-12-15 10:59:06 +01:00
Hannah von Reth
9564e5e92e
Fix saving of cookies
Fixes: #7700
2020-12-15 10:59:06 +01:00
Hannah von Reth
3a3ccb0834
Don't hardcode PLUGINDIR 2020-12-15 10:59:06 +01:00
Olivier Goffart
f81f96915f
ProxyAuthHandler Use QPointer instead of QWeakPointer
QWeakPointer::data is deprecated.
In this case we should use QPointer
2020-12-15 10:59:05 +01:00
Hannah von Reth
edb51abdfd
Don't ignore file sync notification after an unlock
For a usual file sync event we check for actual changes in the local file,
after an unlock the local file might be unchanged so we need to sync it anyhow.

Fixes: owncloud/enterprise#3609
2020-12-15 10:59:05 +01:00
Hannah von Reth
3317e354f2
Prepend PLUGINDIR else its pointless 2020-12-15 10:59:05 +01:00
Hannah von Reth
dabf7aaebc
Application: Allow to quit running instances by commandline 2020-12-15 10:59:04 +01:00
Hannah von Reth
fa82a4aff3
Cleanup 2020-12-15 10:59:04 +01:00
Olivier Goffart
4424eb7f07
AccountSettings: limit the clickable region of the 'add folder' button
Issue #7326
2020-12-15 10:59:03 +01:00
Olivier Goffart
b97c0ed8a2
Network Settings: Show a warning that proxy settings do not apply to localhost
Only show this if at least one account is detected to have an url that looks
like localhost, because this could otherwise be confusing

Issue #7169
2020-12-15 10:59:03 +01:00
Hannah von Reth
9807285abd
[Gui] Set proper hdpi attributes 2020-12-15 10:59:03 +01:00
Olivier Goffart
513b0c723c
Account Settings: change the color of info message from green to blue
To avoid confusion with the color of "success"

Issue #7403
2020-12-15 10:59:02 +01:00
Olivier Goffart
4d7ed8f62c
Wizard: fix compilation warnings about unused variables 2020-12-15 10:59:01 +01:00
Hannah von Reth
dc55617144
Ensure the url is complete before we validate it
Fixes: #6722
2020-12-15 10:59:00 +01:00
Christian Kamm
a5c6612883
ConnectionValidator: increase timeout to 57s #7456
When the gui thread blocks for several seconds it's possible for the
ConnectionValidator to timeout and decide that the account is
unreachable. It will then terminate all sync runs.

Increasing the timeout makes this less likely to happen. The tradeoff is
that real disconnects will not be detected as quickly.

This does not address the root cause but makes the symptom less likely
to appear.
2020-12-15 10:58:59 +01:00
Hannah von Reth
f78c4f851b
Change Windows virtual files description to tech preview 2020-12-15 10:58:57 +01:00
Hannah von Reth
afc9cd2f46
OwncloudWizard: Mark vfs as tech preview instead of experimental 2020-12-15 10:58:57 +01:00
Dominik Schmidt
7e4d24de2b
SocketApi: Avoid unneccessary conversions 2020-12-15 10:58:57 +01:00
Dominik Schmidt
06ac1c33e8
SocketApi: cleanup debug output 2020-12-15 10:58:57 +01:00
Dominik Schmidt
25cd52dd9f
Add ASYNC_ASSERT_ICON_IS_EQUAL command to SocketApi 2020-12-15 10:58:57 +01:00
Dominik Schmidt
d1f9b1a4f8
Make findWidget more powerful 2020-12-15 10:58:56 +01:00
Dominik Schmidt
67656fb136
Add Q_PROPERTYs for gui testing 2020-12-15 10:58:56 +01:00
Dominik Schmidt
596154a01a
Switch GUI Testing SocketApi to Utf8 2020-12-15 10:58:56 +01:00
Dominik Schmidt
3288a36da6
Add GUI testing SocketApi extension 2020-12-15 10:58:56 +01:00
Hannah von Reth
0f92713ce5
AccountSettings: Use switch, case to ensure we handle all cases 2020-12-15 10:58:55 +01:00
Christian Kamm
a587cd3a13
AccountSettings: Fetch subitems after wiping them
That helps avoid empty lists after account creation #7336
2020-12-15 10:58:54 +01:00
Christian Kamm
38c466efbf
Vfs: Require local discovery after disabling vfs
Without it local files aren't guaranteed to be downloaded #6936.
2020-12-15 10:58:54 +01:00
Christian Kamm
b34df4413b
Vfs: Improve strings for availability states 2020-12-15 10:58:53 +01:00
Christian Kamm
fc52c5d0cd
Vfs: Retain existing data when enabling vfs #7302
Previously all local data was deleted because the root folder was marked
as OnlineOnly.
2020-12-15 10:58:53 +01:00
Christian Kamm
5acb157a7e
VfsSuffix: Wipe stale pin states #7273
Previously the pin states of deleted files stayed in the 'flags'
database and could be inadvertently reused when a new file with the same
name appeared. Now they are deleted.

To make this work right, the meaning of the 'path' column in the 'flags'
table was changed: Previously it never had the .owncloud file suffix.
Now it's the same as in metadata.path.

This takes the safe parts from #7274 for inclusion in 2.6. The more
elaborate database schema changes (why use 'path' the join the two
tables in the first place?) shall go into master.
2020-12-15 10:58:52 +01:00
Markus Goetz
62d876b09a
OAuth2: Better error logging
This does not fix a bug, just was found while spotting a bug that was no bug.
For https://github.com/owncloud/enterprise/issues/2951
2020-12-15 10:58:51 +01:00
Olivier Goffart
2c975b1e70
SocketAPI: Fix string claiming a folder is a file
Issue #7206
2020-12-15 10:58:51 +01:00
Markus Goetz
46c336503a
Log Window: Create and open folder properly #7166 2020-12-15 10:58:50 +01:00
Christian Kamm
edad7ce7d7
Vfs: Mark sqlite temporaries excluded on db-open #7141
The previous patch ensured that the sqlite temporaries weren't deleted
and recreated for every sync run, but there was still time between
client startup and the first sync run where they would have the
"needs-sync" icon.
2020-12-15 10:58:50 +01:00
Christian Kamm
7774b8049e
Vfs: Distinguish availability error kinds #7143
Previously "no-availability" meant db-error and querying the
availability of a nonexistant path returned AllHydrated.

Now, the availability has a DbError and a NoSuchItem error case.
2020-12-15 10:58:49 +01:00
Christian Kamm
1e5ae77994
Fix logic for duration that an etag reply indicates connectivity
This got inverted accidentally when std::chrono was introduced.

For #7160
2020-12-15 10:58:49 +01:00
Christian Kamm
7f3f13fd97
Vfs: "free space" only shows when it has an effect #7143
To do this, introduce AllDehydrated availability and rename
SomeDehydrated to Mixed - it now guarantees there are also hydrated
items.
2020-12-15 10:58:49 +01:00
Christian Kamm
40d9fc4f4b
Vfs: Adjust and centralise action text #7143
Saying "Currently available locally" sounds more like an indicator than
"Availably locally" does. Centralizing translations avoids consistency
issues between shell context menus and sync folder context menu.
2020-12-15 10:58:49 +01:00
Christian Kamm
021f994584
FolderWizard: Don't crash when typing invalid drive #7041
When the user typed "x:" where the drive x didn't exist, the validation
function would loop forever. Now it shows a "path doesn't exist" error.
2020-12-15 10:58:49 +01:00
Christian Kamm
076e24f465
Log: Start logging immediately when "permanent logs" enabled #7146
Previously one would need to wait for the next sync run to create the
first log file.
2020-12-15 10:58:48 +01:00
Christian Kamm
772a210cc9
Mention selective sync when switching on vfs 2020-12-15 10:58:48 +01:00
Christian Kamm
22234e0e73
LogWindow: Remove output, add "go to log folder" button #6475 2020-12-15 10:58:47 +01:00
Christian Kamm
dcf34316fd
Vfs: Add 'availability', a simplified, user-facing pin state #7111
The idea is that the user's question is "is this folder's data available
offline?" and not "does this folder have AlwaysLocal pin state?".
The the answers to the two questions can differ: an always-local
folder can have subitems that are not always-local and are dehydrated.

The new availability enum intends to describe the answer to the user's
actual question and can be derived from pin states. If pin states aren't
stored in the database the way of calculating availability will depend
on the vfs plugin.
2020-12-15 10:58:47 +01:00
Christian Kamm
590db28541
Vfs: Clear up relationship between _type and pin state
The pin state is a per-item attribute that has an effect on _type:
AlwaysLocal dehydrated files will be marked for hydration and OnlineOnly
hydrated files will be marked for dehydration.

Where exactly this effect materializes depends on how the pin states are
stored. If they're stored in the db (suffix) the dbEntry._type is
changed during the discovery.

If the pin state is stored in the filesystem, the localEntry._type must
be adjusted by the plugin's stat callback.

This patch makes pin states behave more consistently between plugins.
Previously with suffix-vfs pin states only had an effect on new remote
files. Now the effect of pinning or unpinning files or directories is as
documented and similar to other plugins.
2020-12-15 10:58:46 +01:00
Christian Kamm
3f55f9302e
Vfs: Hydrating a virtual is SYNC not NEW #7101
Previously it'd be NEW(ItemTypeFile), but now it has changed to be
SYNC(ItemTypeVirtualFileDownload) which allows better classification.
2020-12-15 10:58:45 +01:00
Christian Kamm
e0c8acc195
Notifications: Don't say "downloaded" for new files #7101
These files may very well just be new virtual files that were explicitly
*not* downloaded.
2020-12-15 10:58:45 +01:00
Christian Kamm
04e0e22513
Protocol, Notifications: Show destination() instead of _file
destination() now consistently points to the file after the successful
sync operation. _file might be the place the item was moved from.
2020-12-15 10:58:45 +01:00
Markus Goetz
5da48a5239
SocketApi: Fix owncloud/enterprise#2938 2020-12-15 10:58:43 +01:00
Christian Kamm
2f7cdb81cf
Tray: Try to establish tray after 10s if failed initially #6518
When owncloud is started during desktop startup the tray may not yet
be running when the client starts. This will make the client attempt
to create a tray icon again after 10 seconds if there's no tray
during initial startup.
2020-12-15 10:58:43 +01:00
Christian Kamm
ee6a48b3dc
Client certs: Store pkcs12 in config, password in keychain
It still reads and writes the old format too, but all newly stored
client certs will be in the new form.

For #6776 because Windows limits credential data to 512 bytes in older
versions.
2020-12-15 10:58:43 +01:00
Christian Kamm
cc840534c0
Add PLUGINDIR cmake setting and define #7027
By default, plugins are only searched next to the binary or next to the
other Qt plugins. This optional build variable allows another path to be
configured.

The idea is that on linux the oC packaging probably wants the binary in
something like /opt/owncloud/bin and the plugins in
/opt/owncloud/lib/plugins.

Similarly, distribution packagers probably don't want the plugins next
to the binary or next to the other Qt plugins. This flag allows them to
configure another path that the executable will look in.
2020-12-15 10:58:43 +01:00
Olivier Goffart
87bd26bf6c
AccountManager: load the cookies
For issue #7054
2020-12-15 10:58:43 +01:00
Christian Kamm
a72bf89779
Selective sync: Don't collapse tree when entering mode #7055
doExpand() is called when the selective sync editing mode is enabled in
the folder settings view. Previously it'd set the expansion to be
exactly the root items. Now, it just expands any root items that are
currently collapsed, leaving all other item expansion unchanged.
2020-12-15 10:58:42 +01:00
Christian Kamm
2e11f14a6b
SocketApi: Fix crash with readyRead() after disconnected() #7044
With the recent bugfix to avoid sending messages on dead connections
0bfe7ac250c54f5415c0a794c7b271428e83c3cf
the client now crashed if readyRead() was received after disconnected()
for the socket as the listener for that connection was already removed.

This code fixes it by still invoking the handler from readyRead() but
passing a SocketListener that won't attempt to send messages.
2020-12-15 10:58:42 +01:00
Christian Kamm
6199e140a5
Wizard: Avoid cert dialog multiple connection
This could lead to odd behavior when slotCertificateAccepted
was called multiple times.
2020-12-15 10:58:42 +01:00
Christian Kamm
83268c255a
Folder wizard: Fix infinite loop for bad paths #7041 2020-12-15 10:58:42 +01:00
Christian Kamm
238ac53666
Ensure local discovery on selective sync changes
As far as I'm aware local discovery can be skipped on folders that are
selective-sync blacklisted, so a local discovery is required when an
entry is removed from the blacklist.

Also rename
avoidReadFromDbOnNextSync() -> schedulePathForRemoteDiscovery()
since the old name might also imply it's not read from db in the local
discovery - which is not the case. Use Folder::
schedulePathForLocalDiscovery() for that.
2020-12-15 10:58:41 +01:00
Christian Kamm
4c04351360
Fix warnings about signedness
Sizes are always qint64, not unsigned.
TransferIds are always uint.
2020-12-15 10:58:41 +01:00
Christian Kamm
e9cbe13598
Vfs: Add option to hide socketapi pin actions
Because some plugins provide alternative ui.
2020-12-15 10:58:40 +01:00
Christian Kamm
d8873c18a1
File watcher: Pin state attribute changes are valid notifications
Previously they would be discarded since the file's mtime or size hadn't
changed.
2020-12-15 10:58:39 +01:00
Christian Kamm
83a818678f
PinStates cleanup
- SyncJournalDB functions now behind internalPinStates() to avoid
accidental usage, when nearly everyone should go through Vfs.
- Rename Vfs::getPinState() to Vfs::pinState()
2020-12-15 10:58:39 +01:00
Christian Kamm
0eb4065197
Folder: Add remoteFolderTrailingSlash()
There were cases where the "/" exception wasn't handled correctly
and there'd be extra slashes in generated paths.
2020-12-15 10:58:39 +01:00
Christian Kamm
41f1ddb5fc
Vfs: Call unregisterFolder() when folder is removed 2020-12-15 10:58:39 +01:00
Christian Kamm
7f400e3226
Pin state updates
- unspecified and inherited are different
- move enum to header in common/
- access through Vfs instead of directly in Journal
2020-12-15 10:58:38 +01:00
Christian Kamm
e2eea24a03
Vfs: Send SyncFileStatusTracker data to vfs plugins 2020-12-15 10:58:37 +01:00
Christian Kamm
fe27804afb
Move SyncFileStatus to libcommon
It'll be needed in vfs plugins so they can connect to the data coming
out of SyncFileStatusTracker.
2020-12-15 10:58:37 +01:00
Christian Kamm
848b869cdf
SocketAPI: Remove listener immediately on lost connection
To avoid situations where messages are attempted to be sent to dead
connections.
2020-12-15 10:58:36 +01:00
Christian Kamm
0eebd77d2c
SocketAPI OSX: Forbid further sends on connectionDidDie
Also release the remote end immediately.
2020-12-15 10:58:36 +01:00
Christian Kamm
f3be99e5b2
vfs: Update pinning context menu to be less confusing
Seeing "Currently available online only" for a currently hydrated file
was odd. It makes sense since current hydration status and pin state are
independent.

The new text will say something like "Currently available, but marked
online only" to better indicate that the file might be dehydrated later
since it wasn't pinned.
2020-12-15 10:58:35 +01:00
Christian Kamm
b7079289c2
Vfs: Switch on/off only when sync isn't running #6936
Avoids some situations that might cause data loss.
2020-12-15 10:58:34 +01:00
Christian Kamm
5728256763
Folder: Add selective sync / ui related flags
supportsSelectiveSync(): clearer than !supportsVirtualFiles() and allows
  extra logic

isVfsOnOffSwitchPending(): Somewhat awkward way of dealing with the
  phase between a user requesting vfs state to be switched and it
  actually happening
2020-12-15 10:58:34 +01:00
Christian Kamm
22255e4976
vfs: Add vfs migration options to folder context menu
This allows enabling and disabling vfs.

To distinguish this operation from setting the root pin state, the
availability setting is adjusted as well to be similar to the
menu that shows in the shell extensions.
2020-12-15 10:58:33 +01:00
Christian Kamm
3b923e2afe
vfs: Change per-folder message on vfs support
I'm unsure this note is all that useful. Remove entirely?
2020-12-15 10:58:33 +01:00
Christian Kamm
4df101ed84
vfs: Allow (de-)hydrating the full sync folder 2020-12-15 10:58:33 +01:00
Christian Kamm
47e21bfc60
vfs: Don't assume suffix mode for old folders
That would break with old folders that use selective sync.
2020-12-15 10:58:33 +01:00
Christian Kamm
cbb32edee2
vfs: Disable selective sync if vfs support is available 2020-12-15 10:58:32 +01:00
Christian Kamm
aa23058d76
Wizard: Ensure client cert doesn't get lost #6911 2020-12-15 10:58:32 +01:00
Christian Kamm
c470825c8f
Wizard: Drop unused function 2020-12-15 10:58:32 +01:00
Markus Goetz
4fcad0d8b0
Sync: Display theme in debug log 2020-12-15 10:58:32 +01:00
Olivier Goffart
c31d3f277f
HttpCredentials: Do not re-enter the event loop
https://sentry.io/owncloud/desktop-win-and-mac/issues/777907931/
mention a crash in OCC::HttpCredentialsGui::showDialog
One possible explaination is that this is caused by re-entring the event loop.
So don't do that.
2020-12-15 10:58:31 +01:00