Blame view

app/gui/oven_control/gasmodelsettingwindow.cpp 5.53 KB
ec04831f5   고영탁   모델 설정 변경
1
  #include <QDebug>
22f83e90f   김태훈   모델 설정 UI 추가
2
3
  #include "gasmodelsettingwindow.h"
  #include "ui_gasmodelsettingwindow.h"
ec04831f5   고영탁   모델 설정 변경
4
  #include "yesnopopupdlg.h"
22f83e90f   김태훈   모델 설정 UI 추가
5
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
6
  #include "soundplayer.h"
22f83e90f   김태훈   모델 설정 UI 추가
7
8
9
10
11
12
13
14
  GasModelSettingWindow::GasModelSettingWindow(QWidget *parent) :
      QMainWindow(parent),
      ui(new Ui::GasModelSettingWindow)
  {
      ui->setupUi(this);
  
      ui->clockContainer->setParent(ui->upperStack);
      setAttribute(Qt::WA_DeleteOnClose);
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
15
16
17
  
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
ec04831f5   고영탁   모델 설정 변경
18
19
  
      Config* cfg = Config::getInstance();
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
20
21
22
      Define::config_item item;
      item = cfg->getConfigValue(Define::config_model);
      selitem = item.d32;
9146b87b4   고영탁   엔코더 작업 진행중
23
      m_ctrChkedBtn = NULL;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
24
25
26
      switch(item.d32){
      case Define::model_gas_lng_10:
          ui->lng10Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
27
          m_ctrChkedBtn = ui->lng10Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
28
29
30
          break;
      case Define::model_gas_lng_20:
          ui->lng20Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
31
          m_ctrChkedBtn = ui->lng20Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
32
33
34
          break;
      case Define::model_gas_lng_24:
          ui->lng24Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
35
          m_ctrChkedBtn = ui->lng24Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
36
37
38
          break;
      case Define::model_gas_lng_40:
          ui->lng40Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
39
          m_ctrChkedBtn = ui->lng40Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
40
41
42
          break;
      case Define::model_gas_lpg_10:
          ui->lpg10Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
43
          m_ctrChkedBtn = ui->lpg10Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
44
45
46
          break;
      case Define::model_gas_lpg_20:
          ui->lpg20Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
47
          m_ctrChkedBtn = ui->lpg20Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
48
49
50
          break;
      case Define::model_gas_lpg_24:
          ui->lpg24Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
51
          m_ctrChkedBtn = ui->lpg24Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
52
53
54
          break;
      case Define::model_gas_lpg_40:
          ui->lpg40Button->setChecked(true);
9146b87b4   고영탁   엔코더 작업 진행중
55
          m_ctrChkedBtn = ui->lpg40Button;
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
56
57
          break;
      }
9146b87b4   고영탁   엔코더 작업 진행중
58
      this->setFocus();
22f83e90f   김태훈   모델 설정 UI 추가
59
60
61
62
63
64
  }
  
  GasModelSettingWindow::~GasModelSettingWindow()
  {
      delete ui;
  }
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  void GasModelSettingWindow::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          pushed = focusWidget();
          break;
      case 0x01000032:    // Turn right
          onEncoderRight();
          break;
      }
  }
  
  void GasModelSettingWindow::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          if (focusWidget() == pushed)
              onEncoderClicked(pushed);
  
          pushed = NULL;
          break;
      case 0x01000032:    // Turn right
          onEncoderRight();
          break;
      }
  }
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
99
  void GasModelSettingWindow::setModel(Define::model_type model)
22f83e90f   김태훈   모델 설정 UI 추가
100
  {
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
101
102
      Define::config_item item;
      item.d32 = (int) model;
22f83e90f   김태훈   모델 설정 UI 추가
103
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
104
105
106
      Config *config = Config::getInstance();
      config->setConfigValue(Define::config_model, item);
      config->saveConfig();
22f83e90f   김태훈   모델 설정 UI 추가
107
  }
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
108
  void GasModelSettingWindow::on_lpg10Button_clicked()
