Commit graph

4796 commits

Author SHA1 Message Date
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
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