Commit Graph

65 Commits

Author SHA1 Message Date
Andy Scherzinger
48e53ea216
docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-05-07 23:06:34 +02:00
Andy Scherzinger
00994aa9e8
docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-04-16 15:19:26 +02:00
Matthieu Gallien
2863b273cb default this capture is deprecated, so capture it explicitly
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-14 11:10:16 +01:00
Matthieu Gallien
2a52ec33b0 add support to use PKCS#11 harware token to store certifice for e2ee
Close #5685

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Integral
356e4f9296 refactor: replace QString() with QStringLiteral() for better performance
Signed-off-by: Integral <integral@member.fsf.org>
2025-01-31 15:11:02 +01:00
Claudio Cambra
30ee3d65ee Ensure use of QMessageBox-using QMessageBox::critical
Fixes deprecation warnings

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f ensure qmessagebox

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f2 ensure qm

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f3

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f4

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Claudio Cambra
1009fed86a Replace all uses of qAsConst with std::as_const
Fixes deprecation warnings on Qt 6.8.0

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Matthieu Gallien
52e78b3ece when locking a file set If-Match header to ensure etag is correct
the file being locked may have been changed sinc the client synced it

so the server side file may have a modified etag. In such cases we do
not want to lock the file and would rather sync the nex server changes
before being able to lock the file

that would ensure that on client side the file being locked is matching
teh state of teh file on server side and would prevent inadvertently
overriding server changes

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-12-09 09:33:49 +01:00
Matthieu Gallien
ba4138a13d improve files explorer context menu by removing obsolete commands
remove any commands related to publi share links because they either got
replaced by the use of the share dialog or are better achieved by
showing the share dialog

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-11-21 12:04:47 +01:00
Matthieu Gallien
202be8a081
clarify when desktop client should offer to unlock a file
a file can be unlocked when:

 * the lock is an user lock from the current user
 * the lock is a token lock from the current desktop files client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-26 09:25:32 +02:00
Matthieu Gallien
539be0a16a only empty top folders offer the menu entry to encrypt
in the contextual menu shown in files explorer will show encrypt menu
entry only for top folders that are non-encrypted and empty

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
1c3743d670 only add encrypt menu entry for top folders
with current end-to-end encryption only top folders can be encrypted

limit the availability of the menu entry to top folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
5bb90c783e ensure the arguments of socket API commands are valid
fix string data being invalid when using QStringView

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
f2cfd2cc80 prevent event loop reentrance when handling ENCRYPT socket requests
when receiving a shell integration socket command for ENCRYPT, a generic
interface and generic code paths was used

the assumption was that the listener socket would need (and remain)
valid while hanlding teh request

some code paths need to display error messages to the user via a
QMessageBox

the issue is that this will execute a Qt event loop that will handle the
socket disconnection while the socket variable from the caller seems it
will stay valid and alive

prevent that by not using a blocking method invocation such that life
time mishandling about the socket listener is not possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-07 10:13:33 +02:00
alex-z
f70d1c1079
Support Windows .lnk files with VFS Cf API.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-07-10 10:29:21 +02:00
Jérôme Herbinet
dd1f32df65 Replace "Edit" with "Open in browser"
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2024-06-03 08:55:34 +02:00
Claudio Cambra
a8e7e340aa Replace use of staticQtMetaObject with staticMetaObject
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
84414ce5dc Replace deleted '+' operator for flags with '|' operator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
ac1206a0c1 Remove conflicting alias to QStringList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
1f0279e1c1 remove usage of QStringRef due to it being missing in Qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
608a435d38
context menu: do not recursively check pin and availability states
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 11:59:30 +01:00
Matthieu Gallien
4bf1b8604c
if desktop client sent a first reply: wait for the menu data
may need the user to wait a bit longer but should prevent missing the
context menu

should still be robust since we only wait indefinitely if desktop client
sent a first reply

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-20 09:44:33 +01:00
alex-z
c5dd2e89a1 E2EE. Fix root metadata fetching path for non-root remote sync folder. Refactoring. Stabilizing paths.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-20 00:54:27 +01:00
Kevin Ottens
526ab056d6 [socketapi] Replace QClipboard with KSystemClipboard when available
This is necessary in Wayland sessions for the clipboard related actions
of the socketapi to work. Indeed, QClipboard does its job only if we got
a window with the focus in such session.

In the case of the socketapi, it is generally the file manager asking
the desktop client to put something in the clipboard. At this point in
time no window of the client have the focus, so nothing gets added to
the clipboard.

KSystemClipboard on the other hand, uses the wlr data control protocol
under wayland sessions ensuring something ends up in the clipboard as
expected. When not in a wayland session it falls back to QClipboard so
no behavior is lost.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-07 08:18:52 +01:00
alex-z
c0e0b53ee5 Bugfix. E2EE V2. Fix incorrect root e2ee folder path search in local db.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-28 15:37:50 +01:00
alex-z
af612525c4 End-to-End Encryption V2. Implemented sharing between users. Automatic migration from 1.0 to 2.0(only for flat folders). Improved secure filedrop.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 16:13:25 +01:00
alex-z
2eaecb6400 File locking. Manual lock should never be modified without user intervention. Set token lock instead of user lock when locking office files automatically.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-18 10:21:09 +01:00
alex-z
3815919aa5 Fix a crash when saving the locked Word document file due to unnecessary spam to the lock state change from folder watcher logic.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-05 15:52:04 +02:00
Claudio Cambra
21656cce17
Replace all manual isntancesof adding trailing slash with use of utility method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Matthieu Gallien
40b1987287
downgrade some log lines to be less verbose
those log lines can easily be skipped from info level as they are needed
in very rare occasion

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
5cb3266f7f fix compilation with clazy and fully-qualified-moc-types checks enabled
will make all signals and slots be using fully qualified data types

makes code safer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-11 11:34:00 +02:00
Valdnet
1f8239b13f i18n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
alex-z
b6ba1fe0d6 Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-02 19:29:11 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
76e88572d6
more fixes for attributes without init value
done with clang-tidy

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
d2f5c6a5c7
initialize many attributes that could have been left without init value
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Valdnet
c9bae27bf8
l10n: Remove space
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-12-24 12:56:08 +01:00
Claudio Cambra
2a77dc4529 Check socketlistener is valid before trying to send encryption menu item message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
a23db4688a Don't show Encrypt menu entry if server does not support E2EE
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
01334e40f9 Improve folder encryption dialog info boxes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
2b09281594 Add encryption success message box
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
39a48bf822 Move encrypt menu entry declaration to own method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
bf1f718a65 Don't allow encryption if account is not correctly configured for it
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
Claudio Cambra
1d4c634c54 Add context menu entry to encrypt folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-13 13:27:56 +01:00
allexzander
6affc6e6ab Implement 'Leave this share' context menu entry. Fix incorrect sharing state for incoming and my shares in custom state icons and local database.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-11-22 12:14:20 +01:00
Matthieu Gallien
b5adbf3ab0 fix instances of: c++11 range-loop might detach Qt container warnings
analyzed via clazy

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-18 16:02:21 +01:00
Matthieu Gallien
61c792c6f4
fully qualify types in signals and slots
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-15 09:57:54 +01:00
Claudio Cambra
7971789112
Add a file details window/page, QMLify file sharing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:03 +01:00
allexzander
289a641d74 VFS Windows: Display the sharing state and lock state in the 'Status' column of Windows Explorer
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-10-04 18:32:51 +02:00