diff --git a/src/GAudioOutput.cc b/src/GAudioOutput.cc index 7b3861617c7245f6b7280898eeeb68f44bcc73b2..6d1e2fff66c07660512536a694393bfc414466b4 100644 --- a/src/GAudioOutput.cc +++ b/src/GAudioOutput.cc @@ -40,13 +40,18 @@ This file is part of the QGROUNDCONTROL project IMPLEMENT_QGC_SINGLETON(GAudioOutput, GAudioOutput) +const char* GAudioOutput::_mutedKey = "AudioMuted"; + GAudioOutput::GAudioOutput(QObject *parent) : QGCSingleton(parent), muted(false), thread(new QThread()), worker(new QGCAudioWorker()) { - muted = qgcApp()->runningUnitTests(); + QSettings settings; + + muted = settings.value(_mutedKey, false).toBool(); + muted |= qgcApp()->runningUnitTests(); worker->moveToThread(thread); connect(this, SIGNAL(textToSpeak(QString,int)), worker, SLOT(say(QString,int))); @@ -66,7 +71,12 @@ GAudioOutput::~GAudioOutput() void GAudioOutput::mute(bool mute) { + QSettings settings; + muted = mute; + settings.setValue(_mutedKey, mute); + + emit mutedChanged(mute); } bool GAudioOutput::isMuted() diff --git a/src/GAudioOutput.h b/src/GAudioOutput.h index a765bd73c17042114bdf816d07b66104ae7bbd3a..ee97e8515c838224a8342d65a96bee1c9abb8b20 100644 --- a/src/GAudioOutput.h +++ b/src/GAudioOutput.h @@ -110,6 +110,8 @@ protected: private: GAudioOutput(QObject *parent = NULL); ~GAudioOutput(); + + static const char* _mutedKey; }; #endif // AUDIOOUTPUT_H