Commit graph

4655 commits

Author SHA1 Message Date
Claudio Cambra
a204f114d2
Have backup for 0 value in itemmetadata documentsize in materialised items model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
5c3cd69252
Improve visuals of file delegate details UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
f22bf9e527
Display file sizes as nicely formatted string in file provider file delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
643d30a3d5
Fix retain crash when calling managerForDomain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
84d8561a8e
Use FileProviderUtils function to get manager from domain id in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
b23e6bc4ee
Use FileProviderUtils function to get manager for domain id in FileProviderItemMetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
44a6f4673e
Separate domain finding into separate function in FileProviderUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
b47665efba
Add convenience function to FileProviderUtils to get manager for a given domain identifier
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
ba2bef2495
Add fileproviderutils namespace
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
64e1166066
Fix layout for FileProviderFileDelegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
d905f13d83
Enable use of "Delete" button in FileProviderFileDelegate to evict item
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
c763a9a227
Expose items' domain identifier in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
0b961e9e17
Add method to evict an item in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
da20e7e179
Add basic FileProviderFileDelegate UI component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
b3c75750ab
Add file type role to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
371257a6de
Add a user-understandable file type string to itemmetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
f060f0c271
Add UserVisiblePathRole to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
beb889c2f6
Get and set userVisiblePath at item metadata construction time
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
e03edc131d
Add method to get user visible path for an item metadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
ad2baeaba0
Keep track of item metadata's parent domain identifier
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
f2547140c4
Ensure correct index is set on hidden tab widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
bfaba671f3
Add rolenames for FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
89bb008bd7
Add additional roles to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
d51c2a486b
Add a general actions grid to the settings qml component to enable users to manage storage usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
af98e48805
Add starter FileProviderEvictionDialog component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
2ce4e91383
Add method to generate eviction of materialised item windows in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
c1a5e788f8
Add method to generate materialised item models in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
85b3a135b6
Emit signal when materialised items for an account change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
f90f86d696
Set FileProviderItemMetadata vector in materialised items model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
726503f3c7
Add custom equality check to FileProviderItemMetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
269fb03351
Add starter FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
389e663219
Add method to get qtified file provider item metadata for account in FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
134eae63dd
Add static convenience method to FileProviderItemMetadata to convert from NSFileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
e3a0dabb07
Add convenience function to convert extendedAttributes to QHash
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
a34a390790
Add a convenience function to convert from nsnamecomponents to qstring
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
57d1dc84aa
Add a Qt-based data class for file provider items
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
fec9902a25
Store materialised file metadata in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
c3490db271
Keep track of materialised files in storageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
0b8a2315a0
Leave usage as a property of materialised files enumerator
Do this instead of passing as variable in completion handler

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
02b47b47f8
Fix positioning fo elements in FileProviderSettings UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
679177eae2
Add property to file provider settings controller displaying remote file storage usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
f68965a241
Fetch and store user info for accounts in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
7d229b569f
Move GB with decimal number calculation to function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
4e8eab6cd9
Handle edge cases with materialised files enumeration and improve logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
22a521d2a2
Hold a strong reference to UsageEnumerationFinishedHandler
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
9105a4584e
Use NSUInteger directly when calculationg usage in FileProviderStorageUseEnumerationObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
18ed46ef77
Expose local storage usage for account in gigabytes to QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
2105596643
Fetch materialised files storage usage per account on creation of FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
8fdc69b3cc
Calculate total storage use from enumerator for materialised files in fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
435e25d75c
Define ompletion block for fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
b83f0a51a9
Add starter fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
97c963dcab
Remove fp domain id from registered domains when removal is confirmed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
5aa7138643
Do not bother trying to add a fp domain if we know it is active
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
e4aeb5b481
Update file provider domain enablement status upon settings change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
15525bca62
Separate file provider domain updating into separate slot
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
ee6c081603
Enable file provider domains per the settings in the file provider domain manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
1db59fecc1
Remove ConfigFile().macFileProviderModuleEnabled() config flag
Since we are going to distribute the file provider client as separate
from the normal client, this flag doesn't make any practical sense.
The user using the FileProvider desktop client will not want to not
use the file provider module

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
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
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
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
Claudio Cambra
be3bd7bb3b Do not shadow sender()
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
784cd129fb Remove all obj-c classes from fileproviderxpc.h
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
fca6b37804 Fix clang-tidy namespace concatenation warning
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
0856138b2e Implement recognition of account state changing in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
c1fa6621ae Move extension authentication into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
94bfa035c3 Define NSDictionary types in _clientCommServices
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
f728ec1b75 Add method to unauthenticate file provider extension in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
502d73814e Cast clientCommServices to NSObject with correct protocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
23a3a3e554 Extract account id acquisition from clientCommService into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
8a8d3b3ef5 Remove redundant static in anonymous fileproviderxpc utils namespace
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
c9997ce5f9 Extract remote service object acquisistion from connection into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
595c23cf76 Extract file provider connection configuration into separate util function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6f5b07c1ae Fix clientcommservices datatype
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
95bebc5214 Clean up FileProviderXPC code, separate everything into single-responsibility methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5ee2cfa749 Moved XPC Utils into separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a0376a2dab Move acquisition of file provider services to different function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
4a8d50144a Move domain url acquisition to separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
8eaf4e6324 Move domain manager acquisition into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
59b8b8ef21 Upon acquisition of client communication services, send account configuration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
7716860bc9 Retrieve extension account ids over XPC, store client comm service per account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
eb774adc95 Check for protocol type in fileproviderxpc start
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
ee82968c69 Cache NSXPCConnections when starting FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a6e3f18168 Ensure FileProvider components instantiated after account setup
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
d4d0cf550e Fix retain issues with domains in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
0b505a9c2c Flatten FileProviderXPC::start()
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
25201116a0 Implement connection begin in XPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
9dddaf4f9f Fix logging for fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
e8c1bbb953 Add relative symlink to ClientCommunicationProtocol in srd/gui/macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5cc8b6e7c2 Add starter FileProviderXPC class on client side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Matthieu Gallien
c254bb01a3
do not check lock type if server API is missing it
will allow automated unlock if the server API is missing the ability to
handle the lock types sent by the client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-19 14:53:47 +01:00
Matthieu Gallien
17256d3902
add extra logs to investigate lock type issues
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-19 14:53:47 +01:00
alex-z
aab9066654 Settings dialog. Nextcloud version label should be visible even if auto-updates are turned off in config.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-19 09:58:08 +01:00
Matthieu Gallien
4f2988a7d5 fix more issues from qml in share dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-13 14:45:58 +01:00
Matthieu Gallien
997ff6535f fix QML warnings about accessing undefined parent property
we are defining a component, by definition there will be no parent

