Add method to get qtified file provider item metadata for account in FileProviderSettingsController

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-09-29 01:25:10 +08:00
parent 134eae63dd
commit 389e663219
No known key found for this signature in database
GPG Key ID: C839200C384636B0

View File

@ -18,6 +18,7 @@
#include "gui/systray.h"
#include "gui/userinfo.h"
#include "gui/macOS/fileprovideritemmetadata.h"
// Objective-C imports
#import <Foundation/Foundation.h>
@ -154,6 +155,24 @@ public:
return storageUsage.unsignedLongLongValue;
}
[[nodiscard]] QVector<FileProviderItemMetadata> materialisedItemsForAccount(const QString &userIdAtHost) const
{
const auto materialisedItems = [_materialisedFiles objectForKey:userIdAtHost.toNSString()];
if (materialisedItems == nil) {
return {};
}
QVector<FileProviderItemMetadata> qMaterialisedItems;
qMaterialisedItems.reserve(materialisedItems.count);
for (const id<NSFileProviderItem> item in materialisedItems) {
const auto itemMetadata = FileProviderItemMetadata::fromNSFileProviderItem(item);
qMaterialisedItems.append(itemMetadata);
}
return qMaterialisedItems;
}
private:
[[nodiscard]] NSArray<NSString *> *nsEnabledAccounts() const
{