Implemented changed signals in LunchMealSettings
This commit is contained in:
@@ -2,7 +2,13 @@
|
||||
|
||||
#include "zeiterfassungsettings.h"
|
||||
|
||||
LunchMealSettings::LunchMealSettings(ZeiterfassungSettings &settings) :
|
||||
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),
|
||||
m_settings(settings)
|
||||
{
|
||||
|
||||
@@ -10,22 +16,28 @@ LunchMealSettings::LunchMealSettings(ZeiterfassungSettings &settings) :
|
||||
|
||||
QString LunchMealSettings::url() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("LunchMealPlugin/url"),
|
||||
QStringLiteral("https://brunner.ninja/lunch/%0.txt"))
|
||||
.toString();
|
||||
return m_settings.value(m_url, m_defaultUrl).toString();
|
||||
}
|
||||
|
||||
void LunchMealSettings::setUrl(const QString &url)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("LunchMealPlugin/url"), url);
|
||||
if(this->url() != url)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("LunchMealPlugin/url"), url);
|
||||
Q_EMIT urlChanged(url);
|
||||
}
|
||||
}
|
||||
|
||||
QString LunchMealSettings::dateFormat() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("LunchMealPlugin/dateFormat"), QStringLiteral("yyyy-MM-dd")).toString();
|
||||
return m_settings.value(m_dateFormat, m_defaultDateFormat).toString();
|
||||
}
|
||||
|
||||
void LunchMealSettings::setDateFormat(const QString &dateFormat)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("LunchMealPlugin/dateFormat"), dateFormat);
|
||||
if(this->dateFormat() != dateFormat)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("LunchMealPlugin/dateFormat"), dateFormat);
|
||||
Q_EMIT dateFormatChanged(dateFormat);
|
||||
}
|
||||
}
|
||||
|
@@ -1,14 +1,19 @@
|
||||
#ifndef LUNCHMEALSETTINGS_H
|
||||
#define LUNCHMEALSETTINGS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
|
||||
class ZeiterfassungSettings;
|
||||
|
||||
class LunchMealSettings
|
||||
class LunchMealSettings : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged)
|
||||
Q_PROPERTY(QString dateFormat READ dateFormat WRITE setDateFormat NOTIFY dateFormatChanged)
|
||||
|
||||
public:
|
||||
LunchMealSettings(ZeiterfassungSettings &settings);
|
||||
LunchMealSettings(ZeiterfassungSettings &settings, QObject *parent = Q_NULLPTR);
|
||||
|
||||
// no QString becuase placeholder %0 encodes wrong in urls!
|
||||
QString url() const;
|
||||
@@ -17,8 +22,17 @@ public:
|
||||
QString dateFormat() const;
|
||||
void setDateFormat(const QString &dateFormat);
|
||||
|
||||
Q_SIGNALS:
|
||||
void urlChanged(const QString &url);
|
||||
void dateFormatChanged(const QString &dateFormat);
|
||||
|
||||
private:
|
||||
ZeiterfassungSettings &m_settings;
|
||||
|
||||
static const QString m_url;
|
||||
static const QString m_dateFormat;
|
||||
static const QString m_defaultUrl;
|
||||
static const QString m_defaultDateFormat;
|
||||
};
|
||||
|
||||
#endif // LUNCHMEALSETTINGS_H
|
||||
|
Reference in New Issue
Block a user