]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Allow specifying disconnection of file provider domain message
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Sat, 11 Mar 2023 15:26:28 +0000 (16:26 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:29 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileproviderdomainmanager.h
src/gui/macOS/fileproviderdomainmanager_mac.mm

index 221122af91dac679c2c9393f37b73138b751cbcd..ad06d5c2c721df6778d84bedb5df797f356840c5 100644 (file)
@@ -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);
index b05d3b625cbf81117a417783aead9fecb3a2d80a..319b9b85f76c431ee2007828af270a30044e81bf 100644 (file)
@@ -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