Commit graph

9563 commits

Author SHA1 Message Date
Claudio Cambra
74d1629ad9
Extract custom color svg image finding into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:29 +08:00
Claudio Cambra
1284749d70
Simplify findSvgFilePath, define result value on definition
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:28 +08:00
Claudio Cambra
9df47cf1cc
Simplify loop to write bytes to password
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
4c8007e461
Use std::array to store hash bytes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
b404f1a546
Replace use of std::rand with improved C++11 random
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
f9ded784b5
Guarantee that the generated password for share will have all the types of characters needed to pass server check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
32acf504cb
Simplify password generation in sharemodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
c4d1bdf46f
Generate better passwords for shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:27 +08:00
Claudio Cambra
d0e8e67c72
Track invalid input in ShareDetailsPage expireDateSpinBoxTextField
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:30 +08:00
Claudio Cambra
00ec93f031
Add ability for NCInputTextField to display red border when invalid input provided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
da7d8c1f0a
Ensure the text for the expire date spin box is updated even in situations when the expire date is forced back down to the same one being currently held
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
aaeaad9918
Make sure to imperatively set text for spinbox textfield after user breaks binding by editing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
e84a5dcb5f
Rename "moreMenu" ColumnLayout to "scrollContentsColumn" in ShareView, stop treating like menu which it used to be
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Dries Mys
9256417612 Create placeholder while dehydrating if needed
When replacing an OnlineOnly file by another one, the file maintains it
OnlineOnly pin state, but it is converted to a regular file. So, the
dehydration should convert the regular file to a (dehydrated)
placeholder instead of trying to update the (non-existing) placeholder.

Closes #4274

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 15:07:46 +02:00
Dries Mys
55f27cdb96 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Dries Mys
e9aa97682c Remove warning when querying pin state on non-placeholder file
F.ex. Folder::slotWatchedPathChanged calls this function on non-
placeholder files to check if the ignored file is already assigned an
Excluded pin state. Note that it is allowed to set the pin state to
Excluded on non-placeholder files.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Dries Mys
76376aa052 Set VFS PinState to Excluded for ignored files.
Setting PinState to Excluded ensures the syncing icon is not shown for ignored items.
If the PinState is not set to Excluded, also all parent directories are shown as being synced, which is very inconvenient for the end user as it seems that some folder are never fully synced by Nextcloud which isn't the case.
As long as .lnk files are not converted to placeholder files, also set them to Excluded to hide the syncing icon.

Closes #5524
Closes #5594

Co-authored-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Claudio Cambra
d6125ca3a1 Swap folder nullness assert for return
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
c1b2e07e8c Compress share page tab button width and height when sharing API is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
bccdb0e8f7 Make swipeIndex properties readonly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
98ec8ff302 Fix background of tabbar in file details page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
3fda519050 Do not handle setting page to sharing page if sharing not available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
ea5397865d Do not display sharing entry if sharing is not available on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
4bcff7d991 Set sharingAvailable property in FileDetails from Folder account capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
38d82dfb5f Add sharingAvailable property to FileDetails class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
tomdereub
39e59a1c79 windows reserved word silently excluded - csync exclude.cpp
Proposal to solve https://github.com/nextcloud/desktop/issues/3826, by excluding silently windows reserved word like $RECYCLE.BIN.

Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
alex-z
6ea828936f
Fix crash in _finalList removal loop. Fix incorrect implementation of seen chat notifications removal. Improved notifications fetch code to avoid multiple calls from different threads.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-18 09:57:13 +02:00
alex-z
71f1d1aad4 Added new state and new job to check if /index.php/204 is being redirected.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-17 11:31:15 +02:00
Matthieu Gallien
bc28bc43c3 set read only/read file on the newly downloaded file
will fix behavior on windows by properly setting the new temp file just
downloaded have the proper state (read only or read/write) and not the
already existing file that will be replaced by the newly odwnloaded one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:34 +02:00
Matthieu Gallien
845c66666e fix failing tests by using FileSystem::setFileReadOnlyWeak
we try to preserve complex existing permissions unless the client is
required to change them significantly

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:31 +02:00
Matthieu Gallien
0039ffd7da always propagate locked status to read-only or read/write for real file
make sure that a file locked that would not be modifiable by the
current client is read-only on storage

