Commit graph

4832 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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