VCS: Do not write defaults to settings

Saves useless entries in settings file and makes it possible to change
defaults later.

Task-number: QTCREATORBUG-24762
Change-Id: Iee7d39f2bf5d8de6903ca914ea533a678fad62f8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Eike Ziller
2021-02-16 14:51:16 +01:00
parent d2f7bea0b6
commit c87284356c
5 changed files with 17 additions and 14 deletions

View File

@@ -30,6 +30,7 @@
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
#include <utils/qtcsettings.h>
#include <utils/stringutils.h>
#include <QSettings>
@@ -226,14 +227,15 @@ VcsBaseClientSettings::~VcsBaseClientSettings()
{
}
void VcsBaseClientSettings::writeSettings(QSettings *settings) const
void VcsBaseClientSettings::writeSettings(QSettings *settings,
const VcsBaseClientSettings &defaultSettings) const
{
QTC_ASSERT(!settingsGroup().isEmpty(), return);
settings->remove(settingsGroup());
settings->beginGroup(settingsGroup());
foreach (const QString &key, keys())
settings->setValue(key, value(key));
QtcSettings::setValueWithDefault(settings, key, value(key), defaultSettings.value(key));
settings->endGroup();
}