also make sure we make a file read/write when modification can happen
again

Close #5537

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:41:46 +02:00
Matthieu Gallien
8cd1a30c40 fix bulk upload of empty files
force an empty body when we bulk upload empty files

force a "valid" checksum to be computed for empty files as bulk upload
server side expects a checksum even for empty files

Close #5824

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-10 10:38:39 +02:00
alex-z
b56200e0d7 Remove seen Talk notificatios from Tray window.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-06 09:15:26 +02:00
Matthieu Gallien
10cac0f46f fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
0b3d67437a improve logs of e2ee such that errors are easy to see
removed some internal debug logs that should not be needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1712f98b3c make sure to pass shared pointer by const ref when possible
avoid unnecessary copies of shared pointers

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
af1162804a make sure we clean only what is needed if e2ee is disabled
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
b9761a23fe tidy code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
fad55470d5 ensure e2ee can be disabled from client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
ad34de1622 make sure e2ee init is either fully done or not at all
make sure that we have only two cases:
1) keys are stored on the server and the client
2) keys are stored on the server and not yet on the client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
bef5d1a893 if keys are not on server, also delete local keys
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
c8e5ac7b5f fix upload of private key when initializing the end-to-end encryption
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
3a0e0f2097 can now generate the CSR again if the first try to upload failed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
50234c5859 try to resend the public key if it is not on server but on local storage
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
d3b583d967 improvement to be able to retry the e2ee init steps
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
17484cd69f finish local save of keys and upload them to server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1b7c16e8ff solve memory mismanagement of object life time
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1cb632234c e2ee init rework
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
15f3e2acae backup private key early
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
da8fa7bfa7 prevent crash by resetting common pointer after deleting gobject menu
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 10:19:59 +02:00
Matthieu Gallien
033a37e7d1 remove wrong code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
0e002f35f4 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
431ccfec5a ActivityListModel now keeps track of the account connection state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
8cf778ba94 declare state property in AccountState
should make it more logic to find the property when needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Dimitri Papadopoulos
fa96e0d31a Fix typos found by codespell
These change actual variable names.

Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
Dimitri Papadopoulos
9d830e94f9 Fix typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
alex-z
7e5031d75d Implemented a class ChecksumCalculator to allow stopping the checksum calculation thread on parent destruction.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-20 11:44:07 +02:00
alex-z
e6f003b00b Remove stale caseclash conflicts when one of conflicting files has been removed from server
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-15 10:13:22 +02:00
alex-z
bd37b711fe Fix clang compile error.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-14 15:01:43 +02:00
allexzander
63470c0e21 Correctly handle errors for unsupported filenames on the server. Allow user to rename those via dialog.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2023-06-14 12:48:56 +02:00
Matthieu Gallien
dddbe9193d
rotate logs based on the lines count instead of teh file size
will omit querying teh file size repeatedly (and not cost free)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
bfaa59e6ca
less info logs during discovery
those log lines mostly duplicate info we already have at info level

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
8c842ca0fa
enable "Processing" log lines again but with some removed data
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
257bebb790
avoid info level for new entries in ActivityListModel
should also decrease the number of log lines during heavy sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
516649334f
by default hide most discovery log traces
will make the logs much less usefull by default

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
40b1987287
downgrade some log lines to be less verbose
those log lines can easily be skipped from info level as they are needed
in very rare occasion

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
8bd69ad941
fully hide some logs from release builds
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
360fd93397 rotate the logs less often (around every 3 MB of compressed logs)
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-09 16:24:20 +02:00
Claudio Cambra
d986b47a21 Fix reply button visibility after reply field opened and reply text sent
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-09 08:34:45 +02:00
Claudio Cambra
beb651fb05 Fix colouring of NCRadioButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-08 18:05:42 +02:00
Matthieu Gallien
91ea14d49e addd a cmake option to enable single account desktop client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-08 11:11:47 +02:00
alex-z
cc65f89d4c Fix UnifiedSearch text field placeholder text color for light and dark theme.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-08 09:00:48 +02:00
Matthieu Gallien
fe748fafa5 use a better user message for network errors
tell users this is a network error and the client wll retry
automatically

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
Matthieu Gallien
5372276779 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
Matthieu Gallien
6b18fd9d69
declare ErrorCategory enum class and declare its metatype
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 12:48:20 +02:00
Matthieu Gallien
34dde88f0e
display subject when we have sync issues like network errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 12:48:05 +02:00
alex-z
fd69e6daca Bugfix. Conflict resolution button not clickable.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-07 10:56:32 +02:00
Matthieu Gallien
5a86446f91
do not log twice in debug mode
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:19 +02:00
Matthieu Gallien
a34bac35b7
rotate log files every 3 MBs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:18 +02:00
Matthieu Gallien
b28e635368
by default disable debug log level
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:15 +02:00
Claudio Cambra
fe427364c2 Fix progress bar palette
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-06-06 22:13:26 +08:00
Matthieu Gallien
47a7a267ea
fix build on windows by adding missing archive name properties on libs
the archive output name is used on windows but was never set for 2
libraries

