diff options
author | Jaromir Wysoglad | 2019-07-12 02:08:22 +0200 |
---|---|---|
committer | Filippos Karapetis | 2019-09-01 22:47:55 +0300 |
commit | fa6faca76a35028e288753c3d74f2c81228ec5bb (patch) | |
tree | ae4bbd7a53133e15406278457a0d21d8ef5552e0 /gui | |
parent | 62a011e28a4a7e253ad07319cef760566cba59cb (diff) | |
download | scummvm-rg350-fa6faca76a35028e288753c3d74f2c81228ec5bb.tar.gz scummvm-rg350-fa6faca76a35028e288753c3d74f2c81228ec5bb.tar.bz2 scummvm-rg350-fa6faca76a35028e288753c3d74f2c81228ec5bb.zip |
TTS: Add TTS checkbox to Options
Probably works only in the builtin theme right now.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/options.cpp | 23 | ||||
-rw-r--r-- | gui/options.h | 8 | ||||
-rw-r--r-- | gui/themes/default.inc | 7 |
3 files changed, 38 insertions, 0 deletions
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' " |