Improved default value handling in plugin settings

This commit is contained in:
0xFEEDC0DE64
2018-05-25 19:47:13 +02:00
parent bb19fdddda
commit 43cc25b825
5 changed files with 36 additions and 9 deletions

View File

@@ -24,7 +24,10 @@ bool LunchMealSettings::setUrl(const QString &url)
if(this->url() == url) if(this->url() == url)
return true; return true;
m_settings.setValue(QStringLiteral("LunchMealPlugin/url"), url); if(url == m_defaultUrl)
m_settings.remove(m_url);
else
m_settings.setValue(m_url, url);
m_settings.sync(); m_settings.sync();
@@ -50,7 +53,10 @@ bool LunchMealSettings::setDateFormat(const QString &dateFormat)
if(this->dateFormat() == dateFormat) if(this->dateFormat() == dateFormat)
return true; return true;
m_settings.setValue(QStringLiteral("LunchMealPlugin/dateFormat"), dateFormat); if(dateFormat == m_defaultDateFormat)
m_settings.remove(m_dateFormat);
else
m_settings.setValue(m_dateFormat, dateFormat);
m_settings.sync(); m_settings.sync();

View File

@@ -22,6 +22,9 @@ bool PresenceSettings::setInterval(int interval)
if(this->interval() == interval) if(this->interval() == interval)
return true; return true;
if(interval == m_defaultInterval)
m_settings.remove(m_interval);
else
m_settings.setValue(m_interval, interval); m_settings.setValue(m_interval, interval);
m_settings.sync(); m_settings.sync();

View File

@@ -23,6 +23,9 @@ bool UpdaterSettings::setUrl(const QUrl &url)
if(this->url() == url) if(this->url() == url)
return true; return true;
if(url == m_defaultUrl)
m_settings.remove(m_url);
else
m_settings.setValue(m_url, url); m_settings.setValue(m_url, url);
m_settings.sync(); m_settings.sync();
@@ -49,6 +52,9 @@ bool UpdaterSettings::setLastUpdateCheck(const QDate &lastUpdateCheck)
if(this->lastUpdateCheck() == lastUpdateCheck) if(this->lastUpdateCheck() == lastUpdateCheck)
return true; return true;
if(!lastUpdateCheck.isValid())
m_settings.remove(m_lastUpdateCheck);
else
m_settings.setValue(m_lastUpdateCheck, lastUpdateCheck); m_settings.setValue(m_lastUpdateCheck, lastUpdateCheck);
m_settings.sync(); m_settings.sync();

View File

@@ -22,6 +22,9 @@ bool WeatherSettings::setUrl(const QUrl &url)
if(this->url() == url) if(this->url() == url)
return true; return true;
if(url == m_defaultUrl)
m_settings.remove(m_url);
else
m_settings.setValue(m_url, url); m_settings.setValue(m_url, url);
m_settings.sync(); m_settings.sync();

View File

@@ -36,6 +36,9 @@ bool WebRadioSettings::setUrls(const QStringList &urls)
if(this->urls() == urls) if(this->urls() == urls)
return true; return true;
if(urls == m_defaultUrls)
m_settings.remove(m_urls);
else
m_settings.setValue(m_urls, urls); m_settings.setValue(m_urls, urls);
m_settings.sync(); m_settings.sync();
@@ -62,6 +65,9 @@ bool WebRadioSettings::setLastUrl(const QString &lastUrl)
if(this->lastUrl() == lastUrl) if(this->lastUrl() == lastUrl)
return true; return true;
if(lastUrl.isNull())
m_settings.remove(m_lastUrl);
else
m_settings.setValue(m_lastUrl, lastUrl); m_settings.setValue(m_lastUrl, lastUrl);
m_settings.sync(); m_settings.sync();
@@ -88,6 +94,9 @@ bool WebRadioSettings::setVolume(int volume)
if(this->volume() == volume) if(this->volume() == volume)
return true; return true;
if(volume == m_defaultVolume)
m_settings.remove(m_volume);
else
m_settings.setValue(m_volume, volume); m_settings.setValue(m_volume, volume);
m_settings.sync(); m_settings.sync();