Commit 76749748470b31e907e4dc5e76813e87d74effab

Authored by 고영탁
1 parent 1ce38ef63a
Exists in master and in 2 other branches fhd, fhd-demo

제품 정보 페이지 기능 개선

 - 기본 정보 외 파일 로딩 후 파일 내용 반영 하도록 수정
app/gui/oven_control/configinfodlg.cpp
@@ -4,6 +4,28 @@ @@ -4,6 +4,28 @@
4 #include "configinfodlg.h" 4 #include "configinfodlg.h"
5 #include "ui_configinfodlg.h" 5 #include "ui_configinfodlg.h"
6 #include "soundplayer.h" 6 #include "soundplayer.h"
  7 +#include "config.h"
  8 +
  9 +#define MODEL_INFO_FILE_NAME "/prime/config/model_info.txt"
  10 +#define CHEF_INFO_FILE_NAME "/prime/config/chef_info.txt"
  11 +#define SERVICE_INFO_FILE_NAME "/prime/config/hotline_info.txt"
  12 +
  13 +static const char* g_strModelTypeName[] ={
  14 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 10단"),
  15 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 20단"),
  16 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 24단"),
  17 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "전기식 40단"),
  18 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 10단 LPG"),
  19 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 20단 LPG"),
  20 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 24단 LPG"),
  21 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 40단 LPG"),
  22 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 10단 LNG"),
  23 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 20단 LNG"),
  24 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 24단 LNG"),
  25 + QT_TRANSLATE_NOOP("ConfigInfoDlg", "가스식 40단 LNG")
  26 +};
  27 +
  28 +
7 29
8 ConfigInfoDlg::ConfigInfoDlg(QWidget *parent, ConfigType type) : 30 ConfigInfoDlg::ConfigInfoDlg(QWidget *parent, ConfigType type) :
9 QDialog(parent), 31 QDialog(parent),
@@ -48,35 +70,50 @@ void ConfigInfoDlg::on_ctrBtnOk_clicked() @@ -48,35 +70,50 @@ void ConfigInfoDlg::on_ctrBtnOk_clicked()
48 deleteLater(); 70 deleteLater();
49 } 71 }
50 72
  73 +bool ConfigInfoDlg::readFromInfoFile(QMap<QString, QString> &info_map, const QString &filename){
  74 + QFile file(filename);
  75 + QString label,value;
  76 + qDebug() << "orgin size " << info_map.size();
  77 + if(file.open(QIODevice::ReadOnly | QIODevice::Text)){
  78 + while(!file.atEnd()){
  79 + QString line = QString::fromUtf8(file.readLine());
  80 + info_map[line.section(',',0,0)] = line.section(',',1,1);
  81 + }
  82 + qDebug() << file.fileName() << "read OK!";
  83 + qDebug() << "final size " << info_map.size();
  84 + return true;
  85 + }
  86 + else {
  87 + qDebug() << file.fileName() + " file not found";
  88 + }
  89 + return false;
  90 +}
  91 +
  92 +
