From fec9902a25336e50ef3f3371e7a58568f6bfa7d4 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Thu, 28 Sep 2023 19:59:45 +0800 Subject: [PATCH] Store materialised file metadata in file provider settings controller Signed-off-by: Claudio Cambra --- src/gui/macOS/fileprovidersettingscontroller_mac.mm | 7 +++++++ src/gui/macOS/fileproviderstorageuseenumerationobserver.m | 1 + 2 files changed, 8 insertions(+) diff --git a/src/gui/macOS/fileprovidersettingscontroller_mac.mm b/src/gui/macOS/fileprovidersettingscontroller_mac.mm index 0459085e1d..15a3329ed5 100644 --- a/src/gui/macOS/fileprovidersettingscontroller_mac.mm +++ b/src/gui/macOS/fileprovidersettingscontroller_mac.mm @@ -207,16 +207,22 @@ private: } const NSUInteger usage = storageUseObserver.usage; + NSSet> *const items = storageUseObserver.materialisedItems; + Q_ASSERT(items != nil); // Remember that OCC::Account::userIdAtHost == domain.identifier for us NSMutableDictionary *const mutableStorageDictCopy = _storageUsage.mutableCopy; + NSMutableDictionary> *> *const mutableFilesDictCopy = _materialisedFiles.mutableCopy; qCDebug(lcFileProviderSettingsController) << "Local storage use for" << domain.identifier << usage; [mutableStorageDictCopy setObject:@(usage) forKey:domain.identifier]; + [mutableFilesDictCopy setObject:items forKey:domain.identifier]; + _storageUsage = mutableStorageDictCopy.copy; + _materialisedFiles = mutableFilesDictCopy.copy; const auto qDomainIdentifier = QString::fromNSString(domain.identifier); emit q->localStorageUsageForAccountChanged(qDomainIdentifier); @@ -252,6 +258,7 @@ private: NSUserDefaults *_userDefaults = NSUserDefaults.standardUserDefaults; NSString *_accountsKey = [NSString stringWithUTF8String:enabledAccountsSettingsKey]; NSDictionary *_storageUsage = @{}; + NSDictionary > *> *_materialisedFiles = @{}; }; FileProviderSettingsController *FileProviderSettingsController::instance() diff --git a/src/gui/macOS/fileproviderstorageuseenumerationobserver.m b/src/gui/macOS/fileproviderstorageuseenumerationobserver.m index 7ffc1a0b2b..37981fe22b 100644 --- a/src/gui/macOS/fileproviderstorageuseenumerationobserver.m +++ b/src/gui/macOS/fileproviderstorageuseenumerationobserver.m @@ -22,6 +22,7 @@ self = [super init]; if (self) { _usage = 0ULL; + _materialisedItems = [NSSet set]; } return self; }