Commit graph

4050 commits

Author SHA1 Message Date
Claudio Cambra
3254595fa4
Do not emit socketDestroyed twice in FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00
Claudio Cambra
6e84aa67a4
Clean up header for FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00
Claudio Cambra
578e8ea2d9
Clean up FileProviderSocketServer header, remove unnecessary ifdefs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
22fc43e7b0
Improve initialisation of C++ FileProvider class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:46 +08:00
Claudio Cambra
23e623ef0a
Make it possible to disable building file provider module
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:45 +08:00
Claudio Cambra
dbd4de08a7
Add availability guards around private implementation class of FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:36 +08:00
Claudio Cambra
d533d2a025
Do not try to compile code in FileProviderDomainManager requiring FileProvider components on macOS > 11.0
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:36 +08:00
Claudio Cambra
6e5c2ee04c
Do not initialise file provider components if system does not support file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:36 +08:00
Claudio Cambra
19dfbd0539
Add method to detect if File Provider functionality is available or not
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:36 +08:00
Claudio Cambra
017de893f0
Run poll timer for enumerator signalling to notify accounts without push notifications in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:33 +08:00
Claudio Cambra
bb2718824c
Use new convenience method to check if push notifications ready for account in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
4901b0653f
Add convenience method to retrieve registered domain ids in private FileProviderDomainManager class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
9dfa3d76a7
Add some additional converters for domain and account identifiers in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
fd87bffeef
Signal enumerator after reconnecting file provider domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
89d48ec8cc
Submit tasks to do after readding file provider domain as completion blocks
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
002a75bca1
Add completion handler to readdFileProviderDomain method in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
810fa8d1ce
Handle situations where we might not get a manager for our desired domain in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
520e0cf2c6
Add readdFileProviderDomain convenience method to fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:32 +08:00
Claudio Cambra
29f346d494
Ensure that wipeAllFileProviderDomains doesn't break on macOS 11
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
d31a8be85c
Ensure registered domains are added and removed at appropriate times in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:31 +08:00
Claudio Cambra
ed4b40b415
Disconnect and reconnect file provider domains depending on account state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:29 +08:00
Claudio Cambra
178caaa7a8
Allow specifying disconnection of file provider domain message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:29 +08:00
Claudio Cambra
287a4e4c0b
Unauthenticate the file provider extension when account is logged out
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:29 +08:00
Claudio Cambra
6d1fe0b4f7
Do not send account details to File Provider extension through socket controller if account not ready
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:29 +08:00
Claudio Cambra
d6126f477f
Make file provider domain disconnection reason string translatable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
7a18d9df3a
Disconnect the file provider domains when Nextcloud client is closed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
bc3fecfb08
Use asserts to check validity of pointers in private impl of fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
30b453f85e
Use specific functions for creating/converting domain identifiers and account Ids, prevent mismatches
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
712dde0a2f
Prevent removal of FileProvider domains on app shutdown
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
57f174d9e3
Ensure we wait for check for existing file provider domains to finish before rushing into creation of new domains in FileProviderDomainManager
This stops the needless deletion and the recreation of FP domains

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
ddd564bc5c
Ensure file provider domain pointers are correctly retained and released in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
dcf39aa9d0
Ensure FileProvider gets set up after accountmanager has set up accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
85b9e7df03
Modernise Obj-C property notation in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
d528adf345
Sprinkle constness over C++ and Obj-C pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
9b4ba22c46
Use const auto in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
b2d76abf88
Use push notifications to notify file provider of changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
0a258f818b
Use consistent account ID type in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
331ce22e62
Scan for existing file provider domains on FileProviderDomainManager init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
4e9d51e487
Add method to private FileProviderDomainManager to signal enumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
f7f6bffb0b
Stop wiping file provider domains on desktop client close/open
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
2ebd518b89
Use std::unique_ptr for private implementation class of FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
6bfdc10f7a
Use default constructor for private FileProviderDomainManager implementation class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:25 +08:00
Claudio Cambra
2f12d9b2bd
Remove setting connection status from fileproviderdomainmanager, this will be handled by the domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
b154740575
Add ability for FileProviderDomainManager to wipe domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
a046eca3c3
Use safer separator for account details socket message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
1cb7da9bac
Send account details over socket and simplify NextcloudAccount members, turn all to Strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
0b3f06a73f
Add ability for fileprovidersocketcontroller to send keychain account identifier over socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
969ee489e5
Initialise file provider socket controller by requesting file provder domain data over socket from FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
9f2fff3782
Add sendMessage to fileprovidersocketcontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
28a79d4767
Handle readyRead signal from socket in FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
ada4b98a93
Added working socket connection between desktop client local socket server and app extension socket client
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
c5560db690
Make the socket manager just manage the server, leave the socket controller in charge of controlling the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
ffed4d7933
Make fileprovidersocketmanager keep track of connected sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
7fc80bc4eb
Add basic FileProviderSocketController class to control the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
92773e6b77
Rename FileProviderSocketController to FileProviderSocketManager, as it manages the sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
de68b1bbb4
Implement basic local socket server to communicate with file provider extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
8ccd0368a1
Move file provider domain management to specific class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
8ff2c24e8b
Ensure file provider class is correctly deallocated and cleanup routines are run
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
2d27d6d072
Fix build with BUILD_TESTING activated
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
7d119457db
Move file provider components to macOS folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
d10b208655
Set connection status for file provider domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9cb8544501
Add a file provider domain per account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
dcd1628ce8
Ensure file provider domains appear in finder sidebar
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9a86bb2be3
Add file provider init code
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Valdnet
cd69b0d03f
i18n: Word separation
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-05-10 16:53:03 +02:00
Camila San
3bdbed6294 Use addLayout to insert the VFS option when setting account.
- Maintains the space between the layout items when resizing
the window.
- Also remove qobject_cast.

