From 24d1ad4c5918abf2f728cb98d556faef446c2d57 Mon Sep 17 00:00:00 2001 From: Sebastien Fricker Date: Thu, 13 Sep 2012 17:20:26 +0200 Subject: [PATCH] If phonon is not availaible: disable the audio settings --- src/qtui/phononnotificationbackend.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) 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); + } } -- 2.20.1