Commit graph

4832 commits

Author SHA1 Message Date
Matthieu Gallien
284823d147
maintain e2ee state even if the server does not support e2ee
might be that the server previously supported e2ee and e2ee folders
exist

so we have to fetch the info to properly handle it on client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-06-26 14:47:17 +02:00
Claudio Cambra
73fc23f002 Remove no longer existing account id from configured vfs accounts list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-25 23:01:13 +08:00
Claudio Cambra
fc2e687c3d Prevent crash when updating file provider domains if the account for which a file provider domain was configured no longer exists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-25 23:01:13 +08:00
Claudio Cambra
1689f7b613 Assert validity of accountstate and its accountptr when adding it
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-25 23:01:13 +08:00
Claudio Cambra
74a78242e2 Remove overwrought loadFromSettings method from AccountState
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-25 23:01:13 +08:00
Claudio Cambra
fd4ddfdd4c Take AccountPtr by reference in accountstate constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-25 23:01:13 +08:00
Camila Ayres
fcf07b60c4
Move the logic for handling the featured app qml to cpp.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-06-25 15:34:50 +02:00
Camila Ayres
b7bf6083d9
Display the Nextcloud assistant icon in the main window.
- If NC assistant is enabled in the server, display the icon
to open it instead of Talk. Talk is then displayed in the
list with the other apps.
- The direct link is only available in the assistant app >= 1.0.9.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-06-25 15:34:49 +02:00
Claudio Cambra
fa1f8b3efe Fix text colour for NCInputTextEdit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-13 19:15:11 +08:00
Claudio Cambra
d61a209e53 Prevent crash when originalSize is null
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
4db90b052e Remove broken and unneeded scroll view in tray user menu
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
4ff0cce787 Fix displaying of more button in UserLine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
78ae106ea0 Fix displaying of header buttons in tray window
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
04e1736616 Ensure svg icons generated by svgimageprovider have a reasonable default size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
8d025a0d9d Fix use of sourceSize in TrayFoldersMenuButton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
3da63f9979 Fix vertical center anchor in trayfoldersmenubutton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
99cf137b2e Remove unneeded qt5compat import in headerbutton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
82e2ec0f67 Fix breakages in autosizing menu when item does not have expected internal properties
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Claudio Cambra
c7cc40c464 Correctly fall back to originalSize if requestedSize not valid in svg image provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-07 00:17:40 +08:00
Jérôme Herbinet
dd1f32df65 Replace "Edit" with "Open in browser"
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2024-06-03 08:55:34 +02:00
Claudio Cambra
57ced98f98 Censor account details string in file provider logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-05-15 21:47:05 +02:00
Claudio Cambra
4bd0974696 Remove use of setMargin on QVBoxLayout, not present in Qt6
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-05-13 11:07:33 +02:00
Claudio Cambra
afbd2ebc02 Remove all use of MacExtras
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-05-13 11:07:33 +02:00
Matthieu Gallien
d0b4af6ccc improve logs when build with NEXTCLOUD_DEV enabled
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-05-02 16:34:51 +02:00
Matthieu Gallien
3770eec050 windows needs an explicit QML import path to be set
on windows qml modules are not default loaded from the install folder of the app

