UpdaterSettings error handling

This commit is contained in:
0xFEEDC0DE64
2018-05-25 19:15:21 +02:00
parent 562569e9ba
commit ab2f9b9c10
2 changed files with 36 additions and 10 deletions

View File

@@ -18,13 +18,25 @@ QUrl UpdaterSettings::url() const
return m_settings.value(m_url, m_defaultUrl).toUrl();
}
void UpdaterSettings::setUrl(const QUrl &url)
bool UpdaterSettings::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;
}
QDate UpdaterSettings::lastUpdateCheck() const
@@ -32,11 +44,23 @@ QDate UpdaterSettings::lastUpdateCheck() const
return m_settings.value(m_lastUpdateCheck).toDate();
}
void UpdaterSettings::setLastUpdateCheck(const QDate &lastUpdateCheck)
bool UpdaterSettings::setLastUpdateCheck(const QDate &lastUpdateCheck)
{
if(this->lastUpdateCheck() != lastUpdateCheck)
{
m_settings.setValue(m_lastUpdateCheck, lastUpdateCheck);
if(this->lastUpdateCheck() == lastUpdateCheck)
return true;
m_settings.setValue(m_lastUpdateCheck, lastUpdateCheck);
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
Q_EMIT lastUpdateCheckChanged(lastUpdateCheck);
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
}
return success;
}

View File

@@ -16,12 +16,14 @@ public:
explicit UpdaterSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
QUrl url() const;
void setUrl(const QUrl &url);
bool setUrl(const QUrl &url);
QDate lastUpdateCheck() const;
void setLastUpdateCheck(const QDate &lastUpdateCheck);
bool setLastUpdateCheck(const QDate &lastUpdateCheck);
Q_SIGNALS:
void saveErrorOccured();
void urlChanged(const QUrl &url);
void lastUpdateCheckChanged(const QDate &lastUpdateCheck);