Implemented changed signals in WebRadioSettings #76
This commit is contained in:
@@ -2,14 +2,10 @@
|
||||
|
||||
#include "zeiterfassungsettings.h"
|
||||
|
||||
WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) :
|
||||
m_settings(settings)
|
||||
{
|
||||
}
|
||||
|
||||
QStringList WebRadioSettings::urls() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("WebRadioPlugin/urls"), QStringList {
|
||||
const QString WebRadioSettings::m_urls("WebRadioPlugin/urls");
|
||||
const QString WebRadioSettings::m_lastUrl("WebRadioPlugin/lastUrl");
|
||||
const QString WebRadioSettings::m_volume("WebRadioPlugin/volume");
|
||||
const QStringList WebRadioSettings::m_defaultUrls {
|
||||
QStringLiteral("http://stream.drumandbass.fm:9002"),
|
||||
QStringLiteral("http://stream.trap.fm:6002"),
|
||||
QStringLiteral("http://stream.dubbase.fm:7002"),
|
||||
@@ -21,30 +17,52 @@ QStringList WebRadioSettings::urls() const
|
||||
QStringLiteral("http://lw1.mp3.tb-group.fm/ct.mp3"),
|
||||
QStringLiteral("http://lw1.mp3.tb-group.fm/clt.mp3"),
|
||||
QStringLiteral("https://live.helsinki.at:8088/live160.ogg")
|
||||
}).toStringList();
|
||||
};
|
||||
const int WebRadioSettings::m_defaultVolume(100);
|
||||
|
||||
WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) :
|
||||
m_settings(settings)
|
||||
{
|
||||
}
|
||||
|
||||
QStringList WebRadioSettings::urls() const
|
||||
{
|
||||
return m_settings.value(m_urls, m_defaultUrls).toStringList();
|
||||
}
|
||||
|
||||
void WebRadioSettings::setUrls(const QStringList &urls)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("WebRadioPlugin/urls"), urls);
|
||||
if(this->urls() != urls)
|
||||
{
|
||||
m_settings.setValue(m_urls, urls);
|
||||
Q_EMIT urlsChanged(urls);
|
||||
}
|
||||
}
|
||||
|
||||
QString WebRadioSettings::lastUrl() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("WebRadioPlugin/lastUrl")).toString();
|
||||
return m_settings.value(m_lastUrl).toString();
|
||||
}
|
||||
|
||||
void WebRadioSettings::setLastUrl(const QString &lastUrl)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("WebRadioPlugin/lastUrl"), lastUrl);
|
||||
if(this->lastUrl() != lastUrl)
|
||||
{
|
||||
m_settings.setValue(m_lastUrl, lastUrl);
|
||||
Q_EMIT lastUrlChanged(lastUrl);
|
||||
}
|
||||
}
|
||||
|
||||
int WebRadioSettings::volume() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("WebRadioPlugin/volume"), 100).toInt();
|
||||
return m_settings.value(m_volume, m_defaultVolume).toInt();
|
||||
}
|
||||
|
||||
void WebRadioSettings::setVolume(int volume)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("WebRadioPlugin/volume"), volume);
|
||||
if(this->volume() != volume)
|
||||
{
|
||||
m_settings.setValue(m_volume, volume);
|
||||
Q_EMIT volumeChanged(volume);
|
||||
}
|
||||
}
|
||||
|
@@ -1,12 +1,18 @@
|
||||
#ifndef WEBRADIOSETTINGS_H
|
||||
#define WEBRADIOSETTINGS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QUrl>
|
||||
|
||||
class ZeiterfassungSettings;
|
||||
|
||||
class WebRadioSettings
|
||||
class WebRadioSettings : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QStringList urls READ urls WRITE setUrls NOTIFY urlsChanged)
|
||||
Q_PROPERTY(QString lastUrl READ lastUrl WRITE setLastUrl NOTIFY lastUrlChanged)
|
||||
Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
|
||||
|
||||
public:
|
||||
WebRadioSettings(ZeiterfassungSettings &settings);
|
||||
|
||||
@@ -19,8 +25,19 @@ public:
|
||||
int volume() const;
|
||||
void setVolume(int volume);
|
||||
|
||||
Q_SIGNALS:
|
||||
void urlsChanged(const QStringList &urls);
|
||||
void lastUrlChanged(const QString &lastUrl);
|
||||
void volumeChanged(int volume);
|
||||
|
||||
private:
|
||||
ZeiterfassungSettings &m_settings;
|
||||
|
||||
static const QString m_urls;
|
||||
static const QString m_lastUrl;
|
||||
static const QString m_volume;
|
||||
static const QStringList m_defaultUrls;
|
||||
static const int m_defaultVolume;
|
||||
};
|
||||
|
||||
#endif // WEBRADIOSETTINGS_H
|
||||
|
Reference in New Issue
Block a user