Add method to check if fast enumeration setting has been set in settings controller
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 6 Feb 2024 06:32:51 +0000 (14:32 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 6 Mar 2024 10:46:41 +0000 (18:46 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileprovidersettingscontroller.h
src/gui/macOS/fileprovidersettingscontroller_mac.mm

index 6bc7fc010a61b17b09fc06cfcdd44aedd8799d0e..43d17c04361a226d9de7c5f861ec27505bffab88 100644 (file)
@@ -45,6 +45,7 @@ public:
     [[nodiscard]] unsigned long long remoteStorageUsageForAccount(const QString &userIdAtHost) const;
     [[nodiscard]] Q_INVOKABLE float remoteStorageUsageGbForAccount(const QString &userIdAtHost) const;
     [[nodiscard]] Q_INVOKABLE bool fastEnumerationEnabledForAccount(const QString &userIdAtHost) const;
+    [[nodiscard]] Q_INVOKABLE bool fastEnumerationSetForAccount(const QString &userIdAtHost) const;
 
     [[nodiscard]] Q_INVOKABLE QAbstractListModel *materialisedItemsModelForAccount(const QString &userIdAtHost);
     [[nodiscard]] Q_INVOKABLE FileProviderDomainSyncStatus *domainSyncStatusForAccount(const QString &userIdAtHost) const;
index 3265f059b4e072a1dc17a24a662153846f816333..4a09b7a9f3e0735316b499592d5a4601385e91e3 100644 (file)
@@ -362,6 +362,18 @@ void FileProviderSettingsController::setVfsEnabledForAccount(const QString &user
     }
 }
 
+bool FileProviderSettingsController::fastEnumerationSetForAccount(const QString &userIdAtHost) const
+{
+    const auto xpc = FileProvider::instance()->xpc();
+    if (!xpc) {
+        return false;
+    }
+    if (const auto state = xpc->fastEnumerationStateForExtension(userIdAtHost)) {
+        return state->second;
+    }
+    return false;
+}
+
 bool FileProviderSettingsController::fastEnumerationEnabledForAccount(const QString &userIdAtHost) const
 {
     const auto xpc = FileProvider::instance()->xpc();