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