Commit Graph

216 Commits

Author SHA1 Message Date
Rello
1ec8fe63ac Change qCDebug error logs to qCWarning 2025-06-05 09:24:32 +02:00
Andy Scherzinger
130668c3b9
docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-04-29 09:00:19 +02:00
Pablo Ariño Muñoz
71e4de1503 Added more std::as_const and replaced types for auto, as well as other suggestions
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
44f9aacda8 removed redundant qAsConst
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
fc28fe95bb Replaced foreach with range loops
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Integral
356e4f9296 refactor: replace QString() with QStringLiteral() for better performance
Signed-off-by: Integral <integral@member.fsf.org>
2025-01-31 15:11:02 +01:00
Joshua Noeske
80b6d0e961 Make extraction of ETag header independent of capitalisation.
Fixes #7703.

Signed-off-by: Joshua Noeske <git@joshuanoeske.de>
2025-01-07 09:38:12 +01:00
Claudio Cambra
b2a70435c8 Use QDomDocument content method returning ParseResult
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use ParseResult returning QDomDocument setContent

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

f parseresult

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Matthieu Gallien
b63c88e492 add missing QStringLiteral
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
alex-z
5cdeba8061 Bugfix. Random crash in LsColJob after recent changes.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-30 09:34:29 +01:00
alex-z
e9a0dbd16c Allow event processing between each XML parser run, to improve GUI performance.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 18:32:01 +01:00
Micke Nordin
42012a0efb Apply suggestions from code review
Formatting fixes

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

forceLoginV2=true

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

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

Signed-off-by: Micke Nordin <kano@sunet.se>
2024-01-19 11:03:36 +01:00
alex-z
4b0e1b57eb Prevent issues when changing the enum.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
5b54b13a97 Iteration. Properly process server reply.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
Matthieu Gallien
a46bc8e8b0 fix mising emit keyword in two places when emitting a signal
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Claudio Cambra
6cf04d660b Remove OAuth authentication method as it is now unused
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-19 14:58:17 +08:00
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
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
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
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
Claudio Cambra
ce57d3b3ab Declare all QRegularExpressions statically
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-20 18:38:24 +01:00
alex-z
b673ab996e Edit locally job will only sync a specific file by modifying the state of the Sync Engine. All other running syncs will get terminated. Syncing is now optimized to run faster and it checks if the file has changed on the server before syncing it.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-06 09:37:03 +01: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
Claudio Cambra
2b3efbfb2a Accept valid lsColJob reply XML content types
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-12 13:57:31 +02:00
alex-z
514f72f975 Use proper online status for user ('dnd', 'online', 'invisible', etc.) to enable or disable desktop notifications.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 10:47:05 +03:00
alex-z
225753a8c0 Refactor DeleteJob and DeleteApiJob to use SimpleFileJob.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
190d278fd4 Checksum validation PropagateDownload unit tests.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
b7be10f712 Ask server to recalculate checksum on validatin failure.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-01-11 13:37:09 +00:00
alex-z
c52718c104 Replace deprecated QRegExp with QRegularExpression.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-02 08:54:06 +00:00
alex-z
1b8448402a Fix JsonApiJob incorrect 'statuscode' parsing.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-25 14:45:05 +03:00
Felix Weilbach
24f6bc5203 Only use basic authentication if needed
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-18 12:20:20 +02:00
Felix Weilbach
8a8d488454 Add dialog to set user status
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-09 11:18:22 +02:00
Hannah von Reth
5b457a1663 Use byte array for etag 2021-08-23 09:44:33 +02:00
Hannah von Reth
d16befd1fd Align MkColJob finish signal with the other jobs 2021-08-23 09:40:27 +02:00
Felix Weilbach
3e61bdc431 Use dav instead of webdav
Fixes #3342

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-16 12:42:02 +00:00
Felix Weilbach
8376b99ec5 Allow to compile without QWebEngine
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Camila
d9a0778e52
Add UserStatus enum with the pre defined status.
- User QHash to map status strings and Status enum.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:41:31 +01:00
Camila
974e2fb718
Do not display notifications when user status is do not disturb.
- This information is retrieved from the notifications endpoint.
- Add icons for the different pre defined status.
- Make functions available to QML to decide which status icon to display.
- Display the user status icon on the avatar and
move the online/offline connection status to the folder icon.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:40:05 +01:00
Felix Weilbach
c0f09ae12c Don't check against product name if checking server version
We should not rely on the product name because it is something the
user can change in the theming options on the server.

Fixes #3001

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-16 14:30:56 +00:00
Kevin Ottens
a6bcd3af46 Force basic auth on get authentication required error
If the get job got an authentication required error on the account url
(not davUrl! at that stage we always get auth error there), then it is
safe to assume basic auth is used on the server. It is then kind of
pointless to use any other auth mode they will necessarily fail. Only
basic auth will do the job so force it.

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00