store in config file that we want to enable vfs when generating config
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Thu, 16 Mar 2023 19:23:56 +0000 (20:23 +0100)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Wed, 22 Mar 2023 09:17:28 +0000 (10:17 +0100)
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/gui/accountsetupcommandlinemanager.cpp
src/gui/accountsetupcommandlinemanager.h
src/gui/owncloudsetupwizard.cpp
src/libsync/configfile.cpp
src/libsync/configfile.h
src/libsync/theme.cpp
src/libsync/theme.h

index a604cb53bc1990e254c9de258efa84d0bbf03574..94388b7ea5f173dafd20c5d3e0331b141a89a38e 100644 (file)
@@ -95,6 +95,11 @@ bool AccountSetupCommandLineManager::isCommandLineParsed() const
     return !_appPassword.isEmpty() && !_userId.isEmpty() && _serverUrl.isValid();
 }
 
+bool AccountSetupCommandLineManager::isVfsEnabled() const
+{
+    return _isVfsEnabled;
+}
+
 void AccountSetupCommandLineManager::setupAccountFromCommandLine()
 {
     if (isCommandLineParsed()) {
index 156ab5d9002ab2ecc2091bdc6b6ae49d7fa1f8b7..70b8bf6cf0a8e62aa0c37465d61689919980bdd6 100644 (file)
@@ -32,6 +32,8 @@ public:
 
     [[nodiscard]] bool isCommandLineParsed() const;
 
+    [[nodiscard]] bool isVfsEnabled() const;
+
 public slots:
     void setupAccountFromCommandLine();
 
index 27f7d6c9f046bb003d4279bb6cc99787e2b88257..551fc487dc72788790cd4e03f89a36c2df63c0cc 100644 (file)
@@ -73,6 +73,8 @@ void OwncloudSetupWizard::runWizard(QObject *obj, const char *amember, QWidget *
     if (!cfg.overrideServerUrl().isEmpty()) {
         Theme::instance()->setOverrideServerUrl(cfg.overrideServerUrl());
         Theme::instance()->setForceOverrideServerUrl(true);
+        Theme::instance()->setVfsEnabled(cfg.isVfsEnabled());
+
         Theme::instance()->setStartLoginFlowAutomatically(true);
     }
     if (!wiz.isNull()) {
index c2c2cbca03fde37ef9c396c97dae9c85fcf34344..f60a4b19bc20df60af46cfcdf8e0125cdcf5c1a8 100644 (file)
@@ -70,6 +70,7 @@ static constexpr char updateSegmentC[] = "updateSegment";
 static constexpr char updateChannelC[] = "updateChannel";
 static constexpr char overrideServerUrlC[] = "overrideServerUrl";
 static constexpr char overrideLocalDirC[] = "overrideLocalDir";
+static constexpr char isVfsEnabledC[] = "isVfsEnabled";
 static constexpr char geometryC[] = "geometry";
 static constexpr char timeoutC[] = "timeout";
 static constexpr char chunkSizeC[] = "chunkSize";
@@ -724,6 +725,18 @@ void ConfigFile::setOverrideLocalDir(const QString &localDir)
     settings.setValue(QLatin1String(overrideLocalDirC), localDir);
 }
 
+bool ConfigFile::isVfsEnabled() const
+{
+    QSettings settings(configFile(), QSettings::IniFormat);
+    return settings.value({isVfsEnabledC}, {}).toBool();
+}
+
+void ConfigFile::setVfsEnabled(bool enabled)
+{
+    QSettings settings(configFile(), QSettings::IniFormat);
+    settings.setValue({isVfsEnabledC}, enabled);
+}
+
 void ConfigFile::setProxyType(int proxyType,
     const QString &host,
     int port, bool needsAuth,
index 9284d4ea25132ea81dc643817f71325cb47c9310..9f0f76155b0675b47b670664f12f8dd58b9f1d68 100644 (file)
@@ -196,6 +196,9 @@ public:
     [[nodiscard]] QString overrideLocalDir() const;
     void setOverrideLocalDir(const QString &localDir);
 
+    [[nodiscard]] bool isVfsEnabled() const;
+    void setVfsEnabled(bool enabled);
+
     void saveGeometryHeader(QHeaderView *header);
     void restoreGeometryHeader(QHeaderView *header);
 
index 7336c329e59943acefb034aec9ed4660c4c1ca75..a8bcd127365b00133a4d0cfdd1df242c95ea2e7d 100644 (file)
@@ -426,6 +426,11 @@ bool Theme::forceOverrideServerUrl() const
     return _forceOverrideServerUrl;
 }
 
+bool Theme::isVfsEnabled() const
+{
+    return _isVfsEnabled;
+}
+
 bool Theme::startLoginFlowAutomatically() const
 {
     return _startLoginFlowAutomatically;
@@ -971,6 +976,14 @@ void Theme::setForceOverrideServerUrl(bool forceOverride)
     }
 }
 
+void Theme::setVfsEnabled(bool enabled)
+{
+    if (_isVfsEnabled != enabled) {
+        _isVfsEnabled = enabled;
+        emit vfsEnabledChanged();
+    }
+}
+
 void Theme::setStartLoginFlowAutomatically(bool startLoginFlowAuto)
 {
     if (_startLoginFlowAutomatically != startLoginFlowAuto) {
index de721f71c273a5e8f94f84e6fa5a383e8226d663..5c805fd8f14b74ed73c9d34e17845c71f0ff83ff 100644 (file)
@@ -57,6 +57,7 @@ class OWNCLOUDSYNC_EXPORT Theme : public QObject
     Q_PROPERTY(QString conflictHelpUrl READ conflictHelpUrl CONSTANT)
     Q_PROPERTY(QString overrideServerUrl READ overrideServerUrl WRITE setOverrideServerUrl NOTIFY overrideServerUrlChanged)
     Q_PROPERTY(bool forceOverrideServerUrl READ forceOverrideServerUrl WRITE setForceOverrideServerUrl NOTIFY forceOverrideServerUrlChanged)
+    Q_PROPERTY(bool isVfsEnabled READ isVfsEnabled WRITE setVfsEnabled NOTIFY vfsEnabledChanged)
     Q_PROPERTY(bool startLoginFlowAutomatically READ startLoginFlowAutomatically WRITE setStartLoginFlowAutomatically NOTIFY startLoginFlowAutomaticallyChanged)
 #ifndef TOKEN_AUTH_ONLY
     Q_PROPERTY(QColor wizardHeaderTitleColor READ wizardHeaderTitleColor CONSTANT)
@@ -243,6 +244,8 @@ public:
      */
     virtual bool forceOverrideServerUrl() const;
 
+    virtual bool isVfsEnabled() const;
+
     /**
      * Automatically start login flow
      *
@@ -595,6 +598,7 @@ public:
 public slots:
     virtual void setOverrideServerUrl(const QString &overrideServerUrl);
     virtual void setForceOverrideServerUrl(bool forceOverride);
+    virtual void setVfsEnabled(bool enabled);
     virtual void setStartLoginFlowAutomatically(bool startLoginFlowAuto);
 
 protected:
@@ -617,6 +621,7 @@ signals:
     void darkModeChanged();
     void overrideServerUrlChanged();
     void forceOverrideServerUrlChanged();
+    void vfsEnabledChanged();
     void startLoginFlowAutomaticallyChanged();
 
 private:
@@ -634,6 +639,7 @@ private:
 
     QString _overrideServerUrl;
     bool _forceOverrideServerUrl = false;
+    bool _isVfsEnabled = false;
     bool _startLoginFlowAutomatically = false;
 
 #ifndef TOKEN_AUTH_ONLY