summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/tts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/tts.cpp')
-rw-r--r--rbutil/rbutilqt/tts.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/tts.cpp b/rbutil/rbutilqt/tts.cpp
index d6049f8aec..fd0097c617 100644
--- a/rbutil/rbutilqt/tts.cpp
+++ b/rbutil/rbutilqt/tts.cpp
@@ -97,6 +97,43 @@ TTSExes::TTSExes(QString name) : TTSBase()
97 97
98} 98}
99 99
100void TTSExes::setCfg(RbSettings* sett)
101{
102 // call function of base class
103 TTSBase::setCfg(sett);
104
105 // if the config isnt OK, try to autodetect
106 if(!configOk())
107 {
108 QString exepath;
109 //try autodetect tts
110#if defined(Q_OS_LINUX) || defined(Q_OS_MACX)
111 QStringList path = QString(getenv("PATH")).split(":", QString::SkipEmptyParts);
112#elif defined(Q_OS_WIN)
113 QStringList path = QString(getenv("PATH")).split(";", QString::SkipEmptyParts);
114#endif
115 qDebug() << path;
116 for(int i = 0; i < path.size(); i++)
117 {
118 QString executable = QDir::fromNativeSeparators(path.at(i)) + "/" + m_name;
119#if defined(Q_OS_WIN)
120 executable += ".exe";
121 QStringList ex = executable.split("\"", QString::SkipEmptyParts);
122 executable = ex.join("");
123#endif
124 qDebug() << executable;
125 if(QFileInfo(executable).isExecutable())
126 {
127 exepath= QDir::toNativeSeparators(executable);
128 break;
129 }
130 }
131 settings->setTTSPath(m_name,exepath);
132 settings->sync();
133 }
134
135}
136
100bool TTSExes::start(QString *errStr) 137bool TTSExes::start(QString *errStr)
101{ 138{
102 m_TTSexec = settings->ttsPath(m_name); 139 m_TTSexec = settings->ttsPath(m_name);