Commit graph

10367 commits

Author SHA1 Message Date
Claudio Cambra
6b0e485ab9 Notify even if pre-fetch etag header is empty
This prevents situations where the server does not provide an etag header. This would make the empty pre-fetch and empty post-fetch etag headers match, meaning notifications would never be notified

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-12 09:52:54 +02:00
Claudio Cambra
291f0c8c85 Make sure we do not renotify notifications when we have received the same etag as during the last check
Do this regardless of what the server's response is

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-12 09:52:54 +02:00
Matthieu Gallien
7a3ed38040 improve some log that are produced during discovery
would be usefull to track bugs during rename operations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 09:50:27 +02:00
Matthieu Gallien
092175e23a avoid wrong tracking of renamed folders during discovery
ensure server rename operations are tracked as server rename operations

ensure local rename are tracked as local rename operations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 09:50:27 +02:00
Matthieu Gallien
8faefc6fa2 delete invalid folders and restart sync automatically
users should then notice that the sync errors are gone

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
34c25ecb43 let FileSystem::removeRecursively be able to delete read-only folders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
a118c0ad1e detect remnants read-only folders to delete: try to delete them
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
155c61acbb let cancel sync and finish sync lambda be reusable methods
will enable implementation of other ways to interrupt sync after
discovery to get user feedback

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
b7b72bf9f2 collect remnant read-only folders during discovery
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Claudio Cambra
72ff92468b
Wrap use of folder permissions restore in mac ifdefs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-11 14:21:25 +08:00
Claudio Cambra
6f393f1c63
Wrap all uses of FileSystem::setFolderPermissions in ifdefs for macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-11 14:18:15 +08:00
Matthieu Gallien
9fc15d4401
Merge pull request #6949 from suiso67/fix/excessive-folder-permission
Narrow down ReadWrite folder permission to owner
2024-09-09 16:03:49 +02:00
Matthieu Gallien
f33674e679 do not ignore paths containing 2 "#" characters
those path may be in use on Windows and are legitimate

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-09 11:03:57 +02:00
Jyrki Gadinger
8f705e50e6 gui: remove Systray::setToolTip
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2024-09-09 09:57:33 +02:00
Jyrki Gadinger
45fa561e64 gui: add some extra syncing details to the tray tooltips
There was some unused code that updated some status bar text -- this is
now part of the tooltip during syncing.

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2024-09-09 09:57:33 +02:00
Matthieu Gallien
0b3a019d19
add missing exception handling
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 16:02:38 +02:00
Camila Ayres
20ef57c682 Fix talk app icon.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
6f13fa6269 qrc:/// => image://
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d05ebc33c9 Remove more color customizations from Window and TrayFoldersMenuButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
6b5041a55e Remove background hover customization from UserLine.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
e55dae140f Remove customization for font color from EnforcedPlainTextLabel.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
5073be1c0e Remove customizations for hover background from the user menu options.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
1b117d7b2d Fix font color light/dark of time in ActivityItemContent.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
3201e8b939 Remove backround rectangle from NCInputTextEdit.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
a91cd69159 Remove customization for text color and hover from TextButtonContents.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
3ad7964a51 Remove customizaton for placeholder text color from UnifiedSearchInputContainer.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
4f92ef391a Remove cutomizations for text color and hover from ActivityActionButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d0e0843b10 Remove image hover from NCButtonContents and CustomButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
a3ca3bc3ec Remove duplicated header image.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
0e1d3da79d Remove the component version from import.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
73bc834933 Remove backround customization from ShareeSearchField.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
a4aedd77df NCRadioButton => RadioButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d8acedb960 Remove customizations from CustomButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
b90d7c0623 Remove setting contentsFont, not used anymore in CustomButton.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
653ecbfdb3 Clean HeaderButton component from customizations.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
4f7b73cb70 Fix warning: The current style does not support customization of this control (property: "background").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
24e1606d6a Fix warning: The current style does not support customization of this control (property: "indicator").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
f612e59880 Fix warning: The current style does not support customization of this control (property: "contextItem").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d8883d05c4 Fix warning: The current style does not support customization of this control (property: "background").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
599bbbed2a Fix warning: The current style does not support customization of this control (property: "contentItem").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
38f81c0b57 Fix warning: The current style does not support customization of this control (property: "background").
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
66e2882236 Remove custom properties for text color/hover from CustomButton and NCButtonContents components.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
3c5066fede Remove custom properties for background and opacity from CustomButton component.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
0236e883a8 Fix repeaded call to QQuickStyle::setStyle.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
fb17a4bf9e Replace NCToolTip for ToolTip.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
279c3c3981 Change default Qt quick control style depending on the platform.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
2d08cdb503 remove broken system paellete detection within our custom style
remove custom binding between c++ native Qt API for system palette and
our QML styling code for colors detection

