776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
1
|
#include <QList>
|
8c2952457
김태훈
응용 프로그램 추가
|
2
3
|
#include "configwindow.h"
#include "ui_configwindow.h"
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
4
|
#include "configfavoritebutton.h"
|
8c2952457
김태훈
응용 프로그램 추가
|
5
|
#include "functiontestwindow.h"
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
6
|
#include "engineermenuwindow.h"
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
7
|
#include "config.h"
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
8
|
#include "configinfodlg.h"
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
9
|
#include "yesnopopupdlg.h"
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
10
|
#include "configdatetimedlg.h"
|
d0ee3ccc8
고영탁
버그 수정 및 비밀 번호 입력창 개발
|
11
|
#include "servicepassinputdlg.h"
|
1f685a2a5
고영탁
설정 시스템 관리 기능 개발
|
12
|
#include "fileprocessor.h"
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
13
|
#include "soundplayer.h"
|
e00c6a2a9
김태훈
기능 추가 구현
|
14
15
|
#include "washwindow.h"
#include "mainwindow.h"
|
663943a37
고영탁
설정 기능 마무리 진행 중
|
16
|
#include "configdoormonitoring.h"
|
81b55e046
고영탁
config pannel but...
|
17
|
|
538041ab9
김태훈
소스 코드 구조 개선
|
18
|
ConfigWindow::ConfigWindow(QWidget *parent) :
|
8c2952457
김태훈
응용 프로그램 추가
|
19
|
QMainWindow(parent),
|
538041ab9
김태훈
소스 코드 구조 개선
|
20
|
ui(new Ui::ConfigWindow)
|
8c2952457
김태훈
응용 프로그램 추가
|
21
|
{
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
22
|
uint32_t idx;
|
8c2952457
김태훈
응용 프로그램 추가
|
23
|
ui->setupUi(this);
|
6f96c947a
김태훈
GUI 0.1.4
|
24
25
26
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
27
|
|
81b55e046
고영탁
config pannel but...
|
28
|
ui->scrollAreaMenuLayout->setAlignment(Qt::AlignTop);
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
29
|
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
30
31
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
32
33
34
35
36
37
38
39
|
Config* cfg = Config::getInstance();
QSetIterator<uint32_t> itr = cfg->getConstBeginFavorite();
while(itr.hasNext()) itr.next();
while(itr.hasPrevious()){
idx = itr.previous();
//configbtn = new ConfigPanelButton(this,idx);
|
81b55e046
고영탁
config pannel but...
|
40
|
}
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
41
|
m_nCurConfigPos = config_menu_favorite;
|
81b55e046
고영탁
config pannel but...
|
42
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
43
|
reloadUi();
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
44
|
|
8c2952457
김태훈
응용 프로그램 추가
|
45
46
47
48
49
50
51
52
53
|
}
ConfigWindow::~ConfigWindow()
{
delete ui;
}
void ConfigWindow::on_pushButton_clicked()
{
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
54
55
56
57
|
if(m_nCurConfigPos != config_menu_favorite){
m_nCurConfigPos = config_menu_favorite;
reloadUi();
}
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
58
|
}
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
59
|
void ConfigWindow::prevFocus(){
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
60
61
62
|
int i = 0;
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
63
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
64
65
66
67
|
if(i==0){
i = m_vectorTabOrder.size()-1;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
68
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
69
70
71
|
else if(i < m_vectorTabOrder.size()) {
i = i - 1;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
72
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
73
74
75
|
else{
i=0;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
76
|
}
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
77
78
79
|
}
void ConfigWindow::nextFocus(){
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
80
81
82
|
int i = 0;
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
83
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
84
85
86
87
|
if(i<m_vectorTabOrder.size()-1){
i+=1;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
88
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
89
90
91
|
else if(i== (m_vectorTabOrder.size()-1)){
i=0;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
92
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
93
94
95
|
else{
i=0;
m_vectorTabOrder[i]->setFocus();
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
96
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
97
|
return;
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
98
99
100
101
102
103
|
}
void ConfigWindow::keyReleaseEvent(QKeyEvent *event){
switch (event->key())
{
case 0x01000030: // Turn left
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
104
|
prevFocus();
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
105
|
ui->scrollArea->ensureWidgetVisible(m_vectorTabOrder[m_nTabIndex]);
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
106
107
108
109
110
111
112
113
114
115
116
117
|
break;
case 0x01000031: // Push
{
QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
if(btn != NULL){
btn->click();
}
qDebug() << "pushed ";
break;
}
case 0x01000032: // Turn right
nextFocus();
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
118
|
ui->scrollArea->ensureWidgetVisible(focusWidget());
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
119
120
121
122
123
124
125
126
127
|
qDebug() << "Turn Right";
break;
}
}
void ConfigWindow::keyPressEvent(QKeyEvent *event){
switch (event->key())
{
case 0x01000030: // Turn left
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
128
|
prevFocus();
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
129
|
ui->scrollArea->ensureWidgetVisible(focusWidget());
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
130
131
132
133
134
135
136
137
|
qDebug() << "turn left";
break;
case 0x01000031: // Push
qDebug() << "pushed ";
break;
case 0x01000032: // Turn right
nextFocus();
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
138
|
ui->scrollArea->ensureWidgetVisible(focusWidget());
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
139
140
141
142
|
qDebug() << "Turn Right";
break;
}
}
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
143
144
|
void ConfigWindow::on_backButton_clicked()
{
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
145
146
147
148
149
150
|
Config* cfg = Config::getInstance();
QDialog* dlg = new YesNoPopupDlg(this,tr("현재 설정을 적용하시겠습니까?"));
dlg->setModal(true);
dlg->exec();
if(dlg->result() == QDialog::Accepted){
cfg->saveConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
151
|
cfg->saveFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
152
153
154
|
}
else{
cfg->loadConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
155
|
cfg->loadFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
156
|
}
|
af41f4730
고영탁
볼륨조절 표시 변경
|
157
|
cfg->applyConfig();
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
158
|
close();
|
8c2952457
김태훈
응용 프로그램 추가
|
159
|
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
160
161
162
|
void ConfigWindow::on_pushButton_3_clicked()
{
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
163
|
/*EngineerMenuWindow *w = new EngineerMenuWindow(this);
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
164
|
w->setWindowModality(Qt::WindowModal);
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
165
166
167
168
169
|
w->showFullScreen();*/
if(m_nCurConfigPos != config_menu_service){
m_nCurConfigPos = config_menu_service;
reloadUi();
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
170
|
}
|
81b55e046
고영탁
config pannel but...
|
171
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
172
|
void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
|
81b55e046
고영탁
config pannel but...
|
173
|
{
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
174
175
176
177
|
if(m_nCurConfigPos != config_menu_setting){
m_nCurConfigPos = config_menu_setting;
reloadUi();
}
|
81b55e046
고영탁
config pannel but...
|
178
|
}
|
937409186
고영탁
config enum 설정 진행...
|
179
180
181
182
183
184
185
186
|
void ConfigWindow::reloadValue(){
Config* cfg = Config::getInstance();
QString strtemp="";
for(int i=0;i<m_vectorMenuList.count();i++){
strtemp = cfg->getValueString(m_arrConfigListInfos[m_nCurConfigPos][i]);
m_vectorMenuList[i]->setValue(strtemp);
}
}
|
81b55e046
고영탁
config pannel but...
|
187
|
void ConfigWindow::onConfigBtnClicked(uint16_t id){
|
92fef6124
고영탁
환경 설정 - 설정 UI 완료
|
188
|
Config *cfg = Config::getInstance();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
189
|
QDialog* dlg;
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
190
|
QWidget *focusedWidget = focusWidget();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
191
|
switch(id){
|
663943a37
고영탁
설정 기능 마무리 진행 중
|
192
193
194
195
196
197
198
199
200
|
case config_loading_door_monitoring:
case config_cooking_door_monitoring:
ConfigDoorMonitoring* wnd;
wnd = new ConfigDoorMonitoring(this,(ConfigType) id);
connect(wnd,SIGNAL(destroyed(QObject*)),this,SLOT(reloadValue()));
wnd->setWindowModality(Qt::WindowModal);
wnd->showFullScreen();
qDebug() << "closed window";
break;
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
201
202
|
case config_datetime:
dlg = new ConfigDateTimeDlg(this);
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
203
|
dlg->exec();
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
204
205
|
if(m_nCurConfigPos != config_menu_favorite) reloadValue();
break;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
206
207
|
case config_enter_engineer_mode:
{
|
d0ee3ccc8
고영탁
버그 수정 및 비밀 번호 입력창 개발
|
208
209
|
dlg = new ServicePassInputDlg(this);
dlg->exec();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
210
211
212
213
214
215
216
217
218
219
220
221
|
break;
}
case config_software_info:
case config_hotline_chef:
case config_hotline_service:
dlg = new ConfigInfoDlg(this,(ConfigType)id);
dlg->exec();
break;
default:
cfg->execConfigWindow(this,(Define::ConfigType)id);
if(m_nCurConfigPos != config_menu_favorite) reloadValue();
break;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
222
|
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
223
|
focusedWidget->setFocus();
|
81b55e046
고영탁
config pannel but...
|
224
225
226
227
|
}
void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
228
229
230
231
232
233
234
235
|
Config* cfg = Config::getInstance();
qDebug()<<"favorite pressed " << id;
if(checked){
cfg->insertFavorite((ConfigType)id);
}
else{
cfg->removeFavorite((ConfigType)id);
}
|
81b55e046
고영탁
config pannel but...
|
236
|
}
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
237
238
|
void ConfigWindow::reloadUi(void){
|
937409186
고영탁
config enum 설정 진행...
|
239
|
ConfigPanelButton** pws = m_vectorMenuList.data();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
240
|
ConfigFavoriteButton** fpws = m_vectorFavorMenuList.data();
|
937409186
고영탁
config enum 설정 진행...
|
241
|
ConfigPanelButton* pw;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
242
|
ConfigPanelButton *pcb;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
243
244
245
246
247
248
249
|
ConfigFavoriteButton* fpw;
ConfigFavoriteButton* fpcb;
uint32_t idx;
int i = 0;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
250
251
|
Config* cfg = Config::getInstance();
QString strtemp="";
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
252
|
for(i = 0; i < m_vectorMenuList.count();i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
253
254
255
256
257
|
pw = pws[i];
ui->scrollAreaMenuLayout->removeWidget(pw);
delete pw;
}
m_vectorMenuList.clear();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
258
259
260
261
262
263
|
for(i=0;i<m_vectorFavorMenuList.count();i++){
fpw = fpws[i];
ui->scrollAreaMenuLayout->removeWidget(fpw);
delete fpw;
}
m_vectorFavorMenuList.clear();
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
264
265
266
267
268
269
270
271
272
273
|
m_vectorTabOrder.clear();
m_vectorTabOrder.append(this);
m_vectorTabOrder.append(ui->pushButton);
m_vectorTabOrder.append(ui->pushButton_8);
m_vectorTabOrder.append(ui->pushButton_7);
m_vectorTabOrder.append(ui->pushButton_2);
m_vectorTabOrder.append(ui->pushButton_4);
m_vectorTabOrder.append(ui->pushButton_5);
m_vectorTabOrder.append(ui->pushButton_6);
m_vectorTabOrder.append(ui->pushButton_3);
|
80c5eb48b
고영탁
configwindow 엔코더 ...
|
274
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
275
|
if(m_nCurConfigPos != config_menu_favorite){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
276
|
for(i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
277
278
279
280
281
282
283
284
|
pcb = new ConfigPanelButton(this,m_arrConfigListInfos[m_nCurConfigPos][i]);
qDebug() <<m_arrConfigListInfos[m_nCurConfigPos][i] << cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
strtemp = cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
pcb->setText(strtemp);
strtemp = cfg->getValueString(m_arrConfigListInfos[m_nCurConfigPos][i]);
pcb->setValue(strtemp);
pcb->showFavoriteButton();
pcb->setFavoriteCheck(cfg->isFavorite(m_arrConfigListInfos[m_nCurConfigPos][i]));
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
285
286
|
m_vectorTabOrder.append(pcb->getFavoriteBtn());
m_vectorTabOrder.append(pcb->getBtn());
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
287
288
289
|
ui->scrollAreaMenuLayout->addWidget(pcb);
m_vectorMenuList.append(pcb);
connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t)));
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
290
291
292
293
294
295
296
297
298
299
|
connect(pcb,SIGNAL(checkButtonClicked(uint16_t,bool)),SLOT(onConfigCheckBtnClicked(uint16_t,bool)));
}
}
else{
QList<uint32_t> list = cfg->getConstSortedFavorite();
for(i=0;i < list.count();i++){
idx = list[i];
fpcb = new ConfigFavoriteButton(this,idx);
strtemp = cfg->getTitleString((ConfigType)idx);
fpcb->setText(strtemp);
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
300
301
|
m_vectorTabOrder.append(fpcb->getBtn());
m_vectorTabOrder.append(fpcb->getDelBtn());
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
302
303
304
305
|
ui->scrollAreaMenuLayout->addWidget(fpcb);
m_vectorFavorMenuList.append(fpcb);
connect(fpcb,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t)));
connect(fpcb,SIGNAL(delBtnClicked(uint16_t)),SLOT(onDeleteFavoriteBtnClicked(uint16_t)));
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
306
307
|
}
}
|
40f5d047f
고영탁
엔코더 작업 진행 중
|
308
309
310
|
m_vectorTabOrder.append(ui->backButton);
m_vectorTabOrder.append(ui->washButton);
m_vectorTabOrder.append(ui->helpButton);
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
311
312
313
314
315
316
317
318
319
320
321
322
|
ui->scrollAreaMenu->adjustSize(); //Display 전 Contents 사이즈 수정 깜빡임 제거함.
}
void ConfigWindow::on_pushButton_7_clicked() //음향 관리
{
if(m_nCurConfigPos != config_menu_sound){
m_nCurConfigPos = config_menu_sound;
reloadUi();
}
}
|
937409186
고영탁
config enum 설정 진행...
|
323
324
325
326
327
328
329
330
|
void ConfigWindow::on_pushButton_2_clicked()
{
if(m_nCurConfigPos != config_menu_system){
m_nCurConfigPos = config_menu_system;
reloadUi();
}
}
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
void ConfigWindow::on_pushButton_4_clicked()
{
if(m_nCurConfigPos != config_menu_energy){
m_nCurConfigPos = config_menu_energy;
reloadUi();
}
}
void ConfigWindow::on_pushButton_5_clicked()
{
if(m_nCurConfigPos != config_menu_expert){
m_nCurConfigPos = config_menu_expert;
reloadUi();
}
}
void ConfigWindow::onDeleteFavoriteBtnClicked(uint16_t id){
Config* cfg = Config::getInstance();
ConfigFavoriteButton* btn;
for(int i = 0;i<m_vectorFavorMenuList.count();i++){
if(m_vectorFavorMenuList[i]->getBtnId() == id){
btn = m_vectorFavorMenuList[i];
ui->scrollAreaMenuLayout->removeWidget(btn);
m_vectorFavorMenuList.remove(i);
delete btn;
cfg->removeFavorite((ConfigType)id);
}
}
}
|
e00c6a2a9
김태훈
기능 추가 구현
|
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
|
void ConfigWindow::on_washButton_clicked()
{
Config* cfg = Config::getInstance();
QDialog* dlg = new YesNoPopupDlg(this,tr("현재 설정을 적용하시겠습니까?"));
dlg->setModal(true);
dlg->exec();
if(dlg->result() == QDialog::Accepted){
cfg->saveConfig();
cfg->saveFavorite();
}
else{
cfg->loadConfig();
cfg->loadFavorite();
}
cfg->applyConfig();
WashWindow *w = new WashWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
void ConfigWindow::on_helpButton_clicked()
{
}
|