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