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