with this they will have a proper name matching other components of the
shared library

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-31 15:45:09 +02:00
Claudio Cambra
be84b2cf09
Use Style constants for UnifiedSearchInputContainer measurements
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 15:47:45 +08:00
Claudio Cambra
ca64951a6c
Fix switching from dark/light mode for checkboxes in file details window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 15:36:07 +08:00
Claudio Cambra
27f5d826bb
Fix faulty dark/light mode switching in UnifiedSearchInputContainer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-31 14:02:33 +08:00
Claudio Cambra
43a21717fa Fix macOS build when file provider module build is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 11:11:08 +02:00
Claudio Cambra
4c096a885c Declare hoverEnabled: true explicitly in CustomButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97cf9390fa Fix highlight in activity list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
1dc83bfbd3 Fix caret colour in basic combo box
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
24e6435289 Remove unnecessary background components
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
d195922d17 Always use palette colours for colouring UI elements
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
46f54891e4 Define all QML windows as ApplicationWindows, define palettes here
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
10560f8b03 Fix contentwidth of dialogbuttonbox in ShareDetailsPage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
1aa4cd0dc5 Fix dark mode in ResolveConflictsDialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
de7697d6c7 Fix outline for progress bar in fusion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c2c3484306 Fix checkbox palettes in share details
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
313592645d Unify small icon sizes in file details components
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
fef9f3b643 Fix dark mode switching issues with main tray window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
cde52f03fa Fix large number of warnings related to unavailable property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c18fba6366 Fix image sizing and positioning in NCButtonContents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
6237898b73 Add darker hover to make hovering on an item within an item with lightHover visible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
3145f9cf83 Respect icon.height and width in custom button contents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
93efd2fb78 Respect icon.height and width in custom button contents
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
ea43ebfe91 Limit the max height of images inside CustomButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97904d3b20 Simplify and fix activity content layout by going back to using RowLayout instead of Item
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
c37e077dac Use standard size instead of unncessary additional value
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
659ccc3f07 Fix text lines, don't leave only one line
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
95a8ecf013 Move filedetails button to activity top row
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
03631bb659 Fix more button icon when in dark mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a106454b34 Use custombutton with filedetails button to make it not look horrible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
a0909cea60 Hide second subject line in activity when nothing is visible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
39b5e7653c Fix alignment of main subject line with time line in activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Claudio Cambra
97c33d396c Use custombutton for dismiss button, give hover feedback
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-30 10:00:10 +02:00
Matthieu Gallien
ad503d9fe3 ensure that the file to test monitoring is hidden
we create a file inside the sync folder to test file system monitoring

ensure this file is hidden (i.e. has the proper hidden property)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-25 08:25:56 +02:00
Matthieu Gallien
0ba16229c5 align activity text with "Sync now" text
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-23 11:15:56 +02:00
Claudio Cambra
bc64e990ce Fix colour of downward caret in tray folders button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-22 09:58:07 +02:00
Claudio Cambra
623190c620 Fix colour of icon for tray folders button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-22 09:58:07 +02:00
Matthieu Gallien
1accd60b86
just use padding to ensure a good width for "Sync now" button
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:11 +02:00
Matthieu Gallien
ce9540a252
do not color file details 3 dots button
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:11 +02:00
Matthieu Gallien
607d0da672
use a much more compact layout for activities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
9dd5cc35f8
use a more compact format to display date of activities
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
ddeb629157
always enable entries in activity list to have consistent look and feel
disable items will have weird look and behavior

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
39c70c1f22
make highlight indicator in activity list have rounded corners
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
f8feb6403f
to dismiss an activity use a round button with hover enabled
change size of dismiss button for items in activity list

