Commit graph

8665 commits

Author SHA1 Message Date
Claudio Cambra
7f9a85a3d0
Update Kirigami WheelHandler to upstream v5.99.0
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:13 +01:00
Claudio Cambra
7ba6969e65
Moved all server mocking code for share model test to independent ShareTestUtils file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:10 +01:00
Claudio Cambra
e021f25634
Add a suite of tests for ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Test ShareModel error handling

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Improve testing of user/group shares in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Add testing for maximum share expire date enforcement in ShareModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
77fb0c4808
Filter out sharees that already have active shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
0826e8d6ba
Improve server error handling in the ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
c707dd0ccc
Check for state of file record retrieval in fileactivitylistmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
79c0f3464a
Fix default date parser handling of timezones
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
ff4a4c63a1
Renamed _userStoppedTypingTimer to searchRateLimitingTimer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:09 +01:00
Claudio Cambra
ce53c8439f
Add trailing comma to shareemodel enum
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
639fb21a13
Replace manual index bound checks with calls to checkIndex
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
fb4bb95b91
Perform inactive qquickwindow garbage collection when generating new file detail dialogs, raise existing dialog instead of always deleting
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
d2552ba439
Use auto where possible
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
b7d96781de
Add minimum size to file details window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
121ab38177
Remove default cases in switches, rely on compiler warnings for missed cases
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
31afb02c84
Eliminate unneeded parent Item in FileActivityView
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
0ca927843f
Add early return checks for setter methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:08 +01:00
Claudio Cambra
685a0362fc
Refactor generation of dialogs, remove need for QSharedPointer and reduce use of pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
f97f39375b
Remove Q_REQUIRED_RESULT from method with side-effect where result not always required, and viceversa
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
de0831c297
Use [[nodiscard]] more broadly in methods returning values, and respect it elsewhere
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
ec3c361c89
Show password set errors in the popup where passwords are set rather than in the main dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
d92bc91bdf
Improve share view tab buttons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
eda0328e9c
Change 'Link share' to 'Share link', matching server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
6adefb572a
Improve flat buttons in share delegates
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:07 +01:00
Claudio Cambra
7971789112
Add a file details window/page, QMLify file sharing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-31 18:06:03 +01:00
Matthieu Gallien
1dbdd8853f
add mising namespace
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-31 12:23:52 +01:00
Matthieu Gallien
521054dbf0
use new public API to open an edit locally URL
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-31 10:28:47 +01:00
Claudio Cambra
09997b189f Only show Sync Now button if account is connected
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 15:54:19 +02:00
Claudio Cambra
ff3eab1275 Modernise QString-related construction
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 14:03:58 +02:00
Claudio Cambra
b4be56c267 Add braces to all if statements missing them
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 14:03:58 +02:00
Claudio Cambra
7d05d8471b Expand use of const and auto, improve readability of accountsettings
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-29 14:03:58 +02:00
Claudio Cambra
72e154def1 Rename EditLocallyHandler to EditLocallyJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
ee8b12009a Ensure the checkTokenJob object gets deallocated
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
ae12519dd5 Show edit locally loading dialog sooner, improve feedback for user
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
9f7a699ad9 Refactor edit locally handler management away from application and into own class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
4b6fdcc550 Don't show the user any potenitally questionable remote data
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
9438d3f1c7 Verify token before checking disk or modifying state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
9a00aa6e66 Refactor edit locally into its own class, rather than bolting onto FolderMan
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
224621bb85 Refactor large editFileLocally FolderMan method into smaller, clearer separate methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-29 13:32:48 +02:00
Claudio Cambra
734c986cd1
Use addQueryParams for checkTokenForEditLocally SimpleApiJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-28 12:38:46 +02:00
Claudio Cambra
0b33ce2b40
Make sure to check relPath and compare to canonical cleaned path
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-28 12:38:18 +02:00
Claudio Cambra
0c6127de44
Make sure to encode the relPath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-28 12:38:14 +02:00
Claudio Cambra
8683ee08e7
Validate edit locally token before sending to server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-28 12:37:26 +02:00
Claudio Cambra
16532375da Fix macOS autoupdater settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-27 14:30:33 +02:00
Claudio Cambra
a537df296b
Constexpr settings constant strings, expand use of const and auto, modernise, in accountsmanager
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-26 13:28:24 +02:00
Claudio Cambra
c0baf5c93c Add a 'Sync now' button to the sync status header in the tray window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 19:14:40 +02:00
Claudio Cambra
94b45d6d68 Add forcefoldersync method to folder manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 19:14:40 +02:00
Claudio Cambra
1a6326ed97 Create commonly accessible properties for current user colours in Style.qml
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 19:14:40 +02:00
Claudio Cambra
48359408ea Remove unneeded parameter from CleanupPollsJob constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 16:00:03 +02:00
Claudio Cambra
57f8de9fb6 Make Systray's void methods slots
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-25 12:19:17 +02:00
Claudio Cambra
421f5e723a Clean up methods in sync engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 11:05:46 +02:00
Matthieu Gallien
81f33ef94c emit missing signal to update folder sync status icon
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 16:53:06 +02:00
Matthieu Gallien
b9d4e7045e fix review comments from @allexzander
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
7ffbd95636 fix more sonarcloud issues
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
5e81ab821e fix more issues reported by sonarcloud
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
b19b69df02 remove useless lines: fix review comment
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
cd30d3645e fix review comments from sonarcloud static analyzis
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
8ea75f4967 address review comments from @allexzander
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Matthieu Gallien
1ec7774e2f validate certificate for E2EE against private key
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-24 10:25:41 +02:00
Claudio Cambra
9edc7357f7
Fix call notification dialog buttons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-20 14:11:10 +02:00
Claudio Cambra
0bce17425b
Change unchanging settings strings into constexpr auto in accountmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-19 13:31:50 +02:00
Claudio Cambra
8de5b0ffa5
Use prettyName more widely, instead of duplicating fallback string code
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-19 13:31:48 +02:00
Claudio Cambra
359627007b
Display the user's 'pretty' name in the webflow credentials
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-19 13:31:44 +02:00
Claudio Cambra
29afd9d5f3
Save account's display name in config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-19 13:31:41 +02:00
Claudio Cambra
25ca698ad5
Improve user-related strings in webflow credentials
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-19 13:31:34 +02:00
alex-z
4e2ea9c00c Fix account not found when doing local file editing.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-10-17 14:56:30 +03:00
Camila
b55d71dffe The dismiss button is now a CustomButton component.
Signed-off-by: Camila <hello@camila.codes>
2022-10-17 11:29:23 +00:00
Camila
0624bec007 Fix the dismiss button: display it whenever possible.
Signed-off-by: Camila <hello@camila.codes>
2022-10-17 11:29:23 +00:00
Matthieu Gallien
f9949ee0de
edit locally requires a valid token
check on server that the token received during a request to open a local
file is indeed a valid one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-17 09:02:26 +02:00
Matthieu Gallien
615c02e3d3
makes JsonApiJob share common code with SimpleApiJob
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-17 09:01:36 +02:00
Matthieu Gallien
580f512c94
introduce a very simple network job to do API requests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-17 09:01:36 +02:00
Matthieu Gallien
a36672c1a4 fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-12 12:13:45 +02:00
Matthieu Gallien
146bd44b09 use correct version copmparison on NSIS updater: fix update from rc
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-12 12:13:45 +02:00
Matthieu Gallien
ad10d4bb9c remove support for skipping an update: hard to understand for users
skiping an update is probably there for historical reasons to work
around broken updates in the past

