From: Christian Kamm Date: Thu, 5 Apr 2018 11:35:25 +0000 (+0200) Subject: Wizards: Show placeholder option only if showExperimentalOptions is set X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~606 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=27c8bce0b9131c7a4fbf0c75c83b31919c5c5b5d;p=nextcloud-desktop.git Wizards: Show placeholder option only if showExperimentalOptions is set This config file option will also control other features in the future. --- diff --git a/src/gui/folderwizard.cpp b/src/gui/folderwizard.cpp index 4abf28afa..336589931 100644 --- a/src/gui/folderwizard.cpp +++ b/src/gui/folderwizard.cpp @@ -493,9 +493,12 @@ FolderWizardSelectiveSync::FolderWizardSelectiveSync(const AccountPtr &account) auto *layout = new QVBoxLayout(this); _selectiveSync = new SelectiveSyncWidget(account, this); layout->addWidget(_selectiveSync); - _placeholderCheckBox = new QCheckBox(tr("Create placeholders instead of downloading files (experimental)")); - connect(_placeholderCheckBox, &QCheckBox::clicked, this, &FolderWizardSelectiveSync::placeholderCheckboxClicked); - layout->addWidget(_placeholderCheckBox); + + if (ConfigFile().showExperimentalOptions()) { + _placeholderCheckBox = new QCheckBox(tr("Create placeholders instead of downloading files (experimental)")); + connect(_placeholderCheckBox, &QCheckBox::clicked, this, &FolderWizardSelectiveSync::placeholderCheckboxClicked); + layout->addWidget(_placeholderCheckBox); + } } FolderWizardSelectiveSync::~FolderWizardSelectiveSync() = default; diff --git a/src/gui/wizard/owncloudadvancedsetuppage.cpp b/src/gui/wizard/owncloudadvancedsetuppage.cpp index 794d095bd..97d0ed2e9 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.cpp +++ b/src/gui/wizard/owncloudadvancedsetuppage.cpp @@ -102,6 +102,14 @@ void OwncloudAdvancedSetupPage::initializePage() { WizardCommon::initErrorLabel(_ui.errorLabel); + if (!ConfigFile().showExperimentalOptions()) { + // If the layout were wrapped in a widget, the auto-grouping of the + // radio buttons no longer works and there are surprising margins. + // Just manually hide the button and remove the layout. + _ui.rPlaceholderSync->hide(); + _ui.wSyncStrategy->layout()->removeItem(_ui.lPlaceholderSync); + } + _checking = false; _ui.lSelectiveSyncSizeLabel->setText(QString()); _ui.lSyncEverythingSizeLabel->setText(QString()); diff --git a/src/gui/wizard/owncloudadvancedsetuppage.ui b/src/gui/wizard/owncloudadvancedsetuppage.ui index 6883094a5..303590b34 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.ui +++ b/src/gui/wizard/owncloudadvancedsetuppage.ui @@ -74,7 +74,7 @@ - + 0 @@ -228,7 +228,7 @@ - + diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp index 057332eda..03b72ce95 100644 --- a/src/libsync/configfile.cpp +++ b/src/libsync/configfile.cpp @@ -80,6 +80,7 @@ static const char logDirC[] = "logDir"; static const char logDebugC[] = "logDebug"; static const char logExpireC[] = "logExpire"; static const char logFlushC[] = "logFlush"; +static const char showExperimentalOptionsC[] = "showExperimentalOptions"; static const char proxyHostC[] = "Proxy/host"; static const char proxyTypeC[] = "Proxy/type"; @@ -972,6 +973,12 @@ void ConfigFile::setLogFlush(bool enabled) settings.setValue(QLatin1String(logFlushC), enabled); } +bool ConfigFile::showExperimentalOptions() const +{ + QSettings settings(configFile(), QSettings::IniFormat); + return settings.value(QLatin1String(showExperimentalOptionsC), false).toBool(); +} + QString ConfigFile::certificatePath() const { return retrieveData(QString(), QLatin1String(certPath)).toString(); diff --git a/src/libsync/configfile.h b/src/libsync/configfile.h index 9cd3e2dfb..307daf29c 100644 --- a/src/libsync/configfile.h +++ b/src/libsync/configfile.h @@ -104,6 +104,9 @@ public: bool logFlush() const; void setLogFlush(bool enabled); + // Whether experimental UI options should be shown + bool showExperimentalOptions() const; + // proxy settings void setProxyType(int proxyType, const QString &host = QString(),