fix #5275

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:10 +02:00
Matthieu Gallien
4c1ab7092b
use Fusion qml style
allows use of more standard qml styling and components

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
7d03007fa8
use standard and existing property to set icon url in buttons
replace custom property imageSource by the use of the standard
icon.source

will make our code closer to Qt Quick Controls v2 and less our own
controls toolkit

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
e69a544b71
improve again qml bindings to notifications data
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
98ec08097b
make the API easier to read
make a protected method overriding a public method be a public method
also

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
0d2742d88a
provide the full OCC::Activity instance to ActivityItemContent
should allow accessing the required properties of teh activity to fine
tune the display of it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
f51af1734d
expose some properties of OCC::Activity gadget class
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
ce69856bfa
improve qml binding for more element of OCC::Activity
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:09 +02:00
Matthieu Gallien
10f9ef5cd5
to store subjectRichParameters use a QVariantMap that is qml friendly
will make it much easier to access fom qml in order to use the data
inside to improve activity list items

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
bc9b7a05f4
repay some desbt in ActivityListModel::data
only valid index are sent to QAbstractItemModel::data

we may want to do more checks in debug mode, let's do it

if we are going to show data, let's use a const variable to contain the
current activity item

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
9a90f15ceb
remove scary warning that is a false alarm
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
ad868daebe
remove custom property to set a source model in a sort proxy model
custom property for source model is not needed

remove code that is not needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
32ee1a962f
remove custom property and use standard sourceModel for our proxy model
a QSortFilterProxyModel will trigger a new sort whenever needed, so
custom code is not needed

we might have someone that would use the standard property and loose teh
side effects of setting the source model via thet non standard property

this makes it more complicated to read as one might wonder why a custom
property was needed

deletes a bunch of code not really needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
9bbabd3baa
prevent a 0 size to assert when creating icon from svg
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
d6d1a6dcd2
fix a few debug logs to use proper categorized logging
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:08 +02:00
Matthieu Gallien
dc66a1254d
add missing copyright notices and upgrade qml module imports
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 18:16:07 +02:00
Matthieu Gallien
6c7f810095 improve code in activity list model
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8f60518d6f small qml cleanup to make code faster to read
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
14bce6fdc2 improve reliability of memeory management when creating conflicts dialog
use more automatyed memory management to reduce possible errors

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
5349395063 model improvements
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8d81257db0 improve translations for strings with placeholder to display numbers
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
b285b89605 define minimum sizes of conflict dialogs in Style component
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
635b1ec729 define constants specific for font sizes in conflict dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
31e4dede62 refactor common parts of conflict delegate into a separate component
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
230e2de23a solve multiple conflicts from choose resolution
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
739c56c04a allow selecting conflict resolutions for many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8d52d4e4cc implement more feedback
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
fa135a4228 ensure the URL to mimetype icons are correct
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
382a58c6bd allow the conflicts dialog to close
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
2e501f0c75 add some margins at bottom of items in conflicts list view
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
6efa9f81be prevent close of conflicts dialog on focus lost
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
779cc3a75b display icons for files when solving many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
789ca7230a plug models into the dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
f799d8c697 tune the pipes to really get a dialog to show for many conflicts
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
c118958d3d do not show many conflicts dialog for a single conflict
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
72b78c9011 replace "Sync now" button by "Solve all conflicts" for many conflicts
offer an easy way to open a dialog to solve all conflicts at once
replacing the "Sync now" button

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
280094b220 model: first step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
8f61d539da replace "OK" button by "Resolve conflicts" to help users
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
4bd93e39d6 more qml feedback
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
396accd208 feedback from design review
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
1491c134c3 basic implementation of a dialog to resolve conflicts as a batch
will allow solving all conflicts at once

