Blame view

app/gui/oven_control/configinfodlg.cpp 5.31 KB
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
1
2
3
4
5
  #include <QMap>
  #include <QLabel>
  #include <QDebug>
  #include "configinfodlg.h"
  #include "ui_configinfodlg.h"
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
6
  #include "soundplayer.h"
767497484   고영탁   제품 정보 페이지 기능 개선
7
  #include "config.h"
cb1e6464c   고영탁   제품 정보 변경 기능 추가 및 ...
8
767497484   고영탁   제품 정보 페이지 기능 개선
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  
  static const char* g_strModelTypeName[] ={
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 10단"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 20단"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 24단"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 40단"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 10단 LPG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 20단 LPG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 24단 LPG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 40단 LPG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 10단 LNG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 20단 LNG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 24단 LNG"),
      QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 40단 LNG")
  };
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
24
25
26
27
28
29
30
31
32
  
  ConfigInfoDlg::ConfigInfoDlg(QWidget *parent, ConfigType type) :
      QDialog(parent),
      ui(new Ui::ConfigInfoDlg)
  {
      Config* cfg = Config::getInstance();
      ui->setupUi(this);
      this->setWindowFlags( Qt::FramelessWindowHint);
      this->setAttribute( Qt::WA_DeleteOnClose);
ce39b99ff   고영탁   엔코더 구현 진행중
33
34
      qApp->setActiveWindow(this);
      this->setFocus();
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
35
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
36
37
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
      m_nType = type;
  
      ui->ctrTitle->setText(cfg->getTitleString(type));
  
      switch(type){
      case config_hotline_chef:
          loadHotlineChefInfo();
          break;
      case config_hotline_service:
          loadHotlineServiceInfo();
          break;
      case config_software_info:
      default:
          loadSoftwareInfo();
          break;
      }
ce39b99ff   고영탁   엔코더 구현 진행중
54
      ui->ctrBtnOk->setFocus();
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
55
56
57
58
59
60
61
62
63
64
65
  }
  
  ConfigInfoDlg::~ConfigInfoDlg()
  {
      delete ui;
  }
  
  void ConfigInfoDlg::on_ctrBtnOk_clicked()
  {
      deleteLater();
  }