setting the size if the responsibility of the stack view, not of the
component (or even its definition)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-13 14:45:58 +01:00
Matthieu Gallien
e24da81f49 ensure role hideDownload from ShareModel has a boolean default value
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-13 14:45:58 +01:00
Matthieu Gallien
2a5e273963 fix binding loop with palette assignments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-13 14:45:58 +01:00
Claudio Cambra
d52ad2d27b Do an early break of folder state check loop when errors seen
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-13 14:05:31 +01:00
Claudio Cambra
28874ec25c Use bools rather than unnecessary ints in folderman trayoverallstatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f
2024-02-13 14:05:31 +01:00
Claudio Cambra
165bf97b48 Use auto and const auto where possible in trayOverallStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-13 14:05:31 +01:00
Claudio Cambra
76ff41f3e0 Properly report Undefined sync status when multiple folders syncing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-13 14:05:31 +01:00
Camila Ayres
533ef0b260 Do not create systray notification if there are no errors.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-02-08 16:40:02 +01:00
Camila Ayres
1b305e4c6a Show systray error message when there is a network error.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-02-07 14:24:30 -03:00
Camila Ayres
9dbf43c6fd Update 'no connection' error text to a more user friendly message.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-02-07 14:24:30 -03:00
alex-z
e9a0dbd16c Allow event processing between each XML parser run, to improve GUI performance.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 18:32:01 +01:00
Claudio Cambra
b1a50f42be Do not recreate geometry more than is necessary
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-01-29 17:27:45 +01:00
Claudio Cambra
3dc5a6cc9e Remove now unused method for calculating taskbar geometry
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-01-29 17:27:45 +01:00
Claudio Cambra
6c71c38ca8 Use available gemoetry measurement rather than whole screen geometry measurement unit to define non-taskbar invading window positions, removing need for calculating taskbar geometry
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-01-29 17:27:45 +01:00
Claudio Cambra
bcc1cea9b4 Add currentAvailableScreenRect convenience method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-01-29 17:27:45 +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
Camila Ayres
0ae7695d5c
Fix: remove failure to import legacy account notification.
- It was being displayed even on a fresh install.
- We are already displaying a notification when there are accounts to be
imported and we ask the user on what to do.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-01-25 12:23:37 +01:00
Camila Ayres
30883785e4
Save the value of 'Launch on system startup' in the config files.
Make sure to migrate older configs to have the value set to true.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-01-22 11:35:55 +01:00
Camila Ayres
d677664f9d
Clean up logic when setting up auto start for user.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-01-22 11:28:00 +01:00
Camila
c4095d698a
Autostart does not depend on how many accounts are configured.
Set autostart default to true.

