Commit Graph

10802 Commits

Author SHA1 Message Date
Matthieu Gallien
7aa76f57eb remove costly availability check that is never used
we never read the value computed

computing it means a recursive visit of the whole folder hierarchy which
could be taking a long time

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 13:53:29 +02:00
Matthieu Gallien
31b10e519c better error message for user when deleting local items
we might be displaying too technical errors that the user will have no
way to understand

for example on macOS, we might be getting:
Unknown error: 513

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
b97f7eb84c when deleting a folder starts by making it read-write permissions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
bf1a13913a we must not use QFile::remove that may fail on windows read-only files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
69599b010f if we are going to need modified permissions: always change
we might need to change the permissions, so do it instead of trying to
be smart

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
1b2db61ce4 do not change permissions of invalid items on discovery
if we are going to delete those items, we will make them have the proper
permissions when we need

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
a0136117ca always make the file we try to delete be read-write as required
on windows you must only delete read-write files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:38 +00:00
Matthieu Gallien
85e31029f7 Qt 6.8 requires macSO 12 or higher: no need to compile against older
clean up preprocessor directives for older macOS releases that are not
supported by macOS minimum required release from the Qt 6.8 release we
require

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 10:53:37 +00:00
Jyrki Gadinger
cefb1d061e fix(gui): remove ignored file notifications from Activity list
These are informative notifications without any need/possibility to act
on immediately -- if a file is not synced it will be visible from the
shell integration anyway.

An eventual follow-up to this change would be to have a dialogue with an
overview of all files that were ignored (including the entry in the
ignore list that caused a specific file to be ignored).

Closes #6712

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-04-04 13:03:11 +00:00
Claudio Cambra
e91a0c181c gui/macOS: Properly retain/release NSFileProviderManager(s)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
de082e05f3 gui/macOS: Avoid need to retain/release things in file provider edit locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
90a66f5a5d gui/macOS: Avoid crash from bad manager release
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
3df4cece3a gui/macOS: Avoid retain call on extensionNcAccount by allocing new string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
1b296b4afc gui/macOS: Improve overall memory management in XPCUtils::getDomainManagers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
5f9f3c31c0 gui/macOS: Do not leak debug log string after use
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
44fc083fed gui/macOS: Use explicit type in connections array arg
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
6eca65b888 gui/macOS: Correctly release objects received via FileProviderUtils functions
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
1b56f2e38a gui/macOS: Properly wait for eviction result in materialised items model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
d97b5b5711 gui/macOS: Do not leak local url and error objects in edit locally job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
ebf48b0497 gui/macOS: Correctly retain/release manager and domain in sync status object
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
c2f5acab82 gui/macOS: Constify some Obj-C pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
46679e84c3 gui/macOS: Avoid unnecessary retain on alloced objects
Fixes leaks

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Claudio Cambra
548524dd09 gui/macOS: Avoid leaking objc objects added to arrays and dicts
The array/dict will retain them

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-27 14:16:05 +00:00
Jyrki Gadinger
d9b6148758 set CFBundleDevelopmentRegion to "en" and set CFBundleAllowMixedLocalizations
according to [1] the value should be a ISO 639-1 code, so let's correct
it

`CFBundleAllowMixedLocalizations` is the most interesting one: with this
being set the reported QLocale will no longer be English as well

(this also bumps the version info to 2025 :D)

[1]: https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundledevelopmentregion

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-26 17:27:39 +00:00
Jyrki Gadinger
b1e1f6f0e8 gui/tray: change the status icon background colour again
As discussed, it's supposed to be the same colour as the header
background indeed...

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-26 15:21:30 +00:00
Claudio Cambra
3280ea27ac gui/macOS: Correctly release download/upload progress observers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-26 11:46:53 +00:00
Claudio Cambra
67dcca0adb gui/macOS: Ensure file provider domain progress instances are correctly retained
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-26 11:46:53 +00:00
Claudio Cambra
59e3371cda gui/macOS: Do not assume accountState will always be valid
When removing an account this can change

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-25 11:12:23 +00:00
Claudio Cambra
b4bff5c5b7 gui/macOS: Constify methods in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-25 11:12:22 +00:00
Jyrki Gadinger
8502777f55 fix Windows build
`cl` didn't quite like it:

```
error C2445: result type of conditional expression is ambiguous: types 'QByteArray' and 'const char [1]' can be converted to multiple common types
```

just changing the `auto` to `QByteArray` results in the same compile error

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-24 09:43:04 +00:00
Matthieu Gallien
2a2e74a50a use standard way to find the checkum type and really send it to server
will fix missing checksum for bulk upload

will ensure consistent behavior between bulk upload, plain old upload
and chunked upload

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-20 13:45:45 +00:00
Matthieu Gallien
21bb16d5f1 use a better and shorter title for input dialog for PIN code
we have to make sure the title is short and easy to understand

if it is too long, it will be truncated giving a bad experience for the
user

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-20 08:14:49 +00:00
Matthieu Gallien
a52eee9e63 try to force the highlight to not be too bright
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-19 13:11:16 +00:00
Jyrki Gadinger
992ca67528 align status icon display with e.g. Talk more
- status icons have now a white background/border
- "Invisible"/"Offline" icons are now hidden
- UserModel.status property is now available in QML too when needed

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-19 12:10:47 +00:00
Jyrki Gadinger
fa6e4efbd9 use colour from Style instead of palette for icons
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-19 12:10:47 +00:00
Jyrki Gadinger
fa5d3bc2f6 explicitly set colours for header items
the _Universal_ theme notably sets [`icon.color` on `Button`s][0] and
also the [`color` on `Label`s][1], ignoring what's set through the
`palette` property ...

[0]: 215619d71b/src/quickcontrols/universal/Button.qml (L23)
[1]: 215619d71b/src/quickcontrols/universal/Label.qml (L12)

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-19 12:10:47 +00:00
Jyrki Gadinger
6898f86aeb gui: fix dark mode change on Windows 10 with universal style
The _Universal_ QML style has a theme that uses the colour scheme from
the system.  This can be set by either configuring
`qtquickcontrols2.conf` or setting the environment variable
`QT_QUICK_CONTROLS_UNIVERSAL_THEME=System`.

Unfortunately, due to [QTBUG-128825], setting the theme in the
configuration file/environment variable results in the dark/light mode
setting only be set during startup, not during runtime.  Not ideal, but
still better than not having a broken dark mode theme at all.

Fixes #7991

[QTBUG-128825]: https://bugreports.qt.io/browse/QTBUG-128825

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-18 07:54:44 +00:00
Claudio Cambra
b26d74146b gui/macOS: Avoid UB in edge cases where there is no matching account state for a domain
Do not assume existence of an account for a given domain identifier --
users can modify the config in unexpected ways

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-14 14:44:41 +00:00
Matthieu Gallien
1c90fb08e0 ensure user receiving an encrypted share maintain proper state
will make sure the client internal database keeps proper encryption
information

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-13 12:35:24 +01:00
Claudio Cambra
3f3c3cddb3 gui/macOS: Do not log account detail-related messages that were not sent on dead file provider socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 12:34:40 +01:00
Sandro Knauß
1f0fd81316 Fix build without WebEngine=OFF.
Signed-off-by: Sandro Knauß <hefee@debian.org>
2025-03-13 11:26:24 +00:00
Camila Ayres
a3ae0441c3
Add option to disable virtual files syncing on Windows.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2025-03-13 12:15:46 +01:00
Jyrki Gadinger
f526c972ca display reshares in sharing dialog
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-03-13 11:08:07 +00:00
Claudio Cambra
394f20bffd gui/tray: Hide resume sync for all/pause sync for all menu item if there are no configured sync folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 10:31:45 +00:00
Claudio Cambra
5e71d6c026 gui: Expose if there are any configured sync folders in systray class to QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 10:31:45 +00:00
Claudio Cambra
04cc424610 gui/wizard: Display macOS-specific VFS information where relevant in advanced setup page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 11:29:11 +01:00
Claudio Cambra
db1f1a8638 gui/wizard: Add orientation message for macOS VFS users using virtual files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 11:29:11 +01:00
Claudio Cambra
4f37465b2f gui/wizard: When selecting VFS sync with macOS File Provider, do not set up local folder unexpectedly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 11:29:11 +01:00
Claudio Cambra
ad99ccef60 gui/wizard: Correctly handle vfs enablement state on account config finish when using macOS File Provider module
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 11:29:11 +01:00
Claudio Cambra
d43b816c0b gui/wizard: Do not check vfs path availability with macOS File Provider module
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-03-13 11:29:11 +01:00