From 76749748470b31e907e4dc5e76813e87d74effab Mon Sep 17 00:00:00 2001 From: byloveletter Date: Thu, 15 Jun 2017 16:00:44 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=9C=ED=92=88=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B8=B0=EB=8A=A5=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 기본 정보 외 파일 로딩 후 파일 내용 반영 하도록 수정 --- app/gui/oven_control/configinfodlg.cpp | 102 ++++++++++++++++++++++----------- app/gui/oven_control/configinfodlg.h | 2 + 2 files changed, 70 insertions(+), 34 deletions(-) diff --git a/app/gui/oven_control/configinfodlg.cpp b/app/gui/oven_control/configinfodlg.cpp index 9effa69..2809bfe 100644 --- a/app/gui/oven_control/configinfodlg.cpp +++ b/app/gui/oven_control/configinfodlg.cpp @@ -4,6 +4,28 @@ #include "configinfodlg.h" #include "ui_configinfodlg.h" #include "soundplayer.h" +#include "config.h" + +#define MODEL_INFO_FILE_NAME "/prime/config/model_info.txt" +#define CHEF_INFO_FILE_NAME "/prime/config/chef_info.txt" +#define SERVICE_INFO_FILE_NAME "/prime/config/hotline_info.txt" + +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") +}; + + ConfigInfoDlg::ConfigInfoDlg(QWidget *parent, ConfigType type) : QDialog(parent), @@ -48,35 +70,50 @@ void ConfigInfoDlg::on_ctrBtnOk_clicked() deleteLater(); } +bool ConfigInfoDlg::readFromInfoFile(QMap &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; +} + + void ConfigInfoDlg::loadSoftwareInfo(){ + Config* cfg = Config::getInstance(); QString strTemp; QMap mapInfos; QLabel* label; - QString itemname[] = { - "모델명", - "제조일자", - "제조국", - "제조사", - "제품번호", - "소프트웨어버전", - "현재모델" - }; - mapInfos["모델명"] = "PRIME ST-01"; - mapInfos["제조일자"] = "2017-06"; - mapInfos["제조국"] = "한국"; - mapInfos["제조사"] = "프라임"; - mapInfos["제품번호"] = "01"; - mapInfos["소프트웨어버전"] ="0.1 BETA"; - mapInfos["현재모델"] = "한국"; +//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]); + readFromInfoFile(mapInfos, QString(MODEL_INFO_FILE_NAME)); for(int i =0;isetText(tr(software_item_name[i]).append(":")); + label ->setText(tr(software_item_name[i]).append(" :")); ui->gridLayout_info->addWidget(label,i,0); label = new QLabel(this); label->setText(strTemp); @@ -89,18 +126,16 @@ void ConfigInfoDlg::loadHotlineChefInfo(){ QMap mapInfos; QLabel* label; - QString itemname[] = { - "쉐프연락처", - "쉐프이름", - "쉐프위치정보" - }; - mapInfos["쉐프연락처"] = "010-3004-6517"; - mapInfos["쉐프이름"] = "김성우"; - mapInfos["쉐프위치정보"] ="인천광역시 남동구 남동동로 34번길 56"; + + mapInfos[tr("연 락 처")] = "010-3004-6517"; + mapInfos[tr("이 름")] = "김성우"; + mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56"; + + readFromInfoFile(mapInfos, QString(CHEF_INFO_FILE_NAME)); for(int i =0;isetText(tr(hotline_chef_item_name[i]).append(":")); ui->gridLayout_info->addWidget(label,i,0); @@ -115,15 +150,14 @@ void ConfigInfoDlg::loadHotlineServiceInfo(){ QMap mapInfos; QLabel* label; - QString itemname[] = { - "서비스연락처", - "서비스위치정보" - }; - mapInfos["서비스연락처"] = "1644-9533"; - mapInfos["서비스위치정보"] ="인천광역시 남동구 남동동로 34번길 56"; + + mapInfos[tr("연 락 처")] = "1644-9533"; + mapInfos[tr("위치정보")] ="인천광역시 남동구 남동동로 34번길 56"; + + readFromInfoFile(mapInfos, SERVICE_INFO_FILE_NAME); for(int i =0;isetText(tr(hotline_service_item_name[i]).append(":")); ui->gridLayout_info->addWidget(label,i,0); diff --git a/app/gui/oven_control/configinfodlg.h b/app/gui/oven_control/configinfodlg.h index 85b3532..7a9ac41 100644 --- a/app/gui/oven_control/configinfodlg.h +++ b/app/gui/oven_control/configinfodlg.h @@ -31,6 +31,8 @@ protected: void keyReleaseEvent(QKeyEvent* event); void keyPressEvent(QKeyEvent* event); + bool readFromInfoFile(QMap &info_map, const QString &filename); + private: Ui::ConfigInfoDlg *ui; ConfigType m_nType; -- 2.1.4