diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-01-29 15:36:52 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-01-29 22:55:18 +0100 |
commit | 4105c82e6bb6cf5407256af736405ddff437c25f (patch) | |
tree | 6924252f8aa128bd6d9aae3a46932e8075861bec /rbutil/rbutilqt/base | |
parent | 0ae49c2719b9b2cceab33ad1c6b44873b38e71b1 (diff) | |
download | rockbox-4105c82e6bb6cf5407256af736405ddff437c25f.tar.gz rockbox-4105c82e6bb6cf5407256af736405ddff437c25f.zip |
Centralize settings for executable based TTS systems.
The configuration values for executable based TTS systems is stored in member
variables. Instead of reading them multiple times provide a function for that
and move searching the executable to the loading function.
Previously the executable was only searched in the path when opening the TTS
configuration. Having this in the loading function removes that unnecessary
step in case the TTS is in the path (and doesn't require additional
configuration).
Change-Id: I06799b55545dcb719ee3c916795b20e01c248a15
Diffstat (limited to 'rbutil/rbutilqt/base')
-rw-r--r-- | rbutil/rbutilqt/base/ttsexes.cpp | 31 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/ttsexes.h | 1 |
2 files changed, 19 insertions, 13 deletions
diff --git a/rbutil/rbutilqt/base/ttsexes.cpp b/rbutil/rbutilqt/base/ttsexes.cpp index 5e06b950bd..9e24044e5b 100644 --- a/rbutil/rbutilqt/base/ttsexes.cpp +++ b/rbutil/rbutilqt/base/ttsexes.cpp | |||
@@ -37,13 +37,11 @@ TTSBase::Capabilities TTSExes::capabilities() | |||
37 | 37 | ||
38 | void TTSExes::generateSettings() | 38 | void TTSExes::generateSettings() |
39 | { | 39 | { |
40 | QString exepath =RbSettings::subValue(m_name,RbSettings::TtsPath).toString(); | 40 | loadSettings(); |
41 | if(exepath == "") exepath = Utils::findExecutable(m_name); | 41 | insertSetting(eEXEPATH, new EncTtsSetting(this, EncTtsSetting::eSTRING, |
42 | 42 | tr("Path to TTS engine:"), m_TTSexec, EncTtsSetting::eBROWSEBTN)); | |
43 | insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING, | 43 | insertSetting(eOPTIONS, new EncTtsSetting(this, EncTtsSetting::eSTRING, |
44 | tr("Path to TTS engine:"),exepath,EncTtsSetting::eBROWSEBTN)); | 44 | tr("TTS engine options:"), m_TTSOpts)); |
45 | insertSetting(eOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING, | ||
46 | tr("TTS engine options:"),RbSettings::subValue(m_name,RbSettings::TtsOptions))); | ||
47 | } | 45 | } |
48 | 46 | ||
49 | void TTSExes::saveSettings() | 47 | void TTSExes::saveSettings() |
@@ -55,11 +53,18 @@ void TTSExes::saveSettings() | |||
55 | RbSettings::sync(); | 53 | RbSettings::sync(); |
56 | } | 54 | } |
57 | 55 | ||
58 | bool TTSExes::start(QString *errStr) | 56 | |
57 | void TTSExes::loadSettings(void) | ||
59 | { | 58 | { |
60 | m_TTSexec = RbSettings::subValue(m_name,RbSettings::TtsPath).toString(); | 59 | m_TTSexec = RbSettings::subValue(m_name,RbSettings::TtsPath).toString(); |
60 | if(m_TTSexec.isEmpty()) m_TTSexec = Utils::findExecutable(m_name); | ||
61 | m_TTSOpts = RbSettings::subValue(m_name,RbSettings::TtsOptions).toString(); | 61 | m_TTSOpts = RbSettings::subValue(m_name,RbSettings::TtsOptions).toString(); |
62 | } | ||
63 | |||
62 | 64 | ||
65 | bool TTSExes::start(QString *errStr) | ||
66 | { | ||
67 | loadSettings(); | ||
63 | m_TTSTemplate = m_TemplateMap.value(m_name); | 68 | m_TTSTemplate = m_TemplateMap.value(m_name); |
64 | 69 | ||
65 | QFileInfo tts(m_TTSexec); | 70 | QFileInfo tts(m_TTSexec); |
@@ -96,10 +101,10 @@ TTSStatus TTSExes::voice(QString text,QString wavfile, QString *errStr) | |||
96 | 101 | ||
97 | bool TTSExes::configOk() | 102 | bool TTSExes::configOk() |
98 | { | 103 | { |
99 | QString path = RbSettings::subValue(m_name,RbSettings::TtsPath).toString(); | 104 | loadSettings(); |
100 | 105 | if (QFileInfo(m_TTSexec).exists()) | |
101 | if (QFileInfo(path).exists()) | ||
102 | return true; | 106 | return true; |
103 | 107 | else | |
104 | return false; | 108 | return false; |
105 | } | 109 | } |
110 | |||
diff --git a/rbutil/rbutilqt/base/ttsexes.h b/rbutil/rbutilqt/base/ttsexes.h index fe8e5e8b8d..6f9152ef4b 100644 --- a/rbutil/rbutilqt/base/ttsexes.h +++ b/rbutil/rbutilqt/base/ttsexes.h | |||
@@ -46,6 +46,7 @@ class TTSExes : public TTSBase | |||
46 | bool configOk(); | 46 | bool configOk(); |
47 | 47 | ||
48 | private: | 48 | private: |
49 | void loadSettings(void); | ||
49 | QString m_name; | 50 | QString m_name; |
50 | QString m_TTSexec; | 51 | QString m_TTSexec; |
51 | QString m_TTSOpts; | 52 | QString m_TTSOpts; |