Signed-off-by: Camila <hello@camila.codes>
2024-01-22 11:27:58 +01:00
Micke Nordin
6ca4ace09f OwncloudWizard: Move implementation to cpp-file
Signed-off-by: Micke Nordin <kano@sunet.se>
2024-01-19 11:05:18 +01:00
Micke Nordin
42012a0efb Apply suggestions from code review
Formatting fixes

Co-authored-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Micke Nordin <mickenordin@users.noreply.github.com>
2024-01-19 11:05:07 +01:00
Micke Nordin
772d44c66d GUI/LIBSYNC: force login flow V2 with config setting
This patch allows a user to set the config variable:

forceLoginV2=true

This will make the client use the browser login flow instead of the
webview. This is useful for making the user experience equal on
Windows, Linux and Mac. Currently only Macs use the v2 flow and it
was only possible to get this behaviour in the Windows and Linux
clients at build time using a CMAKE flag.

The default behaviour is kept the same, and nothing changes for the
user unless the flag is manually set in the config file. A setter is
included in this patch, although it is not yet used in the GUI.

Signed-off-by: Micke Nordin <kano@sunet.se>
2024-01-19 11:03:36 +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
Matthieu Gallien
7bff44daa1
get the appimage path to translations instead of looking at the host
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-01-05 12:16:15 +01:00
Matthieu Gallien
452cf435fc
add more info before we try to load translations and/or fail
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-01-05 12:16:15 +01:00
alex-z
17fbfe4e06 Bugfix. Fix incorrect size of the folderbutton size and scaling.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-12 16:33:58 +01:00
alex-z
50d168759f Added error reporting for E2EE issues.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
66b0383fee Allow sending E2EE and Virus_Detected statuses. Also updated tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
4b0e1b57eb Prevent issues when changing the enum.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
ff8db2674a Client status reporting feature. First iteration.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
Matthieu Gallien
bf78f008bd
extend log to get information about mtime modifications by the client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-06 10:42:33 +01:00
Claudio Cambra
de4645f36b Change logging for sparkle update to qCInfo
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-12-05 08:52:06 +01:00
AJ Jordan
5c7fb58919
Don't log notification successes as warnings
Signed-off-by: AJ Jordan <alex@strugee.net>
2023-11-20 23:49:32 -05:00
alex-z
c2143b0553 Folders. Fix incorrect alias concatenation. Avoids leading zero.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-20 16:48:18 +01:00
alex-z
e77b52e708 VFS. Properly set Folders/WithPlaceholders in config when switching modes. Refactoring.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-20 16:48:18 +01:00
alkl58
9c6839969c Check path validity on Windows will validate NTFS permissions for network drives.
Signed-off-by: Alkl58 <alkl58@protonmail.com>
2023-11-13 12:00:52 +01:00
Camila
44e8e4b2e9 Fix crash when clicking on import legacy account dialog 'Skip' button.
- mac OS only: With Qt::WA_DeleteOnClose the dialog was being deleted twice.