51 void ConfigInfoDlg::loadSoftwareInfo(){ 93 void ConfigInfoDlg::loadSoftwareInfo(){
  94 + Config* cfg = Config::getInstance();
52 QString strTemp; 95 QString strTemp;
53 QMap<QString , QString> mapInfos; 96 QMap<QString , QString> mapInfos;
54 QLabel* label; 97 QLabel* label;
55 98
56 - QString itemname[] = {  
57 - "모델명",  
58 - "제조일자",  
59 - "제조국",  
60 - "제조사",  
61 - "제품번호",  
62 - "소프트웨어버전",  
63 - "현재모델"  
64 - };  
65 99
66 100
67 - mapInfos["모델명"] = "PRIME ST-01";  
68 - mapInfos["제조일자"] = "2017-06";  
69 - mapInfos["제조국"] = "한국";  
70 - mapInfos["제조사"] = "프라임";  
71 - mapInfos["제품번호"] = "01";  
72 - mapInfos["소프트웨어버전"] ="0.1 BETA";  
73 - mapInfos["현재모델"] = "한국"; 101 +//Default Value;
  102 + mapInfos[tr("모 델 명")] = "PRIME ST-01";
  103 + mapInfos[tr("제조일자")] = "2017-06";
  104 + mapInfos[tr("제조국")] = "Korea";
  105 + mapInfos[tr("제조사")] = "프라임";
  106 + mapInfos[tr("제품번호")] = "01";
  107 + mapInfos[tr("소프트웨어 버전")] ="0.1 BETA";
  108 +
  109 + mapInfos[tr("현재모델")] = tr(g_strModelTypeName[cfg->getConfigValue(Define::config_model).d32]);
74 110
  111 + readFromInfoFile(mapInfos, QString(MODEL_INFO_FILE_NAME));
75 112
76 for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){ 113 for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){
77 - strTemp = mapInfos[itemname[i]]; 114 + strTemp = mapInfos[tr(software_item_name[i])];
78 label = new QLabel(this); 115 label = new QLabel(this);
79 - label ->setText(tr(software_item_name[i]).append(":")); 116 + label ->setText(tr(software_item_name[i]).append(" :"));
80 ui->gridLayout_info->addWidget(label,i,0); 117 ui->gridLayout_info->addWidget(label,i,0);
81 label = new QLabel(this); 118 label = new QLabel(this);
82 label->setText(strTemp); 119 label->setText(strTemp);
@@ -89,18 +126,16 @@ void ConfigInfoDlg::loadHotlineChefInfo(){ @@ -89,18 +126,16 @@ void ConfigInfoDlg::loadHotlineChefInfo(){
89 QMap<QString , QString> mapInfos; 126 QMap<QString , QString> mapInfos;
90 QLabel* label; 127 QLabel* label;
91 128
92 - QString itemname[] = {  
93 - "쉐프연락처",  
94 - "쉐프이름",  
95 - "쉐프위치정보"  
96 - };  
97 129
98 - mapInfos["쉐프연락처"] = "010-3004-6517";  
99 - mapInfos["쉐프이름"] = "김성우";  
100 - mapInfos["쉐프위치정보"] ="인천광역시 남동구 남동동로 34번길 56"; 130 +
  131 + mapInfos[tr("연 락 처")] = "010-3004-6517";
  132 + mapInfos[tr("이 름")] = "김성우";
  133 + mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56";
  134 +
  135 + readFromInfoFile(mapInfos, QString(CHEF_INFO_FILE_NAME));
101 136
102 for(int i =0;i<MAX_HOTLINE_CHEF_CNT;i++){ 137 for(int i =0;i<MAX_HOTLINE_CHEF_CNT;i++){
103 - strTemp = mapInfos[itemname[i]]; 138 + strTemp = mapInfos[tr(hotline_chef_item_name[i])];
104 label = new QLabel(this); 139 label = new QLabel(this);
105 label ->setText(tr(hotline_chef_item_name[i]).append(":")); 140 label ->setText(tr(hotline_chef_item_name[i]).append(":"));
106 ui->gridLayout_info->addWidget(label,i,0); 141 ui->gridLayout_info->addWidget(label,i,0);
@@ -115,15 +150,14 @@ void ConfigInfoDlg::loadHotlineServiceInfo(){ @@ -115,15 +150,14 @@ void ConfigInfoDlg::loadHotlineServiceInfo(){
115 QMap<QString , QString> mapInfos; 150 QMap<QString , QString> mapInfos;
116 QLabel* label; 151 QLabel* label;
117 152
118 - QString itemname[] = {  
119 - "서비스연락처",  
120 - "서비스위치정보"  
121 - };  
122 - mapInfos["서비스연락처"] = "1644-9533";  
123 - mapInfos["서비스위치정보"] ="인천광역시 남동구 남동동로 34번길 56"; 153 +
  154 + mapInfos[tr("연 락 처")] = "1644-9533";
  155 + mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56";
  156 +
  157 + readFromInfoFile(mapInfos, SERVICE_INFO_FILE_NAME);
124 158
125 for(int i =0;i<MAX_HOTLINE_SERVICE_CNT;i++){ 159 for(int i =0;i<MAX_HOTLINE_SERVICE_CNT;i++){
126 - strTemp = mapInfos[itemname[i]]; 160 + strTemp = mapInfos[tr(hotline_service_item_name[i])];
127 label = new QLabel(this); 161 label = new QLabel(this);
128 label ->setText(tr(hotline_service_item_name[i]).append(":")); 162 label ->setText(tr(hotline_service_item_name[i]).append(":"));
129 ui->gridLayout_info->addWidget(label,i,0); 163 ui->gridLayout_info->addWidget(label,i,0);
app/gui/oven_control/configinfodlg.h
@@ -31,6 +31,8 @@ protected: @@ -31,6 +31,8 @@ protected:
31 void keyReleaseEvent(QKeyEvent* event); 31 void keyReleaseEvent(QKeyEvent* event);
32 void keyPressEvent(QKeyEvent* event); 32 void keyPressEvent(QKeyEvent* event);
33 33
  34 + bool readFromInfoFile(QMap<QString , QString> &info_map, const QString &filename);
  35 +
34 private: 36 private:
35 Ui::ConfigInfoDlg *ui; 37 Ui::ConfigInfoDlg *ui;
36 ConfigType m_nType; 38 ConfigType m_nType;