Index: src/notifybyaudio.cpp =================================================================== --- src/notifybyaudio.cpp +++ src/notifybyaudio.cpp @@ -22,6 +22,7 @@ #include "notifybyaudio.h" #include "debug_p.h" +#include #include #include #include @@ -49,17 +50,26 @@ void NotifyByAudio::notify(KNotification *notification, KNotifyConfig *config) { - if (!m_audioOutput) { - m_audioOutput = new Phonon::AudioOutput(Phonon::NotificationCategory, this); - } QString soundFilename = config->readEntry(QStringLiteral("Sound")); if (soundFilename.isEmpty()) { - qCWarning(LOG_KNOTIFICATIONS) << "Audio notification requested, but no sound file provided in notifyrc file, aborting audio notification"; + qCWarning(LOG_KNOTIFICATIONS) << "Audio notification requested because" << notification->text() + << "/" << config->eventid + << ", but no sound file provided in file" << config->configfile->name() << ", aborting audio notification"; + QApplication::beep(); + + finish(notification); + return; + } + if (soundFilename.compare(QStringLiteral("beep"), Qt::CaseInsensitive) == 0) { + QApplication::beep(); finish(notification); return; } + if (!m_audioOutput) { + m_audioOutput = new Phonon::AudioOutput(Phonon::NotificationCategory, this); + } QUrl soundURL; const auto dataLocations = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); foreach (const QString &dataLocation, dataLocations) { @@ -74,7 +84,10 @@ soundURL.clear(); } if (soundURL.isEmpty()) { - qCWarning(LOG_KNOTIFICATIONS) << "Audio notification requested, but sound file from notifyrc file was not found, aborting audio notification"; + qCWarning(LOG_KNOTIFICATIONS) << "Audio notification requested" << notification->text() + << ", but sound file" << soundURL.fileName() << "from file" << config->configfile->name() + << "was not found, aborting audio notification"; + QApplication::beep(); finish(notification); return; }