diff --git a/plugins/webradioplugin/webradiodialog.cpp b/plugins/webradioplugin/webradiodialog.cpp index fd5e855..2ca4f89 100644 --- a/plugins/webradioplugin/webradiodialog.cpp +++ b/plugins/webradioplugin/webradiodialog.cpp @@ -7,7 +7,8 @@ WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) : ZeiterfassungDialog(&mainWindow), ui(new Ui::WebRadioDialog), - m_mainWindow(mainWindow) + m_mainWindow(mainWindow), + m_settings(m_mainWindow.settings()) { ui->setupUi(this); @@ -18,22 +19,8 @@ WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) : connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &WebRadioDialog::updateWidgets); connect(m_player, static_cast(&QMediaPlayer::error), this, &WebRadioDialog::error); - for(const auto &url : m_mainWindow.settings().value(QStringLiteral("WebRadioPlugin/urls"), QStringList { - 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()) - { + for(const auto &url : m_settings.urls()) ui->comboBox->addItem(url, url); - } ui->comboBox->setCurrentIndex(ui->comboBox->findData(m_mainWindow.settings().value(QStringLiteral("WebRadioPlugin/lastUrl")).toString())); diff --git a/plugins/webradioplugin/webradiodialog.h b/plugins/webradioplugin/webradiodialog.h index 6dbda8d..b1c6c73 100644 --- a/plugins/webradioplugin/webradiodialog.h +++ b/plugins/webradioplugin/webradiodialog.h @@ -4,6 +4,8 @@ #include "zeiterfassungdialog.h" +#include "webradiosettings.h" + class MainWindow; namespace Ui { class WebRadioDialog; } @@ -30,5 +32,7 @@ private: Ui::WebRadioDialog *ui; MainWindow &m_mainWindow; + WebRadioSettings m_settings; + QMediaPlayer *m_player; }; diff --git a/plugins/webradioplugin/webradioplugin.pro b/plugins/webradioplugin/webradioplugin.pro index 1024a95..c796eff 100644 --- a/plugins/webradioplugin/webradioplugin.pro +++ b/plugins/webradioplugin/webradioplugin.pro @@ -17,10 +17,12 @@ DEPENDPATH += $$PWD/$${PROJECT_ROOT}/zeiterfassungcorelib $$PWD/$${PROJECT_ROOT} DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSAGELOGCONTEXT HEADERS += webradiodialog.h \ - webradioplugin.h + webradioplugin.h \ + webradiosettings.h SOURCES += webradiodialog.cpp \ - webradioplugin.cpp + webradioplugin.cpp \ + webradiosettings.cpp FORMS += webradiodialog.ui diff --git a/plugins/webradioplugin/webradiosettings.cpp b/plugins/webradioplugin/webradiosettings.cpp new file mode 100644 index 0000000..652d94d --- /dev/null +++ b/plugins/webradioplugin/webradiosettings.cpp @@ -0,0 +1,30 @@ +#include "webradiosettings.h" + +#include "zeiterfassungsettings.h" + +WebRadioSettings::WebRadioSettings(ZeiterfassungSettings &settings) : + m_settings(settings) +{ +} + +QStringList WebRadioSettings::urls() const +{ + return m_settings.value(QStringLiteral("WebRadioPlugin/urls"), QStringList { + 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) +{ + m_settings.setValue(QStringLiteral("WebRadioPlugin/urls"), urls); +} diff --git a/plugins/webradioplugin/webradiosettings.h b/plugins/webradioplugin/webradiosettings.h new file mode 100644 index 0000000..4993eda --- /dev/null +++ b/plugins/webradioplugin/webradiosettings.h @@ -0,0 +1,20 @@ +#ifndef WEBRADIOSETTINGS_H +#define WEBRADIOSETTINGS_H + +#include + +class ZeiterfassungSettings; + +class WebRadioSettings +{ +public: + WebRadioSettings(ZeiterfassungSettings &settings); + + QStringList urls() const; + void setUrls(const QStringList &urls); + +private: + ZeiterfassungSettings &m_settings; +}; + +#endif // WEBRADIOSETTINGS_H