diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index 7669a103ae..fae537b367 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -85,7 +85,7 @@ Config::Config(QWidget *parent,int index) : QDialog(parent)
connect(ui.configEncoder, SIGNAL(clicked()), this, SLOT(configEnc()));
connect(ui.comboTts, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTtsState(int)));
connect(ui.treeDevices, SIGNAL(itemSelectionChanged()), this, SLOT(updateEncState()));
-
+ connect(ui.testTTS,SIGNAL(clicked()),this,SLOT(testTts()));
setUserSettings();
setDevices();
}
@@ -660,6 +660,39 @@ void Config::configTts()
updateTtsState(ui.comboTts->currentIndex());
}
+void Config::testTts()
+{
+ QString errstr;
+ int index = ui.comboTts->currentIndex();
+ TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString());
+ if(!tts->configOk())
+ {
+ QMessageBox::warning(this,tr("TTS configuration invalid"),tr("TTS configuration invalid. \n Please configure TTS engine."));
+ return;
+ }
+
+ if(!tts->start(&errstr))
+ {
+ QMessageBox::warning(this,tr("Could not start TTS engine"),tr("Could not start TTS engine.\n") + errstr
+ +tr("\nPlease configure TTS engine."));
+ return;
+ }
+
+ QTemporaryFile file(this);
+ file.open();
+ QString filename = file.fileName();
+ file.close();
+
+ if(tts->voice(tr("Rockbox Utility Voice Test"),filename,&errstr) == FatalError)
+ {
+ tts->stop();
+ QMessageBox::warning(this,tr("Could not voice test string"),tr("Could not voice test string.\n") + errstr
+ +tr("\nPlease configure TTS engine."));
+ return;
+ }
+ tts->stop();
+ QSound::play(filename);
+}
void Config::configEnc()
{
diff --git a/rbutil/rbutilqt/configure.h b/rbutil/rbutilqt/configure.h
index 15e2d1b31c..6ae92b5b04 100644
--- a/rbutil/rbutilqt/configure.h
+++ b/rbutil/rbutilqt/configure.h
@@ -70,6 +70,7 @@ class Config : public QDialog
void configEnc(void);
void updateTtsState(int);
void updateEncState();
+ void testTts();
};
#endif
diff --git a/rbutil/rbutilqt/configurefrm.ui b/rbutil/rbutilqt/configurefrm.ui
index 857372c011..bfd87cb5bc 100644
--- a/rbutil/rbutilqt/configurefrm.ui
+++ b/rbutil/rbutilqt/configurefrm.ui
@@ -380,7 +380,7 @@
- -
+
-
-
@@ -418,6 +418,13 @@
+ -
+
+
+ Test TTS
+
+
+
diff --git a/rbutil/rbutilqt/encexescfgfrm.ui b/rbutil/rbutilqt/encexescfgfrm.ui
deleted file mode 100644
index c1b8e31429..0000000000
--- a/rbutil/rbutilqt/encexescfgfrm.ui
+++ /dev/null
@@ -1,158 +0,0 @@
-
- EncExesCfgFrm
-
-
-
- 0
- 0
- 463
- 214
-
-
-
- Configuration
-
-
- -
-
-
- Configure Encoder
-
-
-
-
-
-
-
- 0
- 255
-
-
-
- Path to Encoder
-
-
-
- -
-
-
-
-
-
- -
-
-
- &Browse
-
-
-
-
-
- -
-
-
- Encoder options
-
-
-
- -
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
-
-
-
- Reset
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- &Ok
-
-
- :/icons/go-next.png
-
-
-
- -
-
-
- &Cancel
-
-
- :/icons/process-stop.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- buttonOk
- clicked()
- EncExesCfgFrm
- accept()
-
-
- 253
- 147
-
-
- 203
- 86
-
-
-
-
- buttonCancel
- clicked()
- EncExesCfgFrm
- reject()
-
-
- 352
- 147
-
-
- 203
- 86
-
-
-
-
-