Commit graph

20517 commits

Author SHA1 Message Date
Claudio Cambra
0c40ceff9c
Init widely-used variables in MacImplementation at declaration, fix nullability warnings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
58262a8d94
Ensure account is file provider vfs enablement is correctly set in NSUserDefaults
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
f5b80e9ec1
Run initial check on creation of FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
5f059a23ce
Add method to enable file provider vfs for all accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
42b72f9d9a
Use [[nodiscard]] for MacImplementation methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
556bce2672
Move fp settings controller out of ui folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
e9451e9281
Set account as property of settings view root object rather than context property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
a57cb3df9d
Register file provider settings controller as singleton in qml engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
ba3baa406b
Expose account user id with host to QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
3c26e25a3c
Notify when enabled file provider vfs accounts change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
ac608a661d
Use default constructor for FileProviderSettingsController::MacImplementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
9a880f4199
Implement modification of file provider enabled for account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
c69bb4375c
Make it possible to check whether an account has vfs enabled or not
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
94ce3da9c5
Treat FileProviderSettingsController::settingsViewWidget as a factory method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
20f89c6999
Make the fp settings controller static
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
0e02a64c5e
Lazily load settings view widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
d80962b634
Instantiate internal MacImplementation in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
27c803a3d8
Add MacImplementation private class to interface with obj-c settings API
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
7e4d643ade
Add starter FileProviderSettings objective c class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
2863415428
Add access to FileProviderSettingsController in FileProviderSettings page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
f607bfaca1
Make file provider settings controller implementation an Objective-C++ file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
8070dbd9f6
Implement basic layout for file provider configuration UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
174d3ec9e0
Remove Virtual files section of settings, move this instead to individual tab in each account page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
d4fb1e7dad
Move disguising of tab widget into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
c57a5820d0
Make sure qtabwidget in account settings is unnoticeable when file provider module is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
5af363ad9c
Wrap normal folder settings in tab widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
f158e275fc
Resize settings object to root view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
58e6385093
Make settings page use other internal QML components, correct palette
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
346a07643c
Simplify widget creation of file provider settings UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
4b8338ce91
Expose QML engine in systray
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
dae1643542
Add basic fitting styling for FileProviderSettings component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
40389a2197
Use file provider settings controller in settings dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
a6f15ea700
Set up QML file provider settings within the FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
8643acfdaa
Add a start fileprovidersettingscontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:05 +08:00
Claudio Cambra
e547ae22b7
Add basic, start FileProviderSettings page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:05 +08:00
Claudio Cambra
35659bbda2
Add mac-specific virtual files settings section
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:04 +08:00
Claudio Cambra
8ab52b8683
Merge pull request #6324 from nextcloud/work/fileprovider-xpc
Rewrite communication between client and File Provider extensions using XPC
2024-02-19 22:40:05 +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
71119fe65a Improve socket controller logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
9611e47a3b Simplify xpc service acquisition completion handler
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
41133e4cd8 Clarify utility of xpc system for file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a44454daf8 Simplify and clarify utility of socket system for file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a01e55272a Only start XPC after file provider domains have been configured
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
45b123130f Separate XPC init from file provider constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
423891230e Separate starting of domain manager tasks from constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
58dc42a521 Get services using better non-url based method if available (macOS 13.0+)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
798f77fa2b Improve domain discovery logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
43b7ae55df Use accountStateFromFileProviderDomainIdentifier method in authenticateExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6d4e785ebb Remove unused extension ID NSString
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00