Blame view

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