Signed-off-by: Camila San <hello@camila.codes>
2023-05-09 15:27:24 +00:00
alex-z
3be820d9a3 Group folder visibility improvements. Show dropdown in tray window.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-09 12:25:05 +02:00
Claudio Cambra
0ee850009b Correctly migrate accounts that have possible webflow but not correct authtype in settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
bab20a3d83 Use canonical file paths rather than problematic relative config file paths during folder migration in FolderMan
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
081871d792 Set discovered legacy config file path during account migration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
6cd68b8632 Make variables in folderman::setupfoldermigration actually match what they are holding
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
bdc0ebd527 Restore a specific enum from AccountsManager::restore rather than vague boolean
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e56403997b Clean up pointer declaration and use in FolderMan::unescapeAlias
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
7f46084110 Modernise FolderMan::setupFoldersHelper, get rid of more single-letter variables
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
c2da86c653 Modernise code in FolderMan::backwardMigrationSettingsKeys
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e60e1ec3f2 Use const auto, rename unreadable variable names in FolderMan::setupFoldersMigration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
170a6c832d Make folder migration in FolderMan::setupFolders() less unreadable, constify
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
4da074e4cb Attempt sign in when an account state is added in AccountManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 21:35:48 +08:00
Claudio Cambra
385c13e405 Fix setting [undefined] to QFont in 'Sync now' button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 21:18:22 +08:00
Claudio Cambra
396003264c Constify elements for progress bar rect calculation in FolderStatusDelegate::paint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
d31a9ec9ce Use palatable Fusion backup style to correctly draw progress bar in folder settings instead of QCommonStyle
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
ac0d39e219 Use backup QCommonStyle to draw progress bar on macOS to avoid bug in QMacStyle
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
9f5f33c0b2 Make FolderStatusDelegate::paint less horrible to read
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
19732d09b9 Const auto-fy in FolderStatusDelegate::paint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
8cad4b826e Remove unused parameter in GeneralSettings slotUpdateChannelChanged
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
e30188d8e4 Handle conversion from input QComboBox index to update channel string more safely
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
71fde8876e Fix channel string check in general settings' slotUpdateChannelChanged
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
alex-z
90e3a37a20 E2EE. Fix freeze on metadata checksum validation.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-08 11:29:16 +02:00
alex-z
cda8da3e96 Edit locally. Fix crash on _chekTokenJob pointer deref.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-04 10:49:58 +02:00
alex-z
f39a0903c5 Implement missing share settings
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-27 12:54:54 +02:00
alex-z
da6a7d3dac Unlock Office files when they are closed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-25 12:54:37 +02:00
allexzander
8ef21545f5
Merge pull request #5613 from nextcloud/bugfix/sharees-parse-lookup
Parse sharees 'lookup' key to include federated sharees.
2023-04-24 08:37:34 +02:00
Claudio Cambra
348c2536ce Remove unneeded setupFinished signal from EditLocallyJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
401ecd8e3c Ensure errors are emitted and loading dialog destroyed when fatal errors are met during edit locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
e836ff4a12 Provide error when erasing the blacklist error for an item fails during edit locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
6431d66aeb Remove unnecessary signalling response to start edit locally, just start it within the job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
alex-z
3a00c1d43f Edit locally. Elide loading dialog filename label middle.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-20 14:16:07 +02:00
alex-z
6bb0640988 Parse sharees 'lookup' key to include federated sharees.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-18 17:45:42 +02:00
Camila
6a4d6b9c97 Alway add the item at the end of the layout.
Signed-off-by: Camila <hello@camila.codes>
2023-04-12 10:16:47 +02:00
Matthieu Gallien
5cb3266f7f fix compilation with clazy and fully-qualified-moc-types checks enabled
will make all signals and slots be using fully qualified data types

