Simplified the code, removed checkbox and moved section further down

Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
This commit is contained in:
Pablo Ariño Muñoz 2025-02-25 16:54:16 +01:00 committed by backportbot[bot]
parent 200b8a76ec
commit 078efeb8b5
5 changed files with 21 additions and 65 deletions

View File

@ -247,8 +247,7 @@ GeneralSettings::GeneralSettings(QWidget *parent)
connect(_ui->stopExistingFolderNowBigSyncCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
connect(_ui->newExternalStorage, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
connect(_ui->moveFilesToTrashCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::saveMiscSettings);
connect(_ui->remotePollIntervalSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &GeneralSettings::slotRemotePollIntervalChanged);
connect(_ui->remotePollIntervalCheckBox, &QAbstractButton::toggled, this, &GeneralSettings::slotRemotePollIntervalCheckBoxToggled);
connect(_ui->remotePollIntervalSpinBox, &QSpinBox::valueChanged, this, &GeneralSettings::slotRemotePollIntervalChanged);
#ifndef WITH_CRASHREPORTER
_ui->crashreporterCheckBox->setVisible(false);
#endif
@ -330,12 +329,9 @@ void GeneralSettings::loadMiscSettings()
_ui->newExternalStorage->setChecked(cfgFile.confirmExternalStorage());
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
bool hasCustomInterval = cfgFile.hasRemotePollInterval();
_ui->remotePollIntervalCheckBox->setChecked(hasCustomInterval);
;
auto interval = cfgFile.remotePollInterval();
_ui->remotePollIntervalSpinBox->setValue(static_cast<int>(interval.count() / 1000));
_ui->remotePollIntervalSpinBox->setEnabled(hasCustomInterval);
}
#if defined(BUILD_UPDATER)
@ -654,31 +650,15 @@ void GeneralSettings::customizeStyle()
#endif
}
void GeneralSettings::slotRemotePollIntervalCheckBoxToggled(bool checked) {
_ui->remotePollIntervalSpinBox->setEnabled(checked); // Enable/disable the spin box
ConfigFile cfgFile;
if (checked) {
slotRemotePollIntervalChanged(_ui->remotePollIntervalSpinBox->value());
} else {
// Reset to default interval when unchecked
cfgFile.resetRemotePollInterval();
// Update the spinbox with the default value
auto interval = cfgFile.remotePollInterval();
_ui->remotePollIntervalSpinBox->setValue(static_cast<int>(interval.count() / 1000));
}
}
void GeneralSettings::slotRemotePollIntervalChanged(int seconds) {
if (_currentlyLoading) return;
if (_ui->remotePollIntervalCheckBox->isChecked()) {
ConfigFile cfgFile;
std::chrono::milliseconds interval(seconds * 1000);
cfgFile.setRemotePollInterval(interval);
if (_currentlyLoading) {
return;
}
ConfigFile cfgFile;
std::chrono::milliseconds interval(seconds * 1000);
cfgFile.setRemotePollInterval(interval);
}
} // namespace OCC

View File

@ -60,7 +60,6 @@ private slots:
void loadMiscSettings();
void slotShowLegalNotice();
void slotRemotePollIntervalChanged(int seconds);
void slotRemotePollIntervalCheckBoxToggled(bool checked);
#if defined(BUILD_UPDATER)
void slotUpdateInfo();
void slotUpdateChannelChanged();

View File

@ -185,11 +185,22 @@
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_trash">
<item>
<widget class="QCheckBox" name="moveFilesToTrashCheckBox">
<property name="text">
<string>Move removed files to trash</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_remotePollInterval">
<item>
<widget class="QCheckBox" name="remotePollIntervalCheckBox">
<widget class="QLabel" name="remotePollIntervalLabel">
<property name="text">
<string>Server poll interval</string>
</property>
@ -201,7 +212,7 @@
<number>30</number>
</property>
<property name="maximum">
<number>3600</number>
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
@ -230,17 +241,6 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_trash">
<item>
<widget class="QCheckBox" name="moveFilesToTrashCheckBox">
<property name="text">
<string>Move removed files to trash</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>

View File

@ -1315,25 +1315,4 @@ void ConfigFile::setDiscoveredLegacyConfigPath(const QString &discoveredLegacyCo
_discoveredLegacyConfigPath = discoveredLegacyConfigPath;
}
bool ConfigFile::hasRemotePollInterval(const QString &connection) const
{
QString con(connection);
if (connection.isEmpty())
con = defaultConnection();
QSettings settings(configFile(), QSettings::IniFormat);
settings.beginGroup(con);
return settings.contains(QLatin1String(remotePollIntervalC));
}
void ConfigFile::resetRemotePollInterval(const QString &connection) {
QString con(connection);
if (connection.isEmpty())
con = defaultConnection();
std::chrono::milliseconds defaultInterval(DEFAULT_REMOTE_POLL_INTERVAL);
setRemotePollInterval(defaultInterval, con); // Use existing method
}
}

View File

@ -153,8 +153,6 @@ public:
[[nodiscard]] bool useNewBigFolderSizeLimit() const;
[[nodiscard]] bool confirmExternalStorage() const;
void setConfirmExternalStorage(bool);
[[nodiscard]] bool hasRemotePollInterval(const QString &connection = QString()) const;
void resetRemotePollInterval(const QString &connection = QString());
/** If we should move the files deleted on the server in the trash */
[[nodiscard]] bool moveToTrash() const;