PresenceSettings error handling

This commit is contained in:
0xFEEDC0DE64
2018-05-25 19:08:57 +02:00
parent f94d53c0aa
commit 562569e9ba
2 changed files with 19 additions and 5 deletions

View File

@@ -17,11 +17,23 @@ int PresenceSettings::interval() const
return m_settings.value(m_interval, m_defaultInterval).toInt();
}
void PresenceSettings::setInterval(int interval)
bool PresenceSettings::setInterval(int interval)
{
if(this->interval() != interval)
{
m_settings.setValue(m_interval, interval);
if(this->interval() == interval)
return true;
m_settings.setValue(m_interval, interval);
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
Q_EMIT intervalChanged(interval);
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
}
return success;
}

View File

@@ -13,9 +13,11 @@ public:
PresenceSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
int interval() const;
void setInterval(int interval);
bool setInterval(int interval);
Q_SIGNALS:
void saveErrorOccured();
void intervalChanged(int interval);
private: