benoitrigolleau@262: benoitrigolleau@262: #include "SpeechRecognitionUI.h" benoitrigolleau@262: benoitrigolleau@262: #include benoitrigolleau@263: #include benoitrigolleau@263: #include benoitrigolleau@262: benoitrigolleau@262: #include "../sv/main/MainWindow.h" benoitrigolleau@262: #include "../sv/main/EasaierSessionManager.h" benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: SpeechRecognitionUI::SpeechRecognitionUI(QWidget *parent) : QWidget(parent){ benoitrigolleau@262: benoitrigolleau@262: _audioRecorder = new AudioRecording(); benoitrigolleau@262: benoitrigolleau@262: connect(this, SIGNAL(startRect()),_audioRecorder, SLOT(rect())); benoitrigolleau@262: connect(this, SIGNAL(stopRect()),_audioRecorder, SLOT(stopRect())); benoitrigolleau@262: benoitrigolleau@262: _bRect = new QPushButton; benoitrigolleau@262: _bPlay = new QPushButton; benoitrigolleau@262: _bSend = new QPushButton; benoitrigolleau@270: benoitrigolleau@270: _comboLanguage = new QComboBox; benoitrigolleau@270: _comboLanguage->addItem(QIcon(":icons/english.png"),"English"); benoitrigolleau@270: _comboLanguage->addItem(QIcon(":icons/hungarian.png"),"Hungarian"); benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: _bRect->setMaximumSize(24,24); benoitrigolleau@262: _bPlay->setMaximumSize(24,24); benoitrigolleau@262: _bSend->setMaximumSize(24,24); benoitrigolleau@262: benoitrigolleau@262: _bPlay->setEnabled(false); benoitrigolleau@262: _bSend->setEnabled(false); benoitrigolleau@262: benoitrigolleau@262: _bRect->setIcon(QIcon(":icons/rect.png")); benoitrigolleau@262: _bPlay->setIcon(QIcon(":icons/playpause.png")); benoitrigolleau@262: _bSend->setIcon(QIcon(":icons/addToLayer.png")); benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: _textEdit = new QTextEdit(); benoitrigolleau@262: _textEdit->setMinimumWidth(200); benoitrigolleau@262: benoitrigolleau@263: benoitrigolleau@263: QVBoxLayout *truc = new QVBoxLayout(); benoitrigolleau@263: truc->addWidget(new QLabel); benoitrigolleau@263: truc->addStretch(); benoitrigolleau@263: benoitrigolleau@263: benoitrigolleau@262: QGridLayout *layout = new QGridLayout; benoitrigolleau@262: this->setLayout(layout); benoitrigolleau@263: layout->addWidget(new QLabel(tr("Speech Recognition")),1,1,1,2,Qt::AlignTop); benoitrigolleau@270: benoitrigolleau@270: layout->addWidget(_comboLanguage,2,2,1,1,Qt::AlignRight); benoitrigolleau@270: benoitrigolleau@270: benoitrigolleau@270: layout->addWidget(_bRect,3,1,1,1,Qt::AlignTop); benoitrigolleau@263: //layout->addWidget(_bPlay,2,1,1,1,Qt::AlignTop); benoitrigolleau@270: layout->addWidget(_bSend,4,1,1,1,Qt::AlignTop); benoitrigolleau@270: layout->addLayout(truc,5,1,1,1,Qt::AlignTop); benoitrigolleau@270: layout->addWidget(_textEdit,3,2,3,1); benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: //SLOTs end SIGNALs benoitrigolleau@262: benoitrigolleau@262: connect(_bRect, SIGNAL(pressed ()), this,SLOT(rect())); benoitrigolleau@262: connect(_bSend, SIGNAL(pressed ()), this,SLOT(sendQuery())); benoitrigolleau@262: benoitrigolleau@262: } benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: SpeechRecognitionUI::~SpeechRecognitionUI(){ benoitrigolleau@262: benoitrigolleau@262: } benoitrigolleau@262: benoitrigolleau@262: benoitrigolleau@262: void SpeechRecognitionUI::play(){ benoitrigolleau@262: benoitrigolleau@262: } benoitrigolleau@262: benoitrigolleau@262: void SpeechRecognitionUI::rect(){ benoitrigolleau@262: if(_audioRecorder->isRecording()){ benoitrigolleau@262: emit(stopRect()); benoitrigolleau@262: _bRect->setIcon(QIcon(":icons/rect.png")); benoitrigolleau@262: _bPlay->setEnabled(true); benoitrigolleau@262: _bSend->setEnabled(true); benoitrigolleau@262: benoitrigolleau@262: }else{ benoitrigolleau@262: emit(startRect()); benoitrigolleau@262: _bRect->setIcon(QIcon(":icons/stop.png")); benoitrigolleau@262: _bPlay->setEnabled(false); benoitrigolleau@262: _bSend->setEnabled(false); benoitrigolleau@262: } benoitrigolleau@262: } benoitrigolleau@262: benoitrigolleau@262: void SpeechRecognitionUI::sendQuery(){ benoitrigolleau@262: MainWindow::instance()->getEasaierSessionManager()->speechRecognition("SpeechRecognition"); benoitrigolleau@263: } benoitrigolleau@263: benoitrigolleau@263: void SpeechRecognitionUI::setResult(const QString &result){ benoitrigolleau@263: _textEdit->setText(result); benoitrigolleau@270: } benoitrigolleau@270: benoitrigolleau@270: QString SpeechRecognitionUI::getLanguage(){ benoitrigolleau@270: return _comboLanguage->currentText(); benoitrigolleau@270: } benoitrigolleau@270: