Blame view

app/gui/oven_control/configtimeformatdlg.cpp 4.5 KB
92fef6124   고영탁   환경 설정 - 설정 UI 완료
1
2
3
  #include "config.h"
  #include "configtimeformatdlg.h"
  #include "ui_configtimeformatdlg.h"
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
4
  #include "soundplayer.h"
92fef6124   고영탁   환경 설정 - 설정 UI 완료
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  
  using namespace Define;
  
  ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) :
      QDialog(parent),
      ui(new Ui::ConfigTimeFormatDlg)
  {
      Config* cfg = Config::getInstance();
      config_item item;
      item = cfg->getConfigValue(config_time_type);
      m_nCurSel = item.d32;
      ui->setupUi(this);
      this->setWindowFlags( Qt::FramelessWindowHint);
      this->setAttribute( Qt::WA_DeleteOnClose);
40f5d047f   고영탁   엔코더 작업 진행 중
19
20
      qApp->setActiveWindow(this);
      this->setFocus();
92fef6124   고영탁   환경 설정 - 설정 UI 완료
21
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
22
23
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
92fef6124   고영탁   환경 설정 - 설정 UI 완료
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  
      ui->pushButton_1->setText(tr(time_type_menu[0]));
      ui->pushButton_2->setText(tr(time_type_menu[1]));
  
      reloadUi();
  
      m_pSignalMapper = new QSignalMapper(this);
      m_pSignalMapper->setMapping(ui->pushButton_1,0);
      m_pSignalMapper->setMapping(ui->pushButton_2,1);
  
      connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
      connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  
      connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
40f5d047f   고영탁   엔코더 작업 진행 중
38
39
40
41
42
43
  
      m_vectorTabOrder.append(this);
      m_vectorTabOrder.append(ui->pushButton_1);
      m_vectorTabOrder.append(ui->pushButton_2);
      m_vectorTabOrder.append(ui->ctrBtnOk);
      m_vectorTabOrder.append(ui->ctrBtnCancel);
92fef6124   고영탁   환경 설정 - 설정 UI 완료
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  }
  
  ConfigTimeFormatDlg::~ConfigTimeFormatDlg()
  {
      delete ui;
  }
  
  void ConfigTimeFormatDlg::on_ctrBtnOk_clicked()
  {
      Config* cfg = Config::getInstance();
      config_item item;
      item.d32 = m_nCurSel;
      cfg->setConfigValue(config_time_type,item);
      accept();
  }
  
  void ConfigTimeFormatDlg::on_ctrBtnCancel_clicked()
  {
      reject();
  }
  
  void ConfigTimeFormatDlg::onConfigBtnClicked(const int sel){
        m_nCurSel = sel;
  }
  
  
  
  void ConfigTimeFormatDlg::reloadUi(){
      switch(m_nCurSel){
      case 0:
          ui->pushButton_1->setChecked(true);
          break;
     case 1:
          ui->pushButton_2->setChecked(true);
          break;
      default:
          break;
      }
  }
40f5d047f   고영탁   엔코더 작업 진행 중
83
84
85
86
87
  
  void ConfigTimeFormatDlg::keyPressEvent(QKeyEvent *event){
      int i = 0;
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
88
      case 0x01000032:    // Turn left
40f5d047f   고영탁   엔코더 작업 진행 중
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
          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;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
109
      case 0x01000030:    // Turn right
40f5d047f   고영탁   엔코더 작업 진행 중
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
          for(i = 0; i < m_vectorTabOrder.size();i++){
              if(focusWidget() == m_vectorTabOrder[i]) break;
          }
  
          if(i<m_vectorTabOrder.size()-1){
              i+=1;
              m_vectorTabOrder[i]->setFocus();
          }
          else if(i== (m_vectorTabOrder.size()-1)){
              i=0;
              m_vectorTabOrder[i]->setFocus();
          }
          else{
              i=0;
              m_vectorTabOrder[i]->setFocus();
          }
          break;
      }
  }
  
  void ConfigTimeFormatDlg::keyReleaseEvent(QKeyEvent *event){
      int i = 0;
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
134
      case 0x01000032:    // Turn left
40f5d047f   고영탁   엔코더 작업 진행 중
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
          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<QPushButton*>(focusWidget());
          if(btn != NULL){
              btn->click();
          }
          break;
      }
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
160
      case 0x01000030:    // Turn right
40f5d047f   고영탁   엔코더 작업 진행 중
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
          for(i = 0; i < m_vectorTabOrder.size();i++){
              if(focusWidget() == m_vectorTabOrder[i]) break;
          }
  
          if(i<m_vectorTabOrder.size()-1){
              i+=1;
              m_vectorTabOrder[i]->setFocus();
          }
          else if(i== (m_vectorTabOrder.size()-1)){
              i=0;
              m_vectorTabOrder[i]->setFocus();
          }
          else{
              i=0;
              m_vectorTabOrder[i]->setFocus();
          }
          break;
      }
  }