Files

73 lines
1.7 KiB
C++
Raw Permalink Normal View History

2018-03-24 14:51:56 +01:00
#include "updatersettings.h"
#include "zeiterfassungsettings.h"
const QString UpdaterSettings::m_url("UpdaterPlugin/url");
const QString UpdaterSettings::m_lastUpdateCheck("UpdaterPlugin/lastUpdateCheck");
const QUrl UpdaterSettings::m_defaultUrl(QStringLiteral("https://api.github.com/repos/0xFEEDC0DE64/QtZeiterfassung/releases"));
UpdaterSettings::UpdaterSettings(ZeiterfassungSettings &settings, QObject *parent) :
QObject(parent),
m_settings(settings)
{
}
QUrl UpdaterSettings::url() const
{
return m_settings.value(m_url, m_defaultUrl).toUrl();
}
2018-05-25 19:15:21 +02:00
bool UpdaterSettings::setUrl(const QUrl &url)
2018-03-24 14:51:56 +01:00
{
2018-05-25 19:15:21 +02:00
if(this->url() == url)
return true;
if(url == m_defaultUrl)
m_settings.remove(m_url);
else
m_settings.setValue(m_url, url);
2018-05-25 19:15:21 +02:00
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
2018-03-24 14:51:56 +01:00
Q_EMIT urlChanged(url);
2018-05-25 19:15:21 +02:00
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
2018-03-24 14:51:56 +01:00
}
2018-05-25 19:15:21 +02:00
return success;
2018-03-24 14:51:56 +01:00
}
QDate UpdaterSettings::lastUpdateCheck() const
{
return m_settings.value(m_lastUpdateCheck).toDate();
}
2018-05-25 19:15:21 +02:00
bool UpdaterSettings::setLastUpdateCheck(const QDate &lastUpdateCheck)
2018-03-24 14:51:56 +01:00
{
2018-05-25 19:15:21 +02:00
if(this->lastUpdateCheck() == lastUpdateCheck)
return true;
if(!lastUpdateCheck.isValid())
m_settings.remove(m_lastUpdateCheck);
else
m_settings.setValue(m_lastUpdateCheck, lastUpdateCheck);
2018-05-25 19:15:21 +02:00
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
2018-03-24 14:51:56 +01:00
Q_EMIT lastUpdateCheckChanged(lastUpdateCheck);
2018-05-25 19:15:21 +02:00
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
2018-03-24 14:51:56 +01:00
}
2018-05-25 19:15:21 +02:00
return success;
2018-03-24 14:51:56 +01:00
}