@@ -85,7 +85,7 @@ explicit MacImplementation(FileProviderSettingsController *const parent)
8585
8686 const auto existingDomainId = q->fileProviderDomainIdentifierForAccount (userIdAtHost);
8787
88- if (existingDomainId.isEmpty () == false ) {
88+ if (setEnabled && existingDomainId.isEmpty () == false ) {
8989 qCWarning (lcFileProviderSettingsController) << " Cancelling because account already has a domain identifier!" << userIdAtHost;
9090 return VfsAccountsAction::VfsAccountsNoAction;
9191 }
@@ -94,15 +94,17 @@ explicit MacImplementation(FileProviderSettingsController *const parent)
9494 const auto accountState = accountManager->accountFromUserId (userIdAtHost);
9595
9696 if (!accountState) {
97- qCWarning (lcFileProviderSettingsController) << " Unable to set file provider enablement, account not found!"
98- << userIdAtHost;
97+ qCWarning (lcFileProviderSettingsController) << " Unable to set file provider enablement, account not found!" << userIdAtHost;
9998 return VfsAccountsAction::VfsAccountsNoAction;
10099 }
101100
102- const auto account = accountState->account ();
103-
104- auto const identifier = Mac::FileProvider::instance ()->domainManager ()->addFileProviderDomainForAccount (accountState.data ());
105- accountManager->setFileProviderDomainIdentifier (userIdAtHost, identifier);
101+ if (setEnabled) {
102+ auto const identifier = Mac::FileProvider::instance ()->domainManager ()->addFileProviderDomainForAccount (accountState.data ());
103+ accountManager->setFileProviderDomainIdentifier (userIdAtHost, identifier);
104+ } else {
105+ Mac::FileProvider::instance ()->domainManager ()->removeFileProviderDomainForAccount (accountState.data ());
106+ accountManager->setFileProviderDomainIdentifier (userIdAtHost, " " );
107+ }
106108
107109 return VfsAccountsAction::VfsAccountsEnabledChanged;
108110 }
0 commit comments