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
59
60
61
|
}
void ConfigWindow::on_backButton_clicked()
{
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
62
63
64
65
66
67
|
Config* cfg = Config::getInstance();
QDialog* dlg = new YesNoPopupDlg(this,tr("현재 설정을 적용하시겠습니까?"));
dlg->setModal(true);
dlg->exec();
if(dlg->result() == QDialog::Accepted){
cfg->saveConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
68
|
cfg->saveFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
69
70
71
|
}
else{
cfg->loadConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
72
|
cfg->loadFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
73
|
}
|
af41f4730
고영탁
볼륨조절 표시 변경
|
74
|
cfg->applyConfig();
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
75
|
close();
|
8c2952457
김태훈
응용 프로그램 추가
|
76
|
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
77
78
79
|
void ConfigWindow::on_pushButton_3_clicked()
{
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
80
|
/*EngineerMenuWindow *w = new EngineerMenuWindow(this);
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
81
|
w->setWindowModality(Qt::WindowModal);
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
82
83
84
85
86
|
w->showFullScreen();*/
if(m_nCurConfigPos != config_menu_service){
m_nCurConfigPos = config_menu_service;
reloadUi();
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
87
|
}
|
81b55e046
고영탁
config pannel but...
|
88
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
89
|
void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
|
81b55e046
고영탁
config pannel but...
|
90
|
{
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
91
92
93
94
|
if(m_nCurConfigPos != config_menu_setting){
m_nCurConfigPos = config_menu_setting;
reloadUi();
}
|
81b55e046
고영탁
config pannel but...
|
95
|
}
|
937409186
고영탁
config enum 설정 진행...
|
96
97
98
99
100
101
102
103
|
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...
|
104
|
void ConfigWindow::onConfigBtnClicked(uint16_t id){
|
92fef6124
고영탁
환경 설정 - 설정 UI 완료
|
105
|
Config *cfg = Config::getInstance();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
106
107
|
QDialog* dlg;
switch(id){
|
663943a37
고영탁
설정 기능 마무리 진행 중
|
108
109
110
111
112
113
114
115
116
|
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 설정을 시스템에서 하도록 수정
|
117
118
|
case config_datetime:
dlg = new ConfigDateTimeDlg(this);
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
119
|
dlg->exec();
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
120
121
|
if(m_nCurConfigPos != config_menu_favorite) reloadValue();
break;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
122
123
|
case config_enter_engineer_mode:
{
|
d0ee3ccc8
고영탁
버그 수정 및 비밀 번호 입력창 개발
|
124
125
|
dlg = new ServicePassInputDlg(this);
dlg->exec();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
126
127
128
129
130
131
132
133
134
135
136
|
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();
|
35ba77897
고영탁
누락 기능 개발
|
137
|
if(id==config_sound_factory_reset) reloadUi();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
138
|
break;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
139
|
}
|
35ba77897
고영탁
누락 기능 개발
|
140
|
|
81b55e046
고영탁
config pannel but...
|
141
142
143
144
|
}
void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
145
146
147
148
149
150
151
152
|
Config* cfg = Config::getInstance();
qDebug()<<"favorite pressed " << id;
if(checked){
cfg->insertFavorite((ConfigType)id);
}
else{
cfg->removeFavorite((ConfigType)id);
}
|
81b55e046
고영탁
config pannel but...
|
153
|
}
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
154
155
|
void ConfigWindow::reloadUi(void){
|
937409186
고영탁
config enum 설정 진행...
|
156
|
ConfigPanelButton** pws = m_vectorMenuList.data();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
157
|
ConfigFavoriteButton** fpws = m_vectorFavorMenuList.data();
|
937409186
고영탁
config enum 설정 진행...
|
158
|
ConfigPanelButton* pw;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
159
|
ConfigPanelButton *pcb;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
160
161
162
163
164
165
166
|
ConfigFavoriteButton* fpw;
ConfigFavoriteButton* fpcb;
uint32_t idx;
int i = 0;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
167
168
|
Config* cfg = Config::getInstance();
QString strtemp="";
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
169
|
for(i = 0; i < m_vectorMenuList.count();i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
170
171
172
173
174
|
pw = pws[i];
ui->scrollAreaMenuLayout->removeWidget(pw);
delete pw;
}
m_vectorMenuList.clear();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
175
176
177
178
179
180
|
for(i=0;i<m_vectorFavorMenuList.count();i++){
fpw = fpws[i];
ui->scrollAreaMenuLayout->removeWidget(fpw);
delete fpw;
}
m_vectorFavorMenuList.clear();
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
181
|
if(m_nCurConfigPos != config_menu_favorite){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
182
|
for(i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
183
184
185
186
187
188
189
190
191
192
193
|
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]));
ui->scrollAreaMenuLayout->addWidget(pcb);
m_vectorMenuList.append(pcb);
connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t)));
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
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);
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
고영탁
설정 메뉴 화면 기본 구조 완성
|
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
}
}
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 설정 진행...
|
222
223
224
225
226
227
228
229
|
void ConfigWindow::on_pushButton_2_clicked()
{
if(m_nCurConfigPos != config_menu_system){
m_nCurConfigPos = config_menu_system;
reloadUi();
}
}
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
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
김태훈
기능 추가 구현
|
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
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()
{
}
|