22f83e90f   김태훈   모델 설정 UI 추가
109
  {
ec04831f5   고영탁   모델 설정 변경
110
      //setModel(Define::model_gas_lpg_10);
9146b87b4   고영탁   엔코더 작업 진행중
111
112
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lpg10Button;
ec04831f5   고영탁   모델 설정 변경
113
      selitem = Define::model_gas_lpg_10;
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
114
  }
22f83e90f   김태훈   모델 설정 UI 추가
115
5cf78e0e6   김태훈   모델 설정을 환경 설정에 반영
116
117
  void GasModelSettingWindow::on_lng10Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
118
      //setModel(Define::model_gas_lng_10);
9146b87b4   고영탁   엔코더 작업 진행중
119
120
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lng10Button;
ec04831f5   고영탁   모델 설정 변경
121
      selitem = Define::model_gas_lng_10;
22f83e90f   김태훈   모델 설정 UI 추가
122
123
124
125
  }
  
  void GasModelSettingWindow::on_lpg20Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
126
      //setModel(Define::model_gas_lpg_20);
9146b87b4   고영탁   엔코더 작업 진행중
127
128
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lpg20Button;
ec04831f5   고영탁   모델 설정 변경
129
      selitem = Define::model_gas_lpg_20;
22f83e90f   김태훈   모델 설정 UI 추가
130
131
132
133
  }
  
  void GasModelSettingWindow::on_lng20Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
134
      //setModel(Define::model_gas_lng_20);
9146b87b4   고영탁   엔코더 작업 진행중
135
136
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lng20Button;
ec04831f5   고영탁   모델 설정 변경
137
      selitem = Define::model_gas_lng_20;
22f83e90f   김태훈   모델 설정 UI 추가
138
139
140
141
  }
  
  void GasModelSettingWindow::on_lpg24Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
142
      //setModel(Define::model_gas_lpg_24);
9146b87b4   고영탁   엔코더 작업 진행중
143
144
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lpg24Button;
ec04831f5   고영탁   모델 설정 변경
145
      selitem = Define::model_gas_lpg_24;
22f83e90f   김태훈   모델 설정 UI 추가
146
147
148
149
  }
  
  void GasModelSettingWindow::on_lng24Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
150
      //setModel(Define::model_gas_lng_24);
9146b87b4   고영탁   엔코더 작업 진행중
151
152
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lng24Button;
ec04831f5   고영탁   모델 설정 변경
153
      selitem = Define::model_gas_lng_24;
22f83e90f   김태훈   모델 설정 UI 추가
154
155
156
157
  }
  
  void GasModelSettingWindow::on_lpg40Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
158
      //setModel(Define::model_gas_lpg_40);
9146b87b4   고영탁   엔코더 작업 진행중
159
160
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lpg40Button;
ec04831f5   고영탁   모델 설정 변경
161
      selitem = Define::model_gas_lpg_40;
22f83e90f   김태훈   모델 설정 UI 추가
162
163
164
165
  }
  
  void GasModelSettingWindow::on_lng40Button_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
166
      //setModel(Define::model_gas_lng_40);
9146b87b4   고영탁   엔코더 작업 진행중
167
168
      if(m_ctrChkedBtn != NULL)m_ctrChkedBtn->setChecked(false);
      m_ctrChkedBtn = ui->lng40Button;
ec04831f5   고영탁   모델 설정 변경
169
      selitem = Define::model_gas_lng_40;
22f83e90f   김태훈   모델 설정 UI 추가
170
171
172
173
  }
  
  void GasModelSettingWindow::on_backButton_clicked()
  {
ec04831f5   고영탁   모델 설정 변경
174
175
176
177
178
179
180
181
182
183
184
185
186
      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";
          }
      }
22f83e90f   김태훈   모델 설정 UI 추가
187
188
      close();
  }
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
  
  void GasModelSettingWindow::onEncoderLeft()
  {
      focusPreviousChild();
  }
  
  void GasModelSettingWindow::onEncoderRight()
  {
      focusNextChild();
  }
  
  void GasModelSettingWindow::onEncoderClicked(QWidget *clicked)
  {
      QPushButton *b = qobject_cast<QPushButton *>(clicked);
      if (b)
          b->click();
  }