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