diff options
-rw-r--r-- | backends/text-to-speech/linux/linux-text-to-speech.cpp | 1 | ||||
-rw-r--r-- | gui/options.cpp | 23 | ||||
-rw-r--r-- | gui/options.h | 8 | ||||
-rw-r--r-- | gui/themes/default.inc | 7 |
4 files changed, 38 insertions, 1 deletions
diff --git a/backends/text-to-speech/linux/linux-text-to-speech.cpp b/backends/text-to-speech/linux/linux-text-to-speech.cpp index 02ca5a8ef8..7ddd4ac2b4 100644 --- a/backends/text-to-speech/linux/linux-text-to-speech.cpp +++ b/backends/text-to-speech/linux/linux-text-to-speech.cpp @@ -138,7 +138,6 @@ bool LinuxTextToSpeechManager::isReady() { void LinuxTextToSpeechManager::setVoice(unsigned index) { if (_speechState == BROKEN) return; - debug("%d < %d", index, _ttsState->_availaibleVoices.size()); assert(index < _ttsState->_availaibleVoices.size()); Common::TTSVoice voice = _ttsState->_availaibleVoices[index]; spd_set_voice_type(_connection, *(SPDVoiceType *)(voice.getData())); diff --git a/gui/options.cpp b/gui/options.cpp index 92438623ac..ebfa4009eb 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -425,6 +425,7 @@ void OptionsDialog::build() { _subSpeedSlider->setValue(speed); _subSpeedLabel->setValue(speed); } + } void OptionsDialog::clean() { @@ -1523,6 +1524,10 @@ GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher) _serverWasRunning = false; #endif #endif +#ifdef USE_TTS + _enableTTS = false; + _ttsCheckbox = 0; +#endif } GlobalOptionsDialog::~GlobalOptionsDialog() { @@ -1779,6 +1784,21 @@ void GlobalOptionsDialog::build() { #endif // USE_SDL_NET #endif // USE_CLOUD + //Accessibility +#ifdef USE_TTS + if (g_system->getOverlayWidth() > 320) + tab->addTab(_("Accessibility")); + else + tab->addTab(_c("Accessibility", "lowres")); + _ttsCheckbox = new CheckboxWidget(tab, "GlobalOptions_Accessibility.TTSCheckbox", + _("Use Text to speech"), _("Will read text in gui on mouse over.")); + if (ConfMan.hasKey("ttsEnabled")) + _ttsCheckbox->setState(ConfMan.getBool("ttsEnabled", _domain)); + else + _ttsCheckbox->setState(false); + +#endif // USE_TTS + // Activate the first tab tab->setActiveTab(0); _tabWidget = tab; @@ -2114,6 +2134,9 @@ void GlobalOptionsDialog::apply() { MessageDialog error(errorMessage); error.runModal(); } +#ifdef USE_TTS + ConfMan.setBool("ttsEnabled", _ttsCheckbox->getState(), _domain); +#endif if (isRebuildNeeded) { rebuild(); diff --git a/gui/options.h b/gui/options.h index 04b5a5678c..5f7a6b362f 100644 --- a/gui/options.h +++ b/gui/options.h @@ -223,6 +223,7 @@ private: CheckboxWidget *_muteCheckbox; + protected: // // Game GUI options @@ -354,6 +355,13 @@ protected: #endif // USE_SDL_NET #endif // USE_CLOUD + // + // Accessibility controls + // +#ifdef USE_TTS + bool _enableTTS; + CheckboxWidget *_ttsCheckbox; +#endif }; } // End of namespace GUI diff --git a/gui/themes/default.inc b/gui/themes/default.inc index 49f5e05d7b..603567d700 100644 --- a/gui/themes/default.inc +++ b/gui/themes/default.inc @@ -1553,6 +1553,13 @@ const char *defaultXML1 = "<?xml version = '1.0'?>" "/>" "</layout>" "</dialog>" +"<dialog name='GlobalOptions_Accessibility' overlays='Dialog.GlobalOptions.TabWidget'>" +"<layout type='vertical' padding='16,16,16,16' spacing='16'>" +"<widget name='TTSCheckbox' " +"type='Checkbox' " +"/>" +"</layout>" +"</dialog>" "<dialog name='GlobalMenu' overlays='screen_center'>" "<layout type='vertical' padding='16,16,16,16' center='true'>" "<widget name='Title' " |