Files

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

2018-03-11 15:27:39 +01:00
#include "lunchmealsettings.h"
#include "zeiterfassungsettings.h"
const QString LunchMealSettings::m_url("LunchMealPlugin/url");
const QString LunchMealSettings::m_dateFormat("LunchMealPlugin/dateFormat");
const QString LunchMealSettings::m_defaultUrl("https://brunner.ninja/lunch/%0.txt");
const QString LunchMealSettings::m_defaultDateFormat("yyyy-MM-dd");
LunchMealSettings::LunchMealSettings(ZeiterfassungSettings &settings, QObject *parent) :
QObject(parent),
2018-03-11 15:27:39 +01:00
m_settings(settings)
{
}
2018-03-16 12:26:56 +01:00
QString LunchMealSettings::url() const
2018-03-11 15:27:39 +01:00
{
return m_settings.value(m_url, m_defaultUrl).toString();
2018-03-11 15:27:39 +01:00
}
2018-05-25 19:06:35 +02:00
bool LunchMealSettings::setUrl(const QString &url)
2018-03-11 15:27:39 +01:00
{
2018-05-25 19:06:35 +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:06:35 +02:00
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
Q_EMIT urlChanged(url);
2018-05-25 19:06:35 +02:00
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
}
2018-05-25 19:06:35 +02:00
return success;
2018-03-11 15:27:39 +01:00
}
QString LunchMealSettings::dateFormat() const
{
return m_settings.value(m_dateFormat, m_defaultDateFormat).toString();
2018-03-11 15:27:39 +01:00
}
2018-05-25 19:06:35 +02:00
bool LunchMealSettings::setDateFormat(const QString &dateFormat)
2018-03-11 15:27:39 +01:00
{
2018-05-25 19:06:35 +02:00
if(this->dateFormat() == dateFormat)
return true;
if(dateFormat == m_defaultDateFormat)
m_settings.remove(m_dateFormat);
else
m_settings.setValue(m_dateFormat, dateFormat);
2018-05-25 19:06:35 +02:00
m_settings.sync();
const auto success = m_settings.status() == QSettings::NoError;
if(success)
Q_EMIT dateFormatChanged(dateFormat);
2018-05-25 19:06:35 +02:00
else
{
Q_EMIT m_settings.saveErrorOccured();
Q_EMIT saveErrorOccured();
}
2018-05-25 19:06:35 +02:00
return success;
2018-03-11 15:27:39 +01:00
}