22f83e90f
김태훈
모델 설정 UI 추가
|
1
2
|
#include "electricmodelsettingwindow.h"
#include "ui_electricmodelsettingwindow.h"
|
ec04831f5
고영탁
모델 설정 변경
|
3
|
#include "yesnopopupdlg.h"
|
22f83e90f
김태훈
모델 설정 UI 추가
|
4
|
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
5
|
#include "soundplayer.h"
|
22f83e90f
김태훈
모델 설정 UI 추가
|
6
7
8
9
10
11
12
13
|
ElectricModelSettingWindow::ElectricModelSettingWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::ElectricModelSettingWindow)
{
ui->setupUi(this);
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
14
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
15
|
|
66e60ceb5
김태훈
모든 버튼에 음향 효과 추가
|
16
17
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
ec04831f5
고영탁
모델 설정 변경
|
18
|
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
Config* cfg = Config::getInstance();
Define::config_item item;
item = cfg->getConfigValue(Define::config_model);
selitem = item.d32;
switch(selitem){
case Define::model_electric_10:
ui->e10Button->setChecked(true);
break;
case Define::model_electric_20:
ui->e20Button->setChecked(true);
break;
case Define::model_electric_24:
ui->e24Button->setChecked(true);
break;
case Define::model_electric_40:
ui->e40Button->setChecked(true);
break;
}
|
9146b87b4
고영탁
엔코더 작업 진행중
|
37
|
this->setFocus();
|
be7d2a625
고영탁
엔코더 기능 구현
|
38
39
40
41
42
43
|
m_vectorTabOrder.append(this);
m_vectorTabOrder.append(ui->e10Button);
m_vectorTabOrder.append(ui->e20Button);
m_vectorTabOrder.append(ui->e24Button);
m_vectorTabOrder.append(ui->e40Button);
m_vectorTabOrder.append(ui->backButton);
|
22f83e90f
김태훈
모델 설정 UI 추가
|
44
45
46
47
48
49
|
}
ElectricModelSettingWindow::~ElectricModelSettingWindow()
{
delete ui;
}
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
50
|
void ElectricModelSettingWindow::setModel(Define::model_type model)
|
22f83e90f
김태훈
모델 설정 UI 추가
|
51
|
{
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
52
53
|
Define::config_item item;
item.d32 = (int) model;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
54
|
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
55
56
57
|
Config *config = Config::getInstance();
config->setConfigValue(Define::config_model, item);
config->saveConfig();
|
22f83e90f
김태훈
모델 설정 UI 추가
|
58
|
}
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
59
|
void ElectricModelSettingWindow::on_e10Button_clicked()
|
22f83e90f
김태훈
모델 설정 UI 추가
|
60
|
{
|
ec04831f5
고영탁
모델 설정 변경
|
61
62
|
//setModel(Define::model_electric_10);
selitem = Define::model_electric_10;
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
63
|
}
|
22f83e90f
김태훈
모델 설정 UI 추가
|
64
|
|
5cf78e0e6
김태훈
모델 설정을 환경 설정에 반영
|
65
66
|
void ElectricModelSettingWindow::on_e20Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
67
68
|
//setModel(Define::model_electric_20);
selitem = Define::model_electric_20;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
69
70
71
72
|
}
void ElectricModelSettingWindow::on_e24Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
73
|
//setModel(Define::model_electric_24);
|
9146b87b4
고영탁
엔코더 작업 진행중
|
74
|
|
ec04831f5
고영탁
모델 설정 변경
|
75
|
selitem = Define::model_electric_24;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
76
77
78
79
|
}
void ElectricModelSettingWindow::on_e40Button_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
80
|
//setModel(Define::model_electric_40);
|
9146b87b4
고영탁
엔코더 작업 진행중
|
81
|
|
ec04831f5
고영탁
모델 설정 변경
|
82
|
selitem = Define::model_electric_40;
|
22f83e90f
김태훈
모델 설정 UI 추가
|
83
84
85
86
|
}
void ElectricModelSettingWindow::on_backButton_clicked()
{
|
ec04831f5
고영탁
모델 설정 변경
|
87
88
89
90
91
92
93
94
95
96
97
98
|
Config* cfg = Config::getInstance();
Define::config_item item;
item = cfg->getConfigValue(Define::config_model);
if(selitem != item.d32){
YesNoPopupDlg* yesnopop = new YesNoPopupDlg(this, tr("모델을 변경하시겠습니까?"));
yesnopop->setModal(true);
yesnopop->exec();
if(yesnopop->result() == QDialog::Accepted){
setModel((Define::model_type)selitem);
}
}
|
22f83e90f
김태훈
모델 설정 UI 추가
|
99
100
|
close();
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
101
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
102
103
104
105
|
void ElectricModelSettingWindow::keyPressEvent(QKeyEvent *event){
int i = 0;
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
106
|
case 0x01000032: // Turn left
|
be7d2a625
고영탁
엔코더 기능 구현
|
107
108
109
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
110
|
|
be7d2a625
고영탁
엔코더 기능 구현
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
if(i==0){
i = m_vectorTabOrder.size()-1;
m_vectorTabOrder[i]->setFocus();
}
else if(i < m_vectorTabOrder.size()) {
i = i - 1;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
case 0x01000031: // Push
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
127
|
case 0x01000030: // Turn right
|
be7d2a625
고영탁
엔코더 기능 구현
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i<m_vectorTabOrder.size()-1){
i+=1;
m_vectorTabOrder[i]->setFocus();
}
else if(i== (m_vectorTabOrder.size()-1)){
i=0;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
146
|
}
|
be7d2a625
고영탁
엔코더 기능 구현
|
147
148
149
150
|
void ElectricModelSettingWindow::keyReleaseEvent(QKeyEvent *event){
int i = 0;
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
151
|
case 0x01000032: // Turn left
|
be7d2a625
고영탁
엔코더 기능 구현
|
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i==0){
i = m_vectorTabOrder.size()-1;
m_vectorTabOrder[i]->setFocus();
}
else if(i < m_vectorTabOrder.size()) {
i = i - 1;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
case 0x01000031: // Push
{
QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
if(btn != NULL){
btn->click();
}
break;
}
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
177
|
case 0x01000030: // Turn right
|
be7d2a625
고영탁
엔코더 기능 구현
|
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
for(i = 0; i < m_vectorTabOrder.size();i++){
if(focusWidget() == m_vectorTabOrder[i]) break;
}
if(i<m_vectorTabOrder.size()-1){
i+=1;
m_vectorTabOrder[i]->setFocus();
}
else if(i== (m_vectorTabOrder.size()-1)){
i=0;
m_vectorTabOrder[i]->setFocus();
}
else{
i=0;
m_vectorTabOrder[i]->setFocus();
}
break;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
196
|
}
|