fixes many issues with dark mode using Windows native style

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
9cecd59c6e use new QStyleHints::colorScheme feature to use light or dark mode
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
4a8d0cf6d7 add a QQuickStyle fallback: Fusion is fallback style
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
f4c5151084 let main dialog have a transparent background again
will fix white corners appearing below the main dialog content

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d68fa5fce6 Remove qml component version from import.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
10d6224235 Remove component versions under src/gui/tray.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
a1a832efd8 remove any use of custom palette: use the style palette
should get us native colors as much as possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
a81c60c238 let's not make the background color of main dialog be transparent
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Matthieu Gallien
690ebccbe3 set the windows native qml style on windows systems
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-06 10:42:08 +02:00
Camila Ayres
d8185e69c8 Change default Qt quick control style depending on the platform.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 10:42:08 +02:00
alex-z
de18970443 Revert "Fix incorrect date parsing."
This reverts commit 04c0125bd1.

Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-09-05 19:01:37 +02:00
Matthieu Gallien
fcc325ffbb ensure detection of entry type on windows is reliable
it seems that there is a possibility for the type detection to report a
folder as being a file

with this change, I am pretty sure that cannot happen any longer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-05 10:49:30 +02:00
Matthieu Gallien
2c30093680 only add Encrypt context menu entry for top folder in settings dialog
will omit Encrypt menu item for child fodlers as displayed in selective
sync folders tree in settings dialog

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-03 08:46:14 +02:00
Matthieu Gallien
883cdcc0ba remove the frame around the sync folders settings area
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:41:32 +02:00
Matthieu Gallien
8171f9575f also include temporary files from WAL SQLite mode into debug archive
should make sure that the debug archive has a correct up to date view of
the sync client database

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:36:33 +02:00
Matthieu Gallien
0ac6c27a2f add missing logs and checks for database errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:36:33 +02:00
Matthieu Gallien
7a979c732a properly detect and enable Qt6 WebEngine integration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:35:04 +02:00
Matthieu Gallien
4d114a4f89 on windows use QWidget native platform style
will make all QWidget based user interface look more native

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:06:35 +02:00
Matthieu Gallien
3e397e664d enable users to delete unexpected new folders inside a read-only folder
let unexpected new folders in read-only folders be read-write

would be done for folders that are inside a read-only folder and cannot
be uploaded because the parent folder is realy read-only

most probably those folders should never have been there

in case they would be read-only, users cannot delete them, in such
situation, letting them be read-write again should really help

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Matthieu Gallien
96d4062425 when deciding to create a new folder on server: check permissions
sometime we need to create a folder on server because some local files
or folders modifications would be lost without that

in that case instead of locally deleting teh folder, we create it back
on server

when doing that, it is important to check the remote permissions such
that we do not try to create a folder in a read-only folder on server

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Matthieu Gallien
316af5c13f avoid wrong usage of QStringBuilder via auto type deduction
detected via https://github.com/KDE/clazy/blob/master/docs/checks/README-auto-unexpected-qstringbuilder.md#auto-unexpected-qstringbuilder

also reported by g++ via compile time warnings

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 14:53:46 +02:00
Matthieu Gallien
539be0a16a only empty top folders offer the menu entry to encrypt
in the contextual menu shown in files explorer will show encrypt menu
entry only for top folders that are non-encrypted and empty

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
1c3743d670 only add encrypt menu entry for top folders
with current end-to-end encryption only top folders can be encrypted

limit the availability of the menu entry to top folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
5bb90c783e ensure the arguments of socket API commands are valid
fix string data being invalid when using QStringView

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
suiso67
a270756402 Narrow down ReadWrite folder permission to owner
Signed-off-by: suiso67 <suiso67@macadamia.rocks>
2024-08-21 22:12:42 +09:00
Matthieu Gallien
8dcbdebd02 make folders read-write when needed when deleting local items
if a folder is read-only, when deleting content inside this folder, it
may be needed to make it temporary read-write

do this as required by the automated tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-21 14:38:21 +02:00
Claudio Cambra
abb1f89119 When forbidden filename sync warning is encountered, add reason why the filename is forbidden to the item's error string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
788067598d Store forbidden filename match bools outside of if statement
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
598f2c95f5 Set invalid filename dialog mode in activity list model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
aaf06535d2 Provide different message and explanation strings in invalid filename dialog depending on invalid mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
f07b49288b Add invalid mode enum to invalid filename dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
94d62e0203 Handle invalid filename activities button verb in activity list model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
a9dfc6ebfc Add rename file link/button to invalid filename activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
eb189f8fb4 Also provide notification for items that have file name invalid on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
1578cb1938 Assign invalid filename on server syncfileitem status to items with forbidden filenames
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
29ab9ec95d Check for new forbidden filename-related capabilities during exclusion handling in discovery
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
8f7ad48e96 Parse forbidden filename related capability features
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
raldone01
e75d77c27c Fixes cropped thumbnails #6154
Signed-off-by: raldone01 <raldone01@gmail.com>
2024-08-20 15:15:41 +02:00
Josh
83d1ed4869 fix(settings): Use broken lock icon when not using https
Fixes #6723 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-08-20 10:04:52 +02:00
Camila Ayres
5207937f33 Remove systray call to display network errors.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-12 17:51:19 +02:00
Matthieu Gallien
c39e94ef6f fix header buttons background color to match existing colors
the bckground of buttons on teh top bar of main dialog had a wrong color
not matching the top bar background color

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Matthieu Gallien
4cbaa1b4a5 avoid transparent background in user menu from main dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Matthieu Gallien
16c1cd1b19 remove most usages of transparent background: fix visual regressions
with transparent backgrounds, most of teh time the result is hard to
read

that is mostly unintended and unless there is some blur added, the UI
becomes unusable

Close https://github.com/nextcloud/desktop/issues/6992

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Claudio Cambra
b4d719e914 Make multiple notifications text translatable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-12 16:52:41 +02:00
Matthieu Gallien
b47d09bc30 always enable http2
Nextcloud server documentation is recommending enabling http2 for
performance resons
https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-http-2-for-faster-loading

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 14:57:30 +02:00
Matthieu Gallien
274feb9587 remove deprecated code only usefull for very old Qt releases
we require Qt > 6.0 so any conditionnal code for older releases can be
deleted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 11:14:26 +02:00
Matthieu Gallien
0fc61581bf use very coarse timers for network timeout
seems to work around some timers expiring too early

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 09:32:49 +02:00
Matthieu Gallien
f2cfd2cc80 prevent event loop reentrance when handling ENCRYPT socket requests
when receiving a shell integration socket command for ENCRYPT, a generic
interface and generic code paths was used

the assumption was that the listener socket would need (and remain)
valid while hanlding teh request

some code paths need to display error messages to the user via a
QMessageBox

the issue is that this will execute a Qt event loop that will handle the
socket disconnection while the socket variable from the caller seems it
will stay valid and alive

prevent that by not using a blocking method invocation such that life
time mishandling about the socket listener is not possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-07 10:13:33 +02:00
Camila Ayres
11a50b1811 List sync folders in the file explorer with user's username.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 18:35:37 +02:00
Camila Ayres
2ab94d54d8 Make sure to not repeat the update channels list when loading the settings for a second account.
When adding a new account, the combo box would list each update channels twice.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 18:34:45 +02:00
rakekniven
86176dcee0 chore(i18n): Add trailing space to show them separated at Transifex.
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-08-06 18:22:38 +02:00
rakekniven
f6125157b0 chore(i18n): Changed grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-08-06 18:22:38 +02:00
Matthieu Gallien
156ab805f2 fix authentication using provider page and web page login flow
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 18:21:45 +02:00
Matthieu Gallien
8233b33d67 use QByteArray::left to send the newly received data during hydration
we use the proper method from QByteArray to forward the data received by
GETFileJob to the socket connected to teh fetch data CfApi callback