767497484   고영탁   제품 정보 페이지 기능 개선
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
  bool ConfigInfoDlg::readFromInfoFile(QMap<QString, QString> &info_map, const QString &filename){
      QFile file(filename);
      QString label,value;
      qDebug() << "orgin size " << info_map.size();
      if(file.open(QIODevice::ReadOnly | QIODevice::Text)){
          while(!file.atEnd()){
              QString line = QString::fromUtf8(file.readLine());
              info_map[line.section(',',0,0)] = line.section(',',1,1);
          }
          qDebug() << file.fileName() << "read OK!";
          qDebug() << "final size " << info_map.size();
          return true;
      }
      else {
          qDebug() << file.fileName() + " file not found";
      }
      return false;
  }
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
84
  void ConfigInfoDlg::loadSoftwareInfo(){
767497484   고영탁   제품 정보 페이지 기능 개선
85
      Config* cfg = Config::getInstance();
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
86
87
88
      QString strTemp;
      QMap<QString , QString> mapInfos;
      QLabel* label;
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
89
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
90
767497484   고영탁   제품 정보 페이지 기능 개선
91
92
93
94
95
96
97
98
99
  //Default Value;
      mapInfos[tr("모  델  명")] = "PRIME ST-01";
      mapInfos[tr("제조일자")] = "2017-06";
      mapInfos[tr("제조국")] = "Korea";
      mapInfos[tr("제조사")] = "프라임";
      mapInfos[tr("제품번호")] = "01";
      mapInfos[tr("소프트웨어 버전")] ="0.1 BETA";
  
      mapInfos[tr("현재모델")] =  tr(g_strModelTypeName[cfg->getConfigValue(Define::config_model).d32]);
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
100
767497484   고영탁   제품 정보 페이지 기능 개선
101
      readFromInfoFile(mapInfos, QString(MODEL_INFO_FILE_NAME));
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
102
103
  
      for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){
767497484   고영탁   제품 정보 페이지 기능 개선
104
          strTemp = mapInfos[tr(software_item_name[i])];
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
105
          label = new QLabel(this);
767497484   고영탁   제품 정보 페이지 기능 개선
106
          label ->setText(tr(software_item_name[i]).append(" :"));
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
107
108
109
110
111
112
113
114
115
116
117
          ui->gridLayout_info->addWidget(label,i,0);
          label = new QLabel(this);
          label->setText(strTemp);
          ui->gridLayout_info->addWidget(label,i,1);
      }
  }
  
  void ConfigInfoDlg::loadHotlineChefInfo(){
      QString strTemp;
      QMap<QString , QString> mapInfos;
      QLabel* label;
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
118
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
119
cc63fa9f8   고영탁   데모모드 삭제 및 파일 복사 기...
120
  //Default Value;
767497484   고영탁   제품 정보 페이지 기능 개선
121
122
123
124
125
      mapInfos[tr("연 락 처")] = "010-3004-6517";
      mapInfos[tr("이       름")] = "김성우";
      mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56";
  
      readFromInfoFile(mapInfos, QString(CHEF_INFO_FILE_NAME));
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
126
127
  
      for(int i =0;i<MAX_HOTLINE_CHEF_CNT;i++){
767497484   고영탁   제품 정보 페이지 기능 개선
128
          strTemp = mapInfos[tr(hotline_chef_item_name[i])];
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
129
130
131
132
133
134
135
136
137
138
139
140
141
          label = new QLabel(this);
          label ->setText(tr(hotline_chef_item_name[i]).append(":"));
          ui->gridLayout_info->addWidget(label,i,0);
          label = new QLabel(this);
          label->setText(strTemp);
          ui->gridLayout_info->addWidget(label,i,1);
      }
  }
  
  void ConfigInfoDlg::loadHotlineServiceInfo(){
      QString strTemp;
      QMap<QString , QString> mapInfos;
      QLabel* label;
66338dd9a   고영탁   제품유형/소프트웨어에 관한 정보 변경
142
cc63fa9f8   고영탁   데모모드 삭제 및 파일 복사 기...
143
  //Default Value
767497484   고영탁   제품 정보 페이지 기능 개선
144
145
146
147
      mapInfos[tr("연 락 처")] = "1644-9533";
      mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56";
  
      readFromInfoFile(mapInfos, SERVICE_INFO_FILE_NAME);
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
148
149
  
      for(int i =0;i<MAX_HOTLINE_SERVICE_CNT;i++){
767497484   고영탁   제품 정보 페이지 기능 개선
150
          strTemp = mapInfos[tr(hotline_service_item_name[i])];
776411ce5   고영탁   설정 기능 5월 개발 범위 UI...
151
152
153
154
155
156
157
158
          label = new QLabel(this);
          label ->setText(tr(hotline_service_item_name[i]).append(":"));
          ui->gridLayout_info->addWidget(label,i,0);
          label = new QLabel(this);
          label->setText(strTemp);
          ui->gridLayout_info->addWidget(label,i,1);
      }
  }
ce39b99ff   고영탁   엔코더 구현 진행중
159
0faa32511   김태훈   컴파일 경고 제거 및 리팩토링
160
  void ConfigInfoDlg::keyPressEvent(QKeyEvent */*event*/){
ce39b99ff   고영탁   엔코더 구현 진행중
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
  
  }
  
  void ConfigInfoDlg::keyReleaseEvent(QKeyEvent *event){
      switch (event->key())
      {
      case 0x01000031:    // Push
      {
          QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
          if(btn != NULL){
              btn->click();
          }
          break;
      }
      }
  }