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,6 +267,7 @@ QString Config::getValueString(Define::ConfigType idx){
267 break; 267 break;
268 case config_ip: 268 case config_ip:
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); 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 case config_set_half_energy: 271 case config_set_half_energy:
271 if(configlist.items.set_half_energy.d32 >=2) configlist.items.set_half_energy.d32 = 0; 272 if(configlist.items.set_half_energy.d32 >=2) configlist.items.set_half_energy.d32 = 0;
272 qstrTemp = tr(on_off_menu[configlist.items.set_half_energy.d32]); 273 qstrTemp = tr(on_off_menu[configlist.items.set_half_energy.d32]);
@@ -276,6 +277,12 @@ QString Config::getValueString(Define::ConfigType idx){ @@ -276,6 +277,12 @@ QString Config::getValueString(Define::ConfigType idx){
276 qDebug() << "duty wash is "<<configlist.items.duty_wash.d32; 277 qDebug() << "duty wash is "<<configlist.items.duty_wash.d32;
277 qstrTemp = tr(active_on_off_menu[configlist.items.duty_wash.d32]); 278 qstrTemp = tr(active_on_off_menu[configlist.items.duty_wash.d32]);
278 break; 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 default: 286 default:
280 qstrTemp = ""; 287 qstrTemp = "";
281 break; 288 break;
@@ -414,6 +421,7 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ @@ -414,6 +421,7 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
414 case config_ip: 421 case config_ip:
415 dlg=new ConfigIpDlg(parent); 422 dlg=new ConfigIpDlg(parent);
416 break; 423 break;
  424 + case config_haccp_data_download:
417 case config_info_data_download: 425 case config_info_data_download:
418 case config_service_data_download: 426 case config_service_data_download:
419 case config_program_download: 427 case config_program_download:
@@ -439,6 +447,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ @@ -439,6 +447,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
439 dlg->exec(); 447 dlg->exec();
440 } 448 }
441 return; 449 return;
  450 + case config_program_initialize:
  451 + dlg = new YesNoPopupDlg(parent, tr("모든 프로그램을\r삭제하시겠습니까?"));
  452 + break;
442 case config_set_half_energy: 453 case config_set_half_energy:
443 dlg = new ConfigHalfEnergyDlg(parent); 454 dlg = new ConfigHalfEnergyDlg(parent);
444 break; 455 break;
@@ -461,6 +472,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ @@ -461,6 +472,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
461 soundConfigReset(); 472 soundConfigReset();
462 qDebug() << "Process Sound Config Reset"; 473 qDebug() << "Process Sound Config Reset";
463 } 474 }
  475 + else if(idx==config_program_initialize){
  476 + qDebug() << "All Program Reset";
  477 + }
