Commit graph

4584 commits

Author SHA1 Message Date
Claudio Cambra
ac1206a0c1 Remove conflicting alias to QStringList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
29b0d2b8ad Remove use of QNetworkConfiguration in Qt6
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
79a150baf4 Fix qtkeychain imports with Qt6
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
4566400ee6 streamline find_package calls to really find Qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
aa76de9b68 allow detection of qt5 or qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
d3442d137a disable qt apis deprecated before qt 5.12, enable warnings
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
1f0279e1c1 remove usage of QStringRef due to it being missing in Qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
b63c88e492 add missing QStringLiteral
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
ee245f26c8 replace deprecated QWebEngineProfile::setRequestInterceptor
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
249e0eb87d port away from QWidget related margines APIs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
20ee506b71 port away from deprecated API from QFontMetricsF
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
d035c26be5 replace qrand/qsrand
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
b712108229 add missing Qt:: namespace when using Qt::endl
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
80b25d36fa port away from QStringList::toSet
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
21464063b6 port away from QDesktopServices::storageLocation
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
allexzander
7e801d6c9a
Merge pull request #6691 from nextcloud/bugfix/slow-sync-with-tray-open
Bugfix/slow sync with tray open
2024-04-25 10:18:13 +02:00
alex-z
2ea6d3fd38 Bugfix. Conflict dialog for multiple files. Fix checkbox border colors for dark mode on Windows.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-25 10:14:11 +02:00
alex-z
9fac497e6e Hotfix. Slow download speed while tray is open. Do not run rotation animation in syncstatus in tray.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-24 20:28:24 +02:00
alex-z
fc31ac4a1f Just for test. Disable status update to avoid havin a sync status animation in tray.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-24 20:28:24 +02:00
Claudio Cambra
ef08c5eb4e Only show successful debug archive creation dialog if it has indeed been successful
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:16:53 +02:00
Claudio Cambra
ef2423da53 Prevent crash on creating debug archive in non-writeable location
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:16:53 +02:00
Claudio Cambra
2323b843f0 Give debug archive save location dialog a default location
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:16:53 +02:00
Claudio Cambra
64b7282bd4 Re-run update sync paused state slot when folder list has changed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:15:13 +02:00
Claudio Cambra
d3aa7f8f51 Make sure to emit syncIsPausedChanged in syncIsPaused setter
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:15:13 +02:00
Claudio Cambra
ccf6b5abe1 Make sure to emit relevant signals and set sync is paused to true if relevant
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:15:13 +02:00
Claudio Cambra
d497e265df Extract syncIsPaused initialisation into new updater slot
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:15:13 +02:00
Claudio Cambra
1c84b832fe Fetch macOS VFS package in autoupdater if the client is using the file provider module
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:11:41 +02:00
Claudio Cambra
591d5eebd2 Prevent use of invalid characters for file provider domain names
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:11:11 +02:00
Claudio Cambra
8f6c19e029 Fix "false" error about bad applying of nodiscard to value type
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 19:10:40 +02:00
Matthieu Gallien
1522d01d5b if a virtual file change but bothing changed: set it as in sync
some software (at least outlook native software) may fiddle with CfApi
placeholder metadta and set a .msg file to be out of sync state when
opening it

in that case, we will let the sync engine go over it and decide what to
do

it is then possible in that case that we would just put it back in "in
sync" state

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-23 18:04:35 +02:00
Claudio Cambra
80afd8e737
Use davUser instead of direct credentials user in file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-23 22:24:20 +08:00
Claudio Cambra
5977a7c92d
Remove client-side push notification handling for file provider extension in favour of simply using NCFPK remote change observer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 16:15:05 +08:00
Claudio Cambra
3dcef75c57
Fix crash when in debug mode when toggling enabled status of an account's virtual files (macOS)
Caused by comparing to the wrong thing in the Q_ASSERT *facepalm*

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-17 03:05:46 +08:00
alex-z
dbde9e3a2b Detect office files for locking on new upload. Notify FolderWatcher.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-13 15:46:37 +02:00
alex-z
1145d0613b Bugfix. Remove seen call notifications from the list.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-02 13:19:34 +02:00
Matthieu Gallien
55034f7e43
properly compute if a folder is top level or child extern mounted
asks new permission to server to be able to know if a folder is a top
level mounted folder

should allow detecting the top level folders from external storages or
group folders

should also make the client reliably detect that it is handling a child
folder inside a group folder and be allowed to rename such folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 14:29:01 +01:00
Matthieu Gallien
608a435d38
context menu: do not recursively check pin and availability states
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 11:59:30 +01:00
Matthieu Gallien
d81c20b116 partial fix for compilation with QT_NO_KEYWORDS
need to replace signals by Q_SIGNALS and so on

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 10:34:22 +01:00
Camila Ayres
84c08419ff User 'Connection issue' instead of 'Network error' in systray notification.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-03-20 09:51:11 +01:00
Matthieu Gallien
4bf1b8604c
if desktop client sent a first reply: wait for the menu data
may need the user to wait a bit longer but should prevent missing the
context menu

