Commit graph

3232 commits

Author SHA1 Message Date
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