Commit 663943a3754cb52a8e54d841a077f07f4b9f51be

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

설정 기능 마무리 진행 중

 - HACCP 데이터 다운로드 메뉴 추가
 - 적재중, 요리중 시간 모니터링 설정 기능 추가
 - IP 값 오기 디버깅
app/gui/oven_control/config.cpp
... ... @@ -267,6 +267,7 @@ QString Config::getValueString(Define::ConfigType idx){
267 267 break;
268 268 case config_ip:
269 269 qstrTemp.sprintf("%3d.%3d.%3d.%3d", configlist.items.ip.d8.d8_0,configlist.items.ip.d8.d8_1,configlist.items.ip.d8.d8_2,configlist.items.ip.d8.d8_3);
  270 + break;
270 271 case config_set_half_energy:
271 272 if(configlist.items.set_half_energy.d32 >=2) configlist.items.set_half_energy.d32 = 0;
272 273 qstrTemp = tr(on_off_menu[configlist.items.set_half_energy.d32]);
... ... @@ -276,6 +277,12 @@ QString Config::getValueString(Define::ConfigType idx){
276 277 qDebug() << "duty wash is "<<configlist.items.duty_wash.d32;
277 278 qstrTemp = tr(active_on_off_menu[configlist.items.duty_wash.d32]);
278 279 break;
  280 + case config_cooking_door_monitoring:
  281 + qstrTemp.sprintf(config_format[(uint32_t)idx],configlist.items.cooking_door_monitoring.d8.d8_0);
  282 + break;
  283 + case config_loading_door_monitoring:
  284 + qstrTemp.sprintf(config_format[(uint32_t)idx ], configlist.items.loading_door_monitoring.d8.d8_0);
  285 + break;
279 286 default:
280 287 qstrTemp = "";
281 288 break;
... ... @@ -414,6 +421,7 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
414 421 case config_ip:
415 422 dlg=new ConfigIpDlg(parent);
416 423 break;
  424 + case config_haccp_data_download:
417 425 case config_info_data_download:
418 426 case config_service_data_download:
419 427 case config_program_download:
... ... @@ -439,6 +447,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
439 447 dlg->exec();
440 448 }
441 449 return;
  450 + case config_program_initialize:
  451 + dlg = new YesNoPopupDlg(parent, tr("모든 프로그램을\r삭제하시겠습니까?"));
  452 + break;
442 453 case config_set_half_energy:
443 454 dlg = new ConfigHalfEnergyDlg(parent);
444 455 break;
... ... @@ -461,6 +472,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
461 472 soundConfigReset();
462 473 qDebug() << "Process Sound Config Reset";
463 474 }
  475 + else if(idx==config_program_initialize){
  476 + qDebug() << "All Program Reset";
  477 + }
464 478 }
465 479 else{
466 480 qDebug() << "rejected";
... ...
app/gui/oven_control/config.h
... ... @@ -278,7 +278,7 @@ class Config : public QObject
278 278 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02,
279 279 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02,
280 280 0x80, 0x00, 0x00,0x00,
281   - 0x80, 0x00, 0x00,
  281 + 0x80, 0x80, 0x80,
282 282 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F
283 283 };
284 284  
... ...
app/gui/oven_control/config1digitsetandenablesetdlg.cpp
... ... @@ -0,0 +1,51 @@
  1 +#include "config1digitsetandenablesetdlg.h"
  2 +#include "ui_config1digitsetandenablesetdlg.h"
  3 +#include "soundplayer.h"
  4 +
  5 +Config1DigitSetAndEnableSetDlg::Config1DigitSetAndEnableSetDlg(QWidget *parent, uint16_t val) :
  6 + QDialog(parent),
  7 + ui(new Ui::Config1DigitSetAndEnableSetDlg)
  8 +{
  9 + ui->setupUi(this);
  10 + this->setWindowFlags(Qt::FramelessWindowHint);
  11 +
  12 + foreach (QPushButton *button, findChildren<QPushButton *>())
  13 + connect(button, &QPushButton::pressed, SoundPlayer::playClick);
  14 +
  15 + if(val < MIN_MONITORING_VALUE) val = MIN_MONITORING_VALUE;
  16 +
  17 + ui->ctrSpBxValue->setMaximum(MAX_MONITORING_VALUE);
  18 + ui->ctrSpBxValue->setMinimum(MIN_MONITORING_VALUE);
  19 + ui->ctrSpBxValue->setValue(val);
  20 +
  21 + ui->ctrSpBxValue->installEventFilter(this);
  22 +}
  23 +
  24 +Config1DigitSetAndEnableSetDlg::~Config1DigitSetAndEnableSetDlg()
  25 +{
  26 + delete ui;
  27 +}
  28 +
  29 +void Config1DigitSetAndEnableSetDlg::on_ctrBtnOk_clicked()
  30 +{
  31 + m_nResult = result_ok;
  32 + close();
  33 +}
  34 +
  35 +
  36 +
  37 +void Config1DigitSetAndEnableSetDlg::on_ctrBtnOk_2_clicked()
  38 +{
  39 + m_nResult = result_disable;
  40 + close();
  41 +}
  42 +
  43 +void Config1DigitSetAndEnableSetDlg::on_ctrBtnCancel_clicked()
  44 +{
  45 + m_nResult = result_rejected;
  46 + close();
  47 +}
  48 +
  49 +int Config1DigitSetAndEnableSetDlg::getValue(){
  50 + return ui->ctrSpBxValue->value();
  51 +}
... ...
app/gui/oven_control/config1digitsetandenablesetdlg.h
... ... @@ -0,0 +1,42 @@
  1 +#ifndef CONFIG1DIGITSETANDENABLESETDLG_H
  2 +#define CONFIG1DIGITSETANDENABLESETDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +enum custom_result{
  7 + result_rejected=0,
  8 + result_disable,
  9 + result_ok
  10 +};
  11 +
  12 +#define MAX_MONITORING_VALUE 180
  13 +#define MIN_MONITORING_VALUE 5
  14 +
  15 +namespace Ui {
  16 +class Config1DigitSetAndEnableSetDlg;
  17 +}
  18 +
  19 +class Config1DigitSetAndEnableSetDlg : public QDialog
  20 +{
  21 + Q_OBJECT
  22 +
  23 +public:
  24 + explicit Config1DigitSetAndEnableSetDlg(QWidget *parent = 0, uint16_t val = 5);
  25 + ~Config1DigitSetAndEnableSetDlg();
  26 +
  27 + custom_result getResult(){return m_nResult;};
  28 + int getValue();
  29 +
  30 +private slots:
  31 + void on_ctrBtnOk_clicked();
  32 +
  33 + void on_ctrBtnOk_2_clicked();
  34 +
  35 + void on_ctrBtnCancel_clicked();
  36 +
  37 +private:
  38 + Ui::Config1DigitSetAndEnableSetDlg *ui;
  39 + custom_result m_nResult;
  40 +};
  41 +
  42 +#endif // CONFIG1DIGITSETANDENABLESETDLG_H
