From: Claudio Cambra Date: Sat, 11 Mar 2023 15:26:28 +0000 (+0100) Subject: Allow specifying disconnection of file provider domain message X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~96^2^2~55^2~141 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=178caaa7a858684eecc734769f9bb6c2637bd3f1;p=nextcloud-desktop.git Allow specifying disconnection of file provider domain message Signed-off-by: Claudio Cambra --- diff --git a/src/gui/macOS/fileproviderdomainmanager.h b/src/gui/macOS/fileproviderdomainmanager.h index 221122af9..ad06d5c2c 100644 --- a/src/gui/macOS/fileproviderdomainmanager.h +++ b/src/gui/macOS/fileproviderdomainmanager.h @@ -36,7 +36,7 @@ private slots: void addFileProviderDomainForAccount(const OCC::AccountState * const accountState); void removeFileProviderDomainForAccount(const OCC::AccountState * const accountState); - void disconnectFileProviderDomainForAccount(const OCC::AccountState * const accountState); + void disconnectFileProviderDomainForAccount(const OCC::AccountState * const accountState, const QString &reason); void trySetupPushNotificationsForAccount(const OCC::Account * const account); void setupPushNotificationsForAccount(const OCC::Account * const account); diff --git a/src/gui/macOS/fileproviderdomainmanager_mac.mm b/src/gui/macOS/fileproviderdomainmanager_mac.mm index b05d3b625..319b9b85f 100644 --- a/src/gui/macOS/fileproviderdomainmanager_mac.mm +++ b/src/gui/macOS/fileproviderdomainmanager_mac.mm @@ -250,7 +250,7 @@ class FileProviderDomainManager::Private { }]; } - void disconnectFileProviderDomainForAccount(const AccountState * const accountState) + void disconnectFileProviderDomainForAccount(const AccountState * const accountState, const QString &message) { Q_ASSERT(accountState); const auto account = accountState->account(); @@ -267,9 +267,7 @@ class FileProviderDomainManager::Private { NSFileProviderDomain * const fileProviderDomain = _registeredDomains[domainId]; NSFileProviderManager * const fpManager = [NSFileProviderManager managerForDomain:fileProviderDomain]; - const auto trReason = tr("%1 application has been closed. Reopen to reconnect.").arg(APPLICATION_NAME); - - [fpManager disconnectWithReason:trReason.toNSString() + [fpManager disconnectWithReason:message.toNSString() options:NSFileProviderManagerDisconnectionOptionsTemporary completionHandler:^(NSError * const error) { if (error) { @@ -328,7 +326,11 @@ FileProviderDomainManager::FileProviderDomainManager(QObject * const parent) connect(AccountManager::instance(), &AccountManager::accountSyncConnectionRemoved, this, &FileProviderDomainManager::removeFileProviderDomainForAccount); connect(AccountManager::instance(), &AccountManager::accountRemoved, - this, &FileProviderDomainManager::disconnectFileProviderDomainForAccount); + this, [this](const AccountState * const accountState) { + + const auto trReason = tr("%1 application has been closed. Reopen to reconnect.").arg(APPLICATION_NAME); + disconnectFileProviderDomainForAccount(accountState, trReason); + }); } FileProviderDomainManager *FileProviderDomainManager::instance() @@ -422,13 +424,14 @@ void FileProviderDomainManager::removeFileProviderDomainForAccount(const Account } } -void FileProviderDomainManager::disconnectFileProviderDomainForAccount(const AccountState * const accountState) +void FileProviderDomainManager::disconnectFileProviderDomainForAccount(const AccountState * const accountState, const QString &reason) { Q_ASSERT(accountState); const auto account = accountState->account(); Q_ASSERT(account); - d->disconnectFileProviderDomainForAccount(accountState); + d->disconnectFileProviderDomainForAccount(accountState, reason); +} } } // namespace Mac