should still be robust since we only wait indefinitely if desktop client
sent a first reply

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-20 09:44:33 +01:00
alex-z
c5dd2e89a1 E2EE. Fix root metadata fetching path for non-root remote sync folder. Refactoring. Stabilizing paths.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-20 00:54:27 +01:00
Matthieu Gallien
2c95775edf allow wipe feature to delete data of a wiped user account
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-19 15:58:00 +01:00
Matthieu Gallien
6d1f028ed8 only display changed network errors during validation of connection
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-18 09:21:30 +01:00
Claudio Cambra
f805596418 Remove unneeded fallback for undefined cmake_osx_deployment_target
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-11 15:20:51 +01:00
Claudio Cambra
bbf280e12e Do not try to link UserNotifications framework when building below 10.14
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-11 15:20:51 +01:00
Claudio Cambra
8e39d8ef97 macosx: Selectively compile UserNotifications component of systray depending on deployment version
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-11 15:20:51 +01:00
Claudio Cambra
2f6ae0c4dd Create systray_mac_common file for common systray functions
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-11 15:20:51 +01:00
Kevin Ottens
526ab056d6 [socketapi] Replace QClipboard with KSystemClipboard when available
This is necessary in Wayland sessions for the clipboard related actions
of the socketapi to work. Indeed, QClipboard does its job only if we got
a window with the focus in such session.

In the case of the socketapi, it is generally the file manager asking
the desktop client to put something in the clipboard. At this point in
time no window of the client have the focus, so nothing gets added to
the clipboard.

KSystemClipboard on the other hand, uses the wlr data control protocol
under wayland sessions ensuring something ends up in the clipboard as
expected. When not in a wayland session it falls back to QClipboard so
no behavior is lost.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-07 08:18:52 +01:00
Kevin Ottens
312da848bc [gui] Add KGuiAddons as an optional dependency
This will be needed to replace QClipboard in some places.

Signed-off-by: Kevin Ottens <ervin@kde.org>
2024-03-07 08:18:52 +01:00
Claudio Cambra
fe53933b04 Improve design of materialised file delegates
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
5f243a86d4 Use palette background color for file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
19d1971612 Enable reloading of materialised items model from within file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
1e96c0f1f9 Add title and reload button to file provider eviction dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
69a3f286c0 Add slot to file provider settings controller to refresh materialised items for account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
bf4fc01b39 Extract enumeration of materialised files for each domain manager into a separate slot
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
3e5766be47 Reintegrate eviction dialog button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-07 11:51:55 +08:00
Claudio Cambra
d64d959b51 Add explainer about fast sync to file provider settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
6e55c84d18 Instantiate and hook up FileProviderFastEnumerationSettings within FileProviderSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
23ef72c472 Add starter FileProviderFastEnumerationSettings QML component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
1441a5e3a2 Make default of fast enumeration enabled method in file provider settings controller to be true
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
23c1e554d0 Add method to check if fast enumeration setting has been set in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
5eb333cb8d Add method to set fast enumeration enabled in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
6db990183e Add method to acquire fast enumeration enabled status in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
a02efd65f8 Add method in file provider xpc to set fast enumeration enabled state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
db9b9a64b4 Add method to get fast enumeration state (if possible) in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
913dcd70ae Remove wrapper method for creating debug archive, directly use FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
90c26c3eff Make XPC pointer publicly available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
Claudio Cambra
ae524c0346 Mark fileProviderAvailable as nodiscard
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-06 18:46:41 +08:00
alex-z
0a4452ef3d Bugfix. Federated share activity show 'Decline' action button.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-05 09:13:12 +01:00
Claudio Cambra
e15252a88c Ensure there is a return in case FolderPathRole of FolderStatusModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
c7c34b9f14 Check parent variable nullness in folderstatusmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
0daec2071e Remove unneeded error variable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
1a2afd4576 Clean up and add braces for if statements in folderstatusmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
2556681997 Clarify role of idx in slotUpdateDirectories
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
93a6da6c19 Automatically fetch first level of subfolders for root nodes in folder status model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
e7a99a8e9a Use braced initialiser where possible for folderstatusmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
c070ed2b6d Const autofy where possible in folderstatusmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
d66827c91f Avoid excessive single letter variables in FolderStatusModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
c8c7bdbf40 Fix undecided lists in fodlerstatusmodel comment
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
Claudio Cambra
4b1f502be7 Modernise and replace foreach loops with for in loops in folderstatusmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-05 11:48:05 +08:00
alex-z
c0e0b53ee5 Bugfix. E2EE V2. Fix incorrect root e2ee folder path search in local db.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-28 15:37:50 +01:00
alex-z
7160c05033 Fix crash when deleting a local sync folder during sync.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-23 12:46:17 +01:00
alex-z
8aaa0d4c13 Only match file extension not its content for mimetype. Prevents freeze from VFS placeholders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-22 10:18:12 +01:00
Claudio Cambra
92a1d808ef
Temporarily remove eviction dialog button until eviction works on extension side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
28cfd8fe70
Mark MacImplementation for FileProviderSettings destructor as override
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
b4e1338bc8
Ensure [[nodiscard]] in new file provider classes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
a428256e4f
Limit gigabyte sizing string to two decimal figures in file provider storage info
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
81d4aa7446
Use NCProgressBar for file provider sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
1f70c85e22
Adjust alignment and sizing of file provider sync status icon
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
918e411b10
Use font sizes in Style.qml in FileProviderSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:23 +08:00
Claudio Cambra
a469d44123
Provide correct sync state icon in file provider domain sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
7d8778d12a
Bolden sync state text for fp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
7b99a06eb9
Add separator to dynamically loaded fp settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
034822fcc6
Fix grid layout for sync status of file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
ed12541e15
Extract File Provider storage settings to separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
b9ae82ce3e
Extract sync status layout to separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
2f752a6c5c
Only load file provider settings items if domain is enabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:22 +08:00
Claudio Cambra
3060ff6a71
Add current sync status UI to file provider settings view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
9e235f99fa
Enable use of domain sync status class in QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
f8ebbe8c71
Fix crash on state change in file provider domain sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00