Commit graph

960 commits

Author SHA1 Message Date
Claudio Cambra
69dfe596e2 Present error for updating share in file provider UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f1d3798396 Add method to dismiss error in share view controller via dismiss button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
24ce9a1e1e Add method to show error in data source ui delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9d6db4fa45 Add views to present an error in the share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
30b4509457 Deselect table view or shares after reload to reset UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
a7de8edd16 Fix crash on reloading share table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5702b163c8 Implement more logging in sharecontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
249dd02e75 Reload data source on share saving
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f1363040fa Use a sharecontroller in shareviewcontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
08917a9559 Make save button functional in share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e2b62e492f Add fields as parameters to save in sharecontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
3ef88137ad Correctly handle NKShare's "canEdit" in share options view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
19316f4d3a Add convenience function to enable or disable all share option fields
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
422a6c7962 Respond to changes in share of sharecontroller in shareoptionsview
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
755897be55 Add convenience function to format date to valid server string in nkshare
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f654a8ca83 Use ShareController in ShareOptionsView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
29262345cd Add functionality to share controller to save changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
318661748d Add convenience property to nkshare extension to get valid expiration date string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
aa57ba10f3 Add starter sharecontroller for fileprovider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5e0d990308 Handle optionsview as ShareOptionsView in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ec145d8ca2 Handle state of share options view via setting of NKShare
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
52dbfc3109 Improve placeholder text for share view password field
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
322ae529b7 Add a ShareOptionsView class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
7a40f6f728 Ensure calls are made via main actor to delegate in share table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
26d635b6fa Tell delegate when fetch ongoing in share table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e113a09ecf Add fetch related handling functions to ui delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
55cdbe860b Add a loading overlay to table view to indicate fetch in progress
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
13fa2bca1d Implement hide and show of share options in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
c74575cd32 Re-integrate share options view into main share view controller XIB
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8956fcebe9 Implement ui delegate in ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9b1ad4d6d5 Treat bottom view in share view as a target view to inject other views
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d23f30ae4e Add a shareview ui delegate protocol for datasources
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1b64e29050 Extract options view to different XIB
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
70a565d60d Redesign shares to incorporate share options into main share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d3d75e85f6 Add starter ShareOptionsWindow class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ecf4efd481 Replace ShareOptionsView with a ShareOptionsWindow
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
cad56f1e2a Implement ShareOptionsView design
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
da8ae80544 Add starter ShareOptionsView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
18862bed35 Add popover and corresponding view controller to sharetableitemview
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
30673976be Temporarily change copy share link button image after clicking
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
540eb11bf2 Implement share link copying in share table item view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4f0e25a4e6 Improve share table style
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
18de0d0b3f Make share property central to display update of share table item view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
46e2ca5887 Add displayString property to NKShare extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
41f93371a2 Add typeImage property to NKShare extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
930106e7ac Add ShareType enum to NKShare extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
4ba2bc8a3b Add starter NKShare extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
dda5ec295e Customise prepareForReuse in ShareTableItemView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
b6c247ba8d Ensure usable rowHeight for shares table view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ee21715860 Set basic property of sharetableitemview in delegate method of data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
c2ec72c132 Add corresponding class for ShareTableItemView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
731a5e1f8f Set delegate for shares table view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f11807815a Remove default item view in ShareViewController table XIB
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ff9e344810 Move all share fetching logic to FileProviderUIExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
331a76195b Register shareItemView nib in shareTableView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8add57a048 Implement NSTableViewDelegate viewFor method in sharetableviewdatasource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
765f33b45c Add essential table view data source method to ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d53680e583 Add release entitlements fro FileProviderUIExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
145d92e5cb Add method to get an item's server path through FPUIExtensionService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e6f20e9498 Remove logging from NextcloudAccount
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
81dc8ce708 Add method to FPUIExtensionServiceSource to get extension account details
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
a6992cf38b Add NextcloudAccount to FileProviderUIExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
259a28e33e Add method to convert dictionary to NextcloudAccount
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
02b5a31eae Add method to export NextcloudAccount details to dictionary
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
adb4028a6b Fix linking of FileProviderUIExt which was missing NextcloudKit symbols
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5b1b87b788 Add FPUIExtensionServiceSource to services published by FileProviderExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9ce3af3de7 Fix visibility of logging in ItemSharesController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
e15db9b938 Fix protocol used for FPUIExtensionServiceSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
46ad6f0bfb Instantiate share data source in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1288448336 Add item shares loading routine to ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
6dad778498 Add share fetching routine to FPUIExtensionService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
af93122445 Move serviceConnection method to table view data source
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8dc9807eb2 Add base properties to ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
820c7e4bd1 Add outlet for share view table view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
b30f8c30d7 Add starter ShareTableViewDataSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
90f7e3a2e3 Add more complete ShareTableItemView design
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
023e1453ba Add starter ShareTableItemView XIB
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
a586767f00 Add table to ShareViewControlelr XIB
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
07473ac5d9 Add fetch method to itemsharescontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
0feb5da08f Add starter ItemSharesController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8982857833 Add starter FPUIExtensionServiceSource
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
36a829849b Implement convenience method to acquire FPUIExtensionService in share view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
dbe8a5f8f2 Add starter FPUIExtensionService protocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
5fbcec1400 Extract display updating upon url acquisition to different method in ShareViewController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
09042d701d Set the right filename and icon on share view controller view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1e34affc01 Add domain property to document action view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
9bb67ee68d Make close button work properly in share view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
7a9ca59734 Store file provider item identifiers in ShareViewController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
ce026dfd94 Add proper design for share view in file provider UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
13aced88ce Properly add share custom action
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
05e7f1b992 Remove unused IBActions in DocumentActionViewController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
45b4fee7ba Add convenience method to prepare child view controllers in DocumentActionViewController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
76045fd989 Create ShareViewController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f44fec2ff1 Add logging for prepare methods of document action view controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
f35148b1bf Add logger extension to FileProviderUIExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
d0baa23b5d Add FileProviderUIExt entitlements file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
8128697a70 Build and install FileProviderUIExt via CMake
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Claudio Cambra
1522c22576 Add new FileProviderUIExt target
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:11:50 +08:00
Matthieu Gallien
ba78942209 Revert "Allow installation to close shell extension DLLs via the custom action. Disable reboot prompt in case of the version with this change was previously already installed."
Close #6566

