X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fphononnotificationbackend.cpp;fp=src%2Fqtui%2Fphononnotificationbackend.cpp;h=db2450ea299cb35eef67a8771a92285950697e81;hp=766cf59992606d6ffbaeecf3b51bad80336bc515;hb=24d1ad4c5918abf2f728cb98d556faef446c2d57;hpb=a4b12295cffc6add9b03c25faff35f753b026ec9 diff --git a/src/qtui/phononnotificationbackend.cpp b/src/qtui/phononnotificationbackend.cpp index 766cf599..db2450ea 100644 --- a/src/qtui/phononnotificationbackend.cpp +++ b/src/qtui/phononnotificationbackend.cpp @@ -21,7 +21,7 @@ #include #include - +#include #include "phononnotificationbackend.h" #include "clientsettings.h" @@ -122,12 +122,24 @@ PhononNotificationBackend::ConfigWidget::~ConfigWidget() void PhononNotificationBackend::ConfigWidget::widgetChanged() { - ui.play->setEnabled(ui.enabled->isChecked() && !ui.filename->text().isEmpty()); + bool audioAvailable = ! Phonon::BackendCapabilities::availableAudioOutputDevices().isEmpty(); + if ( ! audioAvailable ) + { + ui.enabled->setChecked( false ); + ui.enabled->setEnabled( false ); + ui.play->setEnabled( false ); + ui.open->setEnabled( false ); + ui.filename->setEnabled( false ); + } + 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); + if (changed != hasChanged()) setChangedState(changed); + } }