Commit 754df0b51d363a39f588ab629a4519c61092d45e
1 parent
6f1aa03f6b
Exists in
master
and in
2 other branches
엔코더 작업 진행중
- 하프에너지 적용
Showing
2 changed files
with
113 additions
and
0 deletions
Show diff stats
app/gui/oven_control/confighalfenergydlg.cpp
... | ... | @@ -16,6 +16,8 @@ ConfigHalfEnergyDlg::ConfigHalfEnergyDlg(QWidget *parent) : |
16 | 16 | ui->setupUi(this); |
17 | 17 | this->setWindowFlags( Qt::FramelessWindowHint); |
18 | 18 | this->setAttribute( Qt::WA_DeleteOnClose); |
19 | + qApp->setActiveWindow(this); | |
20 | + this->setFocus(); | |
19 | 21 | |
20 | 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
21 | 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
... | ... | @@ -34,6 +36,13 @@ ConfigHalfEnergyDlg::ConfigHalfEnergyDlg(QWidget *parent) : |
34 | 36 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); |
35 | 37 | |
36 | 38 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); |
39 | + | |
40 | + m_vectorTabOrder.append(this); | |
41 | + m_vectorTabOrder.append(ui->pushButton_1); | |
42 | + m_vectorTabOrder.append(ui->pushButton_2); | |
43 | + m_vectorTabOrder.append(ui->ctrBtnOk); | |
44 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | |
45 | + | |
37 | 46 | } |
38 | 47 | |
39 | 48 | ConfigHalfEnergyDlg::~ConfigHalfEnergyDlg() |
... | ... | @@ -72,3 +81,100 @@ void ConfigHalfEnergyDlg::reloadUi(){ |
72 | 81 | break; |
73 | 82 | } |
74 | 83 | } |
84 | + | |
85 | +void ConfigHalfEnergyDlg::keyPressEvent(QKeyEvent *event){ | |
86 | + int i = 0; | |
87 | + switch (event->key()) | |
88 | + { | |
89 | + case 0x01000030: // Turn left | |
90 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | |
91 | + if(focusWidget() == m_vectorTabOrder[i]) break; | |
92 | + } | |
93 | + | |
94 | + if(i==0){ | |
95 | + i = m_vectorTabOrder.size()-1; | |
96 | + m_vectorTabOrder[i]->setFocus(); | |
97 | + } | |
98 | + else if(i < m_vectorTabOrder.size()) { | |
99 | + i = i - 1; | |
100 | + m_vectorTabOrder[i]->setFocus(); | |
101 | + } | |
102 | + else{ | |
103 | + i=0; | |
104 | + m_vectorTabOrder[i]->setFocus(); | |
105 | + } | |
106 | + break; | |
107 | + case 0x01000031: // Push | |
108 | + | |
109 | + break; | |
110 | + case 0x01000032: // Turn right | |
111 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | |
112 | + if(focusWidget() == m_vectorTabOrder[i]) break; | |
113 | + } | |
114 | + | |
115 | + if(i<m_vectorTabOrder.size()-1){ | |
116 | + i+=1; | |
117 | + m_vectorTabOrder[i]->setFocus(); | |
118 | + } | |
119 | + else if(i== (m_vectorTabOrder.size()-1)){ | |
120 | + i=0; | |
121 | + m_vectorTabOrder[i]->setFocus(); | |
122 | + } | |
123 | + else{ | |
124 | + i=0; | |
125 | + m_vectorTabOrder[i]->setFocus(); | |
126 | + } | |
127 | + break; | |
128 | + } | |
129 | +} | |
130 | + | |
131 | +void ConfigHalfEnergyDlg::keyReleaseEvent(QKeyEvent *event){ | |
132 | + int i = 0; | |
133 | + switch (event->key()) | |
134 | + { | |
135 | + case 0x01000030: // Turn left | |
136 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | |
137 | + if(focusWidget() == m_vectorTabOrder[i]) break; | |
138 | + } | |
139 | + | |
140 | + if(i==0){ | |
141 | + i = m_vectorTabOrder.size()-1; | |
142 | + m_vectorTabOrder[i]->setFocus(); | |
143 | + } | |
144 | + else if(i < m_vectorTabOrder.size()) { | |
145 | + i = i - 1; | |
146 | + m_vectorTabOrder[i]->setFocus(); | |
147 | + } | |
148 | + else{ | |
149 | + i=0; | |
150 | + m_vectorTabOrder[i]->setFocus(); | |
151 | + } | |
152 | + break; | |
153 | + case 0x01000031: // Push | |
154 | + { | |
155 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | |
156 | + if(btn != NULL){ | |
157 | + btn->click(); | |
158 | + } | |
159 | + break; | |
160 | + } | |
161 | + case 0x01000032: // Turn right | |
162 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | |
163 | + if(focusWidget() == m_vectorTabOrder[i]) break; | |
164 | + } | |
165 | + | |
166 | + if(i<m_vectorTabOrder.size()-1){ | |
167 | + i+=1; | |
168 | + m_vectorTabOrder[i]->setFocus(); | |
169 | + } | |
170 | + else if(i== (m_vectorTabOrder.size()-1)){ | |
171 | + i=0; | |
172 | + m_vectorTabOrder[i]->setFocus(); | |
173 | + } | |
174 | + else{ | |
175 | + i=0; | |
176 | + m_vectorTabOrder[i]->setFocus(); | |
177 | + } | |
178 | + break; | |
179 | + } | |
180 | +} | ... | ... |
app/gui/oven_control/confighalfenergydlg.h
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 | |
4 | 4 | #include <QDialog> |
5 | 5 | #include <QSignalMapper> |
6 | +#include <QKeyEvent> | |
7 | +#include <QVector> | |
6 | 8 | |
7 | 9 | namespace Ui { |
8 | 10 | class ConfigHalfEnergyDlg; |
... | ... | @@ -24,10 +26,15 @@ private slots: |
24 | 26 | |
25 | 27 | void onConfigBtnClicked(const int sel); |
26 | 28 | |
29 | +protected: | |
30 | + void keyReleaseEvent(QKeyEvent* event); | |
31 | + void keyPressEvent(QKeyEvent* event); | |
32 | + | |
27 | 33 | private: |
28 | 34 | Ui::ConfigHalfEnergyDlg *ui; |
29 | 35 | QSignalMapper *m_pSignalMapper; |
30 | 36 | int m_nCurSel; |
37 | + QVector<QWidget*> m_vectorTabOrder; | |
31 | 38 | }; |
32 | 39 | |
33 | 40 | #endif // CONFIGHALFENERGYDLG_H | ... | ... |