summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/tts.cpp
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2007-12-15 13:48:42 +0000
committerDominik Wenger <domonoky@googlemail.com>2007-12-15 13:48:42 +0000
commit2ab4636e95c89834c5f1d64d7cda1ebb63895791 (patch)
tree6c34d5a2c7eccdecb0d89b01f599c24d937a7f9c /rbutil/rbutilqt/tts.cpp
parentbebddd42c265bf63845f42bb29f48de5ed263f69 (diff)
downloadrockbox-2ab4636e95c89834c5f1d64d7cda1ebb63895791.tar.gz
rockbox-2ab4636e95c89834c5f1d64d7cda1ebb63895791.zip
rbutil: make the sapi voice script builtin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15933 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/tts.cpp')
-rw-r--r--rbutil/rbutilqt/tts.cpp41
1 files changed, 6 insertions, 35 deletions
diff --git a/rbutil/rbutilqt/tts.cpp b/rbutil/rbutilqt/tts.cpp
index 63e1188851..9014044ed8 100644
--- a/rbutil/rbutilqt/tts.cpp
+++ b/rbutil/rbutilqt/tts.cpp
@@ -249,7 +249,6 @@ TTSSapi::TTSSapi(QWidget *parent) : TTSBase(parent)
249 ui.setupUi(this); 249 ui.setupUi(this);
250 this->hide(); 250 this->hide();
251 connect(ui.reset,SIGNAL(clicked()),this,SLOT(reset())); 251 connect(ui.reset,SIGNAL(clicked()),this,SLOT(reset()));
252 connect(ui.browse,SIGNAL(clicked()),this,SLOT(browse()));
253} 252}
254 253
255 254
@@ -257,11 +256,13 @@ bool TTSSapi::start()
257{ 256{
258 257
259 userSettings->beginGroup("sapi"); 258 userSettings->beginGroup("sapi");
260 m_TTSexec = userSettings->value("ttspath","").toString();
261 m_TTSOpts = userSettings->value("ttsoptions","").toString(); 259 m_TTSOpts = userSettings->value("ttsoptions","").toString();
262 m_TTSLanguage =userSettings->value("ttslanguage","").toString(); 260 m_TTSLanguage =userSettings->value("ttslanguage","").toString();
263 userSettings->endGroup(); 261 userSettings->endGroup();
264 262
263 QFile::copy(":/builtin/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs");
264 m_TTSexec = QDir::tempPath() +"/sapi_voice.vbs";
265
265 QFileInfo tts(m_TTSexec); 266 QFileInfo tts(m_TTSexec);
266 if(!tts.exists()) 267 if(!tts.exists())
267 return false; 268 return false;
@@ -301,7 +302,6 @@ bool TTSSapi::stop()
301 302
302void TTSSapi::reset() 303void TTSSapi::reset()
303{ 304{
304 ui.ttspath->setText("");
305 ui.ttsoptions->setText(""); 305 ui.ttsoptions->setText("");
306 ui.ttslanguage->setText(defaultLanguage); 306 ui.ttslanguage->setText(defaultLanguage);
307} 307}
@@ -310,13 +310,10 @@ void TTSSapi::showCfg()
310{ 310{
311 // try to get config from settings 311 // try to get config from settings
312 userSettings->beginGroup("sapi"); 312 userSettings->beginGroup("sapi");
313 QString exepath =userSettings->value("ttspath","").toString();
314 ui.ttsoptions->setText(userSettings->value("ttsoptions","").toString()); 313 ui.ttsoptions->setText(userSettings->value("ttsoptions","").toString());
315 ui.ttslanguage->setText(userSettings->value("ttsoptions",defaultLanguage).toString()); 314 ui.ttslanguage->setText(userSettings->value("ttslanguage",defaultLanguage).toString());
316 userSettings->endGroup(); 315 userSettings->endGroup();
317 316
318 ui.ttspath->setText(exepath);
319
320 //show dialog 317 //show dialog
321 this->exec(); 318 this->exec();
322 319
@@ -328,7 +325,6 @@ void TTSSapi::accept(void)
328 { 325 {
329 //save settings in user config 326 //save settings in user config
330 userSettings->beginGroup("sapi"); 327 userSettings->beginGroup("sapi");
331 userSettings->setValue("ttspath",ui.ttspath->text());
332 userSettings->setValue("ttsoptions",ui.ttsoptions->text()); 328 userSettings->setValue("ttsoptions",ui.ttsoptions->text());
333 userSettings->setValue("ttslanguage",ui.ttslanguage->text()); 329 userSettings->setValue("ttslanguage",ui.ttslanguage->text());
334 userSettings->endGroup(); 330 userSettings->endGroup();
@@ -345,32 +341,7 @@ void TTSSapi::reject(void)
345 341
346bool TTSSapi::configOk() 342bool TTSSapi::configOk()
347{ 343{
348 userSettings->beginGroup("sapi"); 344 return true;
349 QString path = userSettings->value("ttspath","").toString();
350 userSettings->endGroup();
351
352 if (QFileInfo(path).exists())
353 return true;
354
355 return false;
356} 345}
357 346
358void TTSSapi::browse()
359{
360 BrowseDirtree browser(this);
361 browser.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
362
363 if(QFileInfo(ui.ttspath->text()).isDir())
364 {
365 browser.setDir(ui.ttspath->text());
366 }
367 if(browser.exec() == QDialog::Accepted)
368 {
369 qDebug() << browser.getSelected();
370 QString exe = browser.getSelected();
371 if(!QFileInfo(exe).isExecutable())
372 return;
373 ui.ttspath->setText(exe);
374 }
375}
376 347