This reverts commit c1719bc817.
2024-03-27 09:56:45 +01:00
Corentin Noël
6e1e8a8bdc libcloudproviders: Use DEFINE_VARIABLES to install in the correct directory
Conditionnaly require CMake 3.28 to install in the right directory.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2024-03-20 12:28:38 +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
c1719bc817 Allow installation to close shell extension DLLs via the custom action. Disable reboot prompt in case of the version with this change was previously already installed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-19 13:56:07 +01:00
Camila Ayres
7fb8eb3b79 Set min OSX version via cmake.
It should now only use the CMAKE_OSX_DEPLOYMENT_TARGET set when building.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-03-11 15:20:51 +01:00
Camila
dd2ca78884 Change minimun mac OS version to 10.13.
Signed-off-by: Camila <hello@camila.codes>
2024-03-11 15:20:51 +01: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
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
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
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
Claudio Cambra
9946495edb
Replace handling of debug archive creation in clientcommunicationservice with simple retrieval of debug string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
571b1ca238
Directly provide text file path to logger for debug archive creation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
70521e95bc
Implement creating debug archive in client communication service
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
1dcfee4087
Add function to File Provider Logger extension to create debug logs file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
0ddd22ddbb
Add function to retrieve log entries in File provider Logger extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
3334b4e49c Do not reconfigure file provider extension account if we are receiving the same details again
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
b22f463ad5 Add explainer to client interface
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5ed456f30c Implement NSFileProviderServicing in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6cb71694fd Log extension id sent over XPC publicly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
2d1e5ba197 Ensure the listener is resumed once the endpoint is created in the extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5f6f7f302a Add extensionAccountId property to ClientCommunicationProtocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
ac43369bed Properly implement listener should accept connection in ClientCommunicationService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
026f082253 Reimplement ClientCommunicationService in Swift
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
dd39991f1c Implement ClientCommunicationProtocol in ClientCommunicationService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
e763a9d29b Add ClientCommunicationProtocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a2d69fcf7c Keep pointer to FileProviderExtension around in ClientCommunicationService
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
22c176af8a Add starter client communication service
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
7ac5f38178 Cllean up function and method calls in File Provider Extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Claudio Cambra
d707ccc5b3 Clean up file provider extension property declarations and init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Claudio Cambra
3928573ff4 Run swift-format on swift code
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-06 11:45:44 +01:00
Matthieu Gallien
51654bcc90 wait longer to get the contextual menu entries: may be necessary
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-02 16:52:30 +01:00
Corentin Noël
2238dab3f9 Avoid duplicate declarations with latest libcloudproviders
Only install the .ini if the target version doen't support the .desktop file
declaration.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2024-01-19 12:31:03 +01:00
Tobias Kaminsky
71c5327c98 full git path
Signed-off-by: Tobias Kaminsky <tobias@kaminsky.me>
2024-01-19 10:13:53 +01:00
Claudio Cambra
edaf49cc9a Fix build with latest NextcloudKit, caused by search for XCTest and friends
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-12-06 11:51:55 +01:00
Claudio Cambra
dbd24f5a68 Update MACOSX_DEPLOYMENT_TARGET in NextcloudIntegration to 12.0
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-25 09:49:39 +02:00
Dimitri Papadopoulos
8a73a9a6f5 Fix new typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-09-17 10:41:38 +02:00
Dimitri Papadopoulos
09521edbac Fix residual typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-09-16 20:36:56 +02:00
Claudio Cambra
1e9dbf8f14 Operate directly on NSMutableData for incoming socket data, do not work with raw buffers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
4954debfbe Use more informative NSAssert rather than assert for _registeredDirectories
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
49a9f7f263 Allocate new unsigned char buffer for processed line in heap, fixing crash
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
8fa463b109 Do not GENERATE_INFOPLIST_FILE for FinderSyncExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
fe3104c2a8 Correctly initialise internal data members for FinderSync
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
736e65934c Define FinderSync internal data members as private interface extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
e0da34d36c Use modern dot notation to access _inBuffer properties
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
535402a866 Add quotes to processed line in FinderSyncExt to easily demarcate received line start and end
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
a0088dcd11 Fix parsing of in buffer lines in FinderSyncExt
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Claudio Cambra
2acec8f4a0 Clean up FinderSyncExt processInBuffer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-24 12:12:29 +02:00
Dimitri Papadopoulos
9d830e94f9 Fix typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
Claudio Cambra
60e785ad4e Fix xcodebuild parallel build warning
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-14 09:07:29 +02:00
Claudio Cambra
c316ecca91 Simplify variables for propery build paths for FP
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-06 22:12:07 +08:00
Claudio Cambra
7937986bc6 Fix Debug builds of File Provider module
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-06 22:12:07 +08:00
Claudio Cambra
b7d9826877
Build macOS shell extensions with debug configuration in xcodebuild when CMAKE build type set to debug
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
ace8dbc833
Add support for thumbnails in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
7d47e2371b
Add convenience method to get thumbnailUrl in NextcloudItemMetadataTable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
486c1a2556
Split local file related metadata management into own extension in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
4cb1e08d89
Split directory item metadata handling in database to new NextcloudFilesDatabaseManager extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
2b55b43e7b
Correctly report child item count for folders in FileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
16a28a7ccb
Add convenience method for NextcloudFilesDatabaseManager to get child items of a directory
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
0c78630703
Fix query of childDirectoriesForDirectory in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
6797e12f6e
Properly report modification date for FileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
e245ec0d2a
Set interpolated log strings in FileProvider logs to public
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
7e1ebed8c7
Split client interfacing code into FileProviderExtension extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
ebf96e3e81
Make NKError extension code more Swift-like, clean up
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
0f578fabdd
Use specific signalEnumerator method in FileProviderExtension item renaming instead of reinventing wheel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
a7344ba3fd
Fix unused/unmodified variable definition warnings in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
67daae2626
Ensure we return deleted metadata directory copy rather than live fire realm object in recursive delete of NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
766ecf410f
Parallelise conversion of NKFiles to NextcloudItemMetadataTables
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
7550ed7a1b
Properly handle metadata delete after item deletion in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
c088f0eb81
Fix recursive metadata delete in NextcloudFilesDatabaseManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
2853b88258
Move NKFile to metadata conversion methods to a new extension for NextcloudItemMetadataTable, where they are better placed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
6169594864
Prevent multi-thread modification of the same array with serial array modification dispatch queue when enumerating items in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
9c1a035e3c
Reintegrate sync engine into FileProviderEnumerator class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
bd50f753fa
Simplify initial item enumeration, no need to fetch from database in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:37 +08:00
Claudio Cambra
fe7ca12d9c
Perform slow metadata to FileProviderItem conversion concurrently in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:36 +08:00
Claudio Cambra
808f976ae9
Fix children serverurl rename in file provider nc files database
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:36 +08:00
Claudio Cambra
384093cbc6
Remove redundant double read of serverUrl when often we always want to do a depth 1 read in NextcloudSyncEngine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:36 +08:00
Claudio Cambra
27a177ab35
Make sure to include new metadatas in folders to scan for changes in recursive scan of NextcloudSyncEngine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:36 +08:00
Claudio Cambra
34a43fea69
Make sure to notify when folder moved in FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
9fadc89ff0
Fix unsetting of etags on directories (and only) directories on update
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
02e1d6a47f
Fix recursive directory metadata renaming order
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
9cc05457c0
Do not do specific enumeration of items working set in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
289f7f2c9f
Ensure we do not set etag if we have set updateDirectoryEtags to false in NextcloudFilesDatabaseManager updateItemMetadatas
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:57 +08:00
Claudio Cambra
35570a3160
Move remote sync functionality out of enumerator and into separate NextcloudSyncEngine class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
1524fc01f0
Progressively enumerate items as we get them for working set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
5154a57ac6
Move conversion from NSData to NSFileProviderPage to separate func
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
6202f3d70a
Split metadata parsing to complete enumerator into own function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
8c729fb2f9
Simplify enumerateItems of working set by using fullRecursiveScan in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
b369b5d515
Handle invalidation of enumerator during long recursive scans in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00
Claudio Cambra
213893b13f
Fix recursive scan when scanChangesOnly is false in FileProviderEnumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:56 +08:00