Add method to set fast enumeration enabled in file provider settings controller

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2024-02-06 14:30:25 +08:00
parent 6db990183e
commit 5eb333cb8d
2 changed files with 17 additions and 0 deletions

View File

@ -51,6 +51,7 @@ public:
public slots:
void setVfsEnabledForAccount(const QString &userIdAtHost, const bool setEnabled);
void setFastEnumerationEnabledForAccount(const QString &userIdAtHost, const bool setEnabled);
void createEvictionWindowForAccount(const QString &userIdAtHost);
void signalFileProviderDomain(const QString &userIdAtHost);
@ -61,6 +62,8 @@ signals:
void localStorageUsageForAccountChanged(const QString &userIdAtHost);
void remoteStorageUsageForAccountChanged(const QString &userIdAtHost);
void materialisedItemsForAccountChanged(const QString &userIdAtHost);
void fastEnumerationEnabledForAccountChanged(const QString &userIdAtHost);
void fastEnumerationSetForAccountChanged(const QString &userIdAtHost);
private:
explicit FileProviderSettingsController(QObject *parent = nullptr);

View File

@ -374,6 +374,20 @@ bool FileProviderSettingsController::fastEnumerationEnabledForAccount(const QStr
return false;
}
void FileProviderSettingsController::setFastEnumerationEnabledForAccount(const QString &userIdAtHost, const bool setEnabled)
{
const auto xpc = FileProvider::instance()->xpc();
if (!xpc) {
// Reset state of UI elements
emit fastEnumerationEnabledForAccountChanged(userIdAtHost);
emit fastEnumerationSetForAccountChanged(userIdAtHost);
return;
}
xpc->setFastEnumerationEnabledForExtension(userIdAtHost, setEnabled);
emit fastEnumerationEnabledForAccountChanged(userIdAtHost);
emit fastEnumerationSetForAccountChanged(userIdAtHost);
}
unsigned long long FileProviderSettingsController::localStorageUsageForAccount(const QString &userIdAtHost) const
{
return d->localStorageUsageForAccount(userIdAtHost);