X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtmultimedianotificationbackend.cpp;fp=src%2Fqtui%2Fqtmultimedianotificationbackend.cpp;h=72e76c5325c7b2c0a717456d41088861d180427a;hp=746c21cb0ca3f4e01c5af56f49ac936058ab8a3c;hb=60d19a8ddad9f989f4fa03ba66c47e3d7bb66df1;hpb=680565f39c50f27cc339cb3e96bbd0abc6f47144 diff --git a/src/qtui/qtmultimedianotificationbackend.cpp b/src/qtui/qtmultimedianotificationbackend.cpp index 746c21cb..72e76c53 100644 --- a/src/qtui/qtmultimedianotificationbackend.cpp +++ b/src/qtui/qtmultimedianotificationbackend.cpp @@ -29,8 +29,7 @@ #include "qtui.h" QtMultimediaNotificationBackend::QtMultimediaNotificationBackend(QObject *parent) - : AbstractNotificationBackend(parent), - _media(0) + : AbstractNotificationBackend(parent) { NotificationSettings notificationSettings; notificationSettings.notify("QtMultimedia/Enabled", this, SLOT(enabledChanged(const QVariant &))); @@ -42,13 +41,6 @@ QtMultimediaNotificationBackend::QtMultimediaNotificationBackend(QObject *parent } -QtMultimediaNotificationBackend::~QtMultimediaNotificationBackend() -{ - if (_media) - delete _media; -} - - void QtMultimediaNotificationBackend::notify(const Notification ¬ification) { if (_enabled && (notification.type == Highlight || notification.type == PrivMsg)) { @@ -88,15 +80,12 @@ SettingsPage *QtMultimediaNotificationBackend::createConfigWidget() const void QtMultimediaNotificationBackend::createMediaObject(const QString &file) { - if (_media) - delete _media; - if (file.isEmpty()) { - _media = 0; + _media.reset(); return; } - _media = new QMediaPlayer; + _media.reset(new QMediaPlayer); _media->setMedia(QUrl::fromLocalFile(file)); } @@ -104,42 +93,32 @@ void QtMultimediaNotificationBackend::createMediaObject(const QString &file) /***************************************************************************/ QtMultimediaNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent) - : SettingsPage("Internal", "QtMultimediaNotification", parent), - audioPreview(0) + : SettingsPage("Internal", "QtMultimediaNotification", parent) { ui.setupUi(this); ui.enabled->setIcon(QIcon::fromTheme("media-playback-start")); ui.play->setIcon(QIcon::fromTheme("media-playback-start")); ui.open->setIcon(QIcon::fromTheme("document-open")); - QMediaPlayer *player = new QMediaPlayer; - _audioAvailable = player->availability() == QMultimedia::Available; - delete player; + _audioAvailable = (QMediaPlayer().availability() == QMultimedia::Available); connect(ui.enabled, SIGNAL(toggled(bool)), SLOT(widgetChanged())); connect(ui.filename, SIGNAL(textChanged(const QString &)), SLOT(widgetChanged())); } -QtMultimediaNotificationBackend::ConfigWidget::~ConfigWidget() -{ - if (audioPreview) - delete audioPreview; -} - - void QtMultimediaNotificationBackend::ConfigWidget::widgetChanged() { if (! _audioAvailable) { ui.play->setEnabled(ui.enabled->isChecked()); ui.open->setEnabled(false); ui.filename->setEnabled(false); - ui.filename->setText(QString()); + ui.filename->setText({}); } else { ui.play->setEnabled(ui.enabled->isChecked() && !ui.filename->text().isEmpty()); - bool changed = (enabled != ui.enabled->isChecked() || filename != ui.filename->text()); + bool changed = (_enabled != ui.enabled->isChecked() || _filename != ui.filename->text()); if (changed != hasChanged()) setChangedState(changed); @@ -156,7 +135,7 @@ bool QtMultimediaNotificationBackend::ConfigWidget::hasDefaults() const void QtMultimediaNotificationBackend::ConfigWidget::defaults() { ui.enabled->setChecked(false); - ui.filename->setText(QString()); + ui.filename->setText({}); widgetChanged(); } @@ -164,11 +143,11 @@ void QtMultimediaNotificationBackend::ConfigWidget::defaults() void QtMultimediaNotificationBackend::ConfigWidget::load() { NotificationSettings s; - enabled = s.value("QtMultimedia/Enabled", false).toBool(); - filename = s.value("QtMultimedia/AudioFile", QString()).toString(); + _enabled = s.value("QtMultimedia/Enabled", false).toBool(); + _filename = s.value("QtMultimedia/AudioFile", QString()).toString(); - ui.enabled->setChecked(enabled); - ui.filename->setText(filename); + ui.enabled->setChecked(_enabled); + ui.filename->setText(_filename); setChangedState(false); } @@ -198,12 +177,9 @@ void QtMultimediaNotificationBackend::ConfigWidget::on_play_clicked() { if (_audioAvailable) { if (!ui.filename->text().isEmpty()) { - if (audioPreview) - delete audioPreview; - - audioPreview = new QMediaPlayer; - audioPreview->setMedia(QUrl::fromLocalFile(ui.filename->text())); - audioPreview->play(); + _audioPreview.reset(new QMediaPlayer); + _audioPreview->setMedia(QUrl::fromLocalFile(ui.filename->text())); + _audioPreview->play(); } } else