makes code safer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-11 11:34:00 +02:00
alex-z
54c13a560d Edit locally. Restart current folder sync immediately after file opened.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-11 09:50:51 +02:00
Valdnet
1f8239b13f i18n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
Valdnet
8ed69d1e95 i18n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
Valdnet
06b2f2b736 i18n: Add dot
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
alex-z
a428c17c37 Do not display error status and messages when aborting a sync during hydration request in VFS mode.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-06 22:26:35 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
20422f0247 when local sync folder is overriden, respect this choice
may lead to inadvertant data loss, not sure if that could be an issue

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 09:21:48 +02:00
Matthieu Gallien
d2cd4efaaa fix the logic generating the config file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-22 10:17:28 +01:00
Matthieu Gallien
903c475d5a store in config file that we want to enable vfs when generating config
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-22 10:17:28 +01:00
Matthieu Gallien
e0bdbd1387
follow shouldNotify flag to hide notifications when needed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-21 09:10:12 +01:00
alkl58
1e37697152 Show server name in tray main window
Signed-off-by: Alkl58 <alkl58@protonmail.com>
2023-03-10 16:51:22 +01:00
Camila
ec7b5481d4 Fix display of 2FA notification.
Fix for issue #5421: add server notifications to the activities list
when the user needs to act on it.

Signed-off-by: Camila <hello@camila.codes>
2023-03-08 10:53:51 +01:00
Axel Lender
664e0c18ec Resize WebView widget once the loginpage rendered
When the login dialogue displays the login page itself
the WebView widget did not resize according to
the dimensions of the login page.

Signed-off-by: Axel Lender <lender@b1-systems.de>
2023-03-07 09:55:04 +01:00
alex-z
31de652d9b Display 'Search globally' as the last sharees list element
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-03 18:01:05 +01:00
alex-z
b6ba1fe0d6 Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-02 19:29:11 +01:00
Claudio Cambra
2e69a9c59a Move sharesChanged signal emission to handlePlaceholderLinkShare rather than repeating each time this method is called
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
f05e44a24a Don't display the placeholder link share of public link shares are not available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
3560263472 Don't block loading if public link shares are disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
4bbe851da1 Fix text labels in Sync Status component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 23:07:09 +01:00
Claudio Cambra
a0107c43f1 Fetch account avatar info on account action construction, fixing avatar only showing up when action is clicked
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 18:08:29 +01:00
Claudio Cambra
f676979b29 Set placeholder image always as account action icon, as at app start there will not be a valid avatar to use ever
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 18:08:29 +01:00
Matthieu Gallien
01ecb639ab use new connect syntax
mainly done using clazy and old-style-connect check