... ...
app/gui/oven_control/config1digitsetandenablesetdlg.ui
... ... @@ -0,0 +1,322 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>Config1DigitSetAndEnableSetDlg</class>
  4 + <widget class="QDialog" name="Config1DigitSetAndEnableSetDlg">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>900</width>
  10 + <height>1600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>Dialog</string>
  15 + </property>
  16 + <property name="styleSheet">
  17 + <string notr="true">#ConfigDateTimeDlg{
  18 + /*background-color : transparent;*/
  19 +}
  20 +
  21 +#centralwidget{
  22 + background-image : url(:/images/background/popup/913.png);
  23 +}
  24 +
  25 +QLabel {
  26 + color : white;
  27 +}
  28 +QLineEdit{
  29 + background-color : transparent;
  30 + color : white;
  31 +}
  32 +
  33 +QSpinBox{
  34 + background-color : transparent;
  35 + color : white;
  36 +}
  37 +
  38 +QPushButton{
  39 + border-color : transparent;
  40 + background-color : transparent;
  41 + color : white;
  42 +}
  43 +QPushButton::pressed, QPushButton::focus{
  44 + color : yellow;
  45 +}</string>
  46 + </property>
  47 + <widget class="QWidget" name="centralwidget" native="true">
  48 + <property name="geometry">
  49 + <rect>
  50 + <x>0</x>
  51 + <y>425</y>
  52 + <width>900</width>
  53 + <height>1025</height>
  54 + </rect>
  55 + </property>
  56 + <widget class="QWidget" name="verticalLayoutWidget">
  57 + <property name="geometry">
  58 + <rect>
  59 + <x>0</x>
  60 + <y>0</y>
  61 + <width>901</width>
  62 + <height>441</height>
  63 + </rect>
  64 + </property>
  65 + <layout class="QVBoxLayout" name="verticalLayout" stretch="10,0,10,4">
  66 + <property name="spacing">
  67 + <number>0</number>
  68 + </property>
  69 + <property name="sizeConstraint">
  70 + <enum>QLayout::SetDefaultConstraint</enum>
  71 + </property>
  72 + <item>
  73 + <widget class="QLabel" name="ctrLbTitle">
  74 + <property name="maximumSize">
  75 + <size>
  76 + <width>16777215</width>
  77 + <height>94</height>
  78 + </size>
  79 + </property>
  80 + <property name="font">
  81 + <font>
  82 + <family>나눔고딕</family>
  83 + <pointsize>18</pointsize>
  84 + <weight>75</weight>
  85 + <bold>true</bold>
  86 + </font>
  87 + </property>
  88 + <property name="styleSheet">
  89 + <string notr="true">color : white;</string>
  90 + </property>
  91 + <property name="text">
  92 + <string>단계 설정값 입력</string>
  93 + </property>
  94 + <property name="alignment">
  95 + <set>Qt::AlignCenter</set>
  96 + </property>
  97 + </widget>
  98 + </item>
  99 + <item>
  100 + <widget class="Line" name="line">
  101 + <property name="styleSheet">
  102 + <string notr="true">color: rgb(255, 255, 255);</string>
  103 + </property>
  104 + <property name="orientation">
  105 + <enum>Qt::Horizontal</enum>
  106 + </property>
  107 + </widget>
  108 + </item>
  109 + <item>
  110 + <layout class="QGridLayout" name="gridLayout_2" columnstretch="94,100">
  111 + <property name="leftMargin">
  112 + <number>20</number>
  113 + </property>
  114 + <property name="topMargin">
  115 + <number>35</number>
  116 + </property>
  117 + <property name="rightMargin">
  118 + <number>20</number>
  119 + </property>
  120 + <property name="horizontalSpacing">
  121 + <number>13</number>
  122 + </property>
  123 + <property name="verticalSpacing">
  124 + <number>0</number>
  125 + </property>
  126 + <item row="0" column="1">
  127 + <widget class="QLabel" name="label_2">
  128 + <property name="font">
  129 + <font>
  130 + <family>나눔고딕</family>
  131 + <pointsize>21</pointsize>
  132 + <weight>75</weight>
  133 + <bold>true</bold>
  134 + </font>
  135 + </property>
  136 + <property name="text">
  137 + <string>s</string>
  138 + </property>
  139 + <property name="alignment">
  140 + <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
  141 + </property>
  142 + </widget>
  143 + </item>
  144 + <item row="0" column="0">
  145 + <widget class="QSpinBox" name="ctrSpBxValue">
  146 + <property name="sizePolicy">
  147 + <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
  148 + <horstretch>0</horstretch>
  149 + <verstretch>0</verstretch>
  150 + </sizepolicy>
  151 + </property>
  152 + <property name="maximumSize">
  153 + <size>
  154 + <width>16777215</width>
  155 + <height>80</height>
  156 + </size>
  157 + </property>
  158 + <property name="font">
  159 + <font>
  160 + <family>나눔고딕</family>
  161 + <pointsize>21</pointsize>
  162 + <weight>75</weight>
  163 + <bold>true</bold>
  164 + <underline>true</underline>
  165 + </font>
  166 + </property>
  167 + <property name="focusPolicy">
  168 + <enum>Qt::StrongFocus</enum>
  169 + </property>
  170 + <property name="frame">
  171 + <bool>false</bool>
  172 + </property>
  173 + <property name="alignment">
  174 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  175 + </property>
  176 + <property name="buttonSymbols">
  177 + <enum>QAbstractSpinBox::NoButtons</enum>
  178 + </property>
  179 + <property name="minimum">
  180 + <number>0</number>
  181 + </property>
  182 + <property name="maximum">
  183 + <number>2100</number>
  184 + </property>
  185 + <property name="value">
  186 + <number>5</number>
  187 + </property>
  188 + </widget>
  189 + </item>
  190 + <item row="1" column="0" colspan="2">
  191 + <widget class="QLabel" name="ctrLbRange">
  192 + <property name="maximumSize">
  193 + <size>
  194 + <width>16777215</width>
  195 + <height>50</height>
  196 + </size>
  197 + </property>
  198 + <property name="font">
  199 + <font>
  200 + <family>나눔고딕</family>
  201 + <pointsize>13</pointsize>
  202 + <weight>50</weight>
  203 + <bold>false</bold>
  204 + </font>
  205 + </property>
  206 + <property name="text">
  207 + <string>(05 ~ 180 s 사이의 설정값 입력)</string>
  208 + </property>
  209 + <property name="alignment">
  210 + <set>Qt::AlignCenter</set>
  211 + </property>
  212 + </widget>
  213 + </item>
  214 + </layout>
  215 + </item>
  216 + <item>
  217 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  218 + <property name="leftMargin">
  219 + <number>10</number>
  220 + </property>
  221 + <property name="rightMargin">
  222 + <number>10</number>
  223 + </property>
  224 + <property name="bottomMargin">
  225 + <number>0</number>
  226 + </property>
  227 + <item row="0" column="5">
  228 + <widget class="QPushButton" name="ctrBtnCancel">
  229 + <property name="sizePolicy">
  230 + <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
  231 + <horstretch>0</horstretch>
  232 + <verstretch>0</verstretch>
  233 + </sizepolicy>
  234 + </property>
  235 + <property name="font">
  236 + <font>
  237 + <family>나눔고딕</family>
  238 + <pointsize>12</pointsize>
  239 + <underline>true</underline>
  240 + </font>
  241 + </property>
  242 + <property name="text">
  243 + <string>취소</string>
  244 + </property>
  245 + <property name="flat">
  246 + <bool>true</bool>
  247 + </property>
  248 + </widget>
  249 + </item>
  250 + <item row="0" column="3">
  251 + <widget class="QPushButton" name="ctrBtnOk">
  252 + <property name="sizePolicy">
  253 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  254 + <horstretch>0</horstretch>
  255 + <verstretch>0</verstretch>
  256 + </sizepolicy>
  257 + </property>
  258 + <property name="font">
  259 + <font>
  260 + <family>나눔고딕</family>
  261 + <pointsize>12</pointsize>
  262 + <underline>true</underline>
  263 + </font>
  264 + </property>
  265 + <property name="text">
  266 + <string>확인</string>
  267 + </property>
  268 + <property name="flat">
  269 + <bool>true</bool>
  270 + </property>
  271 + </widget>
  272 + </item>
  273 + <item row="0" column="4">
  274 + <widget class="QPushButton" name="ctrBtnOk_2">
  275 + <property name="sizePolicy">
  276 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  277 + <horstretch>0</horstretch>
  278 + <verstretch>0</verstretch>
  279 + </sizepolicy>
  280 + </property>
  281 + <property name="font">
  282 + <font>
  283 + <family>나눔고딕</family>
  284 + <pointsize>12</pointsize>
  285 + <underline>true</underline>
  286 + </font>
  287 + </property>
  288 + <property name="text">
  289 + <string>비활성</string>
  290 + </property>
  291 + <property name="flat">
  292 + <bool>true</bool>
  293 + </property>
  294 + </widget>
  295 + </item>
  296 + </layout>
  297 + </item>
  298 + </layout>
  299 + </widget>
  300 + <widget class="KeyboardWidget" name="keyboardwidget" native="true">
  301 + <property name="geometry">
  302 + <rect>
  303 + <x>0</x>
  304 + <y>425</y>
  305 + <width>900</width>
  306 + <height>600</height>
  307 + </rect>
  308 + </property>
  309 + </widget>
  310 + </widget>
  311 + </widget>
  312 + <customwidgets>
  313 + <customwidget>
  314 + <class>KeyboardWidget</class>
  315 + <extends>QWidget</extends>
  316 + <header>keyboardwidget.h</header>
  317 + <container>1</container>
  318 + </customwidget>
  319 + </customwidgets>
  320 + <resources/>
  321 + <connections/>
  322 +</ui>
