Commit 40f5d047f8a7f59138448914b37e51a5f249c122
1 parent
80c5eb48bc
Exists in
master
and in
2 other branches
엔코더 작업 진행 중
- 설정, 음향관리, 시스템관리 엔코더 적용 - 키보드 사용 설정은 제외
Showing
30 changed files
with
1052 additions
and
87 deletions
Show diff stats
app/gui/oven_control/configbacklightdlg.cpp
| @@ -19,6 +19,8 @@ ConfigBackLightDlg::ConfigBackLightDlg(QWidget *parent) : | @@ -19,6 +19,8 @@ ConfigBackLightDlg::ConfigBackLightDlg(QWidget *parent) : | ||
| 19 | ui->setupUi(this); | 19 | ui->setupUi(this); |
| 20 | this->setWindowFlags( Qt::FramelessWindowHint); | 20 | this->setWindowFlags( Qt::FramelessWindowHint); |
| 21 | this->setAttribute( Qt::WA_DeleteOnClose); | 21 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 22 | + qApp->setActiveWindow(this); | ||
| 23 | + this->setFocus(); | ||
| 22 | 24 | ||
| 23 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 25 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 24 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 26 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -28,6 +30,11 @@ ConfigBackLightDlg::ConfigBackLightDlg(QWidget *parent) : | @@ -28,6 +30,11 @@ ConfigBackLightDlg::ConfigBackLightDlg(QWidget *parent) : | ||
| 28 | m_nSelBackLight = item.d32; | 30 | m_nSelBackLight = item.d32; |
| 29 | ui->ctrProgressLight->setMaxProgress(0,MAX_LIGHT); | 31 | ui->ctrProgressLight->setMaxProgress(0,MAX_LIGHT); |
| 30 | ui->ctrProgressLight->setCurrentProgress(m_nSelBackLight); | 32 | ui->ctrProgressLight->setCurrentProgress(m_nSelBackLight); |
| 33 | + m_vectorTabOrder.append(this); | ||
| 34 | + m_vectorTabOrder.append(ui->ctrBtnPlus); | ||
| 35 | + m_vectorTabOrder.append(ui->ctrBtnMinus); | ||
| 36 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 37 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 31 | } | 38 | } |
| 32 | 39 | ||
| 33 | ConfigBackLightDlg::~ConfigBackLightDlg() | 40 | ConfigBackLightDlg::~ConfigBackLightDlg() |
| @@ -78,3 +85,100 @@ void ConfigBackLightDlg::on_ctrBtnMinus_clicked() | @@ -78,3 +85,100 @@ void ConfigBackLightDlg::on_ctrBtnMinus_clicked() | ||
| 78 | 85 | ||
| 79 | Backlight::set(m_nSelBackLight); | 86 | Backlight::set(m_nSelBackLight); |
| 80 | } | 87 | } |
| 88 | + | ||
| 89 | +void ConfigBackLightDlg::keyPressEvent(QKeyEvent *event){ | ||
| 90 | + int i = 0; | ||
| 91 | + switch (event->key()) | ||
| 92 | + { | ||
| 93 | + case 0x01000030: // Turn left | ||
| 94 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 95 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + if(i==0){ | ||
| 99 | + i = m_vectorTabOrder.size()-1; | ||
| 100 | + m_vectorTabOrder[i]->setFocus(); | ||
| 101 | + } | ||
| 102 | + else if(i < m_vectorTabOrder.size()) { | ||
| 103 | + i = i - 1; | ||
| 104 | + m_vectorTabOrder[i]->setFocus(); | ||
| 105 | + } | ||
| 106 | + else{ | ||
| 107 | + i=0; | ||
| 108 | + m_vectorTabOrder[i]->setFocus(); | ||
| 109 | + } | ||
| 110 | + break; | ||
| 111 | + case 0x01000031: // Push | ||
| 112 | + | ||
| 113 | + break; | ||
| 114 | + case 0x01000032: // Turn right | ||
| 115 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 116 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 120 | + i+=1; | ||
| 121 | + m_vectorTabOrder[i]->setFocus(); | ||
| 122 | + } | ||
| 123 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 124 | + i=0; | ||
| 125 | + m_vectorTabOrder[i]->setFocus(); | ||
| 126 | + } | ||
| 127 | + else{ | ||
| 128 | + i=0; | ||
| 129 | + m_vectorTabOrder[i]->setFocus(); | ||
| 130 | + } | ||
| 131 | + break; | ||
| 132 | + } | ||
| 133 | +} | ||
| 134 | + | ||
| 135 | +void ConfigBackLightDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 136 | + int i = 0; | ||
| 137 | + switch (event->key()) | ||
| 138 | + { | ||
| 139 | + case 0x01000030: // Turn left | ||
| 140 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 141 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + if(i==0){ | ||
| 145 | + i = m_vectorTabOrder.size()-1; | ||
| 146 | + m_vectorTabOrder[i]->setFocus(); | ||
| 147 | + } | ||
| 148 | + else if(i < m_vectorTabOrder.size()) { | ||
| 149 | + i = i - 1; | ||
| 150 | + m_vectorTabOrder[i]->setFocus(); | ||
| 151 | + } | ||
| 152 | + else{ | ||
| 153 | + i=0; | ||
| 154 | + m_vectorTabOrder[i]->setFocus(); | ||
| 155 | + } | ||
| 156 | + break; | ||
| 157 | + case 0x01000031: // Push | ||
| 158 | + { | ||
| 159 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 160 | + if(btn != NULL){ | ||
| 161 | + btn->click(); | ||
| 162 | + } | ||
| 163 | + break; | ||
| 164 | + } | ||
| 165 | + case 0x01000032: // Turn right | ||
| 166 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 167 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 171 | + i+=1; | ||
| 172 | + m_vectorTabOrder[i]->setFocus(); | ||
| 173 | + } | ||
| 174 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 175 | + i=0; | ||
| 176 | + m_vectorTabOrder[i]->setFocus(); | ||
| 177 | + } | ||
| 178 | + else{ | ||
| 179 | + i=0; | ||
| 180 | + m_vectorTabOrder[i]->setFocus(); | ||
| 181 | + } | ||
| 182 | + break; | ||
| 183 | + } | ||
| 184 | +} |
app/gui/oven_control/configbacklightdlg.h
| @@ -2,6 +2,8 @@ | @@ -2,6 +2,8 @@ | ||
| 2 | #define CONFIGBACKLIGHTDLG_H | 2 | #define CONFIGBACKLIGHTDLG_H |
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | +#include <QKeyEvent> | ||
| 6 | +#include <QVector> | ||
| 5 | 7 | ||
| 6 | namespace Ui { | 8 | namespace Ui { |
| 7 | class ConfigBackLightDlg; | 9 | class ConfigBackLightDlg; |
| @@ -26,9 +28,14 @@ private slots: | @@ -26,9 +28,14 @@ private slots: | ||
| 26 | 28 | ||
| 27 | void on_ctrBtnMinus_clicked(); | 29 | void on_ctrBtnMinus_clicked(); |
| 28 | 30 | ||
| 31 | +protected: | ||
| 32 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 33 | + void keyPressEvent(QKeyEvent* event); | ||
| 34 | + | ||
| 29 | private: | 35 | private: |
| 30 | Ui::ConfigBackLightDlg *ui; | 36 | Ui::ConfigBackLightDlg *ui; |
| 31 | int m_nSelBackLight; | 37 | int m_nSelBackLight; |
| 38 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 32 | }; | 39 | }; |
| 33 | 40 | ||
| 34 | #endif // CONFIGBACKLIGHTDLG_H | 41 | #endif // CONFIGBACKLIGHTDLG_H |
app/gui/oven_control/configfavoritebutton.cpp
| @@ -23,6 +23,15 @@ void ConfigFavoriteButton::setText(const QString &text){ | @@ -23,6 +23,15 @@ void ConfigFavoriteButton::setText(const QString &text){ | ||
| 23 | ui->pushButton->setText(text); | 23 | ui->pushButton->setText(text); |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | +QWidget *ConfigFavoriteButton::getBtn() | ||
| 27 | +{ | ||
| 28 | + return ui->pushButton; | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +QWidget* ConfigFavoriteButton::getDelBtn(){ | ||
| 32 | + return ui->favoriteButton; | ||
| 33 | +} | ||
| 34 | + | ||
| 26 | 35 | ||
| 27 | 36 | ||
| 28 | void ConfigFavoriteButton::on_favoriteButton_clicked() | 37 | void ConfigFavoriteButton::on_favoriteButton_clicked() |
app/gui/oven_control/configfavoritebutton.h
| @@ -16,6 +16,9 @@ public: | @@ -16,6 +16,9 @@ public: | ||
| 16 | ~ConfigFavoriteButton(); | 16 | ~ConfigFavoriteButton(); |
| 17 | void setText(const QString &text); | 17 | void setText(const QString &text); |
| 18 | 18 | ||
| 19 | + QWidget* getBtn(); | ||
| 20 | + QWidget* getDelBtn(); | ||
| 21 | + | ||
| 19 | 22 | ||
| 20 | private: | 23 | private: |
| 21 | Ui::ConfigFavoriteButton *ui; | 24 | Ui::ConfigFavoriteButton *ui; |
app/gui/oven_control/configfileprocessdlg.cpp
| @@ -14,6 +14,8 @@ ConfigFileProcessDlg::ConfigFileProcessDlg(QWidget *parent, ConfigType type, boo | @@ -14,6 +14,8 @@ ConfigFileProcessDlg::ConfigFileProcessDlg(QWidget *parent, ConfigType type, boo | ||
| 14 | setAttribute(Qt::WA_NoSystemBackground); | 14 | setAttribute(Qt::WA_NoSystemBackground); |
| 15 | setAttribute(Qt::WA_TranslucentBackground); | 15 | setAttribute(Qt::WA_TranslucentBackground); |
| 16 | setAttribute(Qt::WA_DeleteOnClose); | 16 | setAttribute(Qt::WA_DeleteOnClose); |
| 17 | + qApp->setActiveWindow(this); | ||
| 18 | + this->setFocus(); | ||
| 17 | 19 | ||
| 18 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 20 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 19 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 21 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -53,3 +55,42 @@ void ConfigFileProcessDlg::on_ctrBtnCancel_clicked() | @@ -53,3 +55,42 @@ void ConfigFileProcessDlg::on_ctrBtnCancel_clicked() | ||
| 53 | { | 55 | { |
| 54 | deleteLater(); | 56 | deleteLater(); |
| 55 | } | 57 | } |
| 58 | + | ||
| 59 | + | ||
| 60 | +void ConfigFileProcessDlg::keyPressEvent(QKeyEvent *event){ | ||
| 61 | + switch (event->key()) | ||
| 62 | + { | ||
| 63 | + case 0x01000030: // Turn left | ||
| 64 | + if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); | ||
| 65 | + else ui->ctrBtnOk->setFocus(); | ||
| 66 | + break; | ||
| 67 | + case 0x01000031: // Push | ||
| 68 | + break; | ||
| 69 | + case 0x01000032: // Turn right | ||
| 70 | + if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); | ||
| 71 | + else ui->ctrBtnOk->setFocus(); | ||
| 72 | + break; | ||
| 73 | + } | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +void ConfigFileProcessDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 77 | + switch (event->key()) | ||
| 78 | + { | ||
| 79 | + case 0x01000030: // Turn left | ||
| 80 | + if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); | ||
| 81 | + else ui->ctrBtnOk->setFocus(); | ||
| 82 | + break; | ||
| 83 | + case 0x01000031: // Push | ||
| 84 | + { | ||
| 85 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 86 | + if(btn != NULL){ | ||
| 87 | + btn->click(); | ||
| 88 | + } | ||
| 89 | + break; | ||
| 90 | + } | ||
| 91 | + case 0x01000032: // Turn right | ||
| 92 | + if(focusWidget() == ui->ctrBtnOk) ui->ctrBtnCancel->setFocus(); | ||
| 93 | + else ui->ctrBtnOk->setFocus(); | ||
| 94 | + break; | ||
| 95 | + } | ||
| 96 | +} |
app/gui/oven_control/configfileprocessdlg.h
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
| 2 | #define CONFIGFILEPROCESSDLG_H | 2 | #define CONFIGFILEPROCESSDLG_H |
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | +#include <QKeyEvent> | ||
| 5 | #include "config.h" | 6 | #include "config.h" |
| 6 | 7 | ||
| 7 | using namespace Define; | 8 | using namespace Define; |
| @@ -23,6 +24,10 @@ private slots: | @@ -23,6 +24,10 @@ private slots: | ||
| 23 | 24 | ||
| 24 | void on_ctrBtnCancel_clicked(); | 25 | void on_ctrBtnCancel_clicked(); |
| 25 | 26 | ||
| 27 | +protected: | ||
| 28 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 29 | + void keyPressEvent(QKeyEvent* event); | ||
| 30 | + | ||
| 26 | private: | 31 | private: |
| 27 | Ui::ConfigFileProcessDlg *ui; | 32 | Ui::ConfigFileProcessDlg *ui; |
| 28 | ConfigType m_nCfgtype; | 33 | ConfigType m_nCfgtype; |
app/gui/oven_control/configlanguagedlg.cpp
| @@ -10,8 +10,11 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) : | @@ -10,8 +10,11 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) : | ||
| 10 | ui(new Ui::ConfigLanguageDlg) | 10 | ui(new Ui::ConfigLanguageDlg) |
| 11 | { | 11 | { |
| 12 | ui->setupUi(this); | 12 | ui->setupUi(this); |
| 13 | - this->setWindowFlags( Qt::FramelessWindowHint); | 13 | + this->setWindowFlags(Qt::FramelessWindowHint); |
| 14 | this->setAttribute( Qt::WA_DeleteOnClose); | 14 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 15 | + qApp->setActiveWindow(this); | ||
| 16 | + this->setFocus(); | ||
| 17 | + | ||
| 15 | 18 | ||
| 16 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 19 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 17 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 20 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -38,6 +41,13 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) : | @@ -38,6 +41,13 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) : | ||
| 38 | 41 | ||
| 39 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); | 42 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); |
| 40 | 43 | ||
| 44 | + m_vectorTabOrder.append(this); | ||
| 45 | + m_vectorTabOrder.append(ui->pushButton_1); | ||
| 46 | + m_vectorTabOrder.append(ui->pushButton_2); | ||
| 47 | + m_vectorTabOrder.append(ui->pushButton_3); | ||
| 48 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 49 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 50 | + reloadUi(); | ||
| 41 | } | 51 | } |
| 42 | 52 | ||
| 43 | ConfigLanguageDlg::~ConfigLanguageDlg() | 53 | ConfigLanguageDlg::~ConfigLanguageDlg() |
| @@ -78,3 +88,100 @@ void ConfigLanguageDlg::reloadUi(){ | @@ -78,3 +88,100 @@ void ConfigLanguageDlg::reloadUi(){ | ||
| 78 | break; | 88 | break; |
| 79 | } | 89 | } |
| 80 | } | 90 | } |
| 91 | + | ||
| 92 | +void ConfigLanguageDlg::keyPressEvent(QKeyEvent *event){ | ||
| 93 | + int i = 0; | ||
| 94 | + switch (event->key()) | ||
| 95 | + { | ||
| 96 | + case 0x01000030: // Turn left | ||
| 97 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 98 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + if(i==0){ | ||
| 102 | + i = m_vectorTabOrder.size()-1; | ||
| 103 | + m_vectorTabOrder[i]->setFocus(); | ||
| 104 | + } | ||
| 105 | + else if(i < m_vectorTabOrder.size()) { | ||
| 106 | + i = i - 1; | ||
| 107 | + m_vectorTabOrder[i]->setFocus(); | ||
| 108 | + } | ||
| 109 | + else{ | ||
| 110 | + i=0; | ||
| 111 | + m_vectorTabOrder[i]->setFocus(); | ||
| 112 | + } | ||
| 113 | + break; | ||
| 114 | + case 0x01000031: // Push | ||
| 115 | + | ||
| 116 | + break; | ||
| 117 | + case 0x01000032: // Turn right | ||
| 118 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 119 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 123 | + i+=1; | ||
| 124 | + m_vectorTabOrder[i]->setFocus(); | ||
| 125 | + } | ||
| 126 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 127 | + i=0; | ||
| 128 | + m_vectorTabOrder[i]->setFocus(); | ||
| 129 | + } | ||
| 130 | + else{ | ||
| 131 | + i=0; | ||
| 132 | + m_vectorTabOrder[i]->setFocus(); | ||
| 133 | + } | ||
| 134 | + break; | ||
| 135 | + } | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +void ConfigLanguageDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 139 | + int i = 0; | ||
| 140 | + switch (event->key()) | ||
| 141 | + { | ||
| 142 | + case 0x01000030: // Turn left | ||
| 143 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 144 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 145 | + } | ||
| 146 | + | ||
| 147 | + if(i==0){ | ||
| 148 | + i = m_vectorTabOrder.size()-1; | ||
| 149 | + m_vectorTabOrder[i]->setFocus(); | ||
| 150 | + } | ||
| 151 | + else if(i < m_vectorTabOrder.size()) { | ||
| 152 | + i = i - 1; | ||
| 153 | + m_vectorTabOrder[i]->setFocus(); | ||
| 154 | + } | ||
| 155 | + else{ | ||
| 156 | + i=0; | ||
| 157 | + m_vectorTabOrder[i]->setFocus(); | ||
| 158 | + } | ||
| 159 | + break; | ||
| 160 | + case 0x01000031: // Push | ||
| 161 | + { | ||
| 162 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 163 | + if(btn != NULL){ | ||
| 164 | + btn->click(); | ||
| 165 | + } | ||
| 166 | + break; | ||
| 167 | + } | ||
| 168 | + case 0x01000032: // Turn right | ||
| 169 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 170 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 171 | + } | ||
| 172 | + | ||
| 173 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 174 | + i+=1; | ||
| 175 | + m_vectorTabOrder[i]->setFocus(); | ||
| 176 | + } | ||
| 177 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 178 | + i=0; | ||
| 179 | + m_vectorTabOrder[i]->setFocus(); | ||
| 180 | + } | ||
| 181 | + else{ | ||
| 182 | + i=0; | ||
| 183 | + m_vectorTabOrder[i]->setFocus(); | ||
| 184 | + } | ||
| 185 | + break; | ||
| 186 | + } | ||
| 187 | +} |
app/gui/oven_control/configlanguagedlg.h
| @@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QSignalMapper> | 5 | #include <QSignalMapper> |
| 6 | +#include <QKeyEvent> | ||
| 7 | +#include <QVector> | ||
| 6 | 8 | ||
| 7 | namespace Ui { | 9 | namespace Ui { |
| 8 | class ConfigLanguageDlg; | 10 | class ConfigLanguageDlg; |
| @@ -24,10 +26,15 @@ private slots: | @@ -24,10 +26,15 @@ private slots: | ||
| 24 | 26 | ||
| 25 | void onConfigBtnClicked(const int sel); | 27 | void onConfigBtnClicked(const int sel); |
| 26 | 28 | ||
| 29 | +protected: | ||
| 30 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 31 | + void keyPressEvent(QKeyEvent* event); | ||
| 32 | + | ||
| 27 | private: | 33 | private: |
| 28 | Ui::ConfigLanguageDlg *ui; | 34 | Ui::ConfigLanguageDlg *ui; |
| 29 | QSignalMapper *m_pSignalMapper; | 35 | QSignalMapper *m_pSignalMapper; |
| 30 | int m_nCurSelLang; | 36 | int m_nCurSelLang; |
| 37 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 31 | }; | 38 | }; |
| 32 | 39 | ||
| 33 | #endif // CONFIGLANGUAGEDLG_H | 40 | #endif // CONFIGLANGUAGEDLG_H |
app/gui/oven_control/configlanguagedlg.ui
| @@ -10,6 +10,9 @@ | @@ -10,6 +10,9 @@ | ||
| 10 | <height>1600</height> | 10 | <height>1600</height> |
| 11 | </rect> | 11 | </rect> |
| 12 | </property> | 12 | </property> |
| 13 | + <property name="focusPolicy"> | ||
| 14 | + <enum>Qt::StrongFocus</enum> | ||
| 15 | + </property> | ||
| 13 | <property name="autoFillBackground"> | 16 | <property name="autoFillBackground"> |
| 14 | <bool>false</bool> | 17 | <bool>false</bool> |
| 15 | </property> | 18 | </property> |
| @@ -55,6 +58,9 @@ QLabel{ | @@ -55,6 +58,9 @@ QLabel{ | ||
| 55 | <height>450</height> | 58 | <height>450</height> |
| 56 | </size> | 59 | </size> |
| 57 | </property> | 60 | </property> |
| 61 | + <property name="focusPolicy"> | ||
| 62 | + <enum>Qt::TabFocus</enum> | ||
| 63 | + </property> | ||
| 58 | <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,264,88"> | 64 | <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,264,88"> |
| 59 | <item> | 65 | <item> |
| 60 | <widget class="QLabel" name="label"> | 66 | <widget class="QLabel" name="label"> |
| @@ -252,6 +258,14 @@ QLabel{ | @@ -252,6 +258,14 @@ QLabel{ | ||
| 252 | </layout> | 258 | </layout> |
| 253 | </widget> | 259 | </widget> |
| 254 | </widget> | 260 | </widget> |
| 261 | + <tabstops> | ||
| 262 | + <tabstop>pushButton_1</tabstop> | ||
| 263 | + <tabstop>ctrBtnOk</tabstop> | ||
| 264 | + <tabstop>pushButton_2</tabstop> | ||
| 265 | + <tabstop>ctrBtnCancel</tabstop> | ||
| 266 | + <tabstop>pushButton_3</tabstop> | ||
| 267 | + <tabstop>centralwidget</tabstop> | ||
| 268 | + </tabstops> | ||
| 255 | <resources/> | 269 | <resources/> |
| 256 | <connections/> | 270 | <connections/> |
| 257 | </ui> | 271 | </ui> |
app/gui/oven_control/configmastervolumedlg.cpp
| @@ -16,6 +16,8 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : | @@ -16,6 +16,8 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : | ||
| 16 | ui->setupUi(this); | 16 | ui->setupUi(this); |
| 17 | this->setWindowFlags( Qt::FramelessWindowHint); | 17 | this->setWindowFlags( Qt::FramelessWindowHint); |
| 18 | this->setAttribute( Qt::WA_DeleteOnClose); | 18 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 19 | + qApp->setActiveWindow(this); | ||
| 20 | + this->setFocus(); | ||
| 19 | 21 | ||
| 20 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 21 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -30,6 +32,12 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : | @@ -30,6 +32,12 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : | ||
| 30 | item = cfg->getConfigValue(m_cfgType); | 32 | item = cfg->getConfigValue(m_cfgType); |
| 31 | m_nPrevVol = m_nCurVol = item.d32; | 33 | m_nPrevVol = m_nCurVol = item.d32; |
| 32 | ui->ctrProgressLight->setMaxProgress(m_nCurVol,MAX_VOL); | 34 | ui->ctrProgressLight->setMaxProgress(m_nCurVol,MAX_VOL); |
| 35 | + | ||
| 36 | + m_vectorTabOrder.append(this); | ||
| 37 | + m_vectorTabOrder.append(ui->ctrBtnMinus); | ||
| 38 | + m_vectorTabOrder.append(ui->ctrBtnPlus); | ||
| 39 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 40 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 33 | } | 41 | } |
| 34 | 42 | ||
| 35 | ConfigVolumeDlg::~ConfigVolumeDlg() | 43 | ConfigVolumeDlg::~ConfigVolumeDlg() |
| @@ -74,3 +82,100 @@ void ConfigVolumeDlg::on_ctrBtnPlus_clicked() | @@ -74,3 +82,100 @@ void ConfigVolumeDlg::on_ctrBtnPlus_clicked() | ||
| 74 | 82 | ||
| 75 | SoundPlayer::playClick(); | 83 | SoundPlayer::playClick(); |
| 76 | } | 84 | } |
| 85 | + | ||
| 86 | +void ConfigVolumeDlg::keyPressEvent(QKeyEvent *event){ | ||
| 87 | + int i = 0; | ||
| 88 | + switch (event->key()) | ||
| 89 | + { | ||
| 90 | + case 0x01000030: // Turn left | ||
| 91 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 92 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + if(i==0){ | ||
| 96 | + i = m_vectorTabOrder.size()-1; | ||
| 97 | + m_vectorTabOrder[i]->setFocus(); | ||
| 98 | + } | ||
| 99 | + else if(i < m_vectorTabOrder.size()) { | ||
| 100 | + i = i - 1; | ||
| 101 | + m_vectorTabOrder[i]->setFocus(); | ||
| 102 | + } | ||
| 103 | + else{ | ||
| 104 | + i=0; | ||
| 105 | + m_vectorTabOrder[i]->setFocus(); | ||
| 106 | + } | ||
| 107 | + break; | ||
| 108 | + case 0x01000031: // Push | ||
| 109 | + | ||
| 110 | + break; | ||
| 111 | + case 0x01000032: // Turn right | ||
| 112 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 113 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 117 | + i+=1; | ||
| 118 | + m_vectorTabOrder[i]->setFocus(); | ||
| 119 | + } | ||
| 120 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 121 | + i=0; | ||
| 122 | + m_vectorTabOrder[i]->setFocus(); | ||
| 123 | + } | ||
| 124 | + else{ | ||
| 125 | + i=0; | ||
| 126 | + m_vectorTabOrder[i]->setFocus(); | ||
| 127 | + } | ||
| 128 | + break; | ||
| 129 | + } | ||
| 130 | +} | ||
| 131 | + | ||
| 132 | +void ConfigVolumeDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 133 | + int i = 0; | ||
| 134 | + switch (event->key()) | ||
| 135 | + { | ||
| 136 | + case 0x01000030: // Turn left | ||
| 137 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 138 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + if(i==0){ | ||
| 142 | + i = m_vectorTabOrder.size()-1; | ||
| 143 | + m_vectorTabOrder[i]->setFocus(); | ||
| 144 | + } | ||
| 145 | + else if(i < m_vectorTabOrder.size()) { | ||
| 146 | + i = i - 1; | ||
| 147 | + m_vectorTabOrder[i]->setFocus(); | ||
| 148 | + } | ||
| 149 | + else{ | ||
| 150 | + i=0; | ||
| 151 | + m_vectorTabOrder[i]->setFocus(); | ||
| 152 | + } | ||
| 153 | + break; | ||
| 154 | + case 0x01000031: // Push | ||
| 155 | + { | ||
| 156 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 157 | + if(btn != NULL){ | ||
| 158 | + btn->click(); | ||
| 159 | + } | ||
| 160 | + break; | ||
| 161 | + } | ||
| 162 | + case 0x01000032: // Turn right | ||
| 163 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 164 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 165 | + } | ||
| 166 | + | ||
| 167 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 168 | + i+=1; | ||
| 169 | + m_vectorTabOrder[i]->setFocus(); | ||
| 170 | + } | ||
| 171 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 172 | + i=0; | ||
| 173 | + m_vectorTabOrder[i]->setFocus(); | ||
| 174 | + } | ||
| 175 | + else{ | ||
| 176 | + i=0; | ||
| 177 | + m_vectorTabOrder[i]->setFocus(); | ||
| 178 | + } | ||
| 179 | + break; | ||
| 180 | + } | ||
| 181 | +} |
app/gui/oven_control/configmastervolumedlg.h
| @@ -2,6 +2,8 @@ | @@ -2,6 +2,8 @@ | ||
| 2 | #define CONFIGMASTERVOLUMEDLG_H | 2 | #define CONFIGMASTERVOLUMEDLG_H |
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | +#include <QKeyEvent> | ||
| 6 | +#include <QVector> | ||
| 5 | #include "config.h" | 7 | #include "config.h" |
| 6 | 8 | ||
| 7 | using namespace Define; | 9 | using namespace Define; |
| @@ -27,11 +29,16 @@ private slots: | @@ -27,11 +29,16 @@ private slots: | ||
| 27 | 29 | ||
| 28 | void on_ctrBtnPlus_clicked(); | 30 | void on_ctrBtnPlus_clicked(); |
| 29 | 31 | ||
| 32 | +protected: | ||
| 33 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 34 | + void keyPressEvent(QKeyEvent* event); | ||
| 35 | + | ||
| 30 | private: | 36 | private: |
| 31 | Ui::ConfigMasterVolumeDlg *ui; | 37 | Ui::ConfigMasterVolumeDlg *ui; |
| 32 | int m_nCurVol; | 38 | int m_nCurVol; |
| 33 | int m_nPrevVol; | 39 | int m_nPrevVol; |
| 34 | ConfigType m_cfgType; | 40 | ConfigType m_cfgType; |
| 41 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 35 | }; | 42 | }; |
| 36 | 43 | ||
| 37 | #endif // CONFIGMASTERVOLUMEDLG_H | 44 | #endif // CONFIGMASTERVOLUMEDLG_H |
app/gui/oven_control/configpanelbutton.cpp
| @@ -41,6 +41,15 @@ bool ConfigPanelButton::isFavoriteFocused() | @@ -41,6 +41,15 @@ bool ConfigPanelButton::isFavoriteFocused() | ||
| 41 | return (focusWidget() == ui->favoriteButton); | 41 | return (focusWidget() == ui->favoriteButton); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | +QWidget *ConfigPanelButton::getFavoriteBtn() | ||
| 45 | +{ | ||
| 46 | + return ui->favoriteButton; | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +QWidget* ConfigPanelButton::getBtn(){ | ||
| 50 | + return ui->pushButton; | ||
| 51 | +} | ||
| 52 | + | ||
| 44 | void ConfigPanelButton::setText(const QString &text) | 53 | void ConfigPanelButton::setText(const QString &text) |
| 45 | { | 54 | { |
| 46 | if (text_ == text) | 55 | if (text_ == text) |
app/gui/oven_control/configpanelbutton.h
| @@ -19,6 +19,8 @@ public: | @@ -19,6 +19,8 @@ public: | ||
| 19 | const QString &value() { return value_; } | 19 | const QString &value() { return value_; } |
| 20 | 20 | ||
| 21 | bool isFavoriteFocused(); | 21 | bool isFavoriteFocused(); |
| 22 | + QWidget* getFavoriteBtn(); | ||
| 23 | + QWidget* getBtn(); | ||
| 22 | 24 | ||
| 23 | public slots: | 25 | public slots: |
| 24 | void setText(const QString &text); | 26 | void setText(const QString &text); |
app/gui/oven_control/configresttimeformatdlg.cpp
| @@ -16,6 +16,8 @@ configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) : | @@ -16,6 +16,8 @@ configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) : | ||
| 16 | ui->setupUi(this); | 16 | ui->setupUi(this); |
| 17 | this->setWindowFlags( Qt::FramelessWindowHint); | 17 | this->setWindowFlags( Qt::FramelessWindowHint); |
| 18 | this->setAttribute( Qt::WA_DeleteOnClose); | 18 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 19 | + qApp->setActiveWindow(this); | ||
| 20 | + this->setFocus(); | ||
| 19 | 21 | ||
| 20 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 21 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -33,6 +35,12 @@ configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) : | @@ -33,6 +35,12 @@ configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) : | ||
| 33 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); | 35 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); |
| 34 | 36 | ||
| 35 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); | 37 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); |
| 38 | + | ||
| 39 | + m_vectorTabOrder.append(this); | ||
| 40 | + m_vectorTabOrder.append(ui->pushButton_1); | ||
| 41 | + m_vectorTabOrder.append(ui->pushButton_2); | ||
| 42 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 43 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 36 | } | 44 | } |
| 37 | 45 | ||
| 38 | configResttimeFormatDlg::~configResttimeFormatDlg() | 46 | configResttimeFormatDlg::~configResttimeFormatDlg() |
| @@ -71,3 +79,100 @@ void configResttimeFormatDlg::reloadUi(){ | @@ -71,3 +79,100 @@ void configResttimeFormatDlg::reloadUi(){ | ||
| 71 | } | 79 | } |
| 72 | } | 80 | } |
| 73 | 81 | ||
| 82 | +void configResttimeFormatDlg::keyPressEvent(QKeyEvent *event){ | ||
| 83 | + int i = 0; | ||
| 84 | + switch (event->key()) | ||
| 85 | + { | ||
| 86 | + case 0x01000030: // Turn left | ||
| 87 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 88 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + if(i==0){ | ||
| 92 | + i = m_vectorTabOrder.size()-1; | ||
| 93 | + m_vectorTabOrder[i]->setFocus(); | ||
| 94 | + } | ||
| 95 | + else if(i < m_vectorTabOrder.size()) { | ||
| 96 | + i = i - 1; | ||
| 97 | + m_vectorTabOrder[i]->setFocus(); | ||
| 98 | + } | ||
| 99 | + else{ | ||
| 100 | + i=0; | ||
| 101 | + m_vectorTabOrder[i]->setFocus(); | ||
| 102 | + } | ||
| 103 | + break; | ||
| 104 | + case 0x01000031: // Push | ||
| 105 | + | ||
| 106 | + break; | ||
| 107 | + case 0x01000032: // Turn right | ||
| 108 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 109 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 113 | + i+=1; | ||
| 114 | + m_vectorTabOrder[i]->setFocus(); | ||
| 115 | + } | ||
| 116 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 117 | + i=0; | ||
| 118 | + m_vectorTabOrder[i]->setFocus(); | ||
| 119 | + } | ||
| 120 | + else{ | ||
| 121 | + i=0; | ||
| 122 | + m_vectorTabOrder[i]->setFocus(); | ||
| 123 | + } | ||
| 124 | + break; | ||
| 125 | + } | ||
| 126 | +} | ||
| 127 | + | ||
| 128 | +void configResttimeFormatDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 129 | + int i = 0; | ||
| 130 | + switch (event->key()) | ||
| 131 | + { | ||
| 132 | + case 0x01000030: // Turn left | ||
| 133 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 134 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + if(i==0){ | ||
| 138 | + i = m_vectorTabOrder.size()-1; | ||
| 139 | + m_vectorTabOrder[i]->setFocus(); | ||
| 140 | + } | ||
| 141 | + else if(i < m_vectorTabOrder.size()) { | ||
| 142 | + i = i - 1; | ||
| 143 | + m_vectorTabOrder[i]->setFocus(); | ||
| 144 | + } | ||
| 145 | + else{ | ||
| 146 | + i=0; | ||
| 147 | + m_vectorTabOrder[i]->setFocus(); | ||
| 148 | + } | ||
| 149 | + break; | ||
| 150 | + case 0x01000031: // Push | ||
| 151 | + { | ||
| 152 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 153 | + if(btn != NULL){ | ||
| 154 | + btn->click(); | ||
| 155 | + } | ||
| 156 | + break; | ||
| 157 | + } | ||
| 158 | + case 0x01000032: // Turn right | ||
| 159 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 160 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 161 | + } | ||
| 162 | + | ||
| 163 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 164 | + i+=1; | ||
| 165 | + m_vectorTabOrder[i]->setFocus(); | ||
| 166 | + } | ||
| 167 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 168 | + i=0; | ||
| 169 | + m_vectorTabOrder[i]->setFocus(); | ||
| 170 | + } | ||
| 171 | + else{ | ||
| 172 | + i=0; | ||
| 173 | + m_vectorTabOrder[i]->setFocus(); | ||
| 174 | + } | ||
| 175 | + break; | ||
| 176 | + } | ||
| 177 | +} | ||
| 178 | + |
app/gui/oven_control/configresttimeformatdlg.h
| @@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QSignalMapper> | 5 | #include <QSignalMapper> |
| 6 | +#include <QKeyEvent> | ||
| 7 | +#include <QVector> | ||
| 6 | 8 | ||
| 7 | namespace Ui { | 9 | namespace Ui { |
| 8 | class configResttimeFormatDlg; | 10 | class configResttimeFormatDlg; |
| @@ -26,10 +28,15 @@ private slots: | @@ -26,10 +28,15 @@ private slots: | ||
| 26 | public slots: | 28 | public slots: |
| 27 | void onConfigBtnClicked(const int sel); | 29 | void onConfigBtnClicked(const int sel); |
| 28 | 30 | ||
| 31 | +protected: | ||
| 32 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 33 | + void keyPressEvent(QKeyEvent* event); | ||
| 34 | + | ||
| 29 | private: | 35 | private: |
| 30 | Ui::configResttimeFormatDlg *ui; | 36 | Ui::configResttimeFormatDlg *ui; |
| 31 | QSignalMapper *m_pSignalMapper; | 37 | QSignalMapper *m_pSignalMapper; |
| 32 | int m_nCurSel; | 38 | int m_nCurSel; |
| 39 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 33 | }; | 40 | }; |
| 34 | 41 | ||
| 35 | #endif // CONFIGRESTTIMEFORMATDLG_H | 42 | #endif // CONFIGRESTTIMEFORMATDLG_H |
app/gui/oven_control/configsoundselelectdlg.cpp
| @@ -15,6 +15,8 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty | @@ -15,6 +15,8 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty | ||
| 15 | setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); | 15 | setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); |
| 16 | setAttribute(Qt::WA_NoSystemBackground); | 16 | setAttribute(Qt::WA_NoSystemBackground); |
| 17 | setAttribute(Qt::WA_TranslucentBackground); | 17 | setAttribute(Qt::WA_TranslucentBackground); |
| 18 | + qApp->setActiveWindow(this); | ||
| 19 | + this->setFocus(); | ||
| 18 | 20 | ||
| 19 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 21 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 20 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 22 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -72,6 +74,19 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty | @@ -72,6 +74,19 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty | ||
| 72 | connect(ui->pushButton_10,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); | 74 | connect(ui->pushButton_10,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); |
| 73 | 75 | ||
| 74 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); | 76 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); |
| 77 | + | ||
| 78 | + m_vectorTabOrder.append(ui->pushButton_1); | ||
| 79 | + m_vectorTabOrder.append(ui->pushButton_2); | ||
| 80 | + m_vectorTabOrder.append(ui->pushButton_3); | ||
| 81 | + m_vectorTabOrder.append(ui->pushButton_4); | ||
| 82 | + m_vectorTabOrder.append(ui->pushButton_5); | ||
| 83 | + m_vectorTabOrder.append(ui->pushButton_6); | ||
| 84 | + m_vectorTabOrder.append(ui->pushButton_7); | ||
| 85 | + m_vectorTabOrder.append(ui->pushButton_8); | ||
| 86 | + m_vectorTabOrder.append(ui->pushButton_9); | ||
| 87 | + m_vectorTabOrder.append(ui->pushButton_10); | ||
| 88 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 89 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 75 | } | 90 | } |
| 76 | 91 | ||
| 77 | ConfigSoundSelelectDlg::~ConfigSoundSelelectDlg() | 92 | ConfigSoundSelelectDlg::~ConfigSoundSelelectDlg() |
| @@ -133,3 +148,101 @@ void ConfigSoundSelelectDlg::reloadUi(){ | @@ -133,3 +148,101 @@ void ConfigSoundSelelectDlg::reloadUi(){ | ||
| 133 | void ConfigSoundSelelectDlg::onConfigBtnClicked(const int sel){ | 148 | void ConfigSoundSelelectDlg::onConfigBtnClicked(const int sel){ |
| 134 | m_nCurSel = sel; | 149 | m_nCurSel = sel; |
| 135 | } | 150 | } |
| 151 | + | ||
| 152 | + | ||
| 153 | +void ConfigSoundSelelectDlg::keyPressEvent(QKeyEvent *event){ | ||
| 154 | + int i = 0; | ||
| 155 | + switch (event->key()) | ||
| 156 | + { | ||
| 157 | + case 0x01000030: // Turn left | ||
| 158 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 159 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + if(i==0){ | ||
| 163 | + i = m_vectorTabOrder.size()-1; | ||
| 164 | + m_vectorTabOrder[i]->setFocus(); | ||
| 165 | + } | ||
| 166 | + else if(i < m_vectorTabOrder.size()) { | ||
| 167 | + i = i - 1; | ||
| 168 | + m_vectorTabOrder[i]->setFocus(); | ||
| 169 | + } | ||
| 170 | + else{ | ||
| 171 | + i=0; | ||
| 172 | + m_vectorTabOrder[i]->setFocus(); | ||
| 173 | + } | ||
| 174 | + break; | ||
| 175 | + case 0x01000031: // Push | ||
| 176 | + | ||
| 177 | + break; | ||
| 178 | + case 0x01000032: // Turn right | ||
| 179 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 180 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 184 | + i+=1; | ||
| 185 | + m_vectorTabOrder[i]->setFocus(); | ||
| 186 | + } | ||
| 187 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 188 | + i=0; | ||
| 189 | + m_vectorTabOrder[i]->setFocus(); | ||
| 190 | + } | ||
| 191 | + else{ | ||
| 192 | + i=0; | ||
| 193 | + m_vectorTabOrder[i]->setFocus(); | ||
| 194 | + } | ||
| 195 | + break; | ||
| 196 | + } | ||
| 197 | +} | ||
| 198 | + | ||
| 199 | +void ConfigSoundSelelectDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 200 | + int i = 0; | ||
| 201 | + switch (event->key()) | ||
| 202 | + { | ||
| 203 | + case 0x01000030: // Turn left | ||
| 204 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 205 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 206 | + } | ||
| 207 | + | ||
| 208 | + if(i==0){ | ||
| 209 | + i = m_vectorTabOrder.size()-1; | ||
| 210 | + m_vectorTabOrder[i]->setFocus(); | ||
| 211 | + } | ||
| 212 | + else if(i < m_vectorTabOrder.size()) { | ||
| 213 | + i = i - 1; | ||
| 214 | + m_vectorTabOrder[i]->setFocus(); | ||
| 215 | + } | ||
| 216 | + else{ | ||
| 217 | + i=0; | ||
| 218 | + m_vectorTabOrder[i]->setFocus(); | ||
| 219 | + } | ||
| 220 | + break; | ||
| 221 | + case 0x01000031: // Push | ||
| 222 | + { | ||
| 223 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 224 | + if(btn != NULL){ | ||
| 225 | + btn->click(); | ||
| 226 | + } | ||
| 227 | + break; | ||
| 228 | + } | ||
| 229 | + case 0x01000032: // Turn right | ||
| 230 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 231 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 235 | + i+=1; | ||
| 236 | + m_vectorTabOrder[i]->setFocus(); | ||
| 237 | + } | ||
| 238 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 239 | + i=0; | ||
| 240 | + m_vectorTabOrder[i]->setFocus(); | ||
| 241 | + } | ||
| 242 | + else{ | ||
| 243 | + i=0; | ||
| 244 | + m_vectorTabOrder[i]->setFocus(); | ||
| 245 | + } | ||
| 246 | + break; | ||
| 247 | + } | ||
| 248 | +} |
app/gui/oven_control/configsoundselelectdlg.h
| @@ -4,6 +4,8 @@ | @@ -4,6 +4,8 @@ | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QSignalMapper> | 5 | #include <QSignalMapper> |
| 6 | #include <config.h> | 6 | #include <config.h> |
| 7 | +#include <QKeyEvent> | ||
| 8 | +#include <QVector> | ||
| 7 | 9 | ||
| 8 | using namespace Define; | 10 | using namespace Define; |
| 9 | 11 | ||
| @@ -29,11 +31,16 @@ private slots: | @@ -29,11 +31,16 @@ private slots: | ||
| 29 | public slots: | 31 | public slots: |
| 30 | void onConfigBtnClicked(const int sel); | 32 | void onConfigBtnClicked(const int sel); |
| 31 | 33 | ||
| 34 | +protected: | ||
| 35 | + void keyPressEvent(QKeyEvent* event); | ||
| 36 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 37 | + | ||
| 32 | private: | 38 | private: |
| 33 | Ui::ConfigSoundSelelectDlg *ui; | 39 | Ui::ConfigSoundSelelectDlg *ui; |
| 34 | QSignalMapper *m_pSignalMapper; | 40 | QSignalMapper *m_pSignalMapper; |
| 35 | ConfigType m_nCfgType; | 41 | ConfigType m_nCfgType; |
| 36 | uint32_t m_nCurSel; | 42 | uint32_t m_nCurSel; |
| 43 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 37 | }; | 44 | }; |
| 38 | 45 | ||
| 39 | #endif // CONFIGSOUNDSELELECTDLG_H | 46 | #endif // CONFIGSOUNDSELELECTDLG_H |
app/gui/oven_control/configtemptypedlg.cpp
| @@ -16,6 +16,8 @@ ConfigTempTypeDlg::ConfigTempTypeDlg(QWidget *parent) : | @@ -16,6 +16,8 @@ ConfigTempTypeDlg::ConfigTempTypeDlg(QWidget *parent) : | ||
| 16 | ui->setupUi(this); | 16 | ui->setupUi(this); |
| 17 | this->setWindowFlags( Qt::FramelessWindowHint); | 17 | this->setWindowFlags( Qt::FramelessWindowHint); |
| 18 | this->setAttribute( Qt::WA_DeleteOnClose); | 18 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 19 | + qApp->setActiveWindow(this); | ||
| 20 | + this->setFocus(); | ||
| 19 | 21 | ||
| 20 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 21 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -33,6 +35,11 @@ ConfigTempTypeDlg::ConfigTempTypeDlg(QWidget *parent) : | @@ -33,6 +35,11 @@ ConfigTempTypeDlg::ConfigTempTypeDlg(QWidget *parent) : | ||
| 33 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); | 35 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); |
| 34 | 36 | ||
| 35 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); | 37 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); |
| 38 | + m_vectorTabOrder.append(this); | ||
| 39 | + m_vectorTabOrder.append(ui->pushButton_1); | ||
| 40 | + m_vectorTabOrder.append(ui->pushButton_2); | ||
| 41 | + m_vectorTabOrder.append(ui->ctrBtnOk); | ||
| 42 | + m_vectorTabOrder.append(ui->ctrBtnCancel); | ||
| 36 | } | 43 | } |
| 37 | 44 | ||
| 38 | ConfigTempTypeDlg::~ConfigTempTypeDlg() | 45 | ConfigTempTypeDlg::~ConfigTempTypeDlg() |
| @@ -71,3 +78,100 @@ void ConfigTempTypeDlg::reloadUi(){ | @@ -71,3 +78,100 @@ void ConfigTempTypeDlg::reloadUi(){ | ||
| 71 | } | 78 | } |
| 72 | } | 79 | } |
| 73 | 80 | ||
| 81 | +void ConfigTempTypeDlg::keyPressEvent(QKeyEvent *event){ | ||
| 82 | + int i = 0; | ||
| 83 | + switch (event->key()) | ||
| 84 | + { | ||
| 85 | + case 0x01000030: // Turn left | ||
| 86 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 87 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + if(i==0){ | ||
| 91 | + i = m_vectorTabOrder.size()-1; | ||
| 92 | + m_vectorTabOrder[i]->setFocus(); | ||
| 93 | + } | ||
| 94 | + else if(i < m_vectorTabOrder.size()) { | ||
| 95 | + i = i - 1; | ||
| 96 | + m_vectorTabOrder[i]->setFocus(); | ||
| 97 | + } | ||
| 98 | + else{ | ||
| 99 | + i=0; | ||
| 100 | + m_vectorTabOrder[i]->setFocus(); | ||
| 101 | + } | ||
| 102 | + break; | ||
| 103 | + case 0x01000031: // Push | ||
| 104 | + | ||
| 105 | + break; | ||
| 106 | + case 0x01000032: // Turn right | ||
| 107 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 108 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 112 | + i+=1; | ||
| 113 | + m_vectorTabOrder[i]->setFocus(); | ||
| 114 | + } | ||
| 115 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 116 | + i=0; | ||
| 117 | + m_vectorTabOrder[i]->setFocus(); | ||
| 118 | + } | ||
| 119 | + else{ | ||
| 120 | + i=0; | ||
| 121 | + m_vectorTabOrder[i]->setFocus(); | ||
| 122 | + } | ||
| 123 | + break; | ||
| 124 | + } | ||
| 125 | +} | ||
| 126 | + | ||
| 127 | +void ConfigTempTypeDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 128 | + int i = 0; | ||
| 129 | + switch (event->key()) | ||
| 130 | + { | ||
| 131 | + case 0x01000030: // Turn left | ||
| 132 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 133 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + if(i==0){ | ||
| 137 | + i = m_vectorTabOrder.size()-1; | ||
| 138 | + m_vectorTabOrder[i]->setFocus(); | ||
| 139 | + } | ||
| 140 | + else if(i < m_vectorTabOrder.size()) { | ||
| 141 | + i = i - 1; | ||
| 142 | + m_vectorTabOrder[i]->setFocus(); | ||
| 143 | + } | ||
| 144 | + else{ | ||
| 145 | + i=0; | ||
| 146 | + m_vectorTabOrder[i]->setFocus(); | ||
| 147 | + } | ||
| 148 | + break; | ||
| 149 | + case 0x01000031: // Push | ||
| 150 | + { | ||
| 151 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 152 | + if(btn != NULL){ | ||
| 153 | + btn->click(); | ||
| 154 | + } | ||
| 155 | + break; | ||
| 156 | + } | ||
| 157 | + case 0x01000032: // Turn right | ||
| 158 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 159 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 160 | + } | ||
| 161 | + | ||
| 162 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 163 | + i+=1; | ||
| 164 | + m_vectorTabOrder[i]->setFocus(); | ||
| 165 | + } | ||
| 166 | + else if(i== (m_vectorTabOrder.size()-1)){ | ||
| 167 | + i=0; | ||
| 168 | + m_vectorTabOrder[i]->setFocus(); | ||
| 169 | + } | ||
| 170 | + else{ | ||
| 171 | + i=0; | ||
| 172 | + m_vectorTabOrder[i]->setFocus(); | ||
| 173 | + } | ||
| 174 | + break; | ||
| 175 | + } | ||
| 176 | +} | ||
| 177 | + |
app/gui/oven_control/configtemptypedlg.h
| @@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QSignalMapper> | 5 | #include <QSignalMapper> |
| 6 | +#include <QVector> | ||
| 7 | +#include <QKeyEvent> | ||
| 6 | 8 | ||
| 7 | namespace Ui { | 9 | namespace Ui { |
| 8 | class ConfigTempTypeDlg; | 10 | class ConfigTempTypeDlg; |
| @@ -14,6 +16,10 @@ class ConfigTempTypeDlg : public QDialog | @@ -14,6 +16,10 @@ class ConfigTempTypeDlg : public QDialog | ||
| 14 | 16 | ||
| 15 | void reloadUi(void); | 17 | void reloadUi(void); |
| 16 | 18 | ||
| 19 | +protected: | ||
| 20 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 21 | + void keyPressEvent(QKeyEvent* event); | ||
| 22 | + | ||
| 17 | public: | 23 | public: |
| 18 | explicit ConfigTempTypeDlg(QWidget *parent = 0); | 24 | explicit ConfigTempTypeDlg(QWidget *parent = 0); |
| 19 | ~ConfigTempTypeDlg(); | 25 | ~ConfigTempTypeDlg(); |
| @@ -30,6 +36,7 @@ private: | @@ -30,6 +36,7 @@ private: | ||
| 30 | Ui::ConfigTempTypeDlg *ui; | 36 | Ui::ConfigTempTypeDlg *ui; |
| 31 | QSignalMapper *m_pSignalMapper; | 37 | QSignalMapper *m_pSignalMapper; |
| 32 | int m_nCurSel; | 38 | int m_nCurSel; |
| 39 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 33 | }; | 40 | }; |
| 34 | 41 | ||
| 35 | #endif // CONFIGTEMPTYPEDLG_H | 42 | #endif // CONFIGTEMPTYPEDLG_H |
app/gui/oven_control/configtimeformatdlg.cpp
| @@ -16,6 +16,8 @@ ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) : | @@ -16,6 +16,8 @@ ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) : | ||
| 16 | ui->setupUi(this); | 16 | ui->setupUi(this); |
| 17 | this->setWindowFlags( Qt::FramelessWindowHint); | 17 | this->setWindowFlags( Qt::FramelessWindowHint); |
| 18 | this->setAttribute( Qt::WA_DeleteOnClose); | 18 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 19 | + qApp->setActiveWindow(this); | ||
| 20 | + this->setFocus(); | ||
| 19 | 21 | ||
| 20 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 21 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| @@ -34,6 +36,12 @@ ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) : | @@ -34,6 +36,12 @@ ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) : | ||
| 34 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); | 36 | connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map())); |
| 35 | 37 | ||
| 36 | connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int))); | 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); | ||
| 37 | } | 45 | } |
| 38 | 46 | ||
| 39 | ConfigTimeFormatDlg::~ConfigTimeFormatDlg() | 47 | ConfigTimeFormatDlg::~ConfigTimeFormatDlg() |
| @@ -73,3 +81,100 @@ void ConfigTimeFormatDlg::reloadUi(){ | @@ -73,3 +81,100 @@ void ConfigTimeFormatDlg::reloadUi(){ | ||
| 73 | break; | 81 | break; |
| 74 | } | 82 | } |
| 75 | } | 83 | } |
| 84 | + | ||
| 85 | +void ConfigTimeFormatDlg::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 ConfigTimeFormatDlg::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/configtimeformatdlg.h
| @@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QSignalMapper> | 5 | #include <QSignalMapper> |
| 6 | +#include <QKeyEvent> | ||
| 7 | +#include <QVector> | ||
| 6 | 8 | ||
| 7 | namespace Ui { | 9 | namespace Ui { |
| 8 | class ConfigTimeFormatDlg; | 10 | class ConfigTimeFormatDlg; |
| @@ -27,10 +29,15 @@ private slots: | @@ -27,10 +29,15 @@ private slots: | ||
| 27 | public slots: | 29 | public slots: |
| 28 | void onConfigBtnClicked(const int sel); | 30 | void onConfigBtnClicked(const int sel); |
| 29 | 31 | ||
| 32 | +protected: | ||
| 33 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 34 | + void keyPressEvent(QKeyEvent* event); | ||
| 35 | + | ||
| 30 | private: | 36 | private: |
| 31 | Ui::ConfigTimeFormatDlg *ui; | 37 | Ui::ConfigTimeFormatDlg *ui; |
| 32 | QSignalMapper *m_pSignalMapper; | 38 | QSignalMapper *m_pSignalMapper; |
| 33 | int m_nCurSel; | 39 | int m_nCurSel; |
| 40 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 34 | }; | 41 | }; |
| 35 | 42 | ||
| 36 | #endif // CONFIGTIMEFORMATDLG_H | 43 | #endif // CONFIGTIMEFORMATDLG_H |
app/gui/oven_control/configwindow.cpp
| @@ -60,100 +60,52 @@ void ConfigWindow::on_pushButton_clicked() | @@ -60,100 +60,52 @@ void ConfigWindow::on_pushButton_clicked() | ||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | void ConfigWindow::prevFocus(){ | 62 | void ConfigWindow::prevFocus(){ |
| 63 | - if(focusWidget() == ui->helpButton) { | ||
| 64 | - qDebug() << "help"; | ||
| 65 | - ui->washButton->setFocus(); | ||
| 66 | - } | ||
| 67 | - else if(focusWidget() == ui->washButton){ | ||
| 68 | - ui->backButton->setFocus(); | ||
| 69 | - } | ||
| 70 | - else if(focusWidget() == ui->backButton){ | ||
| 71 | - m_vectorMenuList[m_vectorMenuList.size()-1]->setFocus(); | ||
| 72 | - nextFocus(); | ||
| 73 | - nextFocus(); | ||
| 74 | - //prevFocus(); | ||
| 75 | - //focusPreviousChild(); | ||
| 76 | - //qDebug << focusWidget()->wind | ||
| 77 | - } | ||
| 78 | - else if(focusWidget() == ui->scrollArea){ | ||
| 79 | - ui->pushButton_3->setFocus(); | ||
| 80 | - } | ||
| 81 | - else if(focusWidget() == ui->pushButton){ | ||
| 82 | - ui->helpButton->setFocus(); | ||
| 83 | - } | ||
| 84 | - else if(focusWidget() == ui->pushButton_8){ | ||
| 85 | - ui->pushButton->setFocus(); | ||
| 86 | - } | ||
| 87 | - else if(focusWidget() == ui->pushButton_7){ | ||
| 88 | - ui->pushButton_8->setFocus(); | ||
| 89 | - } | ||
| 90 | - else if(focusWidget() == ui->pushButton_2){ | ||
| 91 | - ui->pushButton_7->setFocus(); | ||
| 92 | - } | ||
| 93 | - else if(focusWidget() == ui->pushButton_4){ | ||
| 94 | - ui->pushButton_2->setFocus(); | 63 | + int i = 0; |
| 64 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 65 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 95 | } | 66 | } |
| 96 | - else if(focusWidget() == ui->pushButton_5){ | ||
| 97 | - ui->pushButton_4->setFocus(); | 67 | + |
| 68 | + if(i==0){ | ||
| 69 | + i = m_vectorTabOrder.size()-1; | ||
| 70 | + m_vectorTabOrder[i]->setFocus(); | ||
| 98 | } | 71 | } |
| 99 | - else if(focusWidget() == ui->pushButton_6){ | ||
| 100 | - ui->pushButton_5->setFocus(); | 72 | + else if(i < m_vectorTabOrder.size()) { |
| 73 | + i = i - 1; | ||
| 74 | + m_vectorTabOrder[i]->setFocus(); | ||
| 101 | } | 75 | } |
| 102 | - else if(focusWidget() == ui->pushButton_3){ | ||
| 103 | - ui->pushButton_6->setFocus(); | 76 | + else{ |
| 77 | + i=0; | ||
| 78 | + m_vectorTabOrder[i]->setFocus(); | ||
| 104 | } | 79 | } |
| 105 | - else focusPreviousChild(); | ||
| 106 | } | 80 | } |
| 107 | 81 | ||
| 108 | void ConfigWindow::nextFocus(){ | 82 | void ConfigWindow::nextFocus(){ |
| 109 | - if(focusWidget() == ui->helpButton) { | ||
| 110 | - qDebug() << "help"; | ||
| 111 | - ui->pushButton->setFocus(); | ||
| 112 | - } | ||
| 113 | - else if(focusWidget() == ui->backButton){ | ||
| 114 | - ui->washButton->setFocus(); | ||
| 115 | - } | ||
| 116 | - else if(focusWidget() == ui->washButton){ | ||
| 117 | - ui->helpButton->setFocus(); | ||
| 118 | - } | ||
| 119 | - else if(focusWidget() == ui->pushButton){ | ||
| 120 | - ui->pushButton_8->setFocus(); | ||
| 121 | - } | ||
| 122 | - else if(focusWidget() == ui->pushButton_8){ | ||
| 123 | - ui->pushButton_7->setFocus(); | ||
| 124 | - } | ||
| 125 | - else if(focusWidget() == ui->pushButton_7){ | ||
| 126 | - ui->pushButton_2->setFocus(); | ||
| 127 | - } | ||
| 128 | - else if(focusWidget() == ui->pushButton_2){ | ||
| 129 | - ui->pushButton_4->setFocus(); | ||
| 130 | - } | ||
| 131 | - else if(focusWidget() == ui->pushButton_4){ | ||
| 132 | - ui->pushButton_5->setFocus(); | ||
| 133 | - } | ||
| 134 | - else if(focusWidget() == ui->pushButton_5){ | ||
| 135 | - ui->pushButton_6->setFocus(); | 83 | + int i = 0; |
| 84 | + for(i = 0; i < m_vectorTabOrder.size();i++){ | ||
| 85 | + if(focusWidget() == m_vectorTabOrder[i]) break; | ||
| 136 | } | 86 | } |
| 137 | - else if(focusWidget() == ui->pushButton_6){ | ||
| 138 | - ui->pushButton_3->setFocus(); | 87 | + |
| 88 | + if(i<m_vectorTabOrder.size()-1){ | ||
| 89 | + i+=1; | ||
| 90 | + m_vectorTabOrder[i]->setFocus(); | ||
| 139 | } | 91 | } |
| 140 | - else if(focusWidget() == ui->pushButton_3){ | ||
| 141 | - ui->scrollArea->setFocus(); | 92 | + else if(i== (m_vectorTabOrder.size()-1)){ |
| 93 | + i=0; | ||
| 94 | + m_vectorTabOrder[i]->setFocus(); | ||
| 142 | } | 95 | } |
| 143 | - else if(m_vectorMenuList[m_vectorMenuList.size() -1]->isFavoriteFocused()){ | ||
| 144 | - qDebug() << "last Favorite Focused"; | ||
| 145 | - ui->backButton->setFocus(); | 96 | + else{ |
| 97 | + i=0; | ||
| 98 | + m_vectorTabOrder[i]->setFocus(); | ||
| 146 | } | 99 | } |
| 147 | - else focusNextChild(); | 100 | + return; |
| 148 | } | 101 | } |
| 149 | 102 | ||
| 150 | void ConfigWindow::keyReleaseEvent(QKeyEvent *event){ | 103 | void ConfigWindow::keyReleaseEvent(QKeyEvent *event){ |
| 151 | switch (event->key()) | 104 | switch (event->key()) |
| 152 | { | 105 | { |
| 153 | case 0x01000030: // Turn left | 106 | case 0x01000030: // Turn left |
| 154 | - //focusPreviousChild(); | ||
| 155 | prevFocus(); | 107 | prevFocus(); |
| 156 | - qDebug() << "turn left"; | 108 | + ui->scrollArea->ensureWidgetVisible(m_vectorTabOrder[m_nTabIndex]); |
| 157 | break; | 109 | break; |
| 158 | case 0x01000031: // Push | 110 | case 0x01000031: // Push |
| 159 | { | 111 | { |
| @@ -166,6 +118,7 @@ void ConfigWindow::keyReleaseEvent(QKeyEvent *event){ | @@ -166,6 +118,7 @@ void ConfigWindow::keyReleaseEvent(QKeyEvent *event){ | ||
| 166 | } | 118 | } |
| 167 | case 0x01000032: // Turn right | 119 | case 0x01000032: // Turn right |
| 168 | nextFocus(); | 120 | nextFocus(); |
| 121 | + ui->scrollArea->ensureWidgetVisible(focusWidget()); | ||
| 169 | qDebug() << "Turn Right"; | 122 | qDebug() << "Turn Right"; |
| 170 | break; | 123 | break; |
| 171 | } | 124 | } |
| @@ -175,8 +128,8 @@ void ConfigWindow::keyPressEvent(QKeyEvent *event){ | @@ -175,8 +128,8 @@ void ConfigWindow::keyPressEvent(QKeyEvent *event){ | ||
| 175 | switch (event->key()) | 128 | switch (event->key()) |
| 176 | { | 129 | { |
| 177 | case 0x01000030: // Turn left | 130 | case 0x01000030: // Turn left |
| 178 | - //focusPreviousChild(); | ||
| 179 | prevFocus(); | 131 | prevFocus(); |
| 132 | + ui->scrollArea->ensureWidgetVisible(focusWidget()); | ||
| 180 | qDebug() << "turn left"; | 133 | qDebug() << "turn left"; |
| 181 | break; | 134 | break; |
| 182 | case 0x01000031: // Push | 135 | case 0x01000031: // Push |
| @@ -185,6 +138,7 @@ void ConfigWindow::keyPressEvent(QKeyEvent *event){ | @@ -185,6 +138,7 @@ void ConfigWindow::keyPressEvent(QKeyEvent *event){ | ||
| 185 | break; | 138 | break; |
| 186 | case 0x01000032: // Turn right | 139 | case 0x01000032: // Turn right |
| 187 | nextFocus(); | 140 | nextFocus(); |
| 141 | + ui->scrollArea->ensureWidgetVisible(focusWidget()); | ||
| 188 | qDebug() << "Turn Right"; | 142 | qDebug() << "Turn Right"; |
| 189 | break; | 143 | break; |
| 190 | } | 144 | } |
| @@ -240,6 +194,7 @@ void ConfigWindow::reloadValue(){ | @@ -240,6 +194,7 @@ void ConfigWindow::reloadValue(){ | ||
| 240 | void ConfigWindow::onConfigBtnClicked(uint16_t id){ | 194 | void ConfigWindow::onConfigBtnClicked(uint16_t id){ |
| 241 | Config *cfg = Config::getInstance(); | 195 | Config *cfg = Config::getInstance(); |
| 242 | QDialog* dlg; | 196 | QDialog* dlg; |
| 197 | + QWidget *focusedWidget = focusWidget(); | ||
| 243 | switch(id){ | 198 | switch(id){ |
| 244 | case config_loading_door_monitoring: | 199 | case config_loading_door_monitoring: |
| 245 | case config_cooking_door_monitoring: | 200 | case config_cooking_door_monitoring: |
| @@ -270,10 +225,9 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ | @@ -270,10 +225,9 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ | ||
| 270 | default: | 225 | default: |
| 271 | cfg->execConfigWindow(this,(Define::ConfigType)id); | 226 | cfg->execConfigWindow(this,(Define::ConfigType)id); |
| 272 | if(m_nCurConfigPos != config_menu_favorite) reloadValue(); | 227 | if(m_nCurConfigPos != config_menu_favorite) reloadValue(); |
| 273 | - if(id==config_sound_factory_reset) reloadUi(); | ||
| 274 | break; | 228 | break; |
| 275 | } | 229 | } |
| 276 | - | 230 | + focusedWidget->setFocus(); |
| 277 | } | 231 | } |
| 278 | 232 | ||
| 279 | 233 | ||
| @@ -318,6 +272,17 @@ void ConfigWindow::reloadUi(void){ | @@ -318,6 +272,17 @@ void ConfigWindow::reloadUi(void){ | ||
| 318 | } | 272 | } |
| 319 | m_vectorFavorMenuList.clear(); | 273 | m_vectorFavorMenuList.clear(); |
| 320 | 274 | ||
| 275 | + m_vectorTabOrder.clear(); | ||
| 276 | + m_vectorTabOrder.append(this); | ||
| 277 | + m_vectorTabOrder.append(ui->pushButton); | ||
| 278 | + m_vectorTabOrder.append(ui->pushButton_8); | ||
| 279 | + m_vectorTabOrder.append(ui->pushButton_7); | ||
| 280 | + m_vectorTabOrder.append(ui->pushButton_2); | ||
| 281 | + m_vectorTabOrder.append(ui->pushButton_4); | ||
| 282 | + m_vectorTabOrder.append(ui->pushButton_5); | ||
| 283 | + m_vectorTabOrder.append(ui->pushButton_6); | ||
| 284 | + m_vectorTabOrder.append(ui->pushButton_3); | ||
| 285 | + | ||
| 321 | 286 | ||
| 322 | 287 | ||
| 323 | if(m_nCurConfigPos != config_menu_favorite){ | 288 | if(m_nCurConfigPos != config_menu_favorite){ |
| @@ -330,6 +295,8 @@ void ConfigWindow::reloadUi(void){ | @@ -330,6 +295,8 @@ void ConfigWindow::reloadUi(void){ | ||
| 330 | pcb->setValue(strtemp); | 295 | pcb->setValue(strtemp); |
| 331 | pcb->showFavoriteButton(); | 296 | pcb->showFavoriteButton(); |
| 332 | pcb->setFavoriteCheck(cfg->isFavorite(m_arrConfigListInfos[m_nCurConfigPos][i])); | 297 | pcb->setFavoriteCheck(cfg->isFavorite(m_arrConfigListInfos[m_nCurConfigPos][i])); |
| 298 | + m_vectorTabOrder.append(pcb->getFavoriteBtn()); | ||
| 299 | + m_vectorTabOrder.append(pcb->getBtn()); | ||
| 333 | ui->scrollAreaMenuLayout->addWidget(pcb); | 300 | ui->scrollAreaMenuLayout->addWidget(pcb); |
| 334 | m_vectorMenuList.append(pcb); | 301 | m_vectorMenuList.append(pcb); |
| 335 | connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); | 302 | connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); |
| @@ -343,12 +310,17 @@ void ConfigWindow::reloadUi(void){ | @@ -343,12 +310,17 @@ void ConfigWindow::reloadUi(void){ | ||
| 343 | fpcb = new ConfigFavoriteButton(this,idx); | 310 | fpcb = new ConfigFavoriteButton(this,idx); |
| 344 | strtemp = cfg->getTitleString((ConfigType)idx); | 311 | strtemp = cfg->getTitleString((ConfigType)idx); |
| 345 | fpcb->setText(strtemp); | 312 | fpcb->setText(strtemp); |
| 313 | + m_vectorTabOrder.append(fpcb->getBtn()); | ||
| 314 | + m_vectorTabOrder.append(fpcb->getDelBtn()); | ||
| 346 | ui->scrollAreaMenuLayout->addWidget(fpcb); | 315 | ui->scrollAreaMenuLayout->addWidget(fpcb); |
| 347 | m_vectorFavorMenuList.append(fpcb); | 316 | m_vectorFavorMenuList.append(fpcb); |
| 348 | connect(fpcb,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); | 317 | connect(fpcb,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); |
| 349 | connect(fpcb,SIGNAL(delBtnClicked(uint16_t)),SLOT(onDeleteFavoriteBtnClicked(uint16_t))); | 318 | connect(fpcb,SIGNAL(delBtnClicked(uint16_t)),SLOT(onDeleteFavoriteBtnClicked(uint16_t))); |
| 350 | } | 319 | } |
| 351 | } | 320 | } |
| 321 | + m_vectorTabOrder.append(ui->backButton); | ||
| 322 | + m_vectorTabOrder.append(ui->washButton); | ||
| 323 | + m_vectorTabOrder.append(ui->helpButton); | ||
| 352 | 324 | ||
| 353 | ui->scrollAreaMenu->adjustSize(); //Display 전 Contents 사이즈 수정 깜빡임 제거함. | 325 | ui->scrollAreaMenu->adjustSize(); //Display 전 Contents 사이즈 수정 깜빡임 제거함. |
| 354 | 326 |
app/gui/oven_control/configwindow.h
| @@ -32,12 +32,12 @@ class ConfigWindow : public QMainWindow | @@ -32,12 +32,12 @@ class ConfigWindow : public QMainWindow | ||
| 32 | 32 | ||
| 33 | private: | 33 | private: |
| 34 | const uint16_t m_arrMaxMenuCount[7] ={ | 34 | const uint16_t m_arrMaxMenuCount[7] ={ |
| 35 | - 6,8,9,2,3,0,6 | 35 | + 6,8,8,2,3,0,6 |
| 36 | }; | 36 | }; |
| 37 | const Define::ConfigType m_arrConfigListInfos[7][20] = { | 37 | const Define::ConfigType m_arrConfigListInfos[7][20] = { |
| 38 | {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, | 38 | {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, |
| 39 | {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset}, | 39 | {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset}, |
| 40 | - {config_haccp_data_download,config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload}, | 40 | + {config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload}, |
| 41 | {config_set_half_energy,config_set_auto_darkness,}, | 41 | {config_set_half_energy,config_set_auto_darkness,}, |
| 42 | {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, | 42 | {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, |
| 43 | {config_invalid,}, | 43 | {config_invalid,}, |
| @@ -88,8 +88,9 @@ private: | @@ -88,8 +88,9 @@ private: | ||
| 88 | Ui::ConfigWindow *ui; | 88 | Ui::ConfigWindow *ui; |
| 89 | QVector<ConfigPanelButton *> m_vectorMenuList; | 89 | QVector<ConfigPanelButton *> m_vectorMenuList; |
| 90 | QVector<ConfigFavoriteButton*> m_vectorFavorMenuList; | 90 | QVector<ConfigFavoriteButton*> m_vectorFavorMenuList; |
| 91 | + QVector<QWidget*> m_vectorTabOrder; | ||
| 91 | CONFIG_MENU_POS m_nCurConfigPos; | 92 | CONFIG_MENU_POS m_nCurConfigPos; |
| 92 | - | 93 | + int m_nTabIndex = 0; |
| 93 | }; | 94 | }; |
| 94 | 95 | ||
| 95 | #endif // CONFIGWINDOW_H | 96 | #endif // CONFIGWINDOW_H |
app/gui/oven_control/fileprocessdlg.cpp
| @@ -209,6 +209,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | @@ -209,6 +209,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | ||
| 209 | setAttribute(Qt::WA_DeleteOnClose); | 209 | setAttribute(Qt::WA_DeleteOnClose); |
| 210 | setAttribute(Qt::WA_TranslucentBackground); | 210 | setAttribute(Qt::WA_TranslucentBackground); |
| 211 | setWindowFlags(Qt::FramelessWindowHint); | 211 | setWindowFlags(Qt::FramelessWindowHint); |
| 212 | + qApp->setActiveWindow(this); | ||
| 213 | + this->setFocus(); | ||
| 214 | + ui->ctrBtnCancel->setFocus(); | ||
| 212 | 215 | ||
| 213 | ui->ctrWjProcess->setMinimum(0); | 216 | ui->ctrWjProcess->setMinimum(0); |
| 214 | ui->ctrWjProcess->setMaximum(100); | 217 | ui->ctrWjProcess->setMaximum(100); |
| @@ -706,3 +709,21 @@ void FileProcessDlg::haccpdataDownload(){ | @@ -706,3 +709,21 @@ void FileProcessDlg::haccpdataDownload(){ | ||
| 706 | ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); | 709 | ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); |
| 707 | QTimer::singleShot(1000,this,SLOT(close())); | 710 | QTimer::singleShot(1000,this,SLOT(close())); |
| 708 | } | 711 | } |
| 712 | + | ||
| 713 | +void FileProcessDlg::keyPressEvent(QKeyEvent *event){ | ||
| 714 | + | ||
| 715 | +} | ||
| 716 | + | ||
| 717 | +void FileProcessDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 718 | + switch (event->key()) | ||
| 719 | + { | ||
| 720 | + case 0x01000031: // Push | ||
| 721 | + { | ||
| 722 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 723 | + if(btn != NULL){ | ||
| 724 | + btn->click(); | ||
| 725 | + } | ||
| 726 | + break; | ||
| 727 | + } | ||
| 728 | + } | ||
| 729 | +} |
app/gui/oven_control/fileprocessdlg.h
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | #include <QThread> | 7 | #include <QThread> |
| 8 | #include <QList> | 8 | #include <QList> |
| 9 | #include <QMutex> | 9 | #include <QMutex> |
| 10 | +#include <QKeyEvent> | ||
| 10 | #include "config.h" | 11 | #include "config.h" |
| 11 | #include "servicedata.h" | 12 | #include "servicedata.h" |
| 12 | #include "historylistwindow.h" | 13 | #include "historylistwindow.h" |
| @@ -73,6 +74,10 @@ public slots: | @@ -73,6 +74,10 @@ public slots: | ||
| 73 | void onProgressed(int progress,int sec); | 74 | void onProgressed(int progress,int sec); |
| 74 | void onProgressFinished(); | 75 | void onProgressFinished(); |
| 75 | 76 | ||
| 77 | +protected: | ||
| 78 | + void keyPressEvent(QKeyEvent* event); | ||
| 79 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 80 | + | ||
| 76 | private: | 81 | private: |
| 77 | Ui::FileProcessDlg *ui; | 82 | Ui::FileProcessDlg *ui; |
| 78 | ConfigType m_nCfgtype; | 83 | ConfigType m_nCfgtype; |
app/gui/oven_control/usbcheckpopupdlg.cpp
| @@ -12,7 +12,9 @@ UsbCheckPopupDlg::UsbCheckPopupDlg(QWidget *parent) : | @@ -12,7 +12,9 @@ UsbCheckPopupDlg::UsbCheckPopupDlg(QWidget *parent) : | ||
| 12 | setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); | 12 | setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); |
| 13 | setAttribute(Qt::WA_NoSystemBackground); | 13 | setAttribute(Qt::WA_NoSystemBackground); |
| 14 | setAttribute(Qt::WA_TranslucentBackground); | 14 | setAttribute(Qt::WA_TranslucentBackground); |
| 15 | - | 15 | + qApp->setActiveWindow(this); |
| 16 | + this->setFocus(); | ||
| 17 | + ui->ctrBtnYes->setFocus(); | ||
| 16 | 18 | ||
| 17 | timer = new QTimer(this); | 19 | timer = new QTimer(this); |
| 18 | connect(timer,SIGNAL(timeout()),SLOT(usbCheckTimerFired())); | 20 | connect(timer,SIGNAL(timeout()),SLOT(usbCheckTimerFired())); |
| @@ -36,3 +38,38 @@ void UsbCheckPopupDlg::usbCheckTimerFired(){ | @@ -36,3 +38,38 @@ void UsbCheckPopupDlg::usbCheckTimerFired(){ | ||
| 36 | accept(); | 38 | accept(); |
| 37 | } | 39 | } |
| 38 | } | 40 | } |
| 41 | + | ||
| 42 | + | ||
| 43 | +void UsbCheckPopupDlg::keyPressEvent(QKeyEvent *event){ | ||
| 44 | + int i = 0; | ||
| 45 | + switch (event->key()) | ||
| 46 | + { | ||
| 47 | + case 0x01000030: // Turn left | ||
| 48 | + break; | ||
| 49 | + case 0x01000031: // Push | ||
| 50 | + { | ||
| 51 | + break; | ||
| 52 | + } | ||
| 53 | + case 0x01000032: // Turn right | ||
| 54 | + break; | ||
| 55 | + } | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +void UsbCheckPopupDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 59 | + int i = 0; | ||
| 60 | + switch (event->key()) | ||
| 61 | + { | ||
| 62 | + case 0x01000030: // Turn left | ||
| 63 | + break; | ||
| 64 | + case 0x01000031: // Push | ||
| 65 | + { | ||
| 66 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 67 | + if(btn != NULL){ | ||
| 68 | + btn->click(); | ||
| 69 | + } | ||
| 70 | + break; | ||
| 71 | + } | ||
| 72 | + case 0x01000032: // Turn right | ||
| 73 | + break; | ||
| 74 | + } | ||
| 75 | +} |
app/gui/oven_control/usbcheckpopupdlg.h
| @@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | #include <QTimer> | 5 | #include <QTimer> |
| 6 | +#include <QKeyEvent> | ||
| 6 | 7 | ||
| 7 | namespace Ui { | 8 | namespace Ui { |
| 8 | class UsbCheckPopupDlg; | 9 | class UsbCheckPopupDlg; |
| @@ -20,6 +21,10 @@ private slots: | @@ -20,6 +21,10 @@ private slots: | ||
| 20 | void on_ctrBtnYes_clicked(); | 21 | void on_ctrBtnYes_clicked(); |
| 21 | void usbCheckTimerFired(); | 22 | void usbCheckTimerFired(); |
| 22 | 23 | ||
| 24 | +protected: | ||
| 25 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 26 | + void keyPressEvent(QKeyEvent* event); | ||
| 27 | + | ||
| 23 | private: | 28 | private: |
| 24 | Ui::UsbCheckPopupDlg *ui; | 29 | Ui::UsbCheckPopupDlg *ui; |
| 25 | QTimer *timer; | 30 | QTimer *timer; |
app/gui/oven_control/yesnopopupdlg.cpp
| @@ -10,17 +10,22 @@ YesNoPopupDlg::YesNoPopupDlg(QWidget *parent, QString strDesc) : | @@ -10,17 +10,22 @@ YesNoPopupDlg::YesNoPopupDlg(QWidget *parent, QString strDesc) : | ||
| 10 | ui->setupUi(this); | 10 | ui->setupUi(this); |
| 11 | this->setAttribute( Qt::WA_DeleteOnClose); | 11 | this->setAttribute( Qt::WA_DeleteOnClose); |
| 12 | setWindowFlags(Qt::FramelessWindowHint); | 12 | setWindowFlags(Qt::FramelessWindowHint); |
| 13 | - setAttribute(Qt::WA_NoSystemBackground); | 13 | + setAttribute(Qt::WA_NoSystemBackground,false); |
| 14 | setAttribute(Qt::WA_TranslucentBackground); | 14 | setAttribute(Qt::WA_TranslucentBackground); |
| 15 | + qApp->setActiveWindow(this); | ||
| 16 | + this->setFocus(); | ||
| 17 | + | ||
| 15 | //setAttribute(Qt::WA_PaintOnScreen); | 18 | //setAttribute(Qt::WA_PaintOnScreen); |
| 16 | 19 | ||
| 17 | 20 | ||
| 18 | 21 | ||
| 19 | ui->ctrLbDesc->setText(strDesc); | 22 | ui->ctrLbDesc->setText(strDesc); |
| 20 | 23 | ||
| 24 | + | ||
| 21 | //this->setAttribute( Qt::WA_DeleteOnClose); | 25 | //this->setAttribute( Qt::WA_DeleteOnClose); |
| 22 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 26 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 23 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 27 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| 28 | + ui->ctrBtnYes->setFocus(); | ||
| 24 | } | 29 | } |
| 25 | 30 | ||
| 26 | YesNoPopupDlg::~YesNoPopupDlg() | 31 | YesNoPopupDlg::~YesNoPopupDlg() |
| @@ -38,3 +43,42 @@ void YesNoPopupDlg::on_ctrBtnNo_clicked() | @@ -38,3 +43,42 @@ void YesNoPopupDlg::on_ctrBtnNo_clicked() | ||
| 38 | { | 43 | { |
| 39 | this->reject(); | 44 | this->reject(); |
| 40 | } | 45 | } |
| 46 | + | ||
| 47 | +void YesNoPopupDlg::keyPressEvent(QKeyEvent *event){ | ||
| 48 | + switch (event->key()) | ||
| 49 | + { | ||
| 50 | + case 0x01000030: // Turn left | ||
| 51 | + if(focusWidget() == ui->ctrBtnYes) ui->ctrBtnNo->setFocus(); | ||
| 52 | + else ui->ctrBtnYes->setFocus(); | ||
| 53 | + break; | ||
| 54 | + case 0x01000031: // Push | ||
| 55 | + | ||
| 56 | + break; | ||
| 57 | + case 0x01000032: // Turn right | ||
| 58 | + if(focusWidget() == ui->ctrBtnYes) ui->ctrBtnNo->setFocus(); | ||
| 59 | + else ui->ctrBtnYes->setFocus(); | ||
| 60 | + break; | ||
| 61 | + } | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +void YesNoPopupDlg::keyReleaseEvent(QKeyEvent *event){ | ||
| 65 | + switch (event->key()) | ||
| 66 | + { | ||
| 67 | + case 0x01000030: // Turn left | ||
| 68 | + if(focusWidget() == ui->ctrBtnYes) ui->ctrBtnNo->setFocus(); | ||
| 69 | + else ui->ctrBtnYes->setFocus(); | ||
| 70 | + break; | ||
| 71 | + case 0x01000031: // Push | ||
| 72 | + { | ||
| 73 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | ||
| 74 | + if(btn != NULL){ | ||
| 75 | + btn->click(); | ||
| 76 | + } | ||
| 77 | + break; | ||
| 78 | + } | ||
| 79 | + case 0x01000032: // Turn right | ||
| 80 | + if(focusWidget() == ui->ctrBtnYes) ui->ctrBtnNo->setFocus(); | ||
| 81 | + else ui->ctrBtnYes->setFocus(); | ||
| 82 | + break; | ||
| 83 | + } | ||
| 84 | +} |
app/gui/oven_control/yesnopopupdlg.h
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
| 2 | #define YESNOPOPUPDLG_H | 2 | #define YESNOPOPUPDLG_H |
| 3 | 3 | ||
| 4 | #include <QDialog> | 4 | #include <QDialog> |
| 5 | +#include <QKeyEvent> | ||
| 5 | 6 | ||
| 6 | namespace Ui { | 7 | namespace Ui { |
| 7 | class YesNoPopupDlg; | 8 | class YesNoPopupDlg; |
| @@ -20,6 +21,10 @@ private slots: | @@ -20,6 +21,10 @@ private slots: | ||
| 20 | 21 | ||
| 21 | void on_ctrBtnNo_clicked(); | 22 | void on_ctrBtnNo_clicked(); |
| 22 | 23 | ||
| 24 | +protected: | ||
| 25 | + void keyPressEvent(QKeyEvent* event); | ||
| 26 | + void keyReleaseEvent(QKeyEvent* event); | ||
| 27 | + | ||
| 23 | private: | 28 | private: |
| 24 | Ui::YesNoPopupDlg *ui; | 29 | Ui::YesNoPopupDlg *ui; |
| 25 | }; | 30 | }; |
app/gui/oven_control/yesnopopupdlg.ui
| @@ -54,7 +54,7 @@ | @@ -54,7 +54,7 @@ | ||
| 54 | border : none; | 54 | border : none; |
| 55 | color : white; | 55 | color : white; |
| 56 | } | 56 | } |
| 57 | -QPushButton::pressed {color : yellow}</string> | 57 | +QPushButton::pressed, QPushButton::focus{color : yellow}</string> |
| 58 | </property> | 58 | </property> |
| 59 | <property name="text"> | 59 | <property name="text"> |
| 60 | <string>예</string> | 60 | <string>예</string> |
| @@ -81,7 +81,7 @@ QPushButton::pressed {color : yellow}</string> | @@ -81,7 +81,7 @@ QPushButton::pressed {color : yellow}</string> | ||
| 81 | border : none; | 81 | border : none; |
| 82 | color : white; | 82 | color : white; |
| 83 | } | 83 | } |
| 84 | -QPushButton::pressed {color : yellow}</string> | 84 | +QPushButton::pressed, QPushButton::focus{color : yellow}</string> |
| 85 | </property> | 85 | </property> |
| 86 | <property name="text"> | 86 | <property name="text"> |
| 87 | <string>아니오</string> | 87 | <string>아니오</string> |