WeatherSettings error handling

This commit is contained in:
0xFEEDC0DE64
2018-05-25 19:28:13 +02:00
parent ab2f9b9c10
commit 1ea4748f05
2 changed files with 19 additions and 5 deletions

View File

@@ -17,11 +17,23 @@ QUrl WeatherSettings::url() const
return m_settings.value(m_url, m_defaultUrl).toUrl();
}
void WeatherSettings::setUrl(const QUrl &url)
bool WeatherSettings::setUrl(const QUrl &url)
{
if(this->url() != url)
{
m_settings.setValue(m_url, url);
if(this->url() == url)
return true;
m_settings.setValue(m_url, url);
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
Q_EMIT urlChanged(url);
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
}
return success;
}

View File

@@ -14,9 +14,11 @@ public:
WeatherSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
QUrl url() const;
void setUrl(const QUrl &url);
bool setUrl(const QUrl &url);
Q_SIGNALS:
void saveErrorOccured();
void urlChanged(const QUrl &url);
private: