diff --git a/plugins/webradioplugin/webradioplugin.cpp b/plugins/webradioplugin/webradioplugin.cpp index 9a749d7..d75bfcb 100644 --- a/plugins/webradioplugin/webradioplugin.cpp +++ b/plugins/webradioplugin/webradioplugin.cpp @@ -10,6 +10,7 @@ #include "mainwindow.h" #include "webradiodialog.h" +#include "webradiosettingswidget.h" WebRadioPlugin::WebRadioPlugin(QObject *parent) : ZeiterfassungPlugin(parent) @@ -37,3 +38,8 @@ void WebRadioPlugin::attachTo(MainWindow &mainWindow) mainWindow.menuTools()->addAction(QIcon(QStringLiteral(":/zeiterfassung/plugins/webradioplugin/images/web-radio.png")), tr("Play webradio"), dialog, &QWidget::show); } + +SettingsWidget *WebRadioPlugin::settingsWidget(ZeiterfassungSettings &settings, QWidget *parent) const +{ + return new WebRadioSettingsWidget(settings, parent); +} diff --git a/plugins/webradioplugin/webradioplugin.h b/plugins/webradioplugin/webradioplugin.h index e11932d..6644b3f 100644 --- a/plugins/webradioplugin/webradioplugin.h +++ b/plugins/webradioplugin/webradioplugin.h @@ -17,6 +17,8 @@ public: // ZeiterfassungPlugin interface void attachTo(MainWindow &mainWindow) Q_DECL_OVERRIDE; + SettingsWidget *settingsWidget(ZeiterfassungSettings &settings, QWidget *parent = Q_NULLPTR) const Q_DECL_OVERRIDE; + private: QTranslator m_translator; }; diff --git a/plugins/webradioplugin/webradioplugin.pro b/plugins/webradioplugin/webradioplugin.pro index c796eff..0c8ee81 100644 --- a/plugins/webradioplugin/webradioplugin.pro +++ b/plugins/webradioplugin/webradioplugin.pro @@ -18,11 +18,13 @@ DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSA HEADERS += webradiodialog.h \ webradioplugin.h \ - webradiosettings.h + webradiosettings.h \ + webradiosettingswidget.h SOURCES += webradiodialog.cpp \ webradioplugin.cpp \ - webradiosettings.cpp + webradiosettings.cpp \ + webradiosettingswidget.cpp FORMS += webradiodialog.ui diff --git a/plugins/webradioplugin/webradiosettingswidget.cpp b/plugins/webradioplugin/webradiosettingswidget.cpp new file mode 100644 index 0000000..5ab799f --- /dev/null +++ b/plugins/webradioplugin/webradiosettingswidget.cpp @@ -0,0 +1,28 @@ +#include "webradiosettingswidget.h" + +#include + +#include "QStringListWidget/qstringlistwidget.h" + +WebRadioSettingsWidget::WebRadioSettingsWidget(ZeiterfassungSettings &settings, QWidget *parent) : + SettingsWidget(parent), + m_settings(settings) +{ + auto layout = new QFormLayout(this); + layout->setMargin(0); + + m_urlsWidget = new QStringListWidget(m_settings.urls(), this); + layout->addRow(tr("URLs:"), m_urlsWidget); + + setLayout(layout); +} + +bool WebRadioSettingsWidget::isValid(QString &message) const +{ + +} + +void WebRadioSettingsWidget::apply() +{ + +} diff --git a/plugins/webradioplugin/webradiosettingswidget.h b/plugins/webradioplugin/webradiosettingswidget.h new file mode 100644 index 0000000..1499985 --- /dev/null +++ b/plugins/webradioplugin/webradiosettingswidget.h @@ -0,0 +1,32 @@ +#ifndef WEBRADIOSETTINGSWIDGET_H +#define WEBRADIOSETTINGSWIDGET_H + +#include + +#include "settingswidget.h" + +#include "webradiosettings.h" + +class QStringListWidget; + +class ZeiterfassungSettings; + +class WebRadioSettingsWidget : public SettingsWidget +{ + Q_OBJECT + +public: + explicit WebRadioSettingsWidget(ZeiterfassungSettings &settings, QWidget *parent = Q_NULLPTR); + + bool isValid(QString &message) const Q_DECL_OVERRIDE; + +public Q_SLOTS: + void apply() Q_DECL_OVERRIDE; + +private: + WebRadioSettings m_settings; + + QStringListWidget *m_urlsWidget; +}; + +#endif // WEBRADIOSETTINGSWIDGET_H