UpdaterSettings error handling
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user