benoitrigolleau@262
|
1
|
benoitrigolleau@262
|
2 #include "SpeechRecognitionUI.h"
|
benoitrigolleau@262
|
3
|
benoitrigolleau@262
|
4 #include <QGridLayout>
|
benoitrigolleau@263
|
5 #include <QVBoxLayout>
|
benoitrigolleau@263
|
6 #include <QLabel>
|
benoitrigolleau@262
|
7
|
benoitrigolleau@262
|
8 #include "../sv/main/MainWindow.h"
|
benoitrigolleau@262
|
9 #include "../sv/main/EasaierSessionManager.h"
|
benoitrigolleau@262
|
10
|
benoitrigolleau@262
|
11
|
benoitrigolleau@262
|
12
|
benoitrigolleau@262
|
13 SpeechRecognitionUI::SpeechRecognitionUI(QWidget *parent) : QWidget(parent){
|
benoitrigolleau@262
|
14
|
benoitrigolleau@262
|
15 _audioRecorder = new AudioRecording();
|
benoitrigolleau@262
|
16
|
benoitrigolleau@262
|
17 connect(this, SIGNAL(startRect()),_audioRecorder, SLOT(rect()));
|
benoitrigolleau@262
|
18 connect(this, SIGNAL(stopRect()),_audioRecorder, SLOT(stopRect()));
|
benoitrigolleau@262
|
19
|
benoitrigolleau@262
|
20 _bRect = new QPushButton;
|
benoitrigolleau@262
|
21 _bPlay = new QPushButton;
|
benoitrigolleau@262
|
22 _bSend = new QPushButton;
|
benoitrigolleau@270
|
23
|
benoitrigolleau@270
|
24 _comboLanguage = new QComboBox;
|
benoitrigolleau@270
|
25 _comboLanguage->addItem(QIcon(":icons/english.png"),"English");
|
benoitrigolleau@270
|
26 _comboLanguage->addItem(QIcon(":icons/hungarian.png"),"Hungarian");
|
benoitrigolleau@262
|
27
|
benoitrigolleau@262
|
28
|
benoitrigolleau@262
|
29 _bRect->setMaximumSize(24,24);
|
benoitrigolleau@262
|
30 _bPlay->setMaximumSize(24,24);
|
benoitrigolleau@262
|
31 _bSend->setMaximumSize(24,24);
|
benoitrigolleau@262
|
32
|
benoitrigolleau@262
|
33 _bPlay->setEnabled(false);
|
benoitrigolleau@262
|
34 _bSend->setEnabled(false);
|
benoitrigolleau@262
|
35
|
benoitrigolleau@262
|
36 _bRect->setIcon(QIcon(":icons/rect.png"));
|
benoitrigolleau@262
|
37 _bPlay->setIcon(QIcon(":icons/playpause.png"));
|
benoitrigolleau@262
|
38 _bSend->setIcon(QIcon(":icons/addToLayer.png"));
|
benoitrigolleau@262
|
39
|
benoitrigolleau@262
|
40
|
benoitrigolleau@262
|
41
|
benoitrigolleau@262
|
42 _textEdit = new QTextEdit();
|
benoitrigolleau@262
|
43 _textEdit->setMinimumWidth(200);
|
benoitrigolleau@262
|
44
|
benoitrigolleau@263
|
45
|
benoitrigolleau@263
|
46 QVBoxLayout *truc = new QVBoxLayout();
|
benoitrigolleau@263
|
47 truc->addWidget(new QLabel);
|
benoitrigolleau@263
|
48 truc->addStretch();
|
benoitrigolleau@263
|
49
|
benoitrigolleau@263
|
50
|
benoitrigolleau@262
|
51 QGridLayout *layout = new QGridLayout;
|
benoitrigolleau@262
|
52 this->setLayout(layout);
|
benoitrigolleau@263
|
53 layout->addWidget(new QLabel(tr("Speech Recognition")),1,1,1,2,Qt::AlignTop);
|
benoitrigolleau@270
|
54
|
benoitrigolleau@270
|
55 layout->addWidget(_comboLanguage,2,2,1,1,Qt::AlignRight);
|
benoitrigolleau@270
|
56
|
benoitrigolleau@270
|
57
|
benoitrigolleau@270
|
58 layout->addWidget(_bRect,3,1,1,1,Qt::AlignTop);
|
benoitrigolleau@263
|
59 //layout->addWidget(_bPlay,2,1,1,1,Qt::AlignTop);
|
benoitrigolleau@270
|
60 layout->addWidget(_bSend,4,1,1,1,Qt::AlignTop);
|
benoitrigolleau@270
|
61 layout->addLayout(truc,5,1,1,1,Qt::AlignTop);
|
benoitrigolleau@270
|
62 layout->addWidget(_textEdit,3,2,3,1);
|
benoitrigolleau@262
|
63
|
benoitrigolleau@262
|
64
|
benoitrigolleau@262
|
65 //SLOTs end SIGNALs
|
benoitrigolleau@262
|
66
|
benoitrigolleau@262
|
67 connect(_bRect, SIGNAL(pressed ()), this,SLOT(rect()));
|
benoitrigolleau@262
|
68 connect(_bSend, SIGNAL(pressed ()), this,SLOT(sendQuery()));
|
benoitrigolleau@262
|
69
|
benoitrigolleau@262
|
70 }
|
benoitrigolleau@262
|
71
|
benoitrigolleau@262
|
72
|
benoitrigolleau@262
|
73 SpeechRecognitionUI::~SpeechRecognitionUI(){
|
benoitrigolleau@262
|
74
|
benoitrigolleau@262
|
75 }
|
benoitrigolleau@262
|
76
|
benoitrigolleau@262
|
77
|
benoitrigolleau@262
|
78 void SpeechRecognitionUI::play(){
|
benoitrigolleau@262
|
79
|
benoitrigolleau@262
|
80 }
|
benoitrigolleau@262
|
81
|
benoitrigolleau@262
|
82 void SpeechRecognitionUI::rect(){
|
benoitrigolleau@262
|
83 if(_audioRecorder->isRecording()){
|
benoitrigolleau@262
|
84 emit(stopRect());
|
benoitrigolleau@262
|
85 _bRect->setIcon(QIcon(":icons/rect.png"));
|
benoitrigolleau@262
|
86 _bPlay->setEnabled(true);
|
benoitrigolleau@262
|
87 _bSend->setEnabled(true);
|
benoitrigolleau@262
|
88
|
benoitrigolleau@262
|
89 }else{
|
benoitrigolleau@262
|
90 emit(startRect());
|
benoitrigolleau@262
|
91 _bRect->setIcon(QIcon(":icons/stop.png"));
|
benoitrigolleau@262
|
92 _bPlay->setEnabled(false);
|
benoitrigolleau@262
|
93 _bSend->setEnabled(false);
|
benoitrigolleau@262
|
94 }
|
benoitrigolleau@262
|
95 }
|
benoitrigolleau@262
|
96
|
benoitrigolleau@262
|
97 void SpeechRecognitionUI::sendQuery(){
|
benoitrigolleau@262
|
98 MainWindow::instance()->getEasaierSessionManager()->speechRecognition("SpeechRecognition");
|
benoitrigolleau@263
|
99 }
|
benoitrigolleau@263
|
100
|
benoitrigolleau@263
|
101 void SpeechRecognitionUI::setResult(const QString &result){
|
benoitrigolleau@263
|
102 _textEdit->setText(result);
|
benoitrigolleau@270
|
103 }
|
benoitrigolleau@270
|
104
|
benoitrigolleau@270
|
105 QString SpeechRecognitionUI::getLanguage(){
|
benoitrigolleau@270
|
106 return _comboLanguage->currentText();
|
benoitrigolleau@270
|
107 }
|
benoitrigolleau@270
|
108
|