Close https://github.com/nextcloud/desktop/issues/6769

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 18:17:04 +02:00
Camila Ayres
bff178f6ab
Fix crash: web flow credential dialog is deleted when closing it.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 14:17:23 +02:00
Matthieu Gallien
f3c8038921 forward the redirected signal from QNetworkReply to detect them
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 09:51:52 +02:00
Claudio Cambra
c475edafd1 Fix infinite recursion caused by default value call in desktopEnterpriseChannel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-04 20:37:18 +02:00
Camila Ayres
43777bed22
List less file names in the sync progress bar text.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
5cf4e872e5
Capitalize sync instruction strings returned by Progress::asActionString.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
0f2554e3f1
Make sync status text easier to understand.
- Never display "please wait" to users.
- Only start displaying status starting at 1. e.g. "0 f 6 files" => "1 of 6 files"
- Improve text for FolderStatusDelegate::FolderSyncText.
- Reconciling => Syncing.
- Syncing => Sync.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
23a17702d8
Modernize FolderStatusModel::slotSetProgress.
- Add const auto.
- Change variable names to be more clear.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
b5888f4719
Display more details of the sync progress in the settings dialog.
- Add margin to sync progress text.
- Make use of the text in FolderStatusDelegate::FolderSyncText.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Claudio Cambra
23a8f0878b
Ensure file provider instance gets initialised at app launch WITHOUT creating a separate instance from expected singleton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
87b2a84303
Clean up unused components in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
58e6cdd0de
Provide state message in popup for vfs accounts that synced successfully or had an issue
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
1128d9d668
Ensure all sync result status types are handled for file provider in owncloudgui
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
3194edb063
Check if the extension is reachable in owncloudgui compute sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
ea0ae333d9
Add method to fileproviderxpc to check if the file provider extension is reachable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
d3d19fd2bf
Modernise problem account handling in slot compute overall sync state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
6b14eed6aa
Store and provide latest account's file provider sync state as there is no guarantee (nor should we ensure) the socket with the extension stays alive
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
ee59bea65a
Do not report account sync state on socket controller if we haven't received account info yet
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
6e03e6a637
Account for file provider states when setting tray icon
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
d2b569157e
Append macOS vfs environment state strings to tray message when computing sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
84d74bc5ab
Process state of file provider account domains in slotComputeOverallSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:25 +08:00
Claudio Cambra
98dba86f58
Connect sync state changed signal in file provider socket server to compute overall sync status slot in owncloudgui
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
034fbb8245
Add file provider socket state provider method in socket server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
fd7f1ce0fc
Add file provider socket state struct
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
da7c511a8e
Report sync state after initial connection of socket in socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
a434e656fd
Add support for SYNC_PREPARING arg in socket controller reportsyncstate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
b290611471
Expose latest sync state in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
3877efba5e
Store latest sync state in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:24 +08:00
Claudio Cambra
3415f39c16
Expose account state in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:23 +08:00
Claudio Cambra
8bc1fce88e
Expose socket server in FileProvider class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:23 +08:00
Claudio Cambra
449092747b
Remove pointless setStatusText in slotComputeOverallStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:29 +08:00
Claudio Cambra
87066c8bb5
Bounce sync state change signals from socket controller in socket server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
744ac540db
Add support for FILE_PROVIDER_DOMAIN_SYNC_STATE_CHANGE socket messages in client file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:28 +08:00
Claudio Cambra
d70a388511
Modernise slotComputeOverallSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:06:27 +08:00
Claudio Cambra
27bc838c9c
Fix crash upon removing edit locally file provider jobs in edit locally manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:40 +08:00
Claudio Cambra
8147e831c8
Start the FileProviderEditLocallyJob in editlocallymanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:40 +08:00
Claudio Cambra
52e29fe73e
Improve logging in editlocallymanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:40 +08:00
Claudio Cambra
e345cd43d8
Connect receipt of a file's ocId with file opening procedure in FileProviderEditLocallyJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:40 +08:00
Claudio Cambra
15382807fa
Implement opening of a file with a given ocId in File Provider files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:40 +08:00
Claudio Cambra
7adce87aea
Remove redundant includes in editlocallymanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
47c09f9ffb
Anticipate null reply in idGetError of FileProviderEditLocallyJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
a5a9a0258e
Allow retrieval of domain associated with account in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
26c08e4328
Expose domain manager in Mac::FileProvider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
231d30e942
Fetch ocId for a given relative path
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
98a0d81170
Begin setting up dialog for file provider edit locally job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
eb5fa218c3
Add showError to FileProviderEditLocally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
5ce3cdc6ea
Try to use FileProviderEditLocallyJob before attempting standard EditLocallyJob in EditLocallyManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
9642a03455
Add completion signals to fileprovidereditlocallyjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:39 +08:00
Claudio Cambra
7ee296acdb
Add FileProviderEditLocallyPtr type
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
834e0965ee
Add starter FileProviderEditLocally class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
5df96b80e0
Do not automatically delete edit locally token verification job upon completion, rely on manager's smart pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
1080389d95
Show edit locally loading dialog with filename immediately in editlocallyjob constructor
By the time we launch this job we ahve already finished verifying the
token after recent changes

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
263563d821
Display token verification failure through GUI in edit locally manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
00cd258edd
Remove token related tasks from editlocallyjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
35f988dd8b
Move show error display features from editlocallyjob to editlocallymanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
83beaf8c80
Move verification job handling and scheduling out of editlocallyjob, into editlocallymanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:38 +08:00
Claudio Cambra
1659b2158e
Add a EditLocallyVerificationJobPtr type
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
7761182474
Directly use accountstate in editlocallyjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
a5c7bfe584
Ensure we emit error during edit locally job setup issues
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
e38368d428
Move token and relpath validity checks to edit locally verification job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
a5713fc233
Use verification job within edit locally job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
1422df733a
Ensure verification job gets deleted after finish
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
d8f5996c4b
Send and respond to SimpleApiJob to verify edit locally request with server in validation job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:37 +08:00
Claudio Cambra
5a3dccdc4a
Add starter EditLocallyVerificationJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 19:51:36 +08:00
Claudio Cambra
7dec7b26a0
Move all proxy configuration procedures into account and out of network settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 16:28:15 +08:00
Claudio Cambra
eeb9cc284a
Use application proxy when setting global proxy setting via network settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:58:26 +08:00
Claudio Cambra
564be17ce4
Remove now unused disguiseTabWidget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:52 +08:00
Claudio Cambra
37c77d81ec
Use full user id at host with port for proxy password keychain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:52 +08:00
Claudio Cambra
ef59399804
Use qtkeychain directly in account manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:52 +08:00
Claudio Cambra
5bc6388760
Add a method to set a specific account's folders' network limits as dirty
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
926c3b6c00
Use an AccountPtr instead of raw pointer in networksettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
5b8f9e46ce
Ensure file provider tab is not shown when file provider module not enabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
5c0c2afd57
Move folder status model initialisation to member init list in AccountSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
68cff89c8b
Ensure per-account network settings are saved on change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
a8c5cbced4
Add logging on error for proxy password saving
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
70e7bcf9a0
Simplify proxy password keychain keys
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
01f8199157
Use better keychain chunk job constructors
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
2d0c069039
Get intended default values for bw limit settings for account when nothing is set
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:51 +08:00
Claudio Cambra
2803690285
KeychainChunk job exec is synchronous, do not bother with signals in account manager use
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
5db01d4849
Ensure keychain chunk jobs in account manager run as intended
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
e3b002a52d
Use single-defined constexpr string for proxy password keychain key
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
770beba692
Store accounts' proxy passwords in keychain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
9c856d29d4
Correctly load global proxy setting state on account-specific network settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
480828bbbb
Respect account-specific transfer limits in folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
97f31a2965
Save bwlimits for account-specific network configuration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
b14b86e370
Clean up networksettings saveProxySettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
04f335e972
Modify network access manager proxy within account when setting proxy values
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:50 +08:00
Claudio Cambra
ab1d02dab6
Fix account-specific network setting enum values
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
9dfcd876ac
Ensure we are resetting account proxy settings when not using proxy is enforced
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
8e9e125dee
When generally setting dirty proxy in folderman only mark dirty those that follow general client proxy settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
ac9819797c
Respect account proxy settings in connectionvalidator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
8dabae6c29
Respect account proxy settings in owncloudsetupwizard server check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
f9b4c76b33
Implement saving proxy settings to account in network settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
f9d0f435d1
Adapt network settings loadBwLimitSettings for account-specific settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
fe031a131c
Load in account specific network settings in network settings widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:49 +08:00
Claudio Cambra
dd7143611a
Add account member to network settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00
Claudio Cambra
03946a8678
Take account-specific network configuration into account in proxyauthhandler
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00
Claudio Cambra
3956612ac6
Save and restore account-specific network settings in account maanger
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00
Claudio Cambra
35bc728a39
Add download limit setting property to account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00
Claudio Cambra
d06e8b1d4e
Add upload limit property to account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00
Claudio Cambra
f96fe64bde
Add download limit setting property to account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-22 15:37:48 +08:00