58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
#include "webradioplugin.h"
|
|
|
|
#include <QDebug>
|
|
#include <QDir>
|
|
#include <QCoreApplication>
|
|
#include <QLocale>
|
|
#include <QMediaPlayer>
|
|
#include <QMenu>
|
|
#include <QAction>
|
|
|
|
#include "utils/fileutils.h"
|
|
|
|
#include "mainwindow.h"
|
|
|
|
#include "webradiosettings.h"
|
|
#include "webradiodialog.h"
|
|
#include "webradiosettingswidget.h"
|
|
|
|
WebRadioPlugin::WebRadioPlugin(QObject *parent) :
|
|
ZeiterfassungPlugin(parent)
|
|
{
|
|
qDebug() << "called";
|
|
|
|
if(m_translator.load(QLocale(), QStringLiteral("webradioplugin"), QStringLiteral("_"), translationsDir()))
|
|
{
|
|
if(!QCoreApplication::installTranslator(&m_translator))
|
|
{
|
|
qWarning() << "could not install translation webradioplugin";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
qWarning() << "could not load translation webradioplugin";
|
|
}
|
|
}
|
|
|
|
void WebRadioPlugin::attachTo(MainWindow &mainWindow)
|
|
{
|
|
auto mediaPlayer = [&mainWindow](){
|
|
auto mediaPlayer = new QMediaPlayer(&mainWindow);
|
|
WebRadioSettings settings(mainWindow.settings());
|
|
mediaPlayer->setVolume(settings.volume());
|
|
mediaPlayer->setMedia(QMediaContent(QUrl(settings.lastUrl())));
|
|
return mediaPlayer;
|
|
}();
|
|
|
|
mainWindow.menuTools()->addAction(QIcon(QStringLiteral(":/zeiterfassung/plugins/webradioplugin/images/web-radio.png")),
|
|
tr("Play webradio"), &mainWindow, [mediaPlayer, &mainWindow](){
|
|
WebRadioDialog dialog(*mediaPlayer, mainWindow);
|
|
dialog.exec();
|
|
});
|
|
}
|
|
|
|
SettingsWidget *WebRadioPlugin::settingsWidget(ZeiterfassungSettings &settings, QWidget *parent) const
|
|
{
|
|
return new WebRadioSettingsWidget(settings, parent);
|
|
}
|