Signed-off-by: Camila <hello@camila.codes>
2023-11-07 14:33:48 -03:00
alex-z
bc91eac2e5 Improve Settings dialog design.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-23 12:45:24 +02:00
alex-z
727cd797ff Show more informative error message when VFS hydration fails. Display a popup and put an error into activity list. More detailed logs.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-20 14:54:42 +02:00
Matthieu Gallien
a1e6c562ea remove duplicated signals overriding the same signal in base class
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
fcd5a86349 signals/slots need to have fully qualified arguments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
0e4ac85f69 in debug builds, we want immediate log flush and debug output
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
alex-z
37b22c021c Use material icon for folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-06 10:18:31 +02:00
Claudio Cambra
8fbd6ef790 Prevent empty password being passed into share creation
We already generate a new password when the share password dialog is
created, so there is really no need to clear the field when it closes.
This prevents the field being cleared before the password is sent into
the C++ code, leading to no password actually being sent to the server

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-04 18:58:38 +08:00
Matthieu Gallien
d517cbfd68 fix build by making unique_ptr not const if we std::move it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-09-26 15:40:38 +02:00
Camila
d6eb5c5c7c Address PR comments.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
a23b9f1280 User "1" instead of "one" in thelegacy import dialogs.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
6a170bf394 Application function and var renames and clean up setupConfigFile function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
0a5c147e2d Rename FolderMan::setupFolderFromOldConfigFile => FolderMan::setupLegacyFolder
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
b9fd13695c Fix QMessageBox 'skip' button functionality for importing legacy account.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
67e9998269 Clean up code, fix comments, remove not needed function...
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
0db5e78d6f Improve text and buttons of notification dialogs used during legacy import.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
8f9f7bd3a7 Update folder version.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
6f1e1612b1 Only show message with migration status in the end of the process.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
f9e4029404 Move config creation and restoring of account to new function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
23d0bfabeb Move restore legacy account logic to a function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
alex-z
1e9fa0a132 Activity list fixes and improvements. Adjusted sorting to show interactive and security activities always on top (after errors). Added button to scroll up when new activity arrives. Improved sync status scrollbar.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-22 15:28:50 +02:00
Claudio Cambra
6cf04d660b Remove OAuth authentication method as it is now unused
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-19 14:58:17 +08:00
Claudio Cambra
00f464ca92 Fix files being skipped in coalesced path traersal in mac folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08:00
Claudio Cambra
2488fd6460 Make sure to respond to cloned item event flags in mac folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08:00
Claudio Cambra
e9c4bdcfe9 Ensure that full rescan flags in macOS folder watcher reply are properly responded to
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08: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
e6676ac0f0 Move warning yellow palette generation for warn labels to anonymous namespace function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
8312cda0e4 Constexprify yellow warning colours in FolderWizard
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
3dd48e21f7 Also provide remote path folder wizard page with correct warn colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
b32c69584b Ensure background colour for warn label in folder wizard is the correct colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
6ef73e24d7 [FileProvider] Add missing AccountState State case for notifying account state to extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 15:02:36 +02:00
Claudio Cambra
7b27423a8a Remove unused shareuserline ui component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 21:35:19 +08:00
Camila
a7cb8d2ca2 Migrate all legacy folders for each legacy account.
Also cleans up FolderMan::setupFolderFromOldConfigFile logic.

