Commit graph

20874 commits

Author SHA1 Message Date
Matthieu Gallien
ffffc89414
Merge pull request #6515 from nextcloud/work/ervin/socketapi-use-ksystemclipboard-when-available
[socketapi] Replace QClipboard with KSystemClipboard when available
2024-03-07 08:51:22 +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
Kevin Ottens
312da848bc [gui] Add KGuiAddons as an optional dependency
This will be needed to replace QClipboard in some places.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-07 08:18:52 +01:00
Claudio Cambra
0e301e75d9
Merge pull request #6467 from nextcloud/feature/file-provide-file-eviction 2024-03-07 11:52:42 +08:00
Claudio Cambra
fe53933b04 Improve design of materialised file delegates
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
5f243a86d4 Use palette background color for file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
19d1971612 Enable reloading of materialised items model from within file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
1e96c0f1f9 Add title and reload button to file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
69a3f286c0 Add slot to file provider settings controller to refresh materialised items for account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
bf4fc01b39 Extract enumeration of materialised files for each domain manager into a separate slot
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
9f4e87dc1f Fix header text color property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
60f116cdd4 Implement eviction capabilities in FileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
3e5766be47 Reintegrate eviction dialog button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Nextcloud bot
2e5aa59757
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-03-07 02:49:13 +00:00
Matthieu Gallien
7ed0b9afb3
Merge pull request #6320 from nextcloud/work/ervin/support-kf6-based-dolphin
Support the KF6 based version of Dolphin
2024-03-06 15:56:17 +01:00
Kevin Ottens
38b59a82bf [dolphin] Adjust CMake to handle the presence of KF6
Now if KF6 KIO is present, we build the Dolphin plugin against the Qt6
version of everything. Otherwise we keep assuming the Qt5 version of the
platform.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Kevin Ottens
c03837ee0d [dolphin] Remove the desktop file and go straight to json instead
The desktop to json conversion step will disappear with KF6

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Kevin Ottens
6dbe8cc075 [dolphin] Don't rely on emit and signals, use the Q_* macros instead
Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Kevin Ottens
d98d2cead5 [dolphin] Don't rely on const chat * -> QString implicit conversion
Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Kevin Ottens
17b913c3a7 [dolphin] Don't rely on QByteArray -> const char * implicit conversion
Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Kevin Ottens
ea101adbf4 [dolphin] Clean up includes
We remove one unused include which will disappear in KF6. Also we switch
to camel case includes without the module prefix.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-06 14:52:36 +01:00
Claudio Cambra
6845e24e91
Merge pull request #6461 from nextcloud/feature/file-provider-fast-init-sync
Add option to perform fast synchronisation runs in File Provider sync engine
2024-03-06 18:47:42 +08:00
Claudio Cambra
d64d959b51 Add explainer about fast sync to file provider settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
1a576a15d6 Log setting change for fast enumeration in ClientCommunicationService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
6e55c84d18 Instantiate and hook up FileProviderFastEnumerationSettings within FileProviderSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
23ef72c472 Add starter FileProviderFastEnumerationSettings QML component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
1441a5e3a2 Make default of fast enumeration enabled method in file provider settings controller to be true
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
23c1e554d0 Add method to check if fast enumeration setting has been set in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
5eb333cb8d Add method to set fast enumeration enabled in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
6db990183e Add method to acquire fast enumeration enabled status in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
a02efd65f8 Add method in file provider xpc to set fast enumeration enabled state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
db9b9a64b4 Add method to get fast enumeration state (if possible) in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
913dcd70ae Remove wrapper method for creating debug archive, directly use FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
90c26c3eff Make XPC pointer publicly available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
ae524c0346 Mark fileProviderAvailable as nodiscard
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
bbe48954be Add method to set fast enumeration in client communication service
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
8d3b676558 Add method to get state of fast enumeration setting
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
9a8af68ddc Add lazy var for whether the fastEnumeration value has actually been set in settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
a3e1d66707 Use value from config for fastEnumeration when creating enumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
534b3a60d7 Add fastEnumerationEnabled property to config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
f987bcd97a Add computed property to FileProviderConfig to get and set internal config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
1fc6014230 Add a starter FileProviderConfig
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
cac263f174 Clean up properties and init/invalidate in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
179a368f9f Add option to do a fast enumeration of changes which ignores new, unexplored folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Nextcloud bot
eb86b9141b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-03-06 06:54:44 +00:00
Matthieu Gallien
903e313707
Merge pull request #6463 from nextcloud/bugfix/multipleMovesOfASingleFileid
when moving a file, checks that it exists at origin or destination
2024-03-05 17:19:50 +01:00
Matthieu Gallien
b7c1a95d1c
fix missing tracking for some item rename operations
will fix mishandling of rename of a single file to multiple places
during discovery

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-05 16:43:05 +01:00
Matthieu Gallien
b35a26091b add new test to simulate the data loss scenario
this new test trigger the assert that a file is either in the old place
or the new place when we execute a MOVE instruction for a local file

in the test one file is discovered as in need of a local MOVE but will
be missing from the old and new places when running the propagation due
to a bug

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-05 14:43:42 +01:00
Matthieu Gallien
976dbd6df6 when moving a file, checks that it exists at origin or destination
current automated tests are never breaking the rule that a file that
should be moved on client side (after a move was done server side)
exists either at teh original path or the destination path.

in practice it may happen (and I manually tested it) thet the sync
engine decides to move a single file in two distinct places

that decision will violate this rule and a debug build would then run
into the assert

Close #6462

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-05 14:43:42 +01:00
Matthieu Gallien
7a0b03aabc
Merge pull request #6491 from nextcloud/dependabot/github_actions/cpp-linter/cpp-linter-action-2.9.1
Bump cpp-linter/cpp-linter-action from 2.8.0 to 2.9.1
2024-03-05 14:43:17 +01:00