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)
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();
@@ -50,7 +53,10 @@ bool LunchMealSettings::setDateFormat(const QString &dateFormat)
if(this->dateFormat() == dateFormat)
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();

View File

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

View File

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

View File

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

View File

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