diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp index ae3f87b04b..a5d50ef1e4 100644 --- a/src/gui/owncloudsetupwizard.cpp +++ b/src/gui/owncloudsetupwizard.cpp @@ -703,7 +703,7 @@ void OwncloudSetupWizard::slotAssistantFinished(int result) auto account = applyAccountChanges(); #ifdef BUILD_FILE_PROVIDER_MODULE - if (Mac::FileProvider::fileProviderAvailable() && _ocWizard->useVirtualFileSync()) { + if (_ocWizard->useVirtualFileSyncByDefault()) { Mac::FileProvider::instance()->domainManager()->addFileProviderDomainForAccount(account); auto const accountId = account->account()->userIdAtHostWithPort(); // let the user settings know that VFS is enabled diff --git a/src/gui/wizard/abstractcredswizardpage.cpp b/src/gui/wizard/abstractcredswizardpage.cpp index 44b9c3f76f..4df7882cb6 100644 --- a/src/gui/wizard/abstractcredswizardpage.cpp +++ b/src/gui/wizard/abstractcredswizardpage.cpp @@ -26,4 +26,21 @@ void AbstractCredentialsWizardPage::cleanupPage() } } } + +int AbstractCredentialsWizardPage::nextId() const +{ + const auto ocWizard = qobject_cast(wizard()); + Q_ASSERT(ocWizard); + + if (ocWizard->needsToAcceptTermsOfService()) { + return WizardCommon::Page_TermsOfService; + } + + if (ocWizard->useVirtualFileSyncByDefault()) { + return -1; + } + + return WizardCommon::Page_AdvancedSetup; +} + } diff --git a/src/gui/wizard/abstractcredswizardpage.h b/src/gui/wizard/abstractcredswizardpage.h index 08cb6ce57e..368157d313 100644 --- a/src/gui/wizard/abstractcredswizardpage.h +++ b/src/gui/wizard/abstractcredswizardpage.h @@ -21,6 +21,7 @@ class AbstractCredentialsWizardPage : public QWizardPage { public: void cleanupPage() override; + [[nodiscard]] int nextId() const override; [[nodiscard]] virtual AbstractCredentials *getCredentials() const = 0; }; diff --git a/src/gui/wizard/flow2authcredspage.cpp b/src/gui/wizard/flow2authcredspage.cpp index eda3f1e5ea..9e6c48eab9 100644 --- a/src/gui/wizard/flow2authcredspage.cpp +++ b/src/gui/wizard/flow2authcredspage.cpp @@ -92,17 +92,6 @@ void Flow2AuthCredsPage::slotFlow2AuthResult(Flow2Auth::Result r, const QString } } -int Flow2AuthCredsPage::nextId() const -{ - const auto ocWizard = qobject_cast(wizard()); - Q_ASSERT(ocWizard); - if (ocWizard->needsToAcceptTermsOfService()) { - return WizardCommon::Page_TermsOfService; - } - - return WizardCommon::Page_AdvancedSetup; -} - void Flow2AuthCredsPage::setConnected() { auto *ocWizard = qobject_cast(wizard()); diff --git a/src/gui/wizard/flow2authcredspage.h b/src/gui/wizard/flow2authcredspage.h index 36b8cadb18..243a4d851c 100644 --- a/src/gui/wizard/flow2authcredspage.h +++ b/src/gui/wizard/flow2authcredspage.h @@ -32,7 +32,6 @@ public: void initializePage() override; void cleanupPage() override; - [[nodiscard]] int nextId() const override; void setConnected(); [[nodiscard]] bool isComplete() const override; diff --git a/src/gui/wizard/owncloudhttpcredspage.cpp b/src/gui/wizard/owncloudhttpcredspage.cpp index f523a35739..aab01d0214 100644 --- a/src/gui/wizard/owncloudhttpcredspage.cpp +++ b/src/gui/wizard/owncloudhttpcredspage.cpp @@ -142,17 +142,6 @@ bool OwncloudHttpCredsPage::validatePage() return true; } -int OwncloudHttpCredsPage::nextId() const -{ - const auto ocWizard = qobject_cast(wizard()); - Q_ASSERT(ocWizard); - if (ocWizard->needsToAcceptTermsOfService()) { - return WizardCommon::Page_TermsOfService; - } - - return WizardCommon::Page_AdvancedSetup; -} - void OwncloudHttpCredsPage::setConnected() { _connected = true; diff --git a/src/gui/wizard/owncloudhttpcredspage.h b/src/gui/wizard/owncloudhttpcredspage.h index 235181bbef..7a1f8a57d1 100644 --- a/src/gui/wizard/owncloudhttpcredspage.h +++ b/src/gui/wizard/owncloudhttpcredspage.h @@ -30,7 +30,6 @@ public: void initializePage() override; void cleanupPage() override; bool validatePage() override; - [[nodiscard]] int nextId() const override; void setConnected(); void setErrorString(const QString &err); diff --git a/src/gui/wizard/owncloudwizard.cpp b/src/gui/wizard/owncloudwizard.cpp index 126ee2b5bb..8b76b3a62a 100644 --- a/src/gui/wizard/owncloudwizard.cpp +++ b/src/gui/wizard/owncloudwizard.cpp @@ -34,6 +34,10 @@ #include +#ifdef BUILD_FILE_PROVIDER_MODULE +#include "gui/macOS/fileprovider.h" +#endif + namespace OCC { Q_LOGGING_CATEGORY(lcWizard, "nextcloud.gui.wizard", QtInfoMsg) @@ -226,6 +230,15 @@ bool OwncloudWizard::needsToAcceptTermsOfService() const return _needsToAcceptTermsOfService; } +bool OwncloudWizard::useVirtualFileSyncByDefault() const +{ +#ifdef BUILD_FILE_PROVIDER_MODULE + return Mac::FileProvider::fileProviderAvailable(); +#else + return false; +#endif +} + QString OwncloudWizard::ocUrl() const { QString url = field("OCUrl").toString().simplified(); diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index c84840854f..3b1fa07984 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -62,6 +62,7 @@ public: [[nodiscard]] bool useVirtualFileSync() const; [[nodiscard]] bool isConfirmBigFolderChecked() const; [[nodiscard]] bool needsToAcceptTermsOfService() const; + [[nodiscard]] bool useVirtualFileSyncByDefault() const; void displayError(const QString &, bool retryHTTPonly); [[nodiscard]] AbstractCredentials *getCredentials() const; diff --git a/src/gui/wizard/termsofservicewizardpage.cpp b/src/gui/wizard/termsofservicewizardpage.cpp index 28f42ff634..e8c42c1686 100644 --- a/src/gui/wizard/termsofservicewizardpage.cpp +++ b/src/gui/wizard/termsofservicewizardpage.cpp @@ -54,6 +54,13 @@ void OCC::TermsOfServiceWizardPage::cleanupPage() int OCC::TermsOfServiceWizardPage::nextId() const { + const auto ocWizard = qobject_cast(wizard()); + Q_ASSERT(ocWizard); + + if (ocWizard->useVirtualFileSyncByDefault()) { + return -1; + } + return WizardCommon::Page_AdvancedSetup; } diff --git a/src/gui/wizard/webviewpage.cpp b/src/gui/wizard/webviewpage.cpp index 1ed7aa0f2a..7eaae2ac12 100644 --- a/src/gui/wizard/webviewpage.cpp +++ b/src/gui/wizard/webviewpage.cpp @@ -96,16 +96,6 @@ void WebViewPage::cleanupPage() _ocWizard->centerWindow(); } -int WebViewPage::nextId() const { - const auto ocWizard = qobject_cast(wizard()); - Q_ASSERT(ocWizard); - if (ocWizard->needsToAcceptTermsOfService()) { - return WizardCommon::Page_TermsOfService; - } - - return WizardCommon::Page_AdvancedSetup; -} - bool WebViewPage::isComplete() const { return false; } diff --git a/src/gui/wizard/webviewpage.h b/src/gui/wizard/webviewpage.h index b5369ae66f..1fb3e30221 100644 --- a/src/gui/wizard/webviewpage.h +++ b/src/gui/wizard/webviewpage.h @@ -23,7 +23,6 @@ public: void initializePage() override; void cleanupPage() override; - [[nodiscard]] int nextId() const override; [[nodiscard]] bool isComplete() const override; [[nodiscard]] AbstractCredentials* getCredentials() const override;