/***************************************************************************
- * Copyright (C) 2005-2018 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "qtmultimedianotificationbackend.h"
+#include <memory>
+
#include <QFileDialog>
#include <QUrl>
-#include <memory>
#include "clientsettings.h"
#include "icon.h"
#include "mainwin.h"
#include "qtui.h"
-QtMultimediaNotificationBackend::QtMultimediaNotificationBackend(QObject *parent)
+QtMultimediaNotificationBackend::QtMultimediaNotificationBackend(QObject* parent)
: AbstractNotificationBackend(parent)
{
NotificationSettings notificationSettings;
- notificationSettings.notify("QtMultimedia/Enabled", this, SLOT(enabledChanged(const QVariant &)));
- notificationSettings.notify("QtMultimedia/AudioFile", this, SLOT(audioFileChanged(const QVariant &)));
+ notificationSettings.notify("QtMultimedia/Enabled", this, &QtMultimediaNotificationBackend::enabledChanged);
+ notificationSettings.notify("QtMultimedia/AudioFile", this, &QtMultimediaNotificationBackend::audioFileChanged);
createMediaObject(notificationSettings.value("QtMultimedia/AudioFile", QString()).toString());
_enabled = notificationSettings.value("QtMultimedia/Enabled", true).toBool();
}
-
-void QtMultimediaNotificationBackend::notify(const Notification ¬ification)
+void QtMultimediaNotificationBackend::notify(const Notification& notification)
{
if (_enabled && (notification.type == Highlight || notification.type == PrivMsg)) {
if (_media && _media->availability() == QMultimedia::Available) {
}
}
-
void QtMultimediaNotificationBackend::close(uint notificationId)
{
Q_UNUSED(notificationId);
}
-
-void QtMultimediaNotificationBackend::enabledChanged(const QVariant &v)
+void QtMultimediaNotificationBackend::enabledChanged(const QVariant& v)
{
_enabled = v.toBool();
}
-
-void QtMultimediaNotificationBackend::audioFileChanged(const QVariant &v)
+void QtMultimediaNotificationBackend::audioFileChanged(const QVariant& v)
{
createMediaObject(v.toString());
}
-
-SettingsPage *QtMultimediaNotificationBackend::createConfigWidget() const
+SettingsPage* QtMultimediaNotificationBackend::createConfigWidget() const
{
return new ConfigWidget();
}
-
-void QtMultimediaNotificationBackend::createMediaObject(const QString &file)
+void QtMultimediaNotificationBackend::createMediaObject(const QString& file)
{
if (file.isEmpty()) {
_media.reset();
_media->setMedia(QUrl::fromLocalFile(file));
}
-
/***************************************************************************/
-QtMultimediaNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent)
+QtMultimediaNotificationBackend::ConfigWidget::ConfigWidget(QWidget* parent)
: SettingsPage("Internal", "QtMultimediaNotification", parent)
{
ui.setupUi(this);
_audioAvailable = (QMediaPlayer().availability() == QMultimedia::Available);
- connect(ui.enabled, SIGNAL(toggled(bool)), SLOT(widgetChanged()));
- connect(ui.filename, SIGNAL(textChanged(const QString &)), SLOT(widgetChanged()));
+ connect(ui.enabled, &QAbstractButton::toggled, this, &ConfigWidget::widgetChanged);
+ connect(ui.filename, &QLineEdit::textChanged, this, &ConfigWidget::widgetChanged);
}
-
void QtMultimediaNotificationBackend::ConfigWidget::widgetChanged()
{
- if (! _audioAvailable) {
+ if (!_audioAvailable) {
ui.play->setEnabled(ui.enabled->isChecked());
ui.open->setEnabled(false);
ui.filename->setEnabled(false);
}
}
-
bool QtMultimediaNotificationBackend::ConfigWidget::hasDefaults() const
{
return true;
}
-
void QtMultimediaNotificationBackend::ConfigWidget::defaults()
{
ui.enabled->setChecked(false);
widgetChanged();
}
-
void QtMultimediaNotificationBackend::ConfigWidget::load()
{
NotificationSettings s;
setChangedState(false);
}
-
void QtMultimediaNotificationBackend::ConfigWidget::save()
{
NotificationSettings s;
load();
}
-
void QtMultimediaNotificationBackend::ConfigWidget::on_open_clicked()
{
QString file = QFileDialog::getOpenFileName(this, tr("Select Audio File"));
}
}
-
void QtMultimediaNotificationBackend::ConfigWidget::on_play_clicked()
{
if (_audioAvailable) {