X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fphononnotificationbackend.cpp;h=b7317d253359892288fb9b91d7cad2b2cf55675e;hp=bcc7c76d964605a2be30c13d33de9c34607e9409;hb=307cafe026abea9badd8400b8fd594738f0160fe;hpb=bae8c28f27159ec803daff083da125b313c128d1 diff --git a/src/qtui/phononnotificationbackend.cpp b/src/qtui/phononnotificationbackend.cpp index bcc7c76d..b7317d25 100644 --- a/src/qtui/phononnotificationbackend.cpp +++ b/src/qtui/phononnotificationbackend.cpp @@ -20,8 +20,8 @@ #include -#include -#include +#include +#include #include "phononnotificationbackend.h" @@ -34,13 +34,14 @@ PhononNotificationBackend::PhononNotificationBackend(QObject *parent) : AbstractNotificationBackend(parent), _media(0) { - _audioAvailable = !Phonon::BackendCapabilities::availableAudioOutputDevices().isEmpty(); NotificationSettings notificationSettings; - _enabled = notificationSettings.value("Phonon/Enabled", true).toBool(); - createMediaObject(notificationSettings.value("Phonon/AudioFile", QString()).toString()); - notificationSettings.notify("Phonon/Enabled", this, SLOT(enabledChanged(const QVariant &))); notificationSettings.notify("Phonon/AudioFile", this, SLOT(audioFileChanged(const QVariant &))); + + createMediaObject(notificationSettings.value("Phonon/AudioFile", QString()).toString()); + + _enabled = notificationSettings.value("Phonon/Enabled", true).toBool(); + _audioAvailable = !Phonon::BackendCapabilities::availableAudioOutputDevices().isEmpty(); } @@ -54,7 +55,7 @@ PhononNotificationBackend::~PhononNotificationBackend() void PhononNotificationBackend::notify(const Notification ¬ification) { if (_enabled && (notification.type == Highlight || notification.type == PrivMsg)) { - if (_audioAvailable) { + if (_audioAvailable && _media) { _media->stop(); _media->play(); } @@ -98,7 +99,7 @@ void PhononNotificationBackend::createMediaObject(const QString &file) return; } - _media = Phonon::createPlayer(Phonon::NotificationCategory, Phonon::MediaSource(file)); + _media = Phonon::createPlayer(Phonon::NotificationCategory, Phonon::MediaSource(QUrl::fromLocalFile(file))); } @@ -199,7 +200,7 @@ void PhononNotificationBackend::ConfigWidget::on_play_clicked() if (audioPreview) delete audioPreview; - audioPreview = Phonon::createPlayer(Phonon::NotificationCategory, Phonon::MediaSource(ui.filename->text())); + audioPreview = Phonon::createPlayer(Phonon::NotificationCategory, Phonon::MediaSource(QUrl::fromLocalFile(ui.filename->text()))); audioPreview->play(); } }