close #5426

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 09:36:27 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Claudio Cambra
89ebfcae8e Try to initialise share manager again if we receive updated sharing permissions that would have previously prevented sharing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-16 13:06:35 +01:00
Claudio Cambra
2fbdf1be8f Simplify check for file record sharing permission
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-16 13:06:35 +01:00
Claudio Cambra
893adb8280 Remove unused slotDeleteAccount in AccountSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
7084310a9f Remove unused AccountState::writeToSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
69d73d1333 Respond to folder creation at specific creation path on macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
30ce2eab02 Notify when folder is created with full folder path in FolderCreationDialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
89d3022649 Do not search for folder twice
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
6c548145a2 Make sure to manually call folderwatcher when creating new folder from settings menu in macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
1d525911f1
Make ShareModel's accountState and folder pointers QPointers to guard against crashes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-06 12:30:50 +01:00
Claudio Cambra
bf8cb8305e
Create common validCapabilities used by several ShareModel methods checking account capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-06 12:29:35 +01:00
Matthieu Gallien
079d392d36
move init to default value in class declaration
done via clang-tidy and manual tuning

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
76e88572d6
more fixes for attributes without init value
done with clang-tidy

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
ca932fe093
init attributes
discovered at runtime using valgrind

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
b4a8981c03
initialize all variables
done with clang-tidy

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Matthieu Gallien
82b062d2e9
prefer initialization of attribute inline
done with clang-tidy

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

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

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Camila
e533c6047c Update code style.
Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
e0c1c67306 Fix: if the config did not exist, overrideserverurl had no effect.
When the client runs for the first time, setting the value was done before
the config file was created. It had no effect.

Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
3596562101 Do not exit application when overrideserverurl param is a valid url.
Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
9101e0a7f8 Only accept folder setup page if overrideLocalDir is set.
Fix for #5383.

Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
72fe5f643c
By default do not display warning about backups made of the config file.
Use the setting showConfigBackupWarning to change the default value.

Signed-off-by: Camila <hello@camila.codes>
2023-02-01 19:00:40 +01:00
Camila
9ead33ab93
Improve warning message code readability.
Signed-off-by: Camila <hello@camila.codes>
2023-02-01 16:21:25 +01:00
Matthieu Gallien
76af889937
use QVersionNumber to compare versions and improve upgrade warning
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-01 13:28:01 +01:00
Matthieu Gallien
fb062f2dd7
fix wrong detectiion of current config file as a config migration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-01 13:28:01 +01:00
allexzander
810fced476
Merge pull request #5378 from nextcloud/Valdnet-patch-4
l10n: Correct word
2023-01-31 17:06:48 +01:00
Claudio Cambra
dfdc23e240
Fix displaying of file details button for local syncfileitem activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-31 13:03:52 +01:00
Valdnet
bca915a230 l10n: Correct word
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-01-31 12:59:01 +01:00
Camila
a3e08aae3b Address PR comments.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
9a3f2efa58 Fix rename.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
ea903b1316 Backup all config files in the config folder if there was a version change of the client.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
dbce267feb Look for a previous config file with a different name.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
bf258542cd Update code style.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
e68b4595e7 Remove obsolete QDesktopServices::storageLocation.
Use QStandardPaths::writableLocation instead.

Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
b525de8a97 Open calendar notifications in the browser.
Signed-off-by: Camila <hello@camila.codes>
2023-01-27 12:30:01 +00:00
Claudio Cambra
68c785e25c
Revert "Merge pull request #5366 from nextcloud/bugfix/remove-mono-icons-setting"
This reverts commit 5c42da4de5, reversing
changes made to e4b2449030.

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-27 12:23:11 +01:00
alex-z
bb8bdab19c Edit locally. Do not lock if locking is disabled on the server.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-26 17:00:14 +01:00
Matthieu Gallien
07c292eaf5
fix copyright notice of new files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:37 +01:00
Claudio Cambra
4c4e8707da
Improve wording in the case clash resolution dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 16:37:36 +01:00
Claudio Cambra
64e585e5a2
Display both files and some metadata in the case clash conflict resolution dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 16:37:36 +01:00
Claudio Cambra
2359c80c13
Fix case clash dialog sizing issues
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 16:37:36 +01:00
Claudio Cambra
cf6794c180
Clarify letter casing message in case clash conflict dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 16:37:36 +01:00
Claudio Cambra
5908ac4176
Display action button for conflict files in activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 16:37:35 +01:00
Matthieu Gallien
602b8db5e2
handle case clash conflicts in a similar way to content conflicts
introduce a new type of conflict for case clash filename conflicts