Signed-off-by: Camila <hello@camila.codes>
2023-09-13 07:18:17 -03:00
Camila
5e1d2a7dac Migrates all legacy accounts.
Signed-off-by: Camila <hello@camila.codes>
2023-09-13 07:18:17 -03:00
Claudio Cambra
774918c5d1 More stringently check for min and max date validity in date field backend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
97e7ec34bc Do not present NCInputDateField backend as public property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
a4767a108b Add simple test for basic. default date properties of DateFieldBackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
bbbab0159e Ensure qdatetimes are UTC in datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
32cea091b8 Ensure leading zero dates are also correctly parsed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
19f8d80042 Add date field input method hint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
bbf920d5b0 Do not use QDateTime, use only QDate for datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
ce059ed5c0 Give each property unique signals, fixing QML bugs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
7ad97cf9e8 Customise locale default date format to ensure we eliminate issues parsing two-digit year strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d2900bad11 Use NCInputDateField in ShareDetailsPage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
56b87c72c1 Vastly simplify NCInputDateField by using the DateFieldBackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
460d3dc686 Register DateFieldBackend in QML engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
1f8ecf416c Add validDateTime property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
7e26bbd5f0 Add maximum date properties to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
858aa9fb9b Add minimum date properties to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d4f8b4f3bc Add strig based representation and setting for date in datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
eb66f51a92 Add datetime msecs property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
3717558cf0 Add dateTime property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d6b2829dd9 Add starter datefieldbackend class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
ea93ca02c0 Stop reducing date numbers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
27e560d232 Extract date field into a separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
265396eba0 Eliminate wrapper SpinBox for expire date field
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
alex-z
a7fdf14196 Display correct conflict part in multiple conflicts resolution dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-12 09:04:21 +02:00
Claudio Cambra
3abbeefe62 Fix visual bug with folder size confirmation combo box in general settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-11 18:36:31 +02:00
Claudio Cambra
72c8f0059f Fix macOS notification talk replies by avoiding early dealloc
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-07 12:30:35 +02:00
Corentin Noël
7d74fd2c03 Add compatibility with the new libcloudproviders integration
Since libcloudproviders 0.3.3 it is possible to specify the interface name directly
in the .desktop file, and thus allowing it to be integrated when using a containerized
client.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2023-09-07 13:07:49 +08: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
2b6580a5a9
Fix declaration of lockfilepatterns
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:46 +02:00
Claudio Cambra
2503ded168
Lock files when relevant lock files found by folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:45 +02:00
Claudio Cambra
65569e5486
Emit lock file target file paths in lock file discovery from folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:45 +02:00
Claudio Cambra
859bf07873
Notify when new lock files are found in folderwatcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:44 +02:00
Claudio Cambra
f5d15d8a82
Do not search for matching file pattern in possiblyAddUnlockedFilePath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:43 +02:00
Claudio Cambra
da62e6615d
Define private lock file patterns as const std::array
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:42 +02:00
Claudio Cambra
5d0d7a3c9f
Split off lock file pat pattern matching into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:42 +02:00
Claudio Cambra
128648a735
Modernise FolderWatcher::changeDetected
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:41 +02:00
Camila
9dbb072858
Migrate legacy user defined exclude file.
- Refactor ConfigFile::setupDefaultExcludeFilePaths.
- Refactor ConfigFile::excludeFile.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00
Camila
6f38545e09
Migrate selective sync db list.
- Refactor migration of blacklisted folders.
- Only change selective sync list if needed.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00
Camila
c3feee1095
Migrate all folders from a legacy config.
- Migrate only the current config in use by the legacy application.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:28 +02:00
Camila
f69dea0a94
Migrate http_user to webflow_user and dav_user.
- Add {} for single line condition, const auto and fix comments.
- Save the legacy account data first in _settingsMap, so the legacy config file
does not get changed in the migration process.
- Legacy dav_user should stay only as dav_user in the new config.
- Compare davUser and prettyName only when new user id needs to be retrieved.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:28 +02:00
alex-z
f3db221314 Update Word files VFS placeholders each time they get opened by tracking the 'lock' files
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-01 15:04:17 +02:00
Claudio Cambra
2f5c164534 Enforce Chunk V2 API chunk size limits at the sync options level
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
cbbb4c87b8 Conform to chunk sizing restrictions introduced in Chunking V2
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
f260bbf9f4 Remember server colors across restarts, enabling correct color before capabilities fetched
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
fba06a745c Add warning prior to folder encryption to prevent unknowing users from creating unrecoverable encrypted folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-23 08:46:23 +08:00
Claudio Cambra
c8599bc084 Fix warning dialog box message when trying to encrypt folders that have not been successfully synced (i.e. error/problem)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 22:11:50 +02:00
Claudio Cambra
31011160c8 Also accent ncBlue buttons in ShareDetailsPage with user accent color
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
ea05c8ecc7 Colour coloured elements in share view with user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
8778021bcf Make accent colour of NCTabButton in file details follow user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
12d9a484c0 Suggest a password when password is enforced on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
bfa7fc5299 Move createRandomPassword to public static Q_INVOKABLE method of ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
8bda3fdce7 Hide password field in share settings when share type does not support passwords
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 10:11:13 +02:00
Claudio Cambra
d428915d35 More distinctly name server allowing resharing property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
372cd9b9a4 Hide 'Allow resharing' checkbox when resharing not allowed by server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
172c7ab711 Add resharing allowed property to ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
4b3d6c5316 Make busy indicator for share permissions cover all share permission check/radio boxes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
a344ff7c91 Add checkbox in share details page for resharing allowed setting
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
acb22b1684 Add role for resharing allowed in share model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
c05e1920bb Fix share permission values
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
6d56621520
Deduplicate whitelistFolderPath and blacklistFolderPath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:23 +08:00
Claudio Cambra
a7fcb846ab
Extract folder now big activity generation into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
cbad4347bd
Extract notifying of existing folder now big to separate static method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e1f342c320
Declare whitelist and blacklist activity verbs as static constexprs in activitydata, refer to this in usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e987fe88c5
Fix generation of context menu activity links
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
9b5391bdc1
Ensure generated activity buttons are within count set by maxActionButtons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
af45017e94
Do not clear the whitelist on sync success
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
449bac837b
Do not always re-notify user on existing folder now big if this folder already black or white listed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
2324a60c76
Stop current sync when existing folder becomes big and we have enabled disabling sync of folders that become big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
bd7ccf5738
Add UI element in general settings to stop syncing existing folders that have now overcome limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:21 +08:00
Claudio Cambra
1342f81cab
Add config option to stop synchronising existing folders when they grow beyond size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:15 +08: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
Claudio Cambra
3b208bf838
Move trailingSlashPath convenience function into Utility class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
a93279bcbf
Default to adding existing now big folders to whitelist when undecided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
6682b3ade4
Ensure folder whitelist and blacklist helper methods remove path from other lists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
f9bde98aad
Prevent possible accountsettings crash by sorting blacklist before checking
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
e2535d6ce8
Prevent double notification of folder now big in activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
5f250a5dad
Ensure newly whitelisted or blacklisted paths are removed from undecided list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
7d1fa16a3f
Add activity for existing folder going over set limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
c975d40fb8
Do not create dismiss links for notifications as these are not used anyway
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
12931069c0
Create more than one converted activity link, therby respecting maxactionbuttons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
fe59d4ec79
Ensure whitelist/blacklist procedure removes activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
e985367b5e
Add method to add notification activity in activity list in User
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
10989fa810
Add method to get user pointer in UserModel by AccountState pointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
29cc9c06f9
Handle WHITELIST_FOLDER and BLACKLIST_FOLDER verbs in activitylistmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
7e17e9226b
Add convenience methods to folderman so that classes can add and remove paths from folders without needing to know which folder the path belongs to
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
2bcefd6105
Add methods to Folder so that other classes can easily add folder paths to white/blacklists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
993ee6cb5b
Remove redundant "optional" gui log functions which relly just call gui log under the hood
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
e05cf7665a
Add specific message for existing folders exceeding warning limit in accountsettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
a97bdb95ee
Clean up AccountSettings::refreshSelectiveSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
83b69032ff
Ensure notify big folders checkbox state is changed when parent checkbox changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
e6f5fb6382
Hook up existing folder notification size checkbox in general settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
e8b82115e2
Add a checkbox in UI to obey folder size limit for existing folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00