#include #include "gasmodelsettingwindow.h" #include "ui_gasmodelsettingwindow.h" #include "yesnopopupdlg.h" #include "soundplayer.h" GasModelSettingWindow::GasModelSettingWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::GasModelSettingWindow) { ui->setupUi(this); ui->clockContainer->setParent(ui->upperStack); setAttribute(Qt::WA_DeleteOnClose); foreach (QPushButton *button, findChildren()) connect(button, &QPushButton::pressed, SoundPlayer::playClick); Config* cfg = Config::getInstance(); Define::config_item item; item = cfg->getConfigValue(Define::config_model); selitem = item.d32; switch(item.d32){ case Define::model_gas_lng_10: ui->lng10Button->setChecked(true); break; case Define::model_gas_lng_20: ui->lng20Button->setChecked(true); break; case Define::model_gas_lng_24: ui->lng24Button->setChecked(true); break; case Define::model_gas_lng_40: ui->lng40Button->setChecked(true); break; case Define::model_gas_lpg_10: ui->lpg10Button->setChecked(true); break; case Define::model_gas_lpg_20: ui->lpg20Button->setChecked(true); break; case Define::model_gas_lpg_24: ui->lpg24Button->setChecked(true); break; case Define::model_gas_lpg_40: ui->lpg40Button->setChecked(true); break; } this->setFocus(); m_vectorTabOrder.append(this); m_vectorTabOrder.append(ui->lpg10Button); m_vectorTabOrder.append(ui->lng10Button); m_vectorTabOrder.append(ui->lpg20Button); m_vectorTabOrder.append(ui->lng20Button); m_vectorTabOrder.append(ui->lpg24Button); m_vectorTabOrder.append(ui->lng24Button); m_vectorTabOrder.append(ui->lpg40Button); m_vectorTabOrder.append(ui->lng40Button); m_vectorTabOrder.append(ui->backButton); } GasModelSettingWindow::~GasModelSettingWindow() { delete ui; } void GasModelSettingWindow::setModel(Define::model_type model) { Define::config_item item; item.d32 = (int) model; Config *config = Config::getInstance(); config->setConfigValue(Define::config_model, item); config->saveConfig(); } void GasModelSettingWindow::on_lpg10Button_clicked() { //setModel(Define::model_gas_lpg_10); selitem = Define::model_gas_lpg_10; } void GasModelSettingWindow::on_lng10Button_clicked() { //setModel(Define::model_gas_lng_10); selitem = Define::model_gas_lng_10; } void GasModelSettingWindow::on_lpg20Button_clicked() { //setModel(Define::model_gas_lpg_20); selitem = Define::model_gas_lpg_20; } void GasModelSettingWindow::on_lng20Button_clicked() { //setModel(Define::model_gas_lng_20); selitem = Define::model_gas_lng_20; } void GasModelSettingWindow::on_lpg24Button_clicked() { //setModel(Define::model_gas_lpg_24); selitem = Define::model_gas_lpg_24; } void GasModelSettingWindow::on_lng24Button_clicked() { //setModel(Define::model_gas_lng_24); selitem = Define::model_gas_lng_24; } void GasModelSettingWindow::on_lpg40Button_clicked() { //setModel(Define::model_gas_lpg_40); selitem = Define::model_gas_lpg_40; } void GasModelSettingWindow::on_lng40Button_clicked() { //setModel(Define::model_gas_lng_40); selitem = Define::model_gas_lng_40; } void GasModelSettingWindow::on_backButton_clicked() { 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); qDebug() << "saved"; } } close(); } void GasModelSettingWindow::keyPressEvent(QKeyEvent *event){ int i = 0; switch (event->key()) { case 0x01000032: // Turn left 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 break; case 0x01000030: // Turn right for(i = 0; i < m_vectorTabOrder.size();i++){ if(focusWidget() == m_vectorTabOrder[i]) break; } if(isetFocus(); } else if(i== (m_vectorTabOrder.size()-1)){ i=0; m_vectorTabOrder[i]->setFocus(); } else{ i=0; m_vectorTabOrder[i]->setFocus(); } break; } } void GasModelSettingWindow::keyReleaseEvent(QKeyEvent *event){ int i = 0; switch (event->key()) { case 0x01000032: // Turn left 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(focusWidget()); if(btn != NULL){ btn->click(); } break; } case 0x01000030: // Turn right for(i = 0; i < m_vectorTabOrder.size();i++){ if(focusWidget() == m_vectorTabOrder[i]) break; } if(isetFocus(); } else if(i== (m_vectorTabOrder.size()-1)){ i=0; m_vectorTabOrder[i]->setFocus(); } else{ i=0; m_vectorTabOrder[i]->setFocus(); } break; } }