add proper handling including a new utility class to solve them and a
new dialog for the user to pick a fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:35 +01:00
Claudio Cambra
0aee2bc2eb
Remove monoIcons-related functionality from theme
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 12:42:47 +01:00
Claudio Cambra
688126c003
Remove mono icons setting from generalsettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 12:32:06 +01:00
Claudio Cambra
6df08af61a
Remove 'Use monochrome icons' checkbox from settings UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-25 12:27:42 +01:00
Claudio Cambra
3e00df4732
Don't shadow rec variable in removeLocalE2eFiles
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
95aa3ee53b
Make encrypted folder paths to delete non-relative when checking if they are encrypted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
4c1a9f787a
Ensure blacklists get updated when removing folder sync
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
d93fc8eb3d
Don't use foreach in Folder::removeLocalE2eFiles
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
alex-z
ad258473c4
Fix issue of e2ee folders not disappearing when disabling the e2e. Properly process blacklisted e2ee folders instead of ignoring them.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
efcd23eb06
Ensure blacklisted e2ee files get deleted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
b333310ffe
Clean up sync termination and restart procedure after file blacklisting done
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
fdaedc4914
Only add root-most encrypted folder to the blacklist
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
7d208ec06e
Make sure to add e2ee files to normal blacklist too
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
093810f6b9
Only shedule affected paths for remote discovery after disabling e2ee
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
1fc1e95161
Use e2ee folder blacklist instead of deleting folders directly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
12b2673ac2
Add test for deleting encrypted files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
c59ab85e22
Make accountstate fakeable for tests
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
b57b35e7a4
Delete E2EE files/folders for accounts that have had E2EE disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
cc6bdc9bd5
Add ability to remove local encryption keys through settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
f9fb03bdc9
Clean up declarations in AccountSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
96cd78264d Fix fetch more unified search result item not being clickable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 12:24:01 +01:00
Claudio Cambra
0ab2bd849b Don't try to lock folders when editing locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 17:46:43 +01:00
Claudio Cambra
c496e73200 Correctly parse account server url when migration from legacy config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 16:29:01 +01:00
Claudio Cambra
174a486428 Stop checking config to migrate at current path if could not read file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 16:29:01 +01:00
Claudio Cambra
39914e5166 More concisely clean paths of trailing slash URLs in restore old config migration method of AccountManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 16:29:01 +01:00
Claudio Cambra
dd4b7b6c26
Update legal notice text
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-23 15:37:56 +01:00
alex-z
d8980a8567 Fix bad string for translation.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-23 13:07:41 +01:00
alex-z
2bd1c272a6 Allow specifying the server force override URL and local sync folder path via command line.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-17 17:27:19 +01:00
Claudio Cambra
481298997c Extract makeResourceUrl lambda into separate static openableUrl method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 18:49:13 +01:00
Claudio Cambra
37830c4bc4 Simplify makeResourceUrl
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 18:49:13 +01:00
Claudio Cambra
92667560ab Fix existing check and completion for relative resource URLs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-06 18:49:13 +01:00
Florian Schmaus
14cbd836ab Drop dependency on Qt Quick Controls 1
Qt Quick Controls 1 where deprecated with Qt 5.11 [1]. Nextcloud still
depends on Quick Controls 1 by importing QtQuick.Dialogs. Removing
those imports will cause the QMl script to use the according API from
Quick Controls 2, which are, fortunately largely API-comptible.

This helps distribution to deprecate and remove Quick Controls 1 [2].

1: https://doc.qt.io/qt-6/qtquickcontrols-changes-qt6.html#migrating-from-qt-quick-controls-1
2: https://bugs.gentoo.org/889772

Signed-off-by: Florian Schmaus <flo@geekplace.eu>
2023-01-06 17:22:56 +01:00
Claudio Cambra
784327f489 Replace now deprecated FSEventStreamScheduleWithRunLoop with FSEventStreamSetDispatchQueue
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-02 18:05:54 +01:00
Claudio Cambra
403f43b3e8 Fix currentPage QPROPERTY missing NOTIFY in settingsdialog class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-02 17:04:30 +01:00
Claudio Cambra
0495c6567a Fix interval QPROPERTY missing NOTIFY in slideshow class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-02 17:04:30 +01:00