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"
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
12
|
|
8c2952457
김태훈
응용 프로그램 추가
|
13
|
|
81b55e046
고영탁
config pannel but...
|
14
|
|
538041ab9
김태훈
소스 코드 구조 개선
|
15
|
ConfigWindow::ConfigWindow(QWidget *parent) :
|
8c2952457
김태훈
응용 프로그램 추가
|
16
|
QMainWindow(parent),
|
538041ab9
김태훈
소스 코드 구조 개선
|
17
|
ui(new Ui::ConfigWindow)
|
8c2952457
김태훈
응용 프로그램 추가
|
18
|
{
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
19
|
uint32_t idx;
|
8c2952457
김태훈
응용 프로그램 추가
|
20
|
ui->setupUi(this);
|
6f96c947a
김태훈
GUI 0.1.4
|
21
22
23
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
24
|
|
81b55e046
고영탁
config pannel but...
|
25
|
ui->scrollAreaMenuLayout->setAlignment(Qt::AlignTop);
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
26
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
27
28
29
30
31
32
33
34
|
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...
|
35
|
}
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
36
|
m_nCurConfigPos = config_menu_favorite;
|
81b55e046
고영탁
config pannel but...
|
37
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
38
|
reloadUi();
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
39
|
|
8c2952457
김태훈
응용 프로그램 추가
|
40
41
42
43
44
45
46
47
48
|
}
ConfigWindow::~ConfigWindow()
{
delete ui;
}
void ConfigWindow::on_pushButton_clicked()
{
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
49
50
51
52
|
if(m_nCurConfigPos != config_menu_favorite){
m_nCurConfigPos = config_menu_favorite;
reloadUi();
}
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
53
54
55
56
|
}
void ConfigWindow::on_backButton_clicked()
{
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
57
58
59
60
61
62
|
Config* cfg = Config::getInstance();
QDialog* dlg = new YesNoPopupDlg(this,tr("현재 설정을 적용하시겠습니까?"));
dlg->setModal(true);
dlg->exec();
if(dlg->result() == QDialog::Accepted){
cfg->saveConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
63
|
cfg->saveFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
64
65
66
|
}
else{
cfg->loadConfig();
|
eaa388fe1
고영탁
설정 즐겨찾기 저장 기능 개발
|
67
|
cfg->loadFavorite();
|
dbfe7c9ea
고영탁
설정 저장 기능 추가
|
68
|
}
|
5a38a241e
김태훈
환경 설정 뼈대 추가
|
69
|
close();
|
8c2952457
김태훈
응용 프로그램 추가
|
70
|
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
71
72
73
|
void ConfigWindow::on_pushButton_3_clicked()
{
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
74
|
/*EngineerMenuWindow *w = new EngineerMenuWindow(this);
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
75
|
w->setWindowModality(Qt::WindowModal);
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
76
77
78
79
80
|
w->showFullScreen();*/
if(m_nCurConfigPos != config_menu_service){
m_nCurConfigPos = config_menu_service;
reloadUi();
}
|
3f5f5d4ce
고영탁
디버깅 요청 사항 적용
|
81
|
}
|
81b55e046
고영탁
config pannel but...
|
82
|
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
83
|
void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
|
81b55e046
고영탁
config pannel but...
|
84
|
{
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
85
86
87
88
|
if(m_nCurConfigPos != config_menu_setting){
m_nCurConfigPos = config_menu_setting;
reloadUi();
}
|
81b55e046
고영탁
config pannel but...
|
89
|
}
|
937409186
고영탁
config enum 설정 진행...
|
90
91
92
93
94
95
96
97
|
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...
|
98
|
void ConfigWindow::onConfigBtnClicked(uint16_t id){
|
92fef6124
고영탁
환경 설정 - 설정 UI 완료
|
99
|
Config *cfg = Config::getInstance();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
100
101
|
QDialog* dlg;
switch(id){
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
102
103
|
case config_datetime:
dlg = new ConfigDateTimeDlg(this);
|
00fd78596
고영탁
설정 기능 구현(엔지니어링 모드...
|
104
|
dlg->exec();
|
0603c0b43
고영탁
rtc 설정을 시스템에서 하도록 수정
|
105
106
|
if(m_nCurConfigPos != config_menu_favorite) reloadValue();
break;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
107
108
|
case config_enter_engineer_mode:
{
|
d0ee3ccc8
고영탁
버그 수정 및 비밀 번호 입력창 개발
|
109
110
111
112
113
114
115
|
dlg = new ServicePassInputDlg(this);
dlg->exec();
if(dlg->result() == QDialog::Accepted){
EngineerMenuWindow *w = new EngineerMenuWindow(this);
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
}
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
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;
}
|
81b55e046
고영탁
config pannel but...
|
130
131
132
133
|
}
void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
134
135
136
137
138
139
140
141
|
Config* cfg = Config::getInstance();
qDebug()<<"favorite pressed " << id;
if(checked){
cfg->insertFavorite((ConfigType)id);
}
else{
cfg->removeFavorite((ConfigType)id);
}
|
81b55e046
고영탁
config pannel but...
|
142
|
}
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
143
144
|
void ConfigWindow::reloadUi(void){
|
937409186
고영탁
config enum 설정 진행...
|
145
|
ConfigPanelButton** pws = m_vectorMenuList.data();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
146
|
ConfigFavoriteButton** fpws = m_vectorFavorMenuList.data();
|
937409186
고영탁
config enum 설정 진행...
|
147
|
ConfigPanelButton* pw;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
148
|
ConfigPanelButton *pcb;
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
149
150
151
152
153
154
155
|
ConfigFavoriteButton* fpw;
ConfigFavoriteButton* fpcb;
uint32_t idx;
int i = 0;
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
156
157
|
Config* cfg = Config::getInstance();
QString strtemp="";
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
158
|
for(i = 0; i < m_vectorMenuList.count();i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
159
160
161
162
163
|
pw = pws[i];
ui->scrollAreaMenuLayout->removeWidget(pw);
delete pw;
}
m_vectorMenuList.clear();
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
164
165
166
167
168
169
|
for(i=0;i<m_vectorFavorMenuList.count();i++){
fpw = fpws[i];
ui->scrollAreaMenuLayout->removeWidget(fpw);
delete fpw;
}
m_vectorFavorMenuList.clear();
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
170
|
if(m_nCurConfigPos != config_menu_favorite){
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
171
|
for(i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){
|
a7905269d
고영탁
설정 메뉴 화면 기본 구조 완성
|
172
173
174
175
176
177
178
179
180
181
182
|
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...
|
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
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
고영탁
설정 메뉴 화면 기본 구조 완성
|
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
}
}
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 설정 진행...
|
211
212
213
214
215
216
217
218
|
void ConfigWindow::on_pushButton_2_clicked()
{
if(m_nCurConfigPos != config_menu_system){
m_nCurConfigPos = config_menu_system;
reloadUi();
}
}
|
776411ce5
고영탁
설정 기능 5월 개발 범위 UI...
|
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
|
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);
}
}
}
|