FIX #2786

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Matthieu Gallien
7b4245a3c3 fix #include header style
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-17 08:43:54 +02:00
Claudio Cambra
3dd838d28d Rename forcelegacyimport option to clearer forcelegacyconfigimport
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
b864bef2e8 Add application argument to force import of legacy accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
c8f8c9cd2c Don't ask user whether to import legacy account configs if forcing legacy import
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
e43f627c9f Add forceLegacyImport property to accountmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
efce1b6abf Declare void setters and methods in accountmanager as slots
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
c3fda69e33 Place signals and slots for accountmanager in line with how this is done in other classes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
6eb2fd1cc0 Notify result of attempted account import with messagebox
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
fba808103c Ask before attempting to import legacy accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:23:43 +08:00
Claudio Cambra
a9375c4d64 Animate copy share link button in share delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
0419e29395 Also customise appearance of copy button in sharedelegate when clicked
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
191d8350c1 Replace use of magic numbers for animation durations in copy share link button with constants defined in Style.qml
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
4e12bbf3e4 Smoothly animate change of state for copy share link button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
7db143469a Reset state of copy share link button after 3 seconds
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
Claudio Cambra
c345b22bf2 Upon copying share link, trigger a change in the button to make copy action completed obvious
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 21:16:11 +08:00
allexzander
79c0fdc9f6
Merge pull request #5686 from nextcloud/bugfix/edit-locally-allow-opening-item-in-root
Allow opening a file or folder in the local sync root.
2023-05-16 13:33:33 +02:00
alex-z
81ecba8daa Allow opening a file or folder in the local sync root.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-16 12:33:34 +02:00
Claudio Cambra
b440e3011d Display tooltip showing names of overflowing tags in FileDetailsPage's overflow tag
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
30830b44cc Add overflow tag string property to filetagmodel which stringifies omitted tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
1bab57b176 Notify change in tags when maxTags set in filetagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
b79a038d92 Add support for system tags in filetagmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
045541d323 Implement support for system tags in propfindjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

fix
2023-05-16 18:23:33 +08:00
Claudio Cambra
bfb720fc35 Extract propfind tag xml node processing into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
29c17132e9 Properly parse tags in propfind request
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
b5cc4b41ce Extract propfind result data processing into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
6e9fed0198 Clean up includes in networkjobs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

fix for header fix
2023-05-16 18:23:33 +08:00
Claudio Cambra
a386d8f008 Do not use magic string for propfind prop element tag name
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
9324fe0d78 Use constexpr in networkjobs notModifiedStatusCode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
43bcecdeb0 Simplify Propfind XML parsing using QDomDocument instead of complex QXmlStreamReader-based parsing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
06b3dc9cc8 Modernise PropfindJob with new for and const auto
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
e2bd9e69e1 Fix layout of tags with differing sizes and oversized tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
65e7f6da9c Simplify file tag model updating in filedetails, only require folder pointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
cb8cab6f41 Display filetags in file details window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
a3fc467cf0 Simplify FileTag component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
791eb87afc Instantiate FileTagModel in FileDetails
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
c6d29e7d77 Add ability to limit maximum amount of tags displayed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
213e3743e1 Expose account and serverRelativePath of FileTagModel as QPROPERTYs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
49b5fb32f9 Implement FileTagModel QAbstractListModel methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
9cc241bf96 Add capability for FileTagModel to fetch tags
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
84c8392491 Get account and relativeserverpath in constructor for FileTagModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
f763bd00fb Add a FileTagModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
0bdab1ee58 Add FileTag QML component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Camila
d6db8fcbd6 Add a dismiss link for notifications without it.
- Fix for #5606 and #5585.
- That is how it is done in the server and other clients.
- Update tests.