... ...
app/gui/oven_control/configdoormonitoring.cpp
... ... @@ -0,0 +1,153 @@
  1 +#include <QDebug>
  2 +#include "configdoormonitoring.h"
  3 +#include "ui_configdoormonitoring.h"
  4 +#include "config1digitsetandenablesetdlg.h"
  5 +
  6 +
  7 +
  8 +ConfigDoorMonitoring::ConfigDoorMonitoring(QWidget *parent, ConfigType idx) :
  9 + QMainWindow(parent),
  10 + ui(new Ui::ConfigDoorMonitoring)
  11 +{
  12 + ui->setupUi(this);
  13 + ui->clockContainer->setParent(ui->upperStack);
  14 + setAttribute(Qt::WA_DeleteOnClose);
  15 + m_nCfgType = idx;
  16 +
  17 + if(m_nCfgType == config_cooking_door_monitoring){
  18 + ui->ctrLbTitle->setText(tr("전문가설정 > 조리중 문열림 시간 모니터링"));
  19 + }
  20 +
  21 + Config *cfg = Config::getInstance();
  22 + config_item item;
  23 + item = cfg->getConfigValue(m_nCfgType);
  24 + m_nSetStage = item.d8.d8_0;
  25 + m_n1Stage = item.d8.d8_1;
  26 + m_n2Stage = item.d8.d8_2;
  27 + m_n3Stage = item.d8.d8_3;
  28 +
  29 + m_pSignalMapper = new QSignalMapper(this);
  30 + m_pSignalMapper->setMapping(ui->ctrBtn_1,1);
  31 + m_pSignalMapper->setMapping(ui->ctrBtn_2,2);
  32 + m_pSignalMapper->setMapping(ui->ctrBtn_3,3);
  33 +
  34 + connect(ui->ctrBtn_1, SIGNAL(clicked(bool)),m_pSignalMapper, SLOT(map()));
  35 + connect(ui->ctrBtn_2, SIGNAL(clicked(bool)),m_pSignalMapper, SLOT(map()));
  36 + connect(ui->ctrBtn_3, SIGNAL(clicked(bool)),m_pSignalMapper, SLOT(map()));
  37 + connect(m_pSignalMapper, SIGNAL(mapped(int)), this, SLOT(onBtnClicked(int)));
  38 +
  39 + reloadUi();
  40 +}
  41 +
  42 +ConfigDoorMonitoring::~ConfigDoorMonitoring()
  43 +{
  44 + delete ui;
  45 +}
  46 +
  47 +void ConfigDoorMonitoring::on_backButton_clicked()
  48 +{
  49 + Config* cfg = Config::getInstance();
  50 + config_item item;
  51 + item.d8.d8_0 = m_nSetStage;
  52 + item.d8.d8_1 = m_n1Stage;
  53 + item.d8.d8_2 = m_n2Stage;
  54 + item.d8.d8_3 = m_n3Stage;
  55 + cfg->setConfigValue(m_nCfgType, item);
  56 + close();
  57 +}
  58 +
  59 +
  60 +void ConfigDoorMonitoring::reloadUi(){
  61 + switch(m_nSetStage){
  62 + case 0:
  63 + m_n1Stage = 0;
  64 + m_n2Stage = 0;
  65 + m_n3Stage = 0;
  66 + ui->ctrBtn_1->setEnabled(true);
  67 + ui->ctrBtn_2->setEnabled(false);
  68 + ui->ctrBtn_3->setEnabled(false);
  69 + ui->ctrLbSet_1->setText("-");
  70 + ui->ctrLbSet_2->setText("-");
  71 + ui->ctrLbSet_3->setText("-");
  72 + qDebug() << "0 stage";
  73 + break;
  74 + case 1:
  75 + m_n2Stage = 0;
  76 + m_n3Stage = 0;
  77 + ui->ctrBtn_1->setEnabled(true);
  78 + ui->ctrBtn_2->setEnabled(true);
  79 + ui->ctrBtn_3->setEnabled(false);
  80 + ui->ctrLbSet_1->setText(QString("%1 s").arg(m_n1Stage));
  81 + ui->ctrLbSet_2->setText("-");
  82 + ui->ctrLbSet_3->setText("-");
  83 + break;
  84 + case 2:
  85 + m_n3Stage = 0;
  86 + ui->ctrBtn_1->setEnabled(true);
  87 + ui->ctrBtn_2->setEnabled(true);
  88 + ui->ctrBtn_3->setEnabled(true);
  89 + ui->ctrLbSet_1->setText(QString("%1 s").arg(m_n1Stage));
  90 + ui->ctrLbSet_2->setText(QString("%1 s").arg(m_n2Stage));
  91 + ui->ctrLbSet_3->setText("-");
  92 + break;
  93 + case 3:
  94 + ui->ctrBtn_1->setEnabled(true);
  95 + ui->ctrBtn_2->setEnabled(true);
  96 + ui->ctrBtn_3->setEnabled(true);
  97 + ui->ctrLbSet_1->setText(QString("%1 s").arg(m_n1Stage));
  98 + ui->ctrLbSet_2->setText(QString("%1 s").arg(m_n2Stage));
  99 + ui->ctrLbSet_3->setText(QString("%1 s").arg(m_n3Stage));
  100 + break;
  101 + }
  102 +}
  103 +
  104 +
  105 +void ConfigDoorMonitoring::onBtnClicked(const int sel){
  106 + Config1DigitSetAndEnableSetDlg* dlg;
  107 + switch(sel){
  108 + case 1:
  109 + dlg = new Config1DigitSetAndEnableSetDlg(this, m_n1Stage);
  110 + dlg->exec();
  111 + if(dlg->getResult() == result_disable){
  112 + m_nSetStage = 0;
  113 + m_n1Stage = 0;
  114 + }
  115 + else if(dlg->getResult() == result_ok){
  116 + m_nSetStage = 1;
  117 + m_n1Stage = dlg->getValue();
  118 + }
  119 + dlg->deleteLater();
  120 + reloadUi();
  121 + break;
  122 + case 2:
  123 + dlg = new Config1DigitSetAndEnableSetDlg(this, m_n2Stage);
  124 + dlg->exec();
  125 + if(dlg->getResult() == result_disable){
  126 + m_nSetStage = 1;
  127 + m_n2Stage = 0;
  128 + }
  129 + else if(dlg->getResult() == result_ok){
  130 + m_nSetStage = 2;
  131 + m_n2Stage = dlg->getValue();
  132 + }
  133 + dlg->deleteLater();
  134 + reloadUi();
  135 + break;
  136 + case 3:
  137 + dlg = new Config1DigitSetAndEnableSetDlg(this, m_n3Stage);
  138 + dlg->exec();
  139 + if(dlg->getResult() == result_disable){
  140 + m_nSetStage = 2;
  141 + m_n3Stage = 0;
  142 + }
  143 + else if(dlg->getResult() == result_ok){
  144 + m_nSetStage = 3;
  145 + m_n3Stage = dlg->getValue();
  146 + }
  147 + dlg->deleteLater();
  148 + reloadUi();
  149 + break;
  150 + default:
  151 + break;
  152 + }
  153 +}
