ec04831f5
고영탁
모델 설정 변경
|
1
|
#include <QDebug>
|
22f83e90f
김태훈
모델 설정 UI 추가
|
2
3
|
#include "gasmodelsettingwindow.h"
#include "ui_gasmodelsettingwindow.h"
|
ec04831f5
고영탁
모델 설정 변경
|
4
|
#include "yesnopopupdlg.h"
|
22f83e90f
김태훈
모델 설정 UI 추가
|
5
|
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
6
|
#include "soundplayer.h"
|
22f83e90f
김태훈
모델 설정 UI 추가
|
7
8
9
10
11
12
13
14
|
GasModelSettingWindow::GasModelSettingWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::GasModelSettingWindow)
{
ui->setupUi(this);
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
15
16
17
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
ec04831f5
고영탁
모델 설정 변경
|
18
19
|
Config* cfg = Config::getInstance();
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
Define::config_item item;
item = cfg->getConfigValue(Define::config_model);
selitem = item.d32;
switch(item.d32){
case Define::model_gas_lng_10:
ui->lng10Button->setChecked(true);
break;
case Define::model_gas_lng_20:
ui->lng20Button->setChecked(true);
break;
case Define::model_gas_lng_24:
ui->lng24Button->setChecked(true);
break;
case Define::model_gas_lng_40:
ui->lng40Button->setChecked(true);
break;
case Define::model_gas_lpg_10:
ui->lpg10Button->setChecked(true);
break;
case Define::model_gas_lpg_20:
ui->lpg20Button->setChecked(true);
break;
case Define::model_gas_lpg_24:
ui->lpg24Button->setChecked(true);
break;
case Define::model_gas_lpg_40:
ui->lpg40Button->setChecked(true);
break;
}
|
9146b87b4
고영탁
엔코더 작업 진행중
|
49
|
this->setFocus();
|
22f83e90f
김태훈
모델 설정 UI 추가
|
50
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
51
52
53
54
55
56
57
58
59
60
|
m_vectorTabOrder.append(this);
m_vectorTabOrder.append(ui->lpg10Button);
m_vectorTabOrder.append(ui->lng10Button);
m_vectorTabOrder.append(ui->lpg20Button);
m_vectorTabOrder.append(ui->lng20Button);
m_vectorTabOrder.append(ui->lpg24Button);
m_vectorTabOrder.append(ui->lng24Button);
m_vectorTabOrder.append(ui->lpg40Button);
m_vectorTabOrder.append(ui->lng40Button);
m_vectorTabOrder.append(ui->backButton);
|
22f83e90f
김태훈
모델 설정 UI 추가
|
61
|
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
62
|
}
|
be7d2a625
고영탁
엔코더 기능 구현
|
63
|
GasModelSettingWindow::~GasModelSettingWindow()
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
64
|
{
|
be7d2a625
고영탁
엔코더 기능 구현
|
65
|
delete ui;
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
66
|
}
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
67
|
void GasModelSettingWindow::setModel(Define::model_type model)
|
22f83e90f
김태훈
모델 설정 UI 추가
|
68
|
{
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
69
70
|
Define::config_item item;
item.d32 = (int) model;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
71
|
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
72
73
74
|
Config *config = Config::getInstance();
config->setConfigValue(Define::config_model, item);
config->saveConfig();
|
22f83e90f
김태훈
모델 설정 UI 추가
|
75
|
}
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
76
|
void GasModelSettingWindow::on_lpg10Button_clicked()
|
22f83e90f
김태훈
모델 설정 UI 추가
|
77
|
{
|
ec04831f5
고영탁
모델 설정 변경
|
78
79
|
//setModel(Define::model_gas_lpg_10);
selitem = Define::model_gas_lpg_10;
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
80
|
}
|
22f83e90f
김태훈
모델 설정 UI 추가
|
81
|
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
82
83
|
void GasModelSettingWindow::on_lng10Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
84
85
|
//setModel(Define::model_gas_lng_10);
selitem = Define::model_gas_lng_10;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
86
87
88
89
|
}
void GasModelSettingWindow::on_lpg20Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
90
91
|
//setModel(Define::model_gas_lpg_20);
selitem = Define::model_gas_lpg_20;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
92
93
94
95
|
}
void GasModelSettingWindow::on_lng20Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
96
97
|
//setModel(Define::model_gas_lng_20);
selitem = Define::model_gas_lng_20;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
98
99
100
101
|
}
void GasModelSettingWindow::on_lpg24Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
102
103
|
//setModel(Define::model_gas_lpg_24);
selitem = Define::model_gas_lpg_24;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
104
105
106
107
|
}
void GasModelSettingWindow::on_lng24Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
108
109
|
//setModel(Define::model_gas_lng_24);
selitem = Define::model_gas_lng_24;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
110
111
112
113
|
}
void GasModelSettingWindow::on_lpg40Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
114
115
|
//setModel(Define::model_gas_lpg_40);
selitem = Define::model_gas_lpg_40;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
116
117
118
119
|
}
void GasModelSettingWindow::on_lng40Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
120
121
|
//setModel(Define::model_gas_lng_40);
selitem = Define::model_gas_lng_40;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
122
123
124
125
|
}
void GasModelSettingWindow::on_backButton_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
126
127
128
129
130
131
132
133
134
135
136
137
138
|
Config* cfg = Config::getInstance();
Define::config_item item;
item = cfg->getConfigValue(Define::config_model);
if(selitem != item.d32){
YesNoPopupDlg* yesnopop = new YesNoPopupDlg(this, tr("모델을 변경하시겠습니까?"));
yesnopop->setModal(true);
yesnopop->exec();
if(yesnopop->result() == QDialog::Accepted){
setModel((Define::model_type)selitem);
qDebug() << "saved";
}
}
|
22f83e90f
김태훈
모델 설정 UI 추가
|
139
140
|
close();
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
141
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
142
143
144
145
|
void GasModelSettingWindow::keyPressEvent(QKeyEvent *event){
int i = 0;
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
146
|
case 0x01000032: // Turn left
|
be7d2a625
고영탁
엔코더 기능 구현
|
147
148
149
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
150
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
if(i==0){
i = m_vectorTabOrder.size()-1;
m_vectorTabOrder[i]->setFocus();
}
else if(i < m_vectorTabOrder.size()) {
i = i - 1;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
case 0x01000031: // Push
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
167
|
case 0x01000030: // Turn right
|
be7d2a625
고영탁
엔코더 기능 구현
|
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i<m_vectorTabOrder.size()-1){
i+=1;
m_vectorTabOrder[i]->setFocus();
}
else if(i== (m_vectorTabOrder.size()-1)){
i=0;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
186
|
}
|
be7d2a625
고영탁
엔코더 기능 구현
|
187
188
189
190
|
void GasModelSettingWindow::keyReleaseEvent(QKeyEvent *event){
int i = 0;
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
191
|
case 0x01000032: // Turn left
|
be7d2a625
고영탁
엔코더 기능 구현
|
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i==0){
i = m_vectorTabOrder.size()-1;
m_vectorTabOrder[i]->setFocus();
}
else if(i < m_vectorTabOrder.size()) {
i = i - 1;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
case 0x01000031: // Push
{
QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
if(btn != NULL){
btn->click();
}
break;
}
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
217
|
case 0x01000030: // Turn right
|
be7d2a625
고영탁
엔코더 기능 구현
|
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i<m_vectorTabOrder.size()-1){
i+=1;
m_vectorTabOrder[i]->setFocus();
}
else if(i== (m_vectorTabOrder.size()-1)){
i=0;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
236
|
}
|
be7d2a625
고영탁
엔코더 기능 구현
|
237
|
|