Signed-off-by: Camila <hello@camila.codes>
2023-05-16 11:17:37 +02:00
Claudio Cambra
49bb5a005c Modernise BandwidthManager::absoluteLimitTimerExpired
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
23890b7d4c Use modern for loop in BandwidthManager::relativeDownloadDelayTimerExpired
getFileJobSigned-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
dbdce45797 Bring improvements of new cpp to BandwidthManager::relativeDownloadMeasuringTimerExpired
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
350fa72478 Modernise and improve readability of BandwidthManager::relativeUploadDelayTimerExpired
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
c8e78673c9 Modernise BandwidthManager::relativeUploadMeasuringTimerExpired with const auto, readability, etc
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
a547f55f2f Fix deadlock when using putmultifilejob with rate limits enabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
f28a1a368e Modernise BandwidthManager::switchingTimerExpired
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
7d763fa6bc Log if PutMultiFileJob oneDevice has error
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
651615ce94 Do not close putmultifilejob devices if not open, log when they are not open
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
35b05fca85 Increase logging around emission of putmultifilejobs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
811a4036cb Don't bother creating a unique ptr for computeChecksum as we never use the guarded ptr 2023-05-15 20:46:21 +08:00
Claudio Cambra
afddc1bca0 Improve general readability of bulkpropagatorjob.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
98b8fde2f0 Remove unnecessary double declaration of namespace in bulkpropagatorjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
4375a24f0f Clean up and const autofy BulkPropagatorJob::scheduleSelfOrChild
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
37cf71a9a7 Don't bother creating a unique ptr for PutMultiFileJob as we never use the guarded ptr
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
311dcf29c6 Clean up putmultifilejob class definition
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-15 20:46:21 +08:00
Claudio Cambra
23855a128b
Do not exclude file provider config entries from compile on non-macOS platforms
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:40 +08:00
Claudio Cambra
246347f88a
Do not initialise file provider module if not enabled in config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
ab070fc7c2
Add config entry for file provider module enabling
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:39 +08:00
Claudio Cambra
3d6acb5371
Use consistent if defined in application.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
2c3fa71405
Rename FileProviderDomainManager::Private to FileProviderDomainManager::MacImplementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
f37e7cc3b6
Remove readdFileProviderDomain hack in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 16:02:38 +08:00
Claudio Cambra
9fff10fd5d
Do not use QSharedPointer to store FileProviderSocketControllers, use QPointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:29:54 +08:00
Claudio Cambra
4327b152fb
Move accountStateFromFileProviderDomainIdentifier to FileProviderDomainManager where we have methods to guarantee conversion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00
Claudio Cambra
95c6e7a3f4
Add informative messages after Q_ASSERTs for sockets in FileProviderSocketController for release mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:28:47 +08:00
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
be4b8066c3 Add static discoveredLegacyConfigPath member to configfile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e128e321f2 Remove unused private static members of ConfigFile
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
09d71b6a1d Replace validUpdateChannel anonymous namespace function with validUpdateChannels QSet
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +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
38133a165f Prevent returning a bad update channel from config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
5bcb69eaf9 Guard against setting bad channels in config
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
77f59c26d3 Remove some SQL debug logs to unclutter the output.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-04 14:42:10 +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
xavi-b
5113802daf Fix MacOS UTF-8 normalization issue
Signed-off-by: xavi-b <developer@xavi-b.fr>
2023-04-24 00:52:17 +08: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
Matthieu Gallien
9c8b624ef7 protect all access to shared data by mutexes
separate public methods that must lock and private methods that must not
lock

will avoid deadlock or unprotected accesses

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-21 10:32:43 +02:00
Matthieu Gallien
c2d72109b6 protext all access to _logstream with the existing mutex
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-21 10:32:43 +02:00
Claudio Cambra
1f1d9d6dba Ensure we are making all file modifications under mutex protection
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-21 10:32:43 +02:00
Claudio Cambra
711359ef43 Ensure we are closing current log file before entering next log file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-21 10:32:43 +02: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
Matthieu Gallien
94869783d3 allow to read v1.2 from buggy v3.8.0 client
will consider v1.2 stored encryption status in DB to be equivalent to v1
due to bugs in the v3.8.0 release

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Matthieu Gallien
7118fc4650 use a better name for encryption status attributes
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Matthieu Gallien
619607b054 properly preserve the format of e2ee metadata during DB operations
before this patch we may put the e2ee version format to v1.2 when it was
not the case

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +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
Claudio Cambra
eed5ca17bd Enter next log file if the current log file is larger than 512 KB when writing log line
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-11 23:10:03 +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
Matthieu Gallien
a852eda937 in case server has no private key, let e2ee init fail
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-07 16:08:23 +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