... ...
app/gui/oven_control/configdoormonitoring.h
... ... @@ -0,0 +1,38 @@
  1 +#ifndef CONFIGDOORMONITORING_H
  2 +#define CONFIGDOORMONITORING_H
  3 +
  4 +#include <QMainWindow>
  5 +#include <QSignalMapper>
  6 +#include "config.h"
  7 +
  8 +
  9 +using namespace Define;
  10 +
  11 +namespace Ui {
  12 +class ConfigDoorMonitoring;
  13 +}
  14 +
  15 +class ConfigDoorMonitoring : public QMainWindow
  16 +{
  17 + Q_OBJECT
  18 +
  19 + void reloadUi();
  20 +public:
  21 + explicit ConfigDoorMonitoring(QWidget *parent = 0, ConfigType idx=config_invalid);
  22 + ~ConfigDoorMonitoring();
  23 +
  24 +private slots:
  25 + void on_backButton_clicked();
  26 + void onBtnClicked(const int sel);
  27 +
  28 +private:
  29 + Ui::ConfigDoorMonitoring *ui;
  30 + ConfigType m_nCfgType;
  31 + int m_nSetStage;
  32 + int m_n1Stage;
  33 + int m_n2Stage;
  34 + int m_n3Stage;
  35 + QSignalMapper* m_pSignalMapper;
  36 +};
  37 +
  38 +#endif // CONFIGDOORMONITORING_H