464 } 478 }
465 else{ 479 else{
466 qDebug() << "rejected"; 480 qDebug() << "rejected";
app/gui/oven_control/config.h
@@ -278,7 +278,7 @@ class Config : public QObject @@ -278,7 +278,7 @@ class Config : public QObject
278 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02, 278 0x00, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x02,
279 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02, 279 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02,
280 0x80, 0x00, 0x00,0x00, 280 0x80, 0x00, 0x00,0x00,
281 - 0x80, 0x00, 0x00, 281 + 0x80, 0x80, 0x80,
282 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F 282 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F
283 }; 283 };
284 284
app/gui/oven_control/config1digitsetandenablesetdlg.cpp
@@ -0,0 +1,51 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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,6 +22,22 @@ ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) :
22 ui->pushButton_2->setText(tr(language_menu[1])); 22 ui->pushButton_2->setText(tr(language_menu[1]));
23 ui->pushButton_3->setText(tr(language_menu[2])); 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 ConfigLanguageDlg::~ConfigLanguageDlg() 43 ConfigLanguageDlg::~ConfigLanguageDlg()
@@ -31,6 +47,10 @@ ConfigLanguageDlg::~ConfigLanguageDlg() @@ -31,6 +47,10 @@ ConfigLanguageDlg::~ConfigLanguageDlg()
31 47
32 void ConfigLanguageDlg::on_ctrBtnOk_clicked() 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 this->accept(); 54 this->accept();
35 } 55 }
36 56
@@ -38,3 +58,23 @@ void ConfigLanguageDlg::on_ctrBtnCancel_clicked() @@ -38,3 +58,23 @@ void ConfigLanguageDlg::on_ctrBtnCancel_clicked()
38 { 58 {
39 this->reject(); 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,6 +2,7 @@
2 #define CONFIGLANGUAGEDLG_H 2 #define CONFIGLANGUAGEDLG_H
3 3
4 #include <QDialog> 4 #include <QDialog>
  5 +#include <QSignalMapper>
5 6
6 namespace Ui { 7 namespace Ui {
7 class ConfigLanguageDlg; 8 class ConfigLanguageDlg;
@@ -10,6 +11,7 @@ class ConfigLanguageDlg; @@ -10,6 +11,7 @@ class ConfigLanguageDlg;
10 class ConfigLanguageDlg : public QDialog 11 class ConfigLanguageDlg : public QDialog
11 { 12 {
12 Q_OBJECT 13 Q_OBJECT
  14 + void reloadUi();
13 15
14 public: 16 public:
15 explicit ConfigLanguageDlg(QWidget *parent = 0); 17 explicit ConfigLanguageDlg(QWidget *parent = 0);
@@ -20,8 +22,12 @@ private slots: @@ -20,8 +22,12 @@ private slots:
20 22
21 void on_ctrBtnCancel_clicked(); 23 void on_ctrBtnCancel_clicked();
22 24
  25 + void onConfigBtnClicked(const int sel);
  26 +
23 private: 27 private:
24 Ui::ConfigLanguageDlg *ui; 28 Ui::ConfigLanguageDlg *ui;
  29 + QSignalMapper *m_pSignalMapper;
  30 + int m_nCurSelLang;
25 }; 31 };
26 32
27 #endif // CONFIGLANGUAGEDLG_H 33 #endif // CONFIGLANGUAGEDLG_H
app/gui/oven_control/configwindow.cpp
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
13 #include "soundplayer.h" 13 #include "soundplayer.h"
14 #include "washwindow.h" 14 #include "washwindow.h"
15 #include "mainwindow.h" 15 #include "mainwindow.h"
  16 +#include "configdoormonitoring.h"
16 17
17 ConfigWindow::ConfigWindow(QWidget *parent) : 18 ConfigWindow::ConfigWindow(QWidget *parent) :
18 QMainWindow(parent), 19 QMainWindow(parent),
@@ -109,6 +110,15 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ @@ -109,6 +110,15 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){
109 Config *cfg = Config::getInstance(); 110 Config *cfg = Config::getInstance();
110 QDialog* dlg; 111 QDialog* dlg;
111 switch(id){ 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 case config_datetime: 122 case config_datetime:
113 dlg = new ConfigDateTimeDlg(this); 123 dlg = new ConfigDateTimeDlg(this);
114 dlg->exec(); 124 dlg->exec();
app/gui/oven_control/configwindow.h
@@ -32,19 +32,17 @@ class ConfigWindow : public QMainWindow @@ -32,19 +32,17 @@ class ConfigWindow : public QMainWindow
32 32
33 private: 33 private:
34 const uint16_t m_arrMaxMenuCount[7] ={ 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 const Define::ConfigType m_arrConfigListInfos[7][20] = { 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 {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}, 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 {config_set_half_energy,config_set_auto_darkness,}, 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 {config_invalid,}, 43 {config_invalid,},
44 {config_software_info,config_hotline_chef,config_hotline_service,config_steam_wash,config_enter_engineer_mode} 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 public: 47 public:
50 explicit ConfigWindow(QWidget *parent = 0); 48 explicit ConfigWindow(QWidget *parent = 0);
@@ -71,6 +69,8 @@ private slots: @@ -71,6 +69,8 @@ private slots:
71 void on_washButton_clicked(); 69 void on_washButton_clicked();
72 70
73 void on_helpButton_clicked(); 71 void on_helpButton_clicked();
  72 + void reloadValue(void);
  73 + void reloadUi(void);
74 74
75 public slots: 75 public slots:
76 void onConfigBtnClicked(uint16_t id); 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,6 +220,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) :
220 } 220 }
221 221
222 switch(type){ 222 switch(type){
  223 + case config_haccp_data_download:
  224 + QTimer::singleShot(100,this,SLOT(haccpdataDownload()));
  225 + break;
223 case config_info_data_download: 226 case config_info_data_download:
224 QTimer::singleShot(100,this,SLOT(infodataDownload())); 227 QTimer::singleShot(100,this,SLOT(infodataDownload()));
225 break; 228 break;
@@ -696,3 +699,9 @@ void FileProcessDlg::configUpload(){ @@ -696,3 +699,9 @@ void FileProcessDlg::configUpload(){
696 QTimer::singleShot(1000,this,SLOT(close())); 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,6 +64,7 @@ private slots:
64 void programUpload(); 64 void programUpload();
65 void configDownload(); 65 void configDownload();
66 void configUpload(); 66 void configUpload();
  67 + void haccpdataDownload();
67 68
68 signals: 69 signals:
69 void stopcopy(); 70 void stopcopy();
app/gui/oven_control/oven_control.pro
@@ -115,7 +115,9 @@ SOURCES += main.cpp\ @@ -115,7 +115,9 @@ SOURCES += main.cpp\
115 programmingautoconfigwindow.cpp \ 115 programmingautoconfigwindow.cpp \
116 programmingnamepopup.cpp \ 116 programmingnamepopup.cpp \
117 reservetimepopup.cpp \ 117 reservetimepopup.cpp \
118 - reservedtimepopup.cpp 118 + reservedtimepopup.cpp \
  119 + configdoormonitoring.cpp \
  120 + config1digitsetandenablesetdlg.cpp
119 121
120 HEADERS += mainwindow.h \ 122 HEADERS += mainwindow.h \
121 cook.h \ 123 cook.h \
@@ -220,7 +222,9 @@ HEADERS += mainwindow.h \ @@ -220,7 +222,9 @@ HEADERS += mainwindow.h \
220 programmingautoconfigwindow.h \ 222 programmingautoconfigwindow.h \
221 programmingnamepopup.h \ 223 programmingnamepopup.h \
222 reservetimepopup.h \ 224 reservetimepopup.h \
223 - reservedtimepopup.h 225 + reservedtimepopup.h \
  226 + configdoormonitoring.h \
  227 + config1digitsetandenablesetdlg.h
224 228
225 FORMS += mainwindow.ui \ 229 FORMS += mainwindow.ui \
226 manualcookwindow.ui \ 230 manualcookwindow.ui \
@@ -292,7 +296,9 @@ FORMS += mainwindow.ui \ @@ -292,7 +296,9 @@ FORMS += mainwindow.ui \
292 programmingautoconfigwindow.ui \ 296 programmingautoconfigwindow.ui \
293 programmingnamepopup.ui \ 297 programmingnamepopup.ui \
294 reservetimepopup.ui \ 298 reservetimepopup.ui \
295 - reservedtimepopup.ui 299 + reservedtimepopup.ui \
  300 + configdoormonitoring.ui \
  301 + config1digitsetandenablesetdlg.ui
296 302
297 RESOURCES += \ 303 RESOURCES += \
298 resources.qrc 304 resources.qrc