Implemented changed signals in WebRadioSettings #76
This commit is contained in:
@@ -2,6 +2,24 @@
|
|||||||
|
|
||||||
#include "zeiterfassungsettings.h"
|
#include "zeiterfassungsettings.h"
|
||||||
|
|
||||||
|
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"),
|
||||||
|
QStringLiteral("http://lw1.mp3.tb-group.fm/hb.mp3"),
|
||||||
|
QStringLiteral("http://lw1.mp3.tb-group.fm/tb.mp3"),
|
||||||
|
QStringLiteral("http://lw1.mp3.tb-group.fm/tt.mp3"),
|
||||||
|
QStringLiteral("http://lw1.mp3.tb-group.fm/ht.mp3"),
|
||||||
|
QStringLiteral("http://lw1.mp3.tb-group.fm/trb.mp3"),
|
||||||
|
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")
|
||||||
|
};
|
||||||
|
const int WebRadioSettings::m_defaultVolume(100);
|
||||||
|
|
||||||
WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) :
|
WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) :
|
||||||
m_settings(settings)
|
m_settings(settings)
|
||||||
{
|
{
|
||||||
@@ -9,42 +27,42 @@ WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) :
|
|||||||
|
|
||||||
QStringList WebRadioSettings::urls() const
|
QStringList WebRadioSettings::urls() const
|
||||||
{
|
{
|
||||||
return m_settings.value(QStringLiteral("WebRadioPlugin/urls"), QStringList {
|
return m_settings.value(m_urls, m_defaultUrls).toStringList();
|
||||||
QStringLiteral("http://stream.drumandbass.fm:9002"),
|
|
||||||
QStringLiteral("http://stream.trap.fm:6002"),
|
|
||||||
QStringLiteral("http://stream.dubbase.fm:7002"),
|
|
||||||
QStringLiteral("http://lw1.mp3.tb-group.fm/hb.mp3"),
|
|
||||||
QStringLiteral("http://lw1.mp3.tb-group.fm/tb.mp3"),
|
|
||||||
QStringLiteral("http://lw1.mp3.tb-group.fm/tt.mp3"),
|
|
||||||
QStringLiteral("http://lw1.mp3.tb-group.fm/ht.mp3"),
|
|
||||||
QStringLiteral("http://lw1.mp3.tb-group.fm/trb.mp3"),
|
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebRadioSettings::setUrls(const QStringList &urls)
|
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
|
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)
|
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
|
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)
|
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
|
#ifndef WEBRADIOSETTINGS_H
|
||||||
#define WEBRADIOSETTINGS_H
|
#define WEBRADIOSETTINGS_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
class ZeiterfassungSettings;
|
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:
|
public:
|
||||||
WebRadioSettings(ZeiterfassungSettings &settings);
|
WebRadioSettings(ZeiterfassungSettings &settings);
|
||||||
|
|
||||||
@@ -19,8 +25,19 @@ public:
|
|||||||
int volume() const;
|
int volume() const;
|
||||||
void setVolume(int volume);
|
void setVolume(int volume);
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void urlsChanged(const QStringList &urls);
|
||||||
|
void lastUrlChanged(const QString &lastUrl);
|
||||||
|
void volumeChanged(int volume);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ZeiterfassungSettings &m_settings;
|
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
|
#endif // WEBRADIOSETTINGS_H
|
||||||
|
Reference in New Issue
Block a user