... ...
app/gui/oven_control/configdoormonitoring.ui
... ... @@ -0,0 +1,538 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigDoorMonitoring</class>
  4 + <widget class="QMainWindow" name="ConfigDoorMonitoring">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>900</width>
  10 + <height>1600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>MainWindow</string>
  15 + </property>
  16 + <property name="styleSheet">
  17 + <string notr="true">#centralwidget { background-image: url(:/images/background/config_service.png); }
  18 +#bottomBar { background-image: url(:/images/bottom_bar/background.png); }
  19 +#midwidget { background-image: url(:/images/config/service/realtime_parts_bgnd.png); }</string>
  20 + </property>
  21 + <widget class="QWidget" name="centralwidget">
  22 + <property name="styleSheet">
  23 + <string notr="true"/>
  24 + </property>
  25 + <widget class="QStackedWidget" name="upperStack">
  26 + <property name="geometry">
  27 + <rect>
  28 + <x>0</x>
  29 + <y>0</y>
  30 + <width>900</width>
  31 + <height>426</height>
  32 + </rect>
  33 + </property>
  34 + <widget class="QWidget" name="clockContainer">
  35 + <property name="styleSheet">
  36 + <string notr="true">#clockContainer { background-image: url(:/images/clock/background.png); }</string>
  37 + </property>
  38 + <widget class="Clock" name="clock" native="true">
  39 + <property name="geometry">
  40 + <rect>
  41 + <x>272</x>
  42 + <y>36</y>
  43 + <width>356</width>
  44 + <height>355</height>
  45 + </rect>
  46 + </property>
  47 + </widget>
  48 + <widget class="WashWarnIcon" name="label">
  49 + <property name="geometry">
  50 + <rect>
  51 + <x>800</x>
  52 + <y>320</y>
  53 + <width>80</width>
  54 + <height>84</height>
  55 + </rect>
  56 + </property>
  57 + </widget>
  58 + <zorder>clock</zorder>
  59 + <zorder>label</zorder>
  60 + <zorder>gridLayoutWidget</zorder>
  61 + </widget>
  62 + <widget class="QWidget" name="page_2"/>
  63 + </widget>
  64 + <widget class="QLabel" name="ctrLbTitle">
  65 + <property name="geometry">
  66 + <rect>
  67 + <x>55</x>
  68 + <y>426</y>
  69 + <width>1500</width>
  70 + <height>84</height>
  71 + </rect>
  72 + </property>
  73 + <property name="font">
  74 + <font>
  75 + <family>Malgun Gothic</family>
  76 + <pointsize>11</pointsize>
  77 + </font>
  78 + </property>
  79 + <property name="styleSheet">
  80 + <string notr="true">color: rgb(255, 255, 255);</string>
  81 + </property>
  82 + <property name="text">
  83 + <string>전문가 설정 &gt; 적재 중 문열림 시간 모니터</string>
  84 + </property>
  85 + </widget>
  86 + <widget class="QWidget" name="bottomBar" native="true">
  87 + <property name="geometry">
  88 + <rect>
  89 + <x>0</x>
  90 + <y>1450</y>
  91 + <width>900</width>
  92 + <height>150</height>
  93 + </rect>
  94 + </property>
  95 + <widget class="QPushButton" name="backButton">
  96 + <property name="geometry">
  97 + <rect>
  98 + <x>343</x>
  99 + <y>26</y>
  100 + <width>97</width>
  101 + <height>97</height>
  102 + </rect>
  103 + </property>
  104 + <property name="sizePolicy">
  105 + <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
  106 + <horstretch>0</horstretch>
  107 + <verstretch>0</verstretch>
  108 + </sizepolicy>
  109 + </property>
  110 + <property name="styleSheet">
  111 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/back.png); }
  112 +QPushButton:pressed { border-image: url(:/images/bottom_bar/back_ov.png); }</string>
  113 + </property>
  114 + <property name="text">
  115 + <string/>
  116 + </property>
  117 + </widget>
  118 + <widget class="QPushButton" name="helpButton">
  119 + <property name="geometry">
  120 + <rect>
  121 + <x>457</x>
  122 + <y>26</y>
  123 + <width>97</width>
  124 + <height>97</height>
  125 + </rect>
  126 + </property>
  127 + <property name="sizePolicy">
  128 + <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
  129 + <horstretch>0</horstretch>
  130 + <verstretch>0</verstretch>
  131 + </sizepolicy>
  132 + </property>
  133 + <property name="styleSheet">
  134 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/help.png); }
  135 +QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }</string>
  136 + </property>
  137 + <property name="text">
  138 + <string/>
  139 + </property>
  140 + </widget>
  141 + </widget>
  142 + <widget class="QWidget" name="midWidget" native="true">
  143 + <property name="geometry">
  144 + <rect>
  145 + <x>0</x>
  146 + <y>510</y>
  147 + <width>901</width>
  148 + <height>931</height>
  149 + </rect>
  150 + </property>
  151 + <property name="styleSheet">
  152 + <string notr="true">QLabel {
  153 + color : white;
  154 +}</string>
  155 + </property>
  156 + <widget class="QWidget" name="gridLayoutWidget">
  157 + <property name="geometry">
  158 + <rect>
  159 + <x>0</x>
  160 + <y>0</y>
  161 + <width>901</width>
  162 + <height>941</height>
  163 + </rect>
  164 + </property>
  165 + <layout class="QGridLayout" name="gridLayout" rowstretch="2,0,2,0,2,0,2,21" columnstretch="1,0,7,0,1,0,2">
  166 + <property name="leftMargin">
  167 + <number>20</number>
  168 + </property>
  169 + <property name="topMargin">
  170 + <number>20</number>
  171 + </property>
  172 + <property name="rightMargin">
  173 + <number>20</number>
  174 + </property>
  175 + <property name="bottomMargin">
  176 + <number>20</number>
  177 + </property>
  178 + <property name="spacing">
  179 + <number>10</number>
  180 + </property>
  181 + <item row="4" column="2">
  182 + <widget class="QLabel" name="label_9">
  183 + <property name="font">
  184 + <font>
  185 + <family>나눔고딕</family>
  186 + <pointsize>12</pointsize>
  187 + </font>
  188 + </property>
  189 + <property name="text">
  190 + <string>문을 닫고 다이얼을 사용하여 경고가
  191 + 울리거나 꺼질 때까지 시간</string>
  192 + </property>
  193 + </widget>
  194 + </item>
  195 + <item row="2" column="0">
  196 + <widget class="QLabel" name="label_6">
  197 + <property name="font">
  198 + <font>
  199 + <family>나눔고딕</family>
  200 + <pointsize>10</pointsize>
  201 + </font>
  202 + </property>
  203 + <property name="text">
  204 + <string>1단계</string>
  205 + </property>
  206 + <property name="alignment">
  207 + <set>Qt::AlignCenter</set>
  208 + </property>
  209 + </widget>
  210 + </item>
  211 + <item row="0" column="2">
  212 + <widget class="QLabel" name="label_3">
  213 + <property name="font">
  214 + <font>
  215 + <family>나눔고딕</family>
  216 + </font>
  217 + </property>
  218 + <property name="text">
  219 + <string>항목</string>
  220 + </property>
  221 + <property name="alignment">
  222 + <set>Qt::AlignCenter</set>
  223 + </property>
  224 + </widget>
  225 + </item>
  226 + <item row="2" column="2">
  227 + <widget class="QLabel" name="label_7">
  228 + <property name="font">
  229 + <font>
  230 + <family>나눔고딕</family>
  231 + <pointsize>12</pointsize>
  232 + </font>
  233 + </property>
  234 + <property name="text">
  235 + <string>문을 닫고 다이얼을 사용하여 경고가
  236 + 울리거나 꺼질 때까지 시간</string>
  237 + </property>
  238 + </widget>
  239 + </item>
  240 + <item row="0" column="0">
  241 + <widget class="QLabel" name="label_2">
  242 + <property name="font">
  243 + <font>
  244 + <family>나눔고딕</family>
  245 + </font>
  246 + </property>
  247 + <property name="text">
  248 + <string>구분</string>
  249 + </property>
  250 + <property name="alignment">
  251 + <set>Qt::AlignCenter</set>
  252 + </property>
  253 + </widget>
  254 + </item>
  255 + <item row="2" column="4">
  256 + <widget class="QLabel" name="ctrLbSet_1">
  257 + <property name="font">
  258 + <font>
  259 + <family>나눔고딕</family>
  260 + <pointsize>10</pointsize>
  261 + </font>
  262 + </property>
  263 + <property name="text">
  264 + <string>180 s</string>
  265 + </property>
  266 + <property name="alignment">
  267 + <set>Qt::AlignCenter</set>
  268 + </property>
  269 + </widget>
  270 + </item>
  271 + <item row="2" column="6">
  272 + <widget class="QPushButton" name="ctrBtn_1">
  273 + <property name="sizePolicy">
  274 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  275 + <horstretch>0</horstretch>
  276 + <verstretch>0</verstretch>
  277 + </sizepolicy>
  278 + </property>
  279 + <property name="font">
  280 + <font>
  281 + <family>나눔고딕</family>
  282 + </font>
  283 + </property>
  284 + <property name="text">
  285 + <string>설정</string>
  286 + </property>
  287 + </widget>
  288 + </item>
  289 + <item row="4" column="4">
  290 + <widget class="QLabel" name="ctrLbSet_2">
  291 + <property name="font">
  292 + <font>
  293 + <family>나눔고딕</family>
  294 + <pointsize>10</pointsize>
  295 + </font>
  296 + </property>
  297 + <property name="text">
  298 + <string>180 s</string>
  299 + </property>
  300 + <property name="alignment">
  301 + <set>Qt::AlignCenter</set>
  302 + </property>
  303 + </widget>
  304 + </item>
  305 + <item row="0" column="4">
  306 + <widget class="QLabel" name="label_4">
  307 + <property name="font">
  308 + <font>
  309 + <family>나눔고딕</family>
  310 + </font>
  311 + </property>
  312 + <property name="text">
  313 + <string>설정값</string>
  314 + </property>
  315 + <property name="alignment">
  316 + <set>Qt::AlignCenter</set>
  317 + </property>
  318 + </widget>
  319 + </item>
  320 + <item row="6" column="0">
  321 + <widget class="QLabel" name="label_10">
  322 + <property name="font">
  323 + <font>
  324 + <family>나눔고딕</family>
  325 + <pointsize>10</pointsize>
  326 + </font>
  327 + </property>
  328 + <property name="text">
  329 + <string>3단계</string>
  330 + </property>
  331 + <property name="alignment">
  332 + <set>Qt::AlignCenter</set>
  333 + </property>
  334 + </widget>
  335 + </item>
  336 + <item row="6" column="2">
  337 + <widget class="QLabel" name="label_11">
  338 + <property name="font">
  339 + <font>
  340 + <family>나눔고딕</family>
  341 + <pointsize>12</pointsize>
  342 + </font>
  343 + </property>
  344 + <property name="text">
  345 + <string>문을 닫고 다이얼을 사용하여 경고가
  346 + 울리거나 꺼질 때까지 시간</string>
  347 + </property>
  348 + </widget>
  349 + </item>
  350 + <item row="4" column="6">
  351 + <widget class="QPushButton" name="ctrBtn_2">
  352 + <property name="sizePolicy">
  353 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  354 + <horstretch>0</horstretch>
  355 + <verstretch>0</verstretch>
  356 + </sizepolicy>
  357 + </property>
  358 + <property name="font">
  359 + <font>
  360 + <family>나눔고딕</family>
  361 + </font>
  362 + </property>
  363 + <property name="text">
  364 + <string>설정</string>
  365 + </property>
  366 + </widget>
  367 + </item>
  368 + <item row="6" column="4">
  369 + <widget class="QLabel" name="ctrLbSet_3">
  370 + <property name="font">
  371 + <font>
  372 + <family>나눔고딕</family>
  373 + </font>
  374 + </property>
  375 + <property name="text">
  376 + <string>180 s</string>
  377 + </property>
  378 + <property name="alignment">
  379 + <set>Qt::AlignCenter</set>
  380 + </property>
  381 + </widget>
  382 + </item>
  383 + <item row="6" column="6">
  384 + <widget class="QPushButton" name="ctrBtn_3">
  385 + <property name="sizePolicy">
  386 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  387 + <horstretch>0</horstretch>
  388 + <verstretch>0</verstretch>
  389 + </sizepolicy>
  390 + </property>
  391 + <property name="font">
  392 + <font>
  393 + <family>나눔고딕</family>
  394 + </font>
  395 + </property>
  396 + <property name="text">
  397 + <string>설정</string>
  398 + </property>
  399 + </widget>
  400 + </item>
  401 + <item row="7" column="0">
  402 + <widget class="QLabel" name="label_12">
  403 + <property name="font">
  404 + <font>
  405 + <family>나눔고딕</family>
  406 + </font>
  407 + </property>
  408 + <property name="text">
  409 + <string/>
  410 + </property>
  411 + </widget>
  412 + </item>
  413 + <item row="5" column="0" colspan="7">
  414 + <widget class="Line" name="hline_5">
  415 + <property name="font">
  416 + <font>
  417 + <family>나눔고딕</family>
  418 + </font>
  419 + </property>
  420 + <property name="orientation">
  421 + <enum>Qt::Horizontal</enum>
  422 + </property>
  423 + </widget>
  424 + </item>
  425 + <item row="3" column="0" colspan="7">
  426 + <widget class="Line" name="hline_2">
  427 + <property name="font">
  428 + <font>
  429 + <family>나눔고딕</family>
  430 + </font>
  431 + </property>
  432 + <property name="orientation">
  433 + <enum>Qt::Horizontal</enum>
  434 + </property>
  435 + </widget>
  436 + </item>
  437 + <item row="0" column="6">
  438 + <widget class="QLabel" name="label_5">
  439 + <property name="font">
  440 + <font>
  441 + <family>나눔고딕</family>
  442 + </font>
  443 + </property>
  444 + <property name="text">
  445 + <string>설정</string>
  446 + </property>
  447 + <property name="alignment">
  448 + <set>Qt::AlignCenter</set>
  449 + </property>
  450 + </widget>
  451 + </item>
  452 + <item row="1" column="0" colspan="7">
  453 + <widget class="Line" name="hline">
  454 + <property name="font">
  455 + <font>
  456 + <family>나눔고딕</family>
  457 + </font>
  458 + </property>
  459 + <property name="orientation">
  460 + <enum>Qt::Horizontal</enum>
  461 + </property>
  462 + </widget>
  463 + </item>
  464 + <item row="4" column="0">
  465 + <widget class="QLabel" name="label_8">
  466 + <property name="font">
  467 + <font>
  468 + <family>나눔고딕</family>
  469 + <pointsize>10</pointsize>
  470 + </font>
  471 + </property>
  472 + <property name="text">
  473 + <string>2단계</string>
  474 + </property>
  475 + <property name="alignment">
  476 + <set>Qt::AlignCenter</set>
  477 + </property>
  478 + </widget>
  479 + </item>
  480 + <item row="0" column="1" rowspan="7">
  481 + <widget class="Line" name="vline_1">
  482 + <property name="font">
  483 + <font>
  484 + <family>나눔고딕</family>
  485 + </font>
  486 + </property>
  487 + <property name="orientation">
  488 + <enum>Qt::Vertical</enum>
  489 + </property>
  490 + </widget>
  491 + </item>
  492 + <item row="0" column="3" rowspan="7">
  493 + <widget class="Line" name="vline_10">
  494 + <property name="font">
  495 + <font>
  496 + <family>나눔고딕</family>
  497 + </font>
  498 + </property>
  499 + <property name="orientation">
  500 + <enum>Qt::Vertical</enum>
  501 + </property>
  502 + </widget>
  503 + </item>
  504 + <item row="0" column="5" rowspan="7">
  505 + <widget class="Line" name="vline_11">
  506 + <property name="font">
  507 + <font>
  508 + <family>나눔고딕</family>
  509 + </font>
  510 + </property>
  511 + <property name="orientation">
  512 + <enum>Qt::Vertical</enum>
  513 + </property>
  514 + </widget>
  515 + </item>
  516 + </layout>
  517 + </widget>
  518 + <zorder>ctrLbTitle</zorder>
  519 + <zorder>gridLayoutWidget</zorder>
  520 + </widget>
  521 + </widget>
  522 + </widget>
  523 + <customwidgets>
  524 + <customwidget>
  525 + <class>Clock</class>
  526 + <extends>QWidget</extends>
  527 + <header>clock.h</header>
  528 + <container>1</container>
  529 + </customwidget>
  530 + <customwidget>
  531 + <class>WashWarnIcon</class>
  532 + <extends>QLabel</extends>
  533 + <header>washwarnicon.h</header>
  534 + </customwidget>
  535 + </customwidgets>
  536 + <resources/>
  537 + <connections/>
  538 +</ui>