set it such that qml modules are imported from teh installed qml folder

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
347285b5b3 fix build issue after rebase
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
bebb8e1954 fix compilation issues on windows
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
a05ac621bf do some header includes clean-up as recommended by compiler
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
060181f83d fix some of the qml issues
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
aae9e84438 fix compilation issues after rebase
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
4f178fa9be fix order of init in a constructor to avoid warnings
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
3ad7ac922a avoid warning by ignoring the return value of QtConcurrent::run
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
910d7f03e8 when loading translation catalog, do not ignore the return value
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
e3456847d8 last step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
70931fb0af Remove commented out broken quick compiler check in Qt6
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
5d765dd017 Fix user status selector
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
3597766fb0 Add separators to SyncStatus and UnifiedSearchInputContainer to stop the scrollviews looking broken
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
5087d5142a Fix all broken QML imports
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
c31e65c111 Remove crashing QRandomGenerator seed call
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
a0e90cf56b Remove use of QCoreApplication AA attributes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
a8e7e340aa Replace use of staticQtMetaObject with staticMetaObject
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
aaea45110f Replace removed progress bar option orientation with state flag
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
7a17a51a25 Use QEnterEvent for new enterEvent parameters
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
7e1448bcf2 Remove use of qRegisterMetatypeStreamOperators
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
84414ce5dc Replace deleted '+' operator for flags with '|' operator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
6210490109 Replace now invalid '+' operator with '|' operator for QKeySequence
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
1a2db488ab Add missing QActionGroup include
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
7954695783 Add missing QStandardPaths include
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
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
Claudio Cambra
36001aeff7
Add method to acquire domain sync status in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
9ca418c922
Setup domain sync statuses in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
9774ac6dde
Make mac implementation of file provider settings controller a QObject
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
21a317cff3
Fix unique ptr compile issue in domain sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:21 +08:00
Claudio Cambra
78732bfeb0
Fix parameter name shadowing in fraction completed methods of domain sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
6d9c44526d
Update properties via ProgressObserver on FileProviderDomainSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
f881c1d483
Add main properties to FileProviderDomainSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
d387eb96ab
Add observing for important properties of nsprogress in progresshandler
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
13b0244ce6
Add ProgressKVOChangeHandler property to ProgressObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
e314fd05e7
Acquire upload/download progress in domain sync status
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
6fa969d8f2
Add a starter ProgressObserver Objective-C class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
fe6d03a16b
Add q pointer to MacImplementation for FileProviderDomainSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:20 +08:00
Claudio Cambra
62c85de35b
Define basic FileProviderDomainSyncStatus private implementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
7a9a17a2f3
Add starter FileProviderDomainSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
369c1d737a
Add UI button to signal file provider domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
f1c7811962
Add method to signal file provider domain via file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
1d01f67790
Always perform fallback document size discovery in fileprovideritemmetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
3b179cc1a1
Remove unused usage property from enumeration observer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
fd95ab7171
Directly generate file provider item metadatas and cache
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
6a0f76de7e
Mark MacImplementation constructor for FileProviderSettingsController as explicit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:19 +08:00
Claudio Cambra
62bbf6a2ad
Create debug archive on client side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
571b1ca238
Directly provide text file path to logger for debug archive creation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
b2e5659c43
Replace old and now broken socket based debug archive command with command over XPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
9733c11f7f
Add button to create debug archive
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
24dda9b437
Add createFileProvider slot to FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:18 +08:00
Claudio Cambra
292ff9b3bc
Add convenience method in FileProvider to send a message to a given file provider domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
0a5df3ba66
Add public convenience static method to get domainIdentifier from a given accountState
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
b9cf135080
Update the materialised items model post-file eviction
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
cfbdf3a773
Provide feedback when materialised item eviction fails
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
a204f114d2
Have backup for 0 value in itemmetadata documentsize in materialised items model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
5c3cd69252
Improve visuals of file delegate details UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:17 +08:00
Claudio Cambra
f22bf9e527
Display file sizes as nicely formatted string in file provider file delegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
643d30a3d5
Fix retain crash when calling managerForDomain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
84d8561a8e
Use FileProviderUtils function to get manager from domain id in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
b23e6bc4ee
Use FileProviderUtils function to get manager for domain id in FileProviderItemMetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
44a6f4673e
Separate domain finding into separate function in FileProviderUtils
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
b47665efba
Add convenience function to FileProviderUtils to get manager for a given domain identifier
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
ba2bef2495
Add fileproviderutils namespace
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:16 +08:00
Claudio Cambra
64e1166066
Fix layout for FileProviderFileDelegate
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
d905f13d83
Enable use of "Delete" button in FileProviderFileDelegate to evict item
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
c763a9a227
Expose items' domain identifier in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
0b961e9e17
Add method to evict an item in FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
da20e7e179
Add basic FileProviderFileDelegate UI component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
b3c75750ab
Add file type role to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
371257a6de
Add a user-understandable file type string to itemmetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
f060f0c271
Add UserVisiblePathRole to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
beb889c2f6
Get and set userVisiblePath at item metadata construction time
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:15 +08:00
Claudio Cambra
e03edc131d
Add method to get user visible path for an item metadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
ad2baeaba0
Keep track of item metadata's parent domain identifier
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
f2547140c4
Ensure correct index is set on hidden tab widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
bfaba671f3
Add rolenames for FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
89bb008bd7
Add additional roles to FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
d51c2a486b
Add a general actions grid to the settings qml component to enable users to manage storage usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
af98e48805
Add starter FileProviderEvictionDialog component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
2ce4e91383
Add method to generate eviction of materialised item windows in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:14 +08:00
Claudio Cambra
c1a5e788f8
Add method to generate materialised item models in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
85b3a135b6
Emit signal when materialised items for an account change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
f90f86d696
Set FileProviderItemMetadata vector in materialised items model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
726503f3c7
Add custom equality check to FileProviderItemMetadata
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
269fb03351
Add starter FileProviderMaterialisedItemsModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
389e663219
Add method to get qtified file provider item metadata for account in FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
134eae63dd
Add static convenience method to FileProviderItemMetadata to convert from NSFileProviderItem
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
e3a0dabb07
Add convenience function to convert extendedAttributes to QHash
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:13 +08:00
Claudio Cambra
a34a390790
Add a convenience function to convert from nsnamecomponents to qstring
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
57d1dc84aa
Add a Qt-based data class for file provider items
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
fec9902a25
Store materialised file metadata in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
c3490db271
Keep track of materialised files in storageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
0b8a2315a0
Leave usage as a property of materialised files enumerator
Do this instead of passing as variable in completion handler

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
02b47b47f8
Fix positioning fo elements in FileProviderSettings UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
679177eae2
Add property to file provider settings controller displaying remote file storage usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
f68965a241
Fetch and store user info for accounts in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:12 +08:00
Claudio Cambra
7d229b569f
Move GB with decimal number calculation to function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
4e8eab6cd9
Handle edge cases with materialised files enumeration and improve logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
22a521d2a2
Hold a strong reference to UsageEnumerationFinishedHandler
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
9105a4584e
Use NSUInteger directly when calculationg usage in FileProviderStorageUseEnumerationObserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
18ed46ef77
Expose local storage usage for account in gigabytes to QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
2105596643
Fetch materialised files storage usage per account on creation of FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
8fdc69b3cc
Calculate total storage use from enumerator for materialised files in fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
435e25d75c
Define ompletion block for fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:11 +08:00
Claudio Cambra
b83f0a51a9
Add starter fileproviderstorageuseenumerationobserver
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
97c963dcab
Remove fp domain id from registered domains when removal is confirmed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
5aa7138643
Do not bother trying to add a fp domain if we know it is active
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
e4aeb5b481
Update file provider domain enablement status upon settings change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
15525bca62
Separate file provider domain updating into separate slot
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
ee6c081603
Enable file provider domains per the settings in the file provider domain manager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
1db59fecc1
Remove ConfigFile().macFileProviderModuleEnabled() config flag
Since we are going to distribute the file provider client as separate
from the normal client, this flag doesn't make any practical sense.
The user using the FileProvider desktop client will not want to not
use the file provider module

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
0c40ceff9c
Init widely-used variables in MacImplementation at declaration, fix nullability warnings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:10 +08:00
Claudio Cambra
58262a8d94
Ensure account is file provider vfs enablement is correctly set in NSUserDefaults
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
f5b80e9ec1
Run initial check on creation of FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
5f059a23ce
Add method to enable file provider vfs for all accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
42b72f9d9a
Use [[nodiscard]] for MacImplementation methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
556bce2672
Move fp settings controller out of ui folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
e9451e9281
Set account as property of settings view root object rather than context property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
a57cb3df9d
Register file provider settings controller as singleton in qml engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
ba3baa406b
Expose account user id with host to QML
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:09 +08:00
Claudio Cambra
3c26e25a3c
Notify when enabled file provider vfs accounts change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
ac608a661d
Use default constructor for FileProviderSettingsController::MacImplementation
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
9a880f4199
Implement modification of file provider enabled for account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
c69bb4375c
Make it possible to check whether an account has vfs enabled or not
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
94ce3da9c5
Treat FileProviderSettingsController::settingsViewWidget as a factory method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
20f89c6999
Make the fp settings controller static
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
0e02a64c5e
Lazily load settings view widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
d80962b634
Instantiate internal MacImplementation in file provider settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:08 +08:00
Claudio Cambra
27c803a3d8
Add MacImplementation private class to interface with obj-c settings API
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
7e4d643ade
Add starter FileProviderSettings objective c class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
2863415428
Add access to FileProviderSettingsController in FileProviderSettings page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
f607bfaca1
Make file provider settings controller implementation an Objective-C++ file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
8070dbd9f6
Implement basic layout for file provider configuration UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
174d3ec9e0
Remove Virtual files section of settings, move this instead to individual tab in each account page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
d4fb1e7dad
Move disguising of tab widget into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
c57a5820d0
Make sure qtabwidget in account settings is unnoticeable when file provider module is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:07 +08:00
Claudio Cambra
5af363ad9c
Wrap normal folder settings in tab widget
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
f158e275fc
Resize settings object to root view
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
58e6385093
Make settings page use other internal QML components, correct palette
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
346a07643c
Simplify widget creation of file provider settings UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
4b8338ce91
Expose QML engine in systray
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
dae1643542
Add basic fitting styling for FileProviderSettings component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
40389a2197
Use file provider settings controller in settings dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
a6f15ea700
Set up QML file provider settings within the FileProviderSettingsController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:06 +08:00
Claudio Cambra
8643acfdaa
Add a start fileprovidersettingscontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:05 +08:00
Claudio Cambra
e547ae22b7
Add basic, start FileProviderSettings page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:05 +08:00
Claudio Cambra
35659bbda2
Add mac-specific virtual files settings section
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:45:04 +08:00
Claudio Cambra
71119fe65a Improve socket controller logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
9611e47a3b Simplify xpc service acquisition completion handler
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
41133e4cd8 Clarify utility of xpc system for file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a44454daf8 Simplify and clarify utility of socket system for file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a01e55272a Only start XPC after file provider domains have been configured
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
45b123130f Separate XPC init from file provider constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
423891230e Separate starting of domain manager tasks from constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
58dc42a521 Get services using better non-url based method if available (macOS 13.0+)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
798f77fa2b Improve domain discovery logging
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
43b7ae55df Use accountStateFromFileProviderDomainIdentifier method in authenticateExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6d4e785ebb Remove unused extension ID NSString
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
be3bd7bb3b Do not shadow sender()
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
784cd129fb Remove all obj-c classes from fileproviderxpc.h
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
fca6b37804 Fix clang-tidy namespace concatenation warning
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
0856138b2e Implement recognition of account state changing in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
c1fa6621ae Move extension authentication into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
94bfa035c3 Define NSDictionary types in _clientCommServices
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
f728ec1b75 Add method to unauthenticate file provider extension in FileProviderXPC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
502d73814e Cast clientCommServices to NSObject with correct protocol
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
23a3a3e554 Extract account id acquisition from clientCommService into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
8a8d3b3ef5 Remove redundant static in anonymous fileproviderxpc utils namespace
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
c9997ce5f9 Extract remote service object acquisistion from connection into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
595c23cf76 Extract file provider connection configuration into separate util function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
6f5b07c1ae Fix clientcommservices datatype
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
95bebc5214 Clean up FileProviderXPC code, separate everything into single-responsibility methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
5ee2cfa749 Moved XPC Utils into separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
a0376a2dab Move acquisition of file provider services to different function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
4a8d50144a Move domain url acquisition to separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
8eaf4e6324 Move domain manager acquisition into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00
Claudio Cambra
59b8b8ef21 Upon acquisition of client communication services, send account configuration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-02-19 22:39:37 +08:00