WeatherSettings error handling
This commit is contained in:
@@ -17,11 +17,23 @@ QUrl WeatherSettings::url() const
|
|||||||
return m_settings.value(m_url, m_defaultUrl).toUrl();
|
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)
|
if(this->url() == url)
|
||||||
{
|
return true;
|
||||||
m_settings.setValue(m_url, url);
|
|
||||||
|
m_settings.setValue(m_url, url);
|
||||||
|
|
||||||
|
m_settings.sync();
|
||||||
|
|
||||||
|
const auto success = m_settings.status() == QSettings::NoError;
|
||||||
|
if(success)
|
||||||
Q_EMIT urlChanged(url);
|
Q_EMIT urlChanged(url);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Q_EMIT m_settings.saveErrorOccured();
|
||||||
|
Q_EMIT saveErrorOccured();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
@@ -14,9 +14,11 @@ public:
|
|||||||
WeatherSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
|
WeatherSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
|
||||||
|
|
||||||
QUrl url() const;
|
QUrl url() const;
|
||||||
void setUrl(const QUrl &url);
|
bool setUrl(const QUrl &url);
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
void saveErrorOccured();
|
||||||
|
|
||||||
void urlChanged(const QUrl &url);
|
void urlChanged(const QUrl &url);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Reference in New Issue
Block a user