summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-01-29 15:36:52 +0100
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-01-29 22:55:18 +0100
commit4105c82e6bb6cf5407256af736405ddff437c25f (patch)
tree6924252f8aa128bd6d9aae3a46932e8075861bec /rbutil/rbutilqt
parent0ae49c2719b9b2cceab33ad1c6b44873b38e71b1 (diff)
downloadrockbox-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')
-rw-r--r--rbutil/rbutilqt/base/ttsexes.cpp31
-rw-r--r--rbutil/rbutilqt/base/ttsexes.h1
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
38void TTSExes::generateSettings() 38void 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
49void TTSExes::saveSettings() 47void TTSExes::saveSettings()
@@ -55,11 +53,18 @@ void TTSExes::saveSettings()
55 RbSettings::sync(); 53 RbSettings::sync();
56} 54}
57 55
58bool TTSExes::start(QString *errStr) 56
57void 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
65bool 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
97bool TTSExes::configOk() 102bool 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;