this can lead to users not getting an update they should be getting

this can elad to user confusion and the current user interaction is
broken if you do not go read the settings file with a text editor

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-12 12:13:45 +02:00
Claudio Cambra
924d5df3c4 Fix invisible user status selector button not being checked when user is in Offline mode
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-12 11:50:54 +02:00
Matthieu Gallien
ec1fb6209a improve logs when adding sync errors in activity list of main dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-12 08:25:45 +02:00
Matthieu Gallien
74f35191e0 do not ignore return value
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-11 21:54:38 +02:00
Matthieu Gallien
a096bbd1ff ensure we do not loose data when syncing locked files
fixes #5014

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-11 16:01:58 +02:00
alex-z
564a3ad987 Fix error in logic.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-10-11 09:43:31 +03:00
allexzander
4930531949 Command-line client. Do not trust SSL certificates by default, unlss '--trust' option is set.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-10-11 09:43:31 +03:00
alex-z
7672cb7903 Improve 'Handle local file editing' feature. Add loading popup. Add force sync before opening a file.'
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-10-10 17:13:06 +03:00
allexzander
289a641d74 VFS Windows: Display the sharing state and lock state in the 'Status' column of Windows Explorer
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-10-04 18:32:51 +02:00
Claudio Cambra
2f571337f1 Ensure we are checking lock state without affecting sync behaviour
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
80d0245acb Unschedule previously scheduled sync runs for locked files if it is found the sync run is no longer needed
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
bbbfe3f1c4 More efficiently schedule sync runs for files that need delayed sync runs
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
fd332a52e2 Fix files not unlocking after lock time expired
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Matthieu Gallien
565a5f0999 add [[nodiscard]] attribute via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix
under linux with most part of our code covered

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
Matthieu Gallien
9b7d1add52 apply modernize-use-using via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-using' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 01:32:46 +02:00
Claudio Cambra
c67141430b Fix link shares default expire date being enforced as maximum expire date even when maximum date enforcement is disabled on the server
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-03 22:27:18 +02:00
Matthieu Gallien
ecc588c27a avoid possibly crashing static_cast
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,cppcoreguidelines-pro-type-static-cast-downcast' -fix

this can prevent casting to a type that is unrelated to the real type
and later cause a crash because you go into undefined behavior domain

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-03 10:23:24 +02:00
Matthieu Gallien
0b4128eede
Merge branch 'master' into cleanConfigFileConstants 2022-10-02 15:48:20 +02:00
Matthieu Gallien
3193937e50
use auto
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-auto' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-02 14:56:37 +02:00
Matthieu Gallien
9f1b6c261d alway use constexpr for all text constants
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-02 14:42:01 +02:00
Claudio Cambra
7a1dbcf2fe Don't set up tray context menu on macOS, even if not building app bundle
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-30 21:45:30 +02:00
Claudio Cambra
652c0dcff7 Fix predefined status text formatting
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-30 16:24:36 +02:00
Claudio Cambra
6137fe246e Fix sync progress bar colours in dark mode
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-29 21:55:44 +02:00
Camila
7633cc490d
Fix 'Reply' action primary property.
Primary is set to true when object type is 'room' or 'chat' and it set to
false when object type is 'call'.

Signed-off-by: Camila <hello@camila.codes>
2022-09-29 15:20:56 +02:00
Camila
cbe22d8c1e
Remove unused property.
Signed-off-by: Camila <hello@camila.codes>
2022-09-29 15:17:10 +02:00
Claudio Cambra
9781e896a1 Improve the error box QML component
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-29 12:14:37 +02:00
Claudio Cambra
db861e1ade Make activity action button an actual button, clean up contents
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-28 13:07:08 +02:00
Claudio Cambra
be2c0ddbc8 Ensure placeholder message in emoji picker wraps correctly
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-28 12:33:09 +02:00