... ...
app/gui/oven_control/configlanguagedlg.cpp
... ... @@ -22,6 +22,22 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) :
22 22 ui->pushButton_2->setText(tr(language_menu[1]));
23 23 ui->pushButton_3->setText(tr(language_menu[2]));
24 24  
  25 + Config *cfg = Config::getInstance();
  26 + config_item item;
  27 + cfg->getConfigValue(config_language);
  28 + m_nCurSelLang = item.d32;
  29 +
  30 + m_pSignalMapper = new QSignalMapper(this);
  31 + m_pSignalMapper->setMapping(ui->pushButton_1,0);
  32 + m_pSignalMapper->setMapping(ui->pushButton_2,1);
  33 + m_pSignalMapper->setMapping(ui->pushButton_3,2);
  34 +
  35 + connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  36 + connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  37 + connect(ui->pushButton_3,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  38 +
  39 + connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
  40 +
25 41 }
26 42  
27 43 ConfigLanguageDlg::~ConfigLanguageDlg()
... ... @@ -31,6 +47,10 @@ ConfigLanguageDlg::~ConfigLanguageDlg()
31 47  
32 48 void ConfigLanguageDlg::on_ctrBtnOk_clicked()
33 49 {
  50 + Config* cfg = Config::getInstance();
  51 + config_item item;
  52 + item.d32 = m_nCurSelLang;
  53 + cfg->setConfigValue(config_language, item);
34 54 this->accept();
35 55 }
36 56  
... ... @@ -38,3 +58,23 @@ void ConfigLanguageDlg::on_ctrBtnCancel_clicked()
38 58 {
39 59 this->reject();
40 60 }
  61 +
  62 +void ConfigLanguageDlg::onConfigBtnClicked(const int sel){
  63 + m_nCurSelLang = sel;
  64 +}
  65 +
  66 +void ConfigLanguageDlg::reloadUi(){
  67 + switch(m_nCurSelLang){
  68 + case 0:
  69 + ui->pushButton_1->setChecked(true);
  70 + break;
  71 + case 1:
  72 + ui->pushButton_2->setChecked(true);
  73 + break;
  74 + case 2:
  75 + ui->pushButton_3->setChecked(true);
  76 + break;
  77 + default:
  78 + break;
  79 + }
  80 +}
