void setVfsEnabledForAccount(const QString &userIdAtHost, const bool setEnabled);
void createEvictionWindowForAccount(const QString &userIdAtHost);
+ void signalFileProviderDomain(const QString &userIdAtHost);
void createDebugArchive(const QString &userIdAtHost);
signals:
#include "gui/macOS/fileprovider.h"
#include "gui/macOS/fileprovideritemmetadata.h"
#include "gui/macOS/fileprovidermaterialiseditemsmodel.h"
+#include "gui/macOS/fileproviderutils.h"
// Objective-C imports
#import <Foundation/Foundation.h>
return _materialisedFiles.value(userIdAtHost);
}
+ void signalFileProviderDomain(const QString &userIdAtHost) const
+ {
+ qCInfo(lcFileProviderSettingsController) << "Signalling file provider domain" << userIdAtHost;
+ NSFileProviderDomain * const domain = FileProviderUtils::domainForIdentifier(userIdAtHost);
+ NSFileProviderManager * const manager = [NSFileProviderManager managerForDomain:domain];
+ [manager signalEnumeratorForContainerItemIdentifier:NSFileProviderRootContainerItemIdentifier
+ completionHandler:^(NSError *const error) {
+ if (error != nil) {
+ qCWarning(lcFileProviderSettingsController) << "Could not signal file provider domain, error"
+ << error.localizedDescription;
+ return;
+ }
+
+ qCInfo(lcFileProviderSettingsController) << "Successfully signalled file provider domain";
+ // TODO: Provide some feedback in the UI
+ }];
+ }
+
private:
[[nodiscard]] NSArray<NSString *> *nsEnabledAccounts() const
{
dialog->show();
}
+void FileProviderSettingsController::signalFileProviderDomain(const QString &userIdAtHost)
+{
+ d->signalFileProviderDomain(userIdAtHost);
+}
+
void FileProviderSettingsController::createDebugArchive(const QString &userIdAtHost)
{
const auto filename = QFileDialog::getSaveFileName(nullptr,