Commit 754df0b51d363a39f588ab629a4519c61092d45e

Authored by 고영탁
1 parent 6f1aa03f6b
Exists in master and in 2 other branches fhd, fhd-demo

엔코더 작업 진행중

- 하프에너지 적용
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
... ...