... ...
app/gui/oven_control/configlanguagedlg.h
... ... @@ -2,6 +2,7 @@
2 2 #define CONFIGLANGUAGEDLG_H
3 3  
4 4 #include <QDialog>
  5 +#include <QSignalMapper>
5 6  
6 7 namespace Ui {
7 8 class ConfigLanguageDlg;
... ... @@ -10,6 +11,7 @@ class ConfigLanguageDlg;
10 11 class ConfigLanguageDlg : public QDialog
11 12 {
12 13 Q_OBJECT
  14 + void reloadUi();
13 15  
14 16 public:
15 17 explicit ConfigLanguageDlg(QWidget *parent = 0);
... ... @@ -20,8 +22,12 @@ private slots:
20 22  
21 23 void on_ctrBtnCancel_clicked();
22 24  
  25 + void onConfigBtnClicked(const int sel);
  26 +
23 27 private:
24 28 Ui::ConfigLanguageDlg *ui;
  29 + QSignalMapper *m_pSignalMapper;
  30 + int m_nCurSelLang;
25 31 };
26 32  
27 33 #endif // CONFIGLANGUAGEDLG_H
... ...
app/gui/oven_control/configwindow.cpp
... ... @@ -13,6 +13,7 @@
13 13 #include "soundplayer.h"
14 14 #include "washwindow.h"
15 15 #include "mainwindow.h"
  16 +#include "configdoormonitoring.h"
16 17  
17 18 ConfigWindow::ConfigWindow(QWidget *parent) :
18 19 QMainWindow(parent),
... ... @@ -109,6 +110,15 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){
109 110 Config *cfg = Config::getInstance();
110 111 QDialog* dlg;
111 112 switch(id){
  113 + case config_loading_door_monitoring:
  114 + case config_cooking_door_monitoring:
  115 + ConfigDoorMonitoring* wnd;
  116 + wnd = new ConfigDoorMonitoring(this,(ConfigType) id);
  117 + connect(wnd,SIGNAL(destroyed(QObject*)),this,SLOT(reloadValue()));
  118 + wnd->setWindowModality(Qt::WindowModal);
  119 + wnd->showFullScreen();
  120 + qDebug() << "closed window";
  121 + break;
112 122 case config_datetime:
113 123 dlg = new ConfigDateTimeDlg(this);
114 124 dlg->exec();
... ...
app/gui/oven_control/configwindow.h
... ... @@ -32,19 +32,17 @@ class ConfigWindow : public QMainWindow
32 32  
33 33 private:
34 34 const uint16_t m_arrMaxMenuCount[7] ={
35   - 5,8,7,2,1,0,5
  35 + 6,8,9,2,3,0,5
36 36 };
37 37 const Define::ConfigType m_arrConfigListInfos[7][20] = {
38   - {config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,},
  38 + {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,},
39 39 {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset},
40   - {config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_ip,config_set_download,config_set_upload},
  40 + {config_haccp_data_download,config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload},
41 41 {config_set_half_energy,config_set_auto_darkness,},
42   - {config_duty_wash,},
  42 + {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring},
43 43 {config_invalid,},
44 44 {config_software_info,config_hotline_chef,config_hotline_service,config_steam_wash,config_enter_engineer_mode}
45 45 };
46   - void reloadUi(void);
47   - void reloadValue(void);
48 46  
49 47 public:
50 48 explicit ConfigWindow(QWidget *parent = 0);
... ... @@ -71,6 +69,8 @@ private slots:
71 69 void on_washButton_clicked();
72 70  
73 71 void on_helpButton_clicked();
  72 + void reloadValue(void);
  73 + void reloadUi(void);
74 74  
75 75 public slots:
76 76 void onConfigBtnClicked(uint16_t id);
... ...
app/gui/oven_control/fileprocessdlg.cpp
... ... @@ -220,6 +220,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) :
220 220 }
221 221  
222 222 switch(type){
  223 + case config_haccp_data_download:
  224 + QTimer::singleShot(100,this,SLOT(haccpdataDownload()));
  225 + break;
223 226 case config_info_data_download:
224 227 QTimer::singleShot(100,this,SLOT(infodataDownload()));
225 228 break;
... ... @@ -696,3 +699,9 @@ void FileProcessDlg::configUpload(){
696 699 QTimer::singleShot(1000,this,SLOT(close()));
697 700 }
698 701 }
  702 +
  703 +void FileProcessDlg::haccpdataDownload(){
  704 + ui->ctrWjProcess->setValue(100);
  705 + ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료"));
  706 + QTimer::singleShot(1000,this,SLOT(close()));
  707 +}
... ...
app/gui/oven_control/fileprocessdlg.h
... ... @@ -64,6 +64,7 @@ private slots:
64 64 void programUpload();
65 65 void configDownload();
66 66 void configUpload();
  67 + void haccpdataDownload();
67 68  
68 69 signals:
69 70 void stopcopy();
... ...
app/gui/oven_control/oven_control.pro
... ... @@ -115,7 +115,9 @@ SOURCES += main.cpp\
115 115 programmingautoconfigwindow.cpp \
116 116 programmingnamepopup.cpp \
117 117 reservetimepopup.cpp \
118   - reservedtimepopup.cpp
  118 + reservedtimepopup.cpp \
  119 + configdoormonitoring.cpp \
  120 + config1digitsetandenablesetdlg.cpp
119 121  
120 122 HEADERS += mainwindow.h \
121 123 cook.h \
... ... @@ -220,7 +222,9 @@ HEADERS += mainwindow.h \
220 222 programmingautoconfigwindow.h \
221 223 programmingnamepopup.h \
222 224 reservetimepopup.h \
223   - reservedtimepopup.h
  225 + reservedtimepopup.h \
  226 + configdoormonitoring.h \
  227 + config1digitsetandenablesetdlg.h
224 228  
225 229 FORMS += mainwindow.ui \
226 230 manualcookwindow.ui \
... ... @@ -292,7 +296,9 @@ FORMS += mainwindow.ui \
292 296 programmingautoconfigwindow.ui \
293 297 programmingnamepopup.ui \
294 298 reservetimepopup.ui \
295   - reservedtimepopup.ui
  299 + reservedtimepopup.ui \
  300 + configdoormonitoring.ui \
  301 + config1digitsetandenablesetdlg.ui
296 302  
297 303 RESOURCES += \
298 304 resources.qrc
... ...