Commit 776411ce5054b21768c8a5de4d0efedc459c7b29

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

설정 기능 5월 개발 범위 UI 구현 완료

 - 시스템 관리
 - 에너지 관리
 - 전문가 설정
 - 서비스
Showing 37 changed files with 2784 additions and 24 deletions   Show diff stats
app/gui/oven_control/config.cpp
@@ -10,6 +10,12 @@ @@ -10,6 +10,12 @@
10 #include "configmastervolumedlg.h" 10 #include "configmastervolumedlg.h"
11 #include "configsoundselelectdlg.h" 11 #include "configsoundselelectdlg.h"
12 #include "yesnopopupdlg.h" 12 #include "yesnopopupdlg.h"
  13 +#include "usbcheckpopupdlg.h"
  14 +#include "configipdlg.h"
  15 +#include "configfileprocessdlg.h"
  16 +#include "confighalfenergydlg.h"
  17 +#include "config1digitsetdlg.h"
  18 +#include "configdutywashdlg.h"
13 19
14 using namespace Define; 20 using namespace Define;
15 21
@@ -116,8 +122,17 @@ QString Config::getValueString(Define::ConfigType idx){ @@ -116,8 +122,17 @@ QString Config::getValueString(Define::ConfigType idx){
116 break; 122 break;
117 case config_ip: 123 case config_ip:
118 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); 124 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);
  125 + case config_set_half_energy:
  126 + if(configlist.items.set_half_energy.d32 >=2) configlist.items.set_half_energy.d32 = 0;
  127 + qstrTemp = tr(on_off_menu[configlist.items.set_half_energy.d32]);
  128 + break;
  129 + case config_duty_wash:
  130 + if(configlist.items.duty_wash.d32 >=2) configlist.items.duty_wash.d32 = 0;
  131 + qDebug() << "duty wash is "<<configlist.items.duty_wash.d32;
  132 + qstrTemp = tr(active_on_off_menu[configlist.items.duty_wash.d32]);
119 break; 133 break;
120 default: 134 default:
  135 + qstrTemp = "";
121 break; 136 break;
122 } 137 }
123 return qstrTemp; 138 return qstrTemp;
@@ -139,6 +154,12 @@ QSetIterator&lt;uint32_t&gt; Config::getConstBeginFavorite(){ @@ -139,6 +154,12 @@ QSetIterator&lt;uint32_t&gt; Config::getConstBeginFavorite(){
139 return i; 154 return i;
140 } 155 }
141 156
  157 +QList<uint32_t> Config::getConstSortedFavorite(){
  158 + QList<uint32_t> list = m_setFavorite.toList();
  159 + qSort(list);
  160 + return list;
  161 +}
  162 +
142 bool Config::loadFavorite(void){ 163 bool Config::loadFavorite(void){
143 return false; 164 return false;
144 } 165 }
@@ -174,6 +195,7 @@ QString Config::getTempString(int cel_temp){ @@ -174,6 +195,7 @@ QString Config::getTempString(int cel_temp){
174 195
175 void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ 196 void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
176 QDialog *dlg; 197 QDialog *dlg;
  198 + bool bUsbDetect = false;
177 switch(idx){ 199 switch(idx){
178 case config_datetime: 200 case config_datetime:
179 dlg = new ConfigDateTimeDlg(parent); 201 dlg = new ConfigDateTimeDlg(parent);
@@ -207,6 +229,40 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ @@ -207,6 +229,40 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
207 case config_sound_factory_reset: 229 case config_sound_factory_reset:
208 dlg = new YesNoPopupDlg(parent, tr("모든 음향설정 값을 공장초기화\r하시겠습니까?")); 230 dlg = new YesNoPopupDlg(parent, tr("모든 음향설정 값을 공장초기화\r하시겠습니까?"));
209 break; 231 break;
  232 + case config_ip:
  233 + dlg=new ConfigIpDlg(parent);
  234 + break;
  235 + case config_info_data_download:
  236 + case config_service_data_download:
  237 + case config_program_download:
  238 + case config_set_download:
  239 + if(!bUsbDetect){
  240 + dlg = new UsbCheckPopupDlg(parent);
  241 + dlg->exec();
  242 + }
  243 + dlg = new ConfigFileProcessDlg(parent,idx);
  244 + dlg->exec();
  245 + return;
  246 + case config_set_upload:
  247 + case config_program_upload:
  248 + if(!bUsbDetect){
  249 + dlg = new UsbCheckPopupDlg(parent);
  250 + dlg->exec();
  251 + }
  252 + dlg = new ConfigFileProcessDlg(parent,idx,false);
  253 + dlg->exec();
  254 + return;
  255 + case config_set_half_energy:
  256 + dlg = new ConfigHalfEnergyDlg(parent);
  257 + break;
  258 + case config_set_auto_darkness:
  259 + dlg = new Config1DigitSetDlg(parent,idx);
  260 + break;
  261 + case config_duty_wash:
  262 + dlg = new ConfigDutyWashDlg(parent);
  263 + break;
  264 + default:
  265 + dlg=NULL;
210 } 266 }
211 if(dlg == NULL) return; 267 if(dlg == NULL) return;
212 dlg->setWindowModality(Qt::WindowModal); 268 dlg->setWindowModality(Qt::WindowModal);
app/gui/oven_control/config.h
@@ -8,7 +8,11 @@ @@ -8,7 +8,11 @@
8 #define STRUCT_PACK __attribute__ ((packed)) 8 #define STRUCT_PACK __attribute__ ((packed))
9 9
10 10
11 -#define MAX_CONFIG_COUNT 39 11 +#define MAX_CONFIG_COUNT 45
  12 +#define MAX_SOFTWARE_INFO_CNT 3
  13 +#define MAX_HOTLINE_CHEF_CNT 3
  14 +#define MAX_HOTLINE_SERVICE_CNT 2
  15 +
12 16
13 namespace Define 17 namespace Define
14 { 18 {
@@ -52,6 +56,12 @@ namespace Define @@ -52,6 +56,12 @@ namespace Define
52 config_duty_wash, 56 config_duty_wash,
53 config_loading_door_monitoring, 57 config_loading_door_monitoring,
54 config_cooking_door_monitoring, 58 config_cooking_door_monitoring,
  59 + config_software_info,
  60 + config_hotline_chef,
  61 + config_hotline_service,
  62 + config_steam_wash,
  63 + config_demo_mode,
  64 + config_enter_engineer_mode,
55 config_invalid = MAX_CONFIG_COUNT 65 config_invalid = MAX_CONFIG_COUNT
56 }; 66 };
57 67
@@ -109,7 +119,12 @@ namespace Define @@ -109,7 +119,12 @@ namespace Define
109 config_item duty_wash; 119 config_item duty_wash;
110 config_item loading_door_monitoring; 120 config_item loading_door_monitoring;
111 config_item cooking_door_monitoring; 121 config_item cooking_door_monitoring;
112 - 122 + config_item software_info;
  123 + config_item hotline_chef;
  124 + config_item hotline_service;
  125 + config_item steam_wash;
  126 + config_item demo_mode;
  127 + config_item enter_engineer_mode;
113 }items; 128 }items;
114 }STRUCT_PACK config_lists; 129 }STRUCT_PACK config_lists;
115 130
@@ -189,6 +204,23 @@ namespace Define @@ -189,6 +204,23 @@ namespace Define
189 2, 204 2,
190 10, 205 10,
191 }; 206 };
  207 +
  208 + const char software_item_name[3][32] ={
  209 + "모 델 명",
  210 + "제조일자",
  211 + "소프트웨어 버전"
  212 + };
  213 +
  214 + const char hotline_chef_item_name[3][32] = {
  215 + "연 락 처",
  216 + "이 름",
  217 + "위치정보"
  218 + };
  219 +
  220 + const char hotline_service_item_name[3][32] ={
  221 + "연 락 처",
  222 + "위치정보"
  223 + };
192 } 224 }
193 225
194 226
@@ -220,7 +252,8 @@ class Config : public QObject @@ -220,7 +252,8 @@ class Config : public QObject
220 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 252 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02,
221 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02, 253 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02,
222 0x80, 0x00, 0x00,0x00, 254 0x80, 0x00, 0x00,0x00,
223 - 0x80, 0x00, 0x00 255 + 0x80, 0x00, 0x00,
  256 + 0x80, 0x80, 0x80,0x80,0x80,0x80
224 }; 257 };
225 258
226 const char config_format_kr[MAX_CONFIG_COUNT][64]={ 259 const char config_format_kr[MAX_CONFIG_COUNT][64]={
@@ -262,7 +295,13 @@ class Config : public QObject @@ -262,7 +295,13 @@ class Config : public QObject
262 "%d", //config_set_load_ready, 295 "%d", //config_set_load_ready,
263 "%s", //config_duty_wash, 296 "%s", //config_duty_wash,
264 "%d단계", //config_loading_door_monitoring, 297 "%d단계", //config_loading_door_monitoring,
265 - "%d단계" //config_cooking_door_monitoring 298 + "%d단계", //config_cooking_door_monitoring
  299 + "%s", //config_software_info,
  300 + "%s", //config_hotline_chef,
  301 + "%s", //config_hotline_service,
  302 + "%s", //config_steam_wash
  303 + "%s", //config_demo_mode,
  304 + "%s", //config_enter_engineer_mode,
266 }; 305 };
267 306
268 307
@@ -307,7 +346,13 @@ class Config : public QObject @@ -307,7 +346,13 @@ class Config : public QObject
307 "적재중 대기 시간", //config_set_load_ready, 346 "적재중 대기 시간", //config_set_load_ready,
308 "의무 세척과정", //config_duty_wash, 347 "의무 세척과정", //config_duty_wash,
309 "적재 중 문열림 시간 모니터링",//config_loading_door_monitoring, 348 "적재 중 문열림 시간 모니터링",//config_loading_door_monitoring,
310 - "조리 중 문열림 시간 모니터링"//config_cooking_door_monitoring 349 + "조리 중 문열림 시간 모니터링" ,//config_cooking_door_monitoring
  350 + "제품유형/소프트웨어에 관한 정보",//config_software_info,
  351 + "핫라인-쉐프", //config_hotline_chef,
  352 + "핫라인-서비스", //config_hotline_service,
  353 + "증기 발생기 헹굼", //config_steam_wash
  354 + "시연모드", //config_demo_mode,
  355 + "서비스단계(엔지니어모드)" //config_enter_engineer_mode,
311 }; 356 };
312 357
313 QSet<uint32_t> m_setFavorite; 358 QSet<uint32_t> m_setFavorite;
@@ -324,6 +369,7 @@ public: @@ -324,6 +369,7 @@ public:
324 QString getTitleString(Define::ConfigType idx); 369 QString getTitleString(Define::ConfigType idx);
325 bool isFavorite(Define::ConfigType idx); 370 bool isFavorite(Define::ConfigType idx);
326 QSetIterator<uint32_t> getConstBeginFavorite(); 371 QSetIterator<uint32_t> getConstBeginFavorite();
  372 + QList<uint32_t> getConstSortedFavorite();
327 bool loadFavorite(void); 373 bool loadFavorite(void);
328 bool saveFavorite(void); 374 bool saveFavorite(void);
329 void insertFavorite(Define::ConfigType idx); 375 void insertFavorite(Define::ConfigType idx);
app/gui/oven_control/config1digitsetdlg.cpp
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
  1 +#include <QDebug>
  2 +#include "config1digitsetdlg.h"
  3 +#include "ui_config1digitsetdlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +Config1DigitSetDlg::Config1DigitSetDlg(QWidget *parent, ConfigType type) :
  8 + QDialog(parent),
  9 + ui(new Ui::Config1DigitSetDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + QString strTemp1,strTemp2;
  13 + config_1digit_set setting_val;
  14 + config_item item;
  15 + ui->setupUi(this);
  16 + this->setWindowFlags( Qt::FramelessWindowHint);
  17 + this->setAttribute( Qt::WA_DeleteOnClose);
  18 +
  19 + m_nType = type;
  20 +
  21 + ui->ctrLbTitle->setText(cfg->getTitleString(m_nType));
  22 + item = cfg->getConfigValue(m_nType);
  23 + ui->ctrSpBxValue->setValue(item.d32);
  24 +
  25 + switch(m_nType){
  26 + case config_set_auto_darkness:
  27 + setting_val = auto_darkness_dlgset;
  28 + break;
  29 + case config_set_load_ready:
  30 + setting_val = load_ready_dlgset;
  31 + break;
  32 + default:
  33 + setting_val.min = 0;
  34 + setting_val.str_unit[0] = 0;
  35 + setting_val.maxlen=2;
  36 + setting_val.max = 10;
  37 + break;
  38 + }
  39 +
  40 + ui->ctrSpBxValue->setMaximum(setting_val.max);
  41 + ui->ctrSpBxValue->setMinimum(setting_val.min);
  42 + strTemp1.sprintf("(%%0%dd ~ %%0%dd %s)", setting_val.maxlen,setting_val.maxlen,setting_val.str_unit);
  43 + qDebug() <<strTemp1;
  44 + strTemp2.sprintf(strTemp1.toLocal8Bit().constData(), setting_val.min,setting_val.max);
  45 +
  46 + ui->ctrLbRange->setText(strTemp2);
  47 +
  48 + strTemp1.sprintf("%%0%d",setting_val.maxlen);
  49 +
  50 +
  51 +}
  52 +
  53 +Config1DigitSetDlg::~Config1DigitSetDlg()
  54 +{
  55 + delete ui;
  56 +}
  57 +
  58 +void Config1DigitSetDlg::on_ctrBtnOk_clicked()
  59 +{
  60 + Config* cfg = Config::getInstance();
  61 + config_item item;
  62 + item.d32 = ui->ctrSpBxValue->value();
  63 + cfg->setConfigValue(m_nType,item);
  64 + accept();
  65 +}
  66 +
  67 +void Config1DigitSetDlg::on_ctrBtnCancel_clicked()
  68 +{
  69 + reject();
  70 +}
app/gui/oven_control/config1digitsetdlg.h
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +#ifndef CONFIG1DIGITSETDLG_H
  2 +#define CONFIG1DIGITSETDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include "config.h"
  6 +
  7 +using namespace Define;
  8 +
  9 +namespace Ui {
  10 +class Config1DigitSetDlg;
  11 +}
  12 +
  13 +class Config1DigitSetDlg : public QDialog
  14 +{
  15 + Q_OBJECT
  16 +
  17 +public:
  18 + explicit Config1DigitSetDlg(QWidget *parent = 0, ConfigType type=config_invalid);
  19 + ~Config1DigitSetDlg();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 +private:
  27 + Ui::Config1DigitSetDlg *ui;
  28 + ConfigType m_nType;
  29 +};
  30 +
  31 +#endif // CONFIG1DIGITSETDLG_H
app/gui/oven_control/config1digitsetdlg.ui
@@ -0,0 +1,299 @@ @@ -0,0 +1,299 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>Config1DigitSetDlg</class>
  4 + <widget class="QDialog" name="Config1DigitSetDlg">
  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>TITLE</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>min</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>(01 ~ 30 min)</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="4">
  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 + </layout>
  274 + </item>
  275 + </layout>
  276 + </widget>
  277 + <widget class="KeyboardWidget" name="keyboardwidget" native="true">
  278 + <property name="geometry">
  279 + <rect>
  280 + <x>0</x>
  281 + <y>425</y>
  282 + <width>900</width>
  283 + <height>600</height>
  284 + </rect>
  285 + </property>
  286 + </widget>
  287 + </widget>
  288 + </widget>
  289 + <customwidgets>
  290 + <customwidget>
  291 + <class>KeyboardWidget</class>
  292 + <extends>QWidget</extends>
  293 + <header>keyboardwidget.h</header>
  294 + <container>1</container>
  295 + </customwidget>
  296 + </customwidgets>
  297 + <resources/>
  298 + <connections/>
  299 +</ui>
app/gui/oven_control/configdutywashdlg.cpp
@@ -0,0 +1,69 @@ @@ -0,0 +1,69 @@
  1 +#include "config.h"
  2 +#include "configdutywashdlg.h"
  3 +#include "ui_configdutywashdlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +ConfigDutyWashDlg::ConfigDutyWashDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigDutyWashDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + config_item item;
  13 + item = cfg->getConfigValue(config_duty_wash);
  14 + m_nCurSel = item.d32;
  15 + ui->setupUi(this);
  16 + this->setWindowFlags( Qt::FramelessWindowHint);
  17 + this->setAttribute( Qt::WA_DeleteOnClose);
  18 +
  19 + ui->pushButton_1->setText(tr(active_on_off_menu[0]));
  20 + ui->pushButton_2->setText(tr(active_on_off_menu[1]));
  21 +
  22 + reloadUi();
  23 +
  24 + m_pSignalMapper = new QSignalMapper(this);
  25 + m_pSignalMapper->setMapping(ui->pushButton_1,0);
  26 + m_pSignalMapper->setMapping(ui->pushButton_2,1);
  27 +
  28 + connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  29 + connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  30 +
  31 + connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
  32 +}
  33 +
  34 +ConfigDutyWashDlg::~ConfigDutyWashDlg()
  35 +{
  36 + delete ui;
  37 +}
  38 +
  39 +void ConfigDutyWashDlg::on_ctrBtnOk_clicked()
  40 +{
  41 + Config* cfg = Config::getInstance();
  42 + config_item item;
  43 + item.d32 = m_nCurSel;
  44 + cfg->setConfigValue(config_duty_wash,item);
  45 + accept();
  46 +}
  47 +
  48 +void ConfigDutyWashDlg::on_ctrBtnCancel_clicked()
  49 +{
  50 + reject();
  51 +}
  52 +
  53 +
  54 +void ConfigDutyWashDlg::onConfigBtnClicked(const int sel){
  55 + m_nCurSel = sel;
  56 +}
  57 +
  58 +void ConfigDutyWashDlg::reloadUi(){
  59 + switch(m_nCurSel){
  60 + case 0:
  61 + ui->pushButton_1->setChecked(true);
  62 + break;
  63 + case 1:
  64 + ui->pushButton_2->setChecked(true);
  65 + break;
  66 + default:
  67 + break;
  68 + }
  69 +}
app/gui/oven_control/configdutywashdlg.h
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +#ifndef CONFIGDUTYWASHDLG_H
  2 +#define CONFIGDUTYWASHDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +
  7 +namespace Ui {
  8 +class ConfigDutyWashDlg;
  9 +}
  10 +
  11 +class ConfigDutyWashDlg : public QDialog
  12 +{
  13 + Q_OBJECT
  14 +
  15 +public:
  16 + explicit ConfigDutyWashDlg(QWidget *parent = 0);
  17 + ~ConfigDutyWashDlg();
  18 +
  19 + void reloadUi();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 + void onConfigBtnClicked(const int sel);
  27 +
  28 +private:
  29 + Ui::ConfigDutyWashDlg *ui;
  30 + QSignalMapper *m_pSignalMapper;
  31 + int m_nCurSel;
  32 +};
  33 +
  34 +#endif // CONFIGDUTYWASHDLG_H
app/gui/oven_control/configdutywashdlg.ui
@@ -0,0 +1,225 @@ @@ -0,0 +1,225 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigDutyWashDlg</class>
  4 + <widget class="QDialog" name="ConfigDutyWashDlg">
  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="autoFillBackground">
  17 + <bool>false</bool>
  18 + </property>
  19 + <property name="styleSheet">
  20 + <string notr="true">#centralwidget{
  21 + background-image : url(:/images/background/popup/503.png);
  22 +}
  23 +
  24 +QPushButton{
  25 + border-color : transparent;
  26 + background-color : transparent;
  27 + color : white;
  28 +}
  29 +
  30 +QPushButton::focus{
  31 + color : yellow;
  32 +}
  33 +
  34 +QPushButton::pressed{
  35 + color : green;
  36 +}
  37 +
  38 +QPushButton::checked{
  39 + color : red;
  40 +}
  41 +
  42 +QLabel{
  43 + color : white;
  44 +}</string>
  45 + </property>
  46 + <widget class="QWidget" name="centralwidget" native="true">
  47 + <property name="geometry">
  48 + <rect>
  49 + <x>0</x>
  50 + <y>450</y>
  51 + <width>900</width>
  52 + <height>362</height>
  53 + </rect>
  54 + </property>
  55 + <property name="minimumSize">
  56 + <size>
  57 + <width>900</width>
  58 + <height>0</height>
  59 + </size>
  60 + </property>
  61 + <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,176,88">
  62 + <item>
  63 + <widget class="QLabel" name="label">
  64 + <property name="font">
  65 + <font>
  66 + <pointsize>18</pointsize>
  67 + <weight>75</weight>
  68 + <bold>true</bold>
  69 + </font>
  70 + </property>
  71 + <property name="styleSheet">
  72 + <string notr="true"/>
  73 + </property>
  74 + <property name="text">
  75 + <string>의무 세척 과정</string>
  76 + </property>
  77 + <property name="alignment">
  78 + <set>Qt::AlignCenter</set>
  79 + </property>
  80 + </widget>
  81 + </item>
  82 + <item>
  83 + <widget class="Line" name="line">
  84 + <property name="orientation">
  85 + <enum>Qt::Horizontal</enum>
  86 + </property>
  87 + </widget>
  88 + </item>
  89 + <item>
  90 + <layout class="QVBoxLayout" name="verticalLayout">
  91 + <item>
  92 + <widget class="QPushButton" name="pushButton_1">
  93 + <property name="sizePolicy">
  94 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  95 + <horstretch>0</horstretch>
  96 + <verstretch>0</verstretch>
  97 + </sizepolicy>
  98 + </property>
  99 + <property name="font">
  100 + <font>
  101 + <family>나눔고딕</family>
  102 + <pointsize>16</pointsize>
  103 + </font>
  104 + </property>
  105 + <property name="text">
  106 + <string>PushButton</string>
  107 + </property>
  108 + <property name="checkable">
  109 + <bool>true</bool>
  110 + </property>
  111 + <property name="checked">
  112 + <bool>true</bool>
  113 + </property>
  114 + <property name="autoExclusive">
  115 + <bool>true</bool>
  116 + </property>
  117 + <property name="flat">
  118 + <bool>true</bool>
  119 + </property>
  120 + </widget>
  121 + </item>
  122 + <item>
  123 + <widget class="Line" name="line_2">
  124 + <property name="orientation">
  125 + <enum>Qt::Horizontal</enum>
  126 + </property>
  127 + </widget>
  128 + </item>
  129 + <item>
  130 + <widget class="QPushButton" name="pushButton_2">
  131 + <property name="sizePolicy">
  132 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  133 + <horstretch>0</horstretch>
  134 + <verstretch>0</verstretch>
  135 + </sizepolicy>
  136 + </property>
  137 + <property name="font">
  138 + <font>
  139 + <family>나눔고딕</family>
  140 + <pointsize>16</pointsize>
  141 + </font>
  142 + </property>
  143 + <property name="text">
  144 + <string>PushButton</string>
  145 + </property>
  146 + <property name="checkable">
  147 + <bool>true</bool>
  148 + </property>
  149 + <property name="autoExclusive">
  150 + <bool>true</bool>
  151 + </property>
  152 + <property name="flat">
  153 + <bool>true</bool>
  154 + </property>
  155 + </widget>
  156 + </item>
  157 + <item>
  158 + <widget class="Line" name="line_3">
  159 + <property name="orientation">
  160 + <enum>Qt::Horizontal</enum>
  161 + </property>
  162 + </widget>
  163 + </item>
  164 + </layout>
  165 + </item>
  166 + <item>
  167 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  168 + <item row="0" column="5">
  169 + <widget class="QPushButton" name="ctrBtnCancel">
  170 + <property name="sizePolicy">
  171 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  172 + <horstretch>0</horstretch>
  173 + <verstretch>0</verstretch>
  174 + </sizepolicy>
  175 + </property>
  176 + <property name="font">
  177 + <font>
  178 + <family>나눔고딕</family>
  179 + <pointsize>10</pointsize>
  180 + <weight>75</weight>
  181 + <bold>true</bold>
  182 + <underline>true</underline>
  183 + </font>
  184 + </property>
  185 + <property name="text">
  186 + <string>취소</string>
  187 + </property>
  188 + <property name="flat">
  189 + <bool>true</bool>
  190 + </property>
  191 + </widget>
  192 + </item>
  193 + <item row="0" column="4">
  194 + <widget class="QPushButton" name="ctrBtnOk">
  195 + <property name="sizePolicy">
  196 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  197 + <horstretch>0</horstretch>
  198 + <verstretch>0</verstretch>
  199 + </sizepolicy>
  200 + </property>
  201 + <property name="font">
  202 + <font>
  203 + <family>나눔고딕</family>
  204 + <pointsize>10</pointsize>
  205 + <weight>75</weight>
  206 + <bold>true</bold>
  207 + <underline>true</underline>
  208 + </font>
  209 + </property>
  210 + <property name="text">
  211 + <string>확인</string>
  212 + </property>
  213 + <property name="flat">
  214 + <bool>true</bool>
  215 + </property>
  216 + </widget>
  217 + </item>
  218 + </layout>
  219 + </item>
  220 + </layout>
  221 + </widget>
  222 + </widget>
  223 + <resources/>
  224 + <connections/>
  225 +</ui>
app/gui/oven_control/configfavoritebutton.cpp
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +#include "configfavoritebutton.h"
  2 +#include "ui_configfavoritebutton.h"
  3 +
  4 +ConfigFavoriteButton::ConfigFavoriteButton(QWidget *parent,uint16_t btn_id) :
  5 + QWidget(parent),
  6 + ui(new Ui::ConfigFavoriteButton)
  7 +{
  8 + ui->setupUi(this);
  9 + btnid = btn_id;
  10 +
  11 +}
  12 +
  13 +ConfigFavoriteButton::~ConfigFavoriteButton()
  14 +{
  15 + delete ui;
  16 +}
  17 +
  18 +void ConfigFavoriteButton::setText(const QString &text){
  19 + ui->pushButton->setText(text);
  20 +}
  21 +
  22 +
  23 +
  24 +void ConfigFavoriteButton::on_favoriteButton_clicked()
  25 +{
  26 + emit delBtnClicked(btnid);
  27 +}
  28 +
  29 +void ConfigFavoriteButton::on_pushButton_clicked()
  30 +{
  31 + emit clicked(btnid);
  32 +}
app/gui/oven_control/configfavoritebutton.h
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +#ifndef CONFIGFAVORITEBUTTON_H
  2 +#define CONFIGFAVORITEBUTTON_H
  3 +
  4 +#include <QWidget>
  5 +
  6 +namespace Ui {
  7 +class ConfigFavoriteButton;
  8 +}
  9 +
  10 +class ConfigFavoriteButton : public QWidget
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigFavoriteButton(QWidget *parent = 0,uint16_t id = 0);
  16 + ~ConfigFavoriteButton();
  17 + void setText(const QString &text);
  18 +
  19 +
  20 +private:
  21 + Ui::ConfigFavoriteButton *ui;
  22 + QString text_;
  23 + QRect textRect;
  24 + uint16_t btnid;
  25 +
  26 +signals:
  27 + void clicked(uint16_t);
  28 + void delBtnClicked(uint16_t);
  29 +private slots:
  30 + void on_favoriteButton_clicked();
  31 + void on_pushButton_clicked();
  32 +
  33 +public:
  34 + uint16_t getBtnId(void){return btnid;};
  35 +};
  36 +
  37 +#endif // CONFIGFAVORITEBUTTON_H
app/gui/oven_control/configfavoritebutton.ui
@@ -0,0 +1,111 @@ @@ -0,0 +1,111 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigFavoriteButton</class>
  4 + <widget class="QWidget" name="ConfigFavoriteButton">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>821</width>
  10 + <height>65</height>
  11 + </rect>
  12 + </property>
  13 + <property name="minimumSize">
  14 + <size>
  15 + <width>821</width>
  16 + <height>65</height>
  17 + </size>
  18 + </property>
  19 + <property name="maximumSize">
  20 + <size>
  21 + <width>821</width>
  22 + <height>65</height>
  23 + </size>
  24 + </property>
  25 + <property name="windowTitle">
  26 + <string>Form</string>
  27 + </property>
  28 + <property name="styleSheet">
  29 + <string notr="true">QPushButton {
  30 +background-position: center;
  31 +background-repeat: no-repeat;
  32 +border : none;
  33 +}</string>
  34 + </property>
  35 + <widget class="QPushButton" name="pushButton">
  36 + <property name="geometry">
  37 + <rect>
  38 + <x>0</x>
  39 + <y>0</y>
  40 + <width>821</width>
  41 + <height>65</height>
  42 + </rect>
  43 + </property>
  44 + <property name="sizePolicy">
  45 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  46 + <horstretch>0</horstretch>
  47 + <verstretch>0</verstretch>
  48 + </sizepolicy>
  49 + </property>
  50 + <property name="minimumSize">
  51 + <size>
  52 + <width>821</width>
  53 + <height>65</height>
  54 + </size>
  55 + </property>
  56 + <property name="maximumSize">
  57 + <size>
  58 + <width>821</width>
  59 + <height>65</height>
  60 + </size>
  61 + </property>
  62 + <property name="font">
  63 + <font>
  64 + <family>Roboto</family>
  65 + <pointsize>11</pointsize>
  66 + </font>
  67 + </property>
  68 + <property name="styleSheet">
  69 + <string notr="true">QPushButton { background-image: url(:/images/config/pannel.png);
  70 + color : white;
  71 + text-align: left;
  72 + border : 20px;
  73 + padding-left : 20px;
  74 +}
  75 +QPushButton:pressed { background-image: url(:/images/config/pannel_ov.png); }
  76 +QPushButton:focus { background-image: url(:/images/config/pannel_ov.png); }</string>
  77 + </property>
  78 + <property name="text">
  79 + <string>test</string>
  80 + </property>
  81 + </widget>
  82 + <widget class="QPushButton" name="favoriteButton">
  83 + <property name="geometry">
  84 + <rect>
  85 + <x>650</x>
  86 + <y>0</y>
  87 + <width>77</width>
  88 + <height>65</height>
  89 + </rect>
  90 + </property>
  91 + <property name="focusPolicy">
  92 + <enum>Qt::NoFocus</enum>
  93 + </property>
  94 + <property name="styleSheet">
  95 + <string notr="true">QPushButton { background-image: url(:/images/config/100_fav_pannel_icon.png); }
  96 +QPushButton:checked { background-image: url(:/images/config/100_fav_pannel_icon_ov.png); }</string>
  97 + </property>
  98 + <property name="text">
  99 + <string/>
  100 + </property>
  101 + <property name="checkable">
  102 + <bool>false</bool>
  103 + </property>
  104 + <property name="checked">
  105 + <bool>false</bool>
  106 + </property>
  107 + </widget>
  108 + </widget>
  109 + <resources/>
  110 + <connections/>
  111 +</ui>
app/gui/oven_control/configfileprocessdlg.cpp
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
  1 +#include "configfileprocessdlg.h"
  2 +#include "ui_configfileprocessdlg.h"
  3 +#include "config.h"
  4 +
  5 +ConfigFileProcessDlg::ConfigFileProcessDlg(QWidget *parent, ConfigType type, bool isDown) :
  6 + QDialog(parent),
  7 + ui(new Ui::ConfigFileProcessDlg)
  8 +{
  9 + Config* cfg = Config::getInstance();
  10 + ui->setupUi(this);
  11 + setWindowFlags(Qt::FramelessWindowHint);
  12 + setAttribute(Qt::WA_NoSystemBackground);
  13 + setAttribute(Qt::WA_TranslucentBackground);
  14 + setAttribute(Qt::WA_DeleteOnClose);
  15 + if(type < config_invalid)
  16 + {
  17 + m_nCfgtype = type;
  18 + ui->ctrLbTitle->setText(cfg->getTitleString(m_nCfgtype));
  19 + if(!isDown){
  20 + ui->ctrBtnOk->setStyleSheet(" QPushButton{ \
  21 + border-image : url(:/images/config/111_icon_upload.png);\
  22 + }\
  23 + QPushButton::pressed, QPushButton::focus{\
  24 + border-image : url(:/images/config/111_icon_upload.png);\
  25 + });");
  26 +
  27 + }
  28 + }
  29 +}
  30 +
  31 +ConfigFileProcessDlg::~ConfigFileProcessDlg()
  32 +{
  33 + delete ui;
  34 +}
  35 +
  36 +void ConfigFileProcessDlg::on_ctrBtnOk_clicked()
  37 +{
  38 + switch(m_nCfgtype){
  39 + default:
  40 + break;
  41 + }
  42 +
  43 + deleteLater();
  44 +}
  45 +
  46 +void ConfigFileProcessDlg::on_ctrBtnCancel_clicked()
  47 +{
  48 + deleteLater();
  49 +}
app/gui/oven_control/configfileprocessdlg.h
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +#ifndef CONFIGFILEPROCESSDLG_H
  2 +#define CONFIGFILEPROCESSDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include "config.h"
  6 +
  7 +using namespace Define;
  8 +
  9 +namespace Ui {
  10 + class ConfigFileProcessDlg;
  11 +}
  12 +
  13 +class ConfigFileProcessDlg : public QDialog
  14 +{
  15 + Q_OBJECT
  16 +
  17 +public:
  18 + explicit ConfigFileProcessDlg(QWidget *parent = 0,ConfigType type = config_invalid, bool isDown = true);
  19 + ~ConfigFileProcessDlg();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 +private:
  27 + Ui::ConfigFileProcessDlg *ui;
  28 + ConfigType m_nCfgtype;
  29 +};
  30 +
  31 +#endif // CONFIGFILEPROCESSDLG_H
app/gui/oven_control/configfileprocessdlg.ui
@@ -0,0 +1,145 @@ @@ -0,0 +1,145 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigFileProcessDlg</class>
  4 + <widget class="QDialog" name="ConfigFileProcessDlg">
  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="windowOpacity">
  17 + <double>1.000000000000000</double>
  18 + </property>
  19 + <property name="styleSheet">
  20 + <string notr="true">#centralWidget { background-image: url(:/images/background/popup/503.png);
  21 +}
  22 +</string>
  23 + </property>
  24 + <property name="modal">
  25 + <bool>true</bool>
  26 + </property>
  27 + <widget class="QWidget" name="centralWidget" native="true">
  28 + <property name="geometry">
  29 + <rect>
  30 + <x>0</x>
  31 + <y>430</y>
  32 + <width>900</width>
  33 + <height>503</height>
  34 + </rect>
  35 + </property>
  36 + <property name="styleSheet">
  37 + <string notr="true"/>
  38 + </property>
  39 + <widget class="QPushButton" name="ctrBtnOk">
  40 + <property name="geometry">
  41 + <rect>
  42 + <x>260</x>
  43 + <y>320</y>
  44 + <width>157</width>
  45 + <height>77</height>
  46 + </rect>
  47 + </property>
  48 + <property name="font">
  49 + <font>
  50 + <weight>75</weight>
  51 + <bold>true</bold>
  52 + <underline>true</underline>
  53 + </font>
  54 + </property>
  55 + <property name="styleSheet">
  56 + <string notr="true">QPushButton{
  57 + border-image : url(:/images/config/105_icon_download.png);
  58 +}
  59 +
  60 +QPushButton::pressed, QPushButton::focus{
  61 + border-image : url(:/images/config/105_icon_download_ov.png);
  62 +}</string>
  63 + </property>
  64 + <property name="text">
  65 + <string/>
  66 + </property>
  67 + </widget>
  68 + <widget class="QPushButton" name="ctrBtnCancel">
  69 + <property name="geometry">
  70 + <rect>
  71 + <x>510</x>
  72 + <y>317</y>
  73 + <width>82</width>
  74 + <height>82</height>
  75 + </rect>
  76 + </property>
  77 + <property name="font">
  78 + <font>
  79 + <weight>75</weight>
  80 + <bold>true</bold>
  81 + <underline>true</underline>
  82 + </font>
  83 + </property>
  84 + <property name="styleSheet">
  85 + <string notr="true">QPushButton{
  86 + border-image : url(:/images/config/105_icon_cancel.png);
  87 +}
  88 +
  89 +QPushButton::pressed{
  90 + border-image : url(:/images/config/105_icon_cancel_ov.png);
  91 +}
  92 +</string>
  93 + </property>
  94 + <property name="text">
  95 + <string/>
  96 + </property>
  97 + </widget>
  98 + <widget class="QLabel" name="ctrLbTitle">
  99 + <property name="geometry">
  100 + <rect>
  101 + <x>0</x>
  102 + <y>0</y>
  103 + <width>900</width>
  104 + <height>91</height>
  105 + </rect>
  106 + </property>
  107 + <property name="font">
  108 + <font>
  109 + <family>나눔고딕</family>
  110 + <pointsize>13</pointsize>
  111 + <weight>75</weight>
  112 + <bold>true</bold>
  113 + </font>
  114 + </property>
  115 + <property name="styleSheet">
  116 + <string notr="true">QLabel {
  117 + color : white;
  118 + border : none;
  119 +}</string>
  120 + </property>
  121 + <property name="text">
  122 + <string>서비스 데이터 다운로드</string>
  123 + </property>
  124 + <property name="alignment">
  125 + <set>Qt::AlignCenter</set>
  126 + </property>
  127 + </widget>
  128 + <widget class="Line" name="line">
  129 + <property name="geometry">
  130 + <rect>
  131 + <x>0</x>
  132 + <y>93</y>
  133 + <width>900</width>
  134 + <height>3</height>
  135 + </rect>
  136 + </property>
  137 + <property name="orientation">
  138 + <enum>Qt::Horizontal</enum>
  139 + </property>
  140 + </widget>
  141 + </widget>
  142 + </widget>
  143 + <resources/>
  144 + <connections/>
  145 +</ui>
app/gui/oven_control/confighalfenergydlg.cpp
@@ -0,0 +1,69 @@ @@ -0,0 +1,69 @@
  1 +#include "config.h"
  2 +#include "confighalfenergydlg.h"
  3 +#include "ui_confighalfenergydlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +ConfigHalfEnergyDlg::ConfigHalfEnergyDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigHalfEnergyDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + config_item item;
  13 + item = cfg->getConfigValue(config_set_half_energy);
  14 + m_nCurSel = item.d32;
  15 + ui->setupUi(this);
  16 + this->setWindowFlags( Qt::FramelessWindowHint);
  17 + this->setAttribute( Qt::WA_DeleteOnClose);
  18 +
  19 + ui->pushButton_1->setText(tr(on_off_menu[0]));
  20 + ui->pushButton_2->setText(tr(on_off_menu[1]));
  21 +
  22 + reloadUi();
  23 +
  24 + m_pSignalMapper = new QSignalMapper(this);
  25 + m_pSignalMapper->setMapping(ui->pushButton_1,0);
  26 + m_pSignalMapper->setMapping(ui->pushButton_2,1);
  27 +
  28 + connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  29 + connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  30 +
  31 + connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
  32 +}
  33 +
  34 +ConfigHalfEnergyDlg::~ConfigHalfEnergyDlg()
  35 +{
  36 + delete ui;
  37 +}
  38 +
  39 +void ConfigHalfEnergyDlg::on_ctrBtnOk_clicked()
  40 +{
  41 + Config* cfg = Config::getInstance();
  42 + config_item item;
  43 + item.d32 = m_nCurSel;
  44 + cfg->setConfigValue(config_set_half_energy,item);
  45 + accept();
  46 +}
  47 +
  48 +void ConfigHalfEnergyDlg::onConfigBtnClicked(const int sel){
  49 + m_nCurSel = sel;
  50 +}
  51 +
  52 +
  53 +void ConfigHalfEnergyDlg::on_ctrBtnCancel_clicked()
  54 +{
  55 + reject();
  56 +}
  57 +
  58 +void ConfigHalfEnergyDlg::reloadUi(){
  59 + switch(m_nCurSel){
  60 + case 0:
  61 + ui->pushButton_1->setChecked(true);
  62 + break;
  63 + case 1:
  64 + ui->pushButton_2->setChecked(true);
  65 + break;
  66 + default:
  67 + break;
  68 + }
  69 +}
app/gui/oven_control/confighalfenergydlg.h
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +#ifndef CONFIGHALFENERGYDLG_H
  2 +#define CONFIGHALFENERGYDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +
  7 +namespace Ui {
  8 +class ConfigHalfEnergyDlg;
  9 +}
  10 +
  11 +class ConfigHalfEnergyDlg : public QDialog
  12 +{
  13 + Q_OBJECT
  14 +
  15 +public:
  16 + explicit ConfigHalfEnergyDlg(QWidget *parent = 0);
  17 + ~ConfigHalfEnergyDlg();
  18 + void reloadUi(void);
  19 +
  20 +private slots:
  21 + void on_ctrBtnOk_clicked();
  22 +
  23 + void on_ctrBtnCancel_clicked();
  24 +
  25 + void onConfigBtnClicked(const int sel);
  26 +
  27 +private:
  28 + Ui::ConfigHalfEnergyDlg *ui;
  29 + QSignalMapper *m_pSignalMapper;
  30 + int m_nCurSel;
  31 +};
  32 +
  33 +#endif // CONFIGHALFENERGYDLG_H
app/gui/oven_control/confighalfenergydlg.ui
@@ -0,0 +1,225 @@ @@ -0,0 +1,225 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigHalfEnergyDlg</class>
  4 + <widget class="QDialog" name="ConfigHalfEnergyDlg">
  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="autoFillBackground">
  17 + <bool>false</bool>
  18 + </property>
  19 + <property name="styleSheet">
  20 + <string notr="true">#centralwidget{
  21 + background-image : url(:/images/background/popup/503.png);
  22 +}
  23 +
  24 +QPushButton{
  25 + border-color : transparent;
  26 + background-color : transparent;
  27 + color : white;
  28 +}
  29 +
  30 +QPushButton::focus{
  31 + color : yellow;
  32 +}
  33 +
  34 +QPushButton::pressed{
  35 + color : green;
  36 +}
  37 +
  38 +QPushButton::checked{
  39 + color : red;
  40 +}
  41 +
  42 +QLabel{
  43 + color : white;
  44 +}</string>
  45 + </property>
  46 + <widget class="QWidget" name="centralwidget" native="true">
  47 + <property name="geometry">
  48 + <rect>
  49 + <x>0</x>
  50 + <y>450</y>
  51 + <width>900</width>
  52 + <height>362</height>
  53 + </rect>
  54 + </property>
  55 + <property name="minimumSize">
  56 + <size>
  57 + <width>900</width>
  58 + <height>0</height>
  59 + </size>
  60 + </property>
  61 + <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,176,88">
  62 + <item>
  63 + <widget class="QLabel" name="label">
  64 + <property name="font">
  65 + <font>
  66 + <pointsize>18</pointsize>
  67 + <weight>75</weight>
  68 + <bold>true</bold>
  69 + </font>
  70 + </property>
  71 + <property name="styleSheet">
  72 + <string notr="true"/>
  73 + </property>
  74 + <property name="text">
  75 + <string>하프에너지</string>
  76 + </property>
  77 + <property name="alignment">
  78 + <set>Qt::AlignCenter</set>
  79 + </property>
  80 + </widget>
  81 + </item>
  82 + <item>
  83 + <widget class="Line" name="line">
  84 + <property name="orientation">
  85 + <enum>Qt::Horizontal</enum>
  86 + </property>
  87 + </widget>
  88 + </item>
  89 + <item>
  90 + <layout class="QVBoxLayout" name="verticalLayout">
  91 + <item>
  92 + <widget class="QPushButton" name="pushButton_1">
  93 + <property name="sizePolicy">
  94 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  95 + <horstretch>0</horstretch>
  96 + <verstretch>0</verstretch>
  97 + </sizepolicy>
  98 + </property>
  99 + <property name="font">
  100 + <font>
  101 + <family>나눔고딕</family>
  102 + <pointsize>16</pointsize>
  103 + </font>
  104 + </property>
  105 + <property name="text">
  106 + <string>PushButton</string>
  107 + </property>
  108 + <property name="checkable">
  109 + <bool>true</bool>
  110 + </property>
  111 + <property name="checked">
  112 + <bool>true</bool>
  113 + </property>
  114 + <property name="autoExclusive">
  115 + <bool>true</bool>
  116 + </property>
  117 + <property name="flat">
  118 + <bool>true</bool>
  119 + </property>
  120 + </widget>
  121 + </item>
  122 + <item>
  123 + <widget class="Line" name="line_2">
  124 + <property name="orientation">
  125 + <enum>Qt::Horizontal</enum>
  126 + </property>
  127 + </widget>
  128 + </item>
  129 + <item>
  130 + <widget class="QPushButton" name="pushButton_2">
  131 + <property name="sizePolicy">
  132 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  133 + <horstretch>0</horstretch>
  134 + <verstretch>0</verstretch>
  135 + </sizepolicy>
  136 + </property>
  137 + <property name="font">
  138 + <font>
  139 + <family>나눔고딕</family>
  140 + <pointsize>16</pointsize>
  141 + </font>
  142 + </property>
  143 + <property name="text">
  144 + <string>PushButton</string>
  145 + </property>
  146 + <property name="checkable">
  147 + <bool>true</bool>
  148 + </property>
  149 + <property name="autoExclusive">
  150 + <bool>true</bool>
  151 + </property>
  152 + <property name="flat">
  153 + <bool>true</bool>
  154 + </property>
  155 + </widget>
  156 + </item>
  157 + <item>
  158 + <widget class="Line" name="line_3">
  159 + <property name="orientation">
  160 + <enum>Qt::Horizontal</enum>
  161 + </property>
  162 + </widget>
  163 + </item>
  164 + </layout>
  165 + </item>
  166 + <item>
  167 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  168 + <item row="0" column="5">
  169 + <widget class="QPushButton" name="ctrBtnCancel">
  170 + <property name="sizePolicy">
  171 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  172 + <horstretch>0</horstretch>
  173 + <verstretch>0</verstretch>
  174 + </sizepolicy>
  175 + </property>
  176 + <property name="font">
  177 + <font>
  178 + <family>나눔고딕</family>
  179 + <pointsize>10</pointsize>
  180 + <weight>75</weight>
  181 + <bold>true</bold>
  182 + <underline>true</underline>
  183 + </font>
  184 + </property>
  185 + <property name="text">
  186 + <string>취소</string>
  187 + </property>
  188 + <property name="flat">
  189 + <bool>true</bool>
  190 + </property>
  191 + </widget>
  192 + </item>
  193 + <item row="0" column="4">
  194 + <widget class="QPushButton" name="ctrBtnOk">
  195 + <property name="sizePolicy">
  196 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  197 + <horstretch>0</horstretch>
  198 + <verstretch>0</verstretch>
  199 + </sizepolicy>
  200 + </property>
  201 + <property name="font">
  202 + <font>
  203 + <family>나눔고딕</family>
  204 + <pointsize>10</pointsize>
  205 + <weight>75</weight>
  206 + <bold>true</bold>
  207 + <underline>true</underline>
  208 + </font>
  209 + </property>
  210 + <property name="text">
  211 + <string>확인</string>
  212 + </property>
  213 + <property name="flat">
  214 + <bool>true</bool>
  215 + </property>
  216 + </widget>
  217 + </item>
  218 + </layout>
  219 + </item>
  220 + </layout>
  221 + </widget>
  222 + </widget>
  223 + <resources/>
  224 + <connections/>
  225 +</ui>
app/gui/oven_control/configinfodlg.cpp
@@ -0,0 +1,110 @@ @@ -0,0 +1,110 @@
  1 +#include <QMap>
  2 +#include <QLabel>
  3 +#include <QDebug>
  4 +#include "configinfodlg.h"
  5 +#include "ui_configinfodlg.h"
  6 +
  7 +ConfigInfoDlg::ConfigInfoDlg(QWidget *parent, ConfigType type) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigInfoDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + ui->setupUi(this);
  13 + this->setWindowFlags( Qt::FramelessWindowHint);
  14 + this->setAttribute( Qt::WA_DeleteOnClose);
  15 +
  16 + m_nType = type;
  17 +
  18 + ui->ctrTitle->setText(cfg->getTitleString(type));
  19 +
  20 + switch(type){
  21 + case config_hotline_chef:
  22 + loadHotlineChefInfo();
  23 + break;
  24 + case config_hotline_service:
  25 + loadHotlineServiceInfo();
  26 + break;
  27 + case config_software_info:
  28 + default:
  29 + loadSoftwareInfo();
  30 + break;
  31 + }
  32 +}
  33 +
  34 +ConfigInfoDlg::~ConfigInfoDlg()
  35 +{
  36 + delete ui;
  37 +}
  38 +
  39 +void ConfigInfoDlg::on_ctrBtnOk_clicked()
  40 +{
  41 + deleteLater();
  42 +}
  43 +
  44 +void ConfigInfoDlg::loadSoftwareInfo(){
  45 + QString strTemp;
  46 + QMap<QString , QString> mapInfos;
  47 + QLabel* label;
  48 + mapInfos["모델명"] = "PRIME ST-01";
  49 + mapInfos["제조일자"] = "2017-06";
  50 + mapInfos["소프트웨어버전"] ="0.1 BETA";
  51 +
  52 + for(int i =0;i<MAX_SOFTWARE_INFO_CNT;i++){
  53 + strTemp.sprintf("%s",software_item_name[i]);
  54 + qDebug() <<strTemp;
  55 + strTemp = strTemp.replace(" ","");
  56 + qDebug() << strTemp;
  57 + strTemp = mapInfos[strTemp];
  58 + label = new QLabel(this);
  59 + label ->setText(tr(software_item_name[i]).append(":"));
  60 + ui->gridLayout_info->addWidget(label,i,0);
  61 + label = new QLabel(this);
  62 + label->setText(strTemp);
  63 + ui->gridLayout_info->addWidget(label,i,1);
  64 + }
  65 +}
  66 +
  67 +void ConfigInfoDlg::loadHotlineChefInfo(){
  68 + QString strTemp;
  69 + QMap<QString , QString> mapInfos;
  70 + QLabel* label;
  71 + mapInfos["연락처"] = "010-3004-6517";
  72 + mapInfos["이름"] = "김성우";
  73 + mapInfos["위치정보"] ="인천광역시 남동구 남동동로 34번길 56";
  74 +
  75 + for(int i =0;i<MAX_HOTLINE_CHEF_CNT;i++){
  76 + strTemp.sprintf("%s",hotline_chef_item_name[i]);
  77 + qDebug() <<strTemp;
  78 + strTemp = strTemp.replace(" ","");
  79 + qDebug() << strTemp;
  80 + strTemp = mapInfos[strTemp];
  81 + label = new QLabel(this);
  82 + label ->setText(tr(hotline_chef_item_name[i]).append(":"));
  83 + ui->gridLayout_info->addWidget(label,i,0);
  84 + label = new QLabel(this);
  85 + label->setText(strTemp);
  86 + ui->gridLayout_info->addWidget(label,i,1);
  87 + }
  88 +}
  89 +
  90 +void ConfigInfoDlg::loadHotlineServiceInfo(){
  91 + QString strTemp;
  92 + QMap<QString , QString> mapInfos;
  93 + QLabel* label;
  94 + mapInfos["연락처"] = "1644-9533";
  95 + mapInfos["위치정보"] ="인천광역시 남동구 남동동로 34번길 56";
  96 +
  97 + for(int i =0;i<MAX_HOTLINE_SERVICE_CNT;i++){
  98 + strTemp.sprintf("%s",hotline_service_item_name[i]);
  99 + qDebug() <<strTemp;
  100 + strTemp = strTemp.replace(" ","");
  101 + qDebug() << strTemp;
  102 + strTemp = mapInfos[strTemp];
  103 + label = new QLabel(this);
  104 + label ->setText(tr(hotline_service_item_name[i]).append(":"));
  105 + ui->gridLayout_info->addWidget(label,i,0);
  106 + label = new QLabel(this);
  107 + label->setText(strTemp);
  108 + ui->gridLayout_info->addWidget(label,i,1);
  109 + }
  110 +}
app/gui/oven_control/configinfodlg.h
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +#ifndef CONFIGINFODLG_H
  2 +#define CONFIGINFODLG_H
  3 +
  4 +#include <QDialog>
  5 +#include "config.h"
  6 +
  7 +
  8 +using namespace Define;
  9 +
  10 +namespace Ui {
  11 +class ConfigInfoDlg;
  12 +}
  13 +
  14 +class ConfigInfoDlg : public QDialog
  15 +{
  16 + Q_OBJECT
  17 + void loadHotlineChefInfo();
  18 + void loadHotlineServiceInfo();
  19 + void loadSoftwareInfo();
  20 +
  21 +
  22 +public:
  23 + explicit ConfigInfoDlg(QWidget *parent = 0,ConfigType type=config_invalid );
  24 + ~ConfigInfoDlg();
  25 +
  26 +private slots:
  27 + void on_ctrBtnOk_clicked();
  28 +
  29 +private:
  30 + Ui::ConfigInfoDlg *ui;
  31 + ConfigType m_nType;
  32 +};
  33 +
  34 +#endif // CONFIGINFODLG_H
app/gui/oven_control/configinfodlg.ui
@@ -0,0 +1,160 @@ @@ -0,0 +1,160 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigInfoDlg</class>
  4 + <widget class="QDialog" name="ConfigInfoDlg">
  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>425</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>421</height>
  63 + </rect>
  64 + </property>
  65 + <layout class="QVBoxLayout" name="verticalLayout" stretch="1,0,4,1">
  66 + <property name="spacing">
  67 + <number>0</number>
  68 + </property>
  69 + <property name="sizeConstraint">
  70 + <enum>QLayout::SetDefaultConstraint</enum>
  71 + </property>
  72 + <property name="bottomMargin">
  73 + <number>10</number>
  74 + </property>
  75 + <item>
  76 + <widget class="QLabel" name="ctrTitle">
  77 + <property name="maximumSize">
  78 + <size>
  79 + <width>16777215</width>
  80 + <height>94</height>
  81 + </size>
  82 + </property>
  83 + <property name="font">
  84 + <font>
  85 + <family>나눔고딕</family>
  86 + <pointsize>18</pointsize>
  87 + <weight>75</weight>
  88 + <bold>true</bold>
  89 + </font>
  90 + </property>
  91 + <property name="styleSheet">
  92 + <string notr="true">color : white;</string>
  93 + </property>
  94 + <property name="text">
  95 + <string>TITLE</string>
  96 + </property>
  97 + <property name="alignment">
  98 + <set>Qt::AlignCenter</set>
  99 + </property>
  100 + </widget>
  101 + </item>
  102 + <item>
  103 + <widget class="Line" name="line">
  104 + <property name="styleSheet">
  105 + <string notr="true">color: rgb(255, 255, 255);</string>
  106 + </property>
  107 + <property name="orientation">
  108 + <enum>Qt::Horizontal</enum>
  109 + </property>
  110 + </widget>
  111 + </item>
  112 + <item>
  113 + <layout class="QGridLayout" name="gridLayout_info">
  114 + <property name="leftMargin">
  115 + <number>20</number>
  116 + </property>
  117 + <property name="topMargin">
  118 + <number>10</number>
  119 + </property>
  120 + <property name="rightMargin">
  121 + <number>20</number>
  122 + </property>
  123 + <property name="bottomMargin">
  124 + <number>10</number>
  125 + </property>
  126 + <property name="horizontalSpacing">
  127 + <number>3</number>
  128 + </property>
  129 + </layout>
  130 + </item>
  131 + <item>
  132 + <widget class="QPushButton" name="ctrBtnOk">
  133 + <property name="sizePolicy">
  134 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  135 + <horstretch>0</horstretch>
  136 + <verstretch>0</verstretch>
  137 + </sizepolicy>
  138 + </property>
  139 + <property name="font">
  140 + <font>
  141 + <family>나눔고딕</family>
  142 + <pointsize>12</pointsize>
  143 + <underline>true</underline>
  144 + </font>
  145 + </property>
  146 + <property name="text">
  147 + <string>확인</string>
  148 + </property>
  149 + <property name="flat">
  150 + <bool>true</bool>
  151 + </property>
  152 + </widget>
  153 + </item>
  154 + </layout>
  155 + </widget>
  156 + </widget>
  157 + </widget>
  158 + <resources/>
  159 + <connections/>
  160 +</ui>
app/gui/oven_control/configipdlg.cpp
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +#include "configipdlg.h"
  2 +#include "ui_configipdlg.h"
  3 +
  4 +ConfigIpDlg::ConfigIpDlg(QWidget *parent) :
  5 + QDialog(parent),
  6 + ui(new Ui::ConfigIpDlg)
  7 +{
  8 + ui->setupUi(this);
  9 + setWindowFlags(Qt::FramelessWindowHint);
  10 + setAttribute(Qt::WA_NoSystemBackground);
  11 + setAttribute(Qt::WA_TranslucentBackground);
  12 + ui->ctrGw_0->setFormatterWidth(3);
  13 + ui->ctrGw_1->setFormatterWidth(3);
  14 + ui->ctrGw_2->setFormatterWidth(3);
  15 + ui->ctrGw_3->setFormatterWidth(3);
  16 + ui->ctrIp_0->setFormatterWidth(3);
  17 + ui->ctrIp_1->setFormatterWidth(3);
  18 + ui->ctrIp_2->setFormatterWidth(3);
  19 + ui->ctrIp_3->setFormatterWidth(3);
  20 + ui->ctrNetmask_0->setFormatterWidth(3);
  21 + ui->ctrNetmask_1->setFormatterWidth(3);
  22 + ui->ctrNetmask_2->setFormatterWidth(3);
  23 + ui->ctrNetmask_3->setFormatterWidth(3);
  24 +}
  25 +
  26 +ConfigIpDlg::~ConfigIpDlg()
  27 +{
  28 + delete ui;
  29 +}
  30 +
  31 +void ConfigIpDlg::on_ctrBtnOk_clicked()
  32 +{
  33 + accept();
  34 +}
  35 +
  36 +void ConfigIpDlg::on_ctrBtnCancel_clicked()
  37 +{
  38 + reject();
  39 +}
app/gui/oven_control/configipdlg.h
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +#ifndef CONFIGIPDLG_H
  2 +#define CONFIGIPDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ConfigIpDlg;
  8 +}
  9 +
  10 +class ConfigIpDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigIpDlg(QWidget *parent = 0);
  16 + ~ConfigIpDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_ctrBtnCancel_clicked();
  22 +
  23 +private:
  24 + Ui::ConfigIpDlg *ui;
  25 +};
  26 +
  27 +#endif // CONFIGIPDLG_H
app/gui/oven_control/configipdlg.ui
@@ -0,0 +1,673 @@ @@ -0,0 +1,673 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigIpDlg</class>
  4 + <widget class="QDialog" name="ConfigIpDlg">
  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 +/* border-bottom-color : white;
  37 + border-top-color : transparent;
  38 + border-left-color : transparent;
  39 + border-right-color : transparent;
  40 + border-width : 1px;
  41 + border-style : solid;*/
  42 +}
  43 +
  44 +QPushButton{
  45 + border-color : transparent;
  46 + background-color : transparent;
  47 + color : white;
  48 +}
  49 +QPushButton::pressed, QPushButton::focus{
  50 + color : yellow;
  51 +}</string>
  52 + </property>
  53 + <widget class="QWidget" name="centralwidget" native="true">
  54 + <property name="geometry">
  55 + <rect>
  56 + <x>0</x>
  57 + <y>425</y>
  58 + <width>900</width>
  59 + <height>1025</height>
  60 + </rect>
  61 + </property>
  62 + <property name="styleSheet">
  63 + <string notr="true"/>
  64 + </property>
  65 + <widget class="QWidget" name="verticalLayoutWidget">
  66 + <property name="geometry">
  67 + <rect>
  68 + <x>0</x>
  69 + <y>0</y>
  70 + <width>901</width>
  71 + <height>421</height>
  72 + </rect>
  73 + </property>
  74 + <layout class="QVBoxLayout" name="verticalLayout" stretch="92,0,246,86">
  75 + <property name="spacing">
  76 + <number>0</number>
  77 + </property>
  78 + <property name="sizeConstraint">
  79 + <enum>QLayout::SetDefaultConstraint</enum>
  80 + </property>
  81 + <item>
  82 + <widget class="QLabel" name="label">
  83 + <property name="maximumSize">
  84 + <size>
  85 + <width>16777215</width>
  86 + <height>94</height>
  87 + </size>
  88 + </property>
  89 + <property name="font">
  90 + <font>
  91 + <family>나눔고딕</family>
  92 + <pointsize>18</pointsize>
  93 + <weight>75</weight>
  94 + <bold>true</bold>
  95 + </font>
  96 + </property>
  97 + <property name="styleSheet">
  98 + <string notr="true">color : white;</string>
  99 + </property>
  100 + <property name="text">
  101 + <string>IP 주소</string>
  102 + </property>
  103 + <property name="alignment">
  104 + <set>Qt::AlignCenter</set>
  105 + </property>
  106 + </widget>
  107 + </item>
  108 + <item>
  109 + <widget class="Line" name="line">
  110 + <property name="styleSheet">
  111 + <string notr="true">color: rgb(255, 255, 255);</string>
  112 + </property>
  113 + <property name="orientation">
  114 + <enum>Qt::Horizontal</enum>
  115 + </property>
  116 + </widget>
  117 + </item>
  118 + <item>
  119 + <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0">
  120 + <property name="spacing">
  121 + <number>5</number>
  122 + </property>
  123 + <property name="leftMargin">
  124 + <number>10</number>
  125 + </property>
  126 + <property name="rightMargin">
  127 + <number>10</number>
  128 + </property>
  129 + <item>
  130 + <layout class="QGridLayout" name="gridLayout_2" rowstretch="0,0,0,0,0,0" columnstretch="6,0,2,0,2,0,2,0,2">
  131 + <property name="topMargin">
  132 + <number>15</number>
  133 + </property>
  134 + <property name="bottomMargin">
  135 + <number>5</number>
  136 + </property>
  137 + <property name="horizontalSpacing">
  138 + <number>2</number>
  139 + </property>
  140 + <property name="verticalSpacing">
  141 + <number>15</number>
  142 + </property>
  143 + <item row="0" column="6">
  144 + <widget class="FormatterSpinBox" name="ctrIp_2">
  145 + <property name="font">
  146 + <font>
  147 + <pointsize>14</pointsize>
  148 + <underline>true</underline>
  149 + </font>
  150 + </property>
  151 + <property name="alignment">
  152 + <set>Qt::AlignCenter</set>
  153 + </property>
  154 + <property name="buttonSymbols">
  155 + <enum>QAbstractSpinBox::NoButtons</enum>
  156 + </property>
  157 + <property name="maximum">
  158 + <number>255</number>
  159 + </property>
  160 + </widget>
  161 + </item>
  162 + <item row="0" column="8">
  163 + <widget class="FormatterSpinBox" name="ctrIp_3">
  164 + <property name="font">
  165 + <font>
  166 + <pointsize>14</pointsize>
  167 + <underline>true</underline>
  168 + </font>
  169 + </property>
  170 + <property name="alignment">
  171 + <set>Qt::AlignCenter</set>
  172 + </property>
  173 + <property name="buttonSymbols">
  174 + <enum>QAbstractSpinBox::NoButtons</enum>
  175 + </property>
  176 + <property name="maximum">
  177 + <number>255</number>
  178 + </property>
  179 + </widget>
  180 + </item>
  181 + <item row="4" column="3">
  182 + <widget class="QLabel" name="label_21">
  183 + <property name="font">
  184 + <font>
  185 + <family>나눔고딕</family>
  186 + <pointsize>15</pointsize>
  187 + <weight>75</weight>
  188 + <bold>true</bold>
  189 + </font>
  190 + </property>
  191 + <property name="text">
  192 + <string>.</string>
  193 + </property>
  194 + </widget>
  195 + </item>
  196 + <item row="4" column="2">
  197 + <widget class="FormatterSpinBox" name="ctrNetmask_0">
  198 + <property name="font">
  199 + <font>
  200 + <pointsize>14</pointsize>
  201 + <underline>true</underline>
  202 + </font>
  203 + </property>
  204 + <property name="alignment">
  205 + <set>Qt::AlignCenter</set>
  206 + </property>
  207 + <property name="buttonSymbols">
  208 + <enum>QAbstractSpinBox::NoButtons</enum>
  209 + </property>
  210 + <property name="maximum">
  211 + <number>255</number>
  212 + </property>
  213 + </widget>
  214 + </item>
  215 + <item row="3" column="0" colspan="9">
  216 + <widget class="Line" name="line_3">
  217 + <property name="orientation">
  218 + <enum>Qt::Horizontal</enum>
  219 + </property>
  220 + </widget>
  221 + </item>
  222 + <item row="0" column="0">
  223 + <widget class="QLabel" name="label_5">
  224 + <property name="minimumSize">
  225 + <size>
  226 + <width>0</width>
  227 + <height>0</height>
  228 + </size>
  229 + </property>
  230 + <property name="font">
  231 + <font>
  232 + <family>나눔고딕</family>
  233 + <pointsize>15</pointsize>
  234 + <weight>75</weight>
  235 + <bold>true</bold>
  236 + </font>
  237 + </property>
  238 + <property name="text">
  239 + <string>IP 주소</string>
  240 + </property>
  241 + </widget>
  242 + </item>
  243 + <item row="0" column="4">
  244 + <widget class="FormatterSpinBox" name="ctrIp_1">
  245 + <property name="font">
  246 + <font>
  247 + <pointsize>14</pointsize>
  248 + <underline>true</underline>
  249 + </font>
  250 + </property>
  251 + <property name="alignment">
  252 + <set>Qt::AlignCenter</set>
  253 + </property>
  254 + <property name="buttonSymbols">
  255 + <enum>QAbstractSpinBox::NoButtons</enum>
  256 + </property>
  257 + <property name="maximum">
  258 + <number>255</number>
  259 + </property>
  260 + </widget>
  261 + </item>
  262 + <item row="4" column="5">
  263 + <widget class="QLabel" name="label_22">
  264 + <property name="font">
  265 + <font>
  266 + <family>나눔고딕</family>
  267 + <pointsize>15</pointsize>
  268 + <weight>75</weight>
  269 + <bold>true</bold>
  270 + </font>
  271 + </property>
  272 + <property name="text">
  273 + <string>.</string>
  274 + </property>
  275 + </widget>
  276 + </item>
  277 + <item row="2" column="6">
  278 + <widget class="FormatterSpinBox" name="ctrGw_2">
  279 + <property name="font">
  280 + <font>
  281 + <pointsize>14</pointsize>
  282 + <underline>true</underline>
  283 + </font>
  284 + </property>
  285 + <property name="alignment">
  286 + <set>Qt::AlignCenter</set>
  287 + </property>
  288 + <property name="buttonSymbols">
  289 + <enum>QAbstractSpinBox::NoButtons</enum>
  290 + </property>
  291 + <property name="maximum">
  292 + <number>255</number>
  293 + </property>
  294 + </widget>
  295 + </item>
  296 + <item row="4" column="8">
  297 + <widget class="FormatterSpinBox" name="ctrNetmask_3">
  298 + <property name="font">
  299 + <font>
  300 + <pointsize>14</pointsize>
  301 + <underline>true</underline>
  302 + </font>
  303 + </property>
  304 + <property name="alignment">
  305 + <set>Qt::AlignCenter</set>
  306 + </property>
  307 + <property name="buttonSymbols">
  308 + <enum>QAbstractSpinBox::NoButtons</enum>
  309 + </property>
  310 + <property name="maximum">
  311 + <number>255</number>
  312 + </property>
  313 + </widget>
  314 + </item>
  315 + <item row="1" column="0" colspan="9">
  316 + <widget class="Line" name="line_2">
  317 + <property name="orientation">
  318 + <enum>Qt::Horizontal</enum>
  319 + </property>
  320 + </widget>
  321 + </item>
  322 + <item row="0" column="7">
  323 + <widget class="QLabel" name="label_8">
  324 + <property name="font">
  325 + <font>
  326 + <family>나눔고딕</family>
  327 + <pointsize>15</pointsize>
  328 + <weight>75</weight>
  329 + <bold>true</bold>
  330 + </font>
  331 + </property>
  332 + <property name="text">
  333 + <string>.</string>
  334 + </property>
  335 + </widget>
  336 + </item>
  337 + <item row="0" column="5">
  338 + <widget class="QLabel" name="label_7">
  339 + <property name="font">
  340 + <font>
  341 + <family>나눔고딕</family>
  342 + <pointsize>15</pointsize>
  343 + <weight>75</weight>
  344 + <bold>true</bold>
  345 + </font>
  346 + </property>
  347 + <property name="text">
  348 + <string>.</string>
  349 + </property>
  350 + </widget>
  351 + </item>
  352 + <item row="0" column="3">
  353 + <widget class="QLabel" name="label_6">
  354 + <property name="font">
  355 + <font>
  356 + <family>나눔고딕</family>
  357 + <pointsize>15</pointsize>
  358 + <weight>75</weight>
  359 + <bold>true</bold>
  360 + </font>
  361 + </property>
  362 + <property name="text">
  363 + <string>.</string>
  364 + </property>
  365 + </widget>
  366 + </item>
  367 + <item row="2" column="3">
  368 + <widget class="QLabel" name="label_16">
  369 + <property name="font">
  370 + <font>
  371 + <family>나눔고딕</family>
  372 + <pointsize>15</pointsize>
  373 + <weight>75</weight>
  374 + <bold>true</bold>
  375 + </font>
  376 + </property>
  377 + <property name="text">
  378 + <string>.</string>
  379 + </property>
  380 + </widget>
  381 + </item>
  382 + <item row="2" column="7">
  383 + <widget class="QLabel" name="label_18">
  384 + <property name="font">
  385 + <font>
  386 + <family>나눔고딕</family>
  387 + <pointsize>15</pointsize>
  388 + <weight>75</weight>
  389 + <bold>true</bold>
  390 + </font>
  391 + </property>
  392 + <property name="text">
  393 + <string>.</string>
  394 + </property>
  395 + </widget>
  396 + </item>
  397 + <item row="0" column="2">
  398 + <widget class="FormatterSpinBox" name="ctrIp_0">
  399 + <property name="font">
  400 + <font>
  401 + <pointsize>14</pointsize>
  402 + <underline>true</underline>
  403 + </font>
  404 + </property>
  405 + <property name="styleSheet">
  406 + <string notr="true"/>
  407 + </property>
  408 + <property name="alignment">
  409 + <set>Qt::AlignCenter</set>
  410 + </property>
  411 + <property name="buttonSymbols">
  412 + <enum>QAbstractSpinBox::NoButtons</enum>
  413 + </property>
  414 + <property name="maximum">
  415 + <number>255</number>
  416 + </property>
  417 + </widget>
  418 + </item>
  419 + <item row="4" column="7">
  420 + <widget class="QLabel" name="label_23">
  421 + <property name="font">
  422 + <font>
  423 + <family>나눔고딕</family>
  424 + <pointsize>15</pointsize>
  425 + <weight>75</weight>
  426 + <bold>true</bold>
  427 + </font>
  428 + </property>
  429 + <property name="text">
  430 + <string>.</string>
  431 + </property>
  432 + </widget>
  433 + </item>
  434 + <item row="2" column="4">
  435 + <widget class="FormatterSpinBox" name="ctrGw_1">
  436 + <property name="font">
  437 + <font>
  438 + <pointsize>14</pointsize>
  439 + <underline>true</underline>
  440 + </font>
  441 + </property>
  442 + <property name="alignment">
  443 + <set>Qt::AlignCenter</set>
  444 + </property>
  445 + <property name="buttonSymbols">
  446 + <enum>QAbstractSpinBox::NoButtons</enum>
  447 + </property>
  448 + <property name="maximum">
  449 + <number>255</number>
  450 + </property>
  451 + </widget>
  452 + </item>
  453 + <item row="4" column="6">
  454 + <widget class="FormatterSpinBox" name="ctrNetmask_2">
  455 + <property name="font">
  456 + <font>
  457 + <pointsize>14</pointsize>
  458 + <underline>true</underline>
  459 + </font>
  460 + </property>
  461 + <property name="alignment">
  462 + <set>Qt::AlignCenter</set>
  463 + </property>
  464 + <property name="buttonSymbols">
  465 + <enum>QAbstractSpinBox::NoButtons</enum>
  466 + </property>
  467 + <property name="maximum">
  468 + <number>255</number>
  469 + </property>
  470 + </widget>
  471 + </item>
  472 + <item row="2" column="0">
  473 + <widget class="QLabel" name="label_13">
  474 + <property name="font">
  475 + <font>
  476 + <family>나눔고딕</family>
  477 + <pointsize>15</pointsize>
  478 + <weight>75</weight>
  479 + <bold>true</bold>
  480 + </font>
  481 + </property>
  482 + <property name="text">
  483 + <string>게이트웨이 주소</string>
  484 + </property>
  485 + </widget>
  486 + </item>
  487 + <item row="2" column="8">
  488 + <widget class="FormatterSpinBox" name="ctrGw_3">
  489 + <property name="font">
  490 + <font>
  491 + <pointsize>14</pointsize>
  492 + <underline>true</underline>
  493 + </font>
  494 + </property>
  495 + <property name="alignment">
  496 + <set>Qt::AlignCenter</set>
  497 + </property>
  498 + <property name="buttonSymbols">
  499 + <enum>QAbstractSpinBox::NoButtons</enum>
  500 + </property>
  501 + <property name="maximum">
  502 + <number>255</number>
  503 + </property>
  504 + </widget>
  505 + </item>
  506 + <item row="2" column="5">
  507 + <widget class="QLabel" name="label_17">
  508 + <property name="font">
  509 + <font>
  510 + <family>나눔고딕</family>
  511 + <pointsize>15</pointsize>
  512 + <weight>75</weight>
  513 + <bold>true</bold>
  514 + </font>
  515 + </property>
  516 + <property name="text">
  517 + <string>.</string>
  518 + </property>
  519 + </widget>
  520 + </item>
  521 + <item row="2" column="2">
  522 + <widget class="FormatterSpinBox" name="ctrGw_0">
  523 + <property name="font">
  524 + <font>
  525 + <pointsize>14</pointsize>
  526 + <underline>true</underline>
  527 + </font>
  528 + </property>
  529 + <property name="alignment">
  530 + <set>Qt::AlignCenter</set>
  531 + </property>
  532 + <property name="buttonSymbols">
  533 + <enum>QAbstractSpinBox::NoButtons</enum>
  534 + </property>
  535 + <property name="maximum">
  536 + <number>255</number>
  537 + </property>
  538 + </widget>
  539 + </item>
  540 + <item row="4" column="0">
  541 + <widget class="QLabel" name="label_19">
  542 + <property name="font">
  543 + <font>
  544 + <family>나눔고딕</family>
  545 + <pointsize>15</pointsize>
  546 + <weight>75</weight>
  547 + <bold>true</bold>
  548 + </font>
  549 + </property>
  550 + <property name="text">
  551 + <string>넷마스크</string>
  552 + </property>
  553 + </widget>
  554 + </item>
  555 + <item row="0" column="1" rowspan="6">
  556 + <widget class="Line" name="line_5">
  557 + <property name="orientation">
  558 + <enum>Qt::Vertical</enum>
  559 + </property>
  560 + </widget>
  561 + </item>
  562 + <item row="4" column="4">
  563 + <widget class="FormatterSpinBox" name="ctrNetmask_1">
  564 + <property name="font">
  565 + <font>
  566 + <pointsize>14</pointsize>
  567 + <underline>true</underline>
  568 + </font>
  569 + </property>
  570 + <property name="alignment">
  571 + <set>Qt::AlignCenter</set>
  572 + </property>
  573 + <property name="buttonSymbols">
  574 + <enum>QAbstractSpinBox::NoButtons</enum>
  575 + </property>
  576 + <property name="maximum">
  577 + <number>255</number>
  578 + </property>
  579 + </widget>
  580 + </item>
  581 + </layout>
  582 + </item>
  583 + </layout>
  584 + </item>
  585 + <item>
  586 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  587 + <property name="leftMargin">
  588 + <number>10</number>
  589 + </property>
  590 + <property name="rightMargin">
  591 + <number>10</number>
  592 + </property>
  593 + <property name="bottomMargin">
  594 + <number>20</number>
  595 + </property>
  596 + <item row="0" column="5">
  597 + <widget class="QPushButton" name="ctrBtnCancel">
  598 + <property name="sizePolicy">
  599 + <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
  600 + <horstretch>0</horstretch>
  601 + <verstretch>0</verstretch>
  602 + </sizepolicy>
  603 + </property>
  604 + <property name="font">
  605 + <font>
  606 + <family>나눔고딕</family>
  607 + <pointsize>12</pointsize>
  608 + <underline>true</underline>
  609 + </font>
  610 + </property>
  611 + <property name="text">
  612 + <string>취소</string>
  613 + </property>
  614 + <property name="flat">
  615 + <bool>true</bool>
  616 + </property>
  617 + </widget>
  618 + </item>
  619 + <item row="0" column="4">
  620 + <widget class="QPushButton" name="ctrBtnOk">
  621 + <property name="sizePolicy">
  622 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  623 + <horstretch>0</horstretch>
  624 + <verstretch>0</verstretch>
  625 + </sizepolicy>
  626 + </property>
  627 + <property name="font">
  628 + <font>
  629 + <family>나눔고딕</family>
  630 + <pointsize>12</pointsize>
  631 + <underline>true</underline>
  632 + </font>
  633 + </property>
  634 + <property name="text">
  635 + <string>확인</string>
  636 + </property>
  637 + <property name="flat">
  638 + <bool>true</bool>
  639 + </property>
  640 + </widget>
  641 + </item>
  642 + </layout>
  643 + </item>
  644 + </layout>
  645 + </widget>
  646 + <widget class="KeyboardWidget" name="keyboardwidget" native="true">
  647 + <property name="geometry">
  648 + <rect>
  649 + <x>0</x>
  650 + <y>425</y>
  651 + <width>900</width>
  652 + <height>600</height>
  653 + </rect>
  654 + </property>
  655 + </widget>
  656 + </widget>
  657 + </widget>
  658 + <customwidgets>
  659 + <customwidget>
  660 + <class>KeyboardWidget</class>
  661 + <extends>QWidget</extends>
  662 + <header>keyboardwidget.h</header>
  663 + <container>1</container>
  664 + </customwidget>
  665 + <customwidget>
  666 + <class>FormatterSpinBox</class>
  667 + <extends>QSpinBox</extends>
  668 + <header>formatterspinbox.h</header>
  669 + </customwidget>
  670 + </customwidgets>
  671 + <resources/>
  672 + <connections/>
  673 +</ui>
app/gui/oven_control/configsoundselelectdlg.cpp
@@ -14,7 +14,6 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty @@ -14,7 +14,6 @@ ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgty
14 setWindowFlags(Qt::Widget | Qt::FramelessWindowHint); 14 setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
15 setAttribute(Qt::WA_NoSystemBackground); 15 setAttribute(Qt::WA_NoSystemBackground);
16 setAttribute(Qt::WA_TranslucentBackground); 16 setAttribute(Qt::WA_TranslucentBackground);
17 - setAttribute(Qt::WA_PaintOnScreen);  
18 17
19 this->setAttribute( Qt::WA_DeleteOnClose); 18 this->setAttribute( Qt::WA_DeleteOnClose);
20 19
app/gui/oven_control/configwindow.cpp
  1 +#include <QList>
1 #include "configwindow.h" 2 #include "configwindow.h"
2 #include "ui_configwindow.h" 3 #include "ui_configwindow.h"
3 - 4 +#include "configfavoritebutton.h"
4 #include "functiontestwindow.h" 5 #include "functiontestwindow.h"
5 #include "engineermenuwindow.h" 6 #include "engineermenuwindow.h"
6 #include "config.h" 7 #include "config.h"
  8 +#include "configinfodlg.h"
7 9
8 10
9 11
@@ -43,7 +45,10 @@ ConfigWindow::~ConfigWindow() @@ -43,7 +45,10 @@ ConfigWindow::~ConfigWindow()
43 45
44 void ConfigWindow::on_pushButton_clicked() 46 void ConfigWindow::on_pushButton_clicked()
45 { 47 {
46 - 48 + if(m_nCurConfigPos != config_menu_favorite){
  49 + m_nCurConfigPos = config_menu_favorite;
  50 + reloadUi();
  51 + }
47 } 52 }
48 53
49 void ConfigWindow::on_backButton_clicked() 54 void ConfigWindow::on_backButton_clicked()
@@ -53,9 +58,14 @@ void ConfigWindow::on_backButton_clicked() @@ -53,9 +58,14 @@ void ConfigWindow::on_backButton_clicked()
53 58
54 void ConfigWindow::on_pushButton_3_clicked() 59 void ConfigWindow::on_pushButton_3_clicked()
55 { 60 {
56 - EngineerMenuWindow *w = new EngineerMenuWindow(this); 61 + /*EngineerMenuWindow *w = new EngineerMenuWindow(this);
57 w->setWindowModality(Qt::WindowModal); 62 w->setWindowModality(Qt::WindowModal);
58 - w->showFullScreen(); 63 + w->showFullScreen();*/
  64 + if(m_nCurConfigPos != config_menu_service){
  65 + m_nCurConfigPos = config_menu_service;
  66 + reloadUi();
  67 + }
  68 +
59 } 69 }
60 70
61 void ConfigWindow::on_pushButton_8_clicked() //설정 버튼 71 void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
@@ -76,32 +86,74 @@ void ConfigWindow::reloadValue(){ @@ -76,32 +86,74 @@ void ConfigWindow::reloadValue(){
76 } 86 }
77 87
78 void ConfigWindow::onConfigBtnClicked(uint16_t id){ 88 void ConfigWindow::onConfigBtnClicked(uint16_t id){
79 - qDebug() << "config id prsess : " << id;  
80 Config *cfg = Config::getInstance(); 89 Config *cfg = Config::getInstance();
81 - cfg->execConfigWindow(this,(Define::ConfigType)id);  
82 - reloadValue(); 90 + QDialog* dlg;
  91 + switch(id){
  92 + case config_enter_engineer_mode:
  93 + {
  94 + EngineerMenuWindow *w = new EngineerMenuWindow(this);
  95 + w->setWindowModality(Qt::WindowModal);
  96 + w->showFullScreen();
  97 + break;
  98 + }
  99 + case config_software_info:
  100 + case config_hotline_chef:
  101 + case config_hotline_service:
  102 + dlg = new ConfigInfoDlg(this,(ConfigType)id);
  103 + dlg->exec();
  104 + break;
  105 + default:
  106 + cfg->execConfigWindow(this,(Define::ConfigType)id);
  107 + if(m_nCurConfigPos != config_menu_favorite) reloadValue();
  108 + break;
  109 +
  110 + }
83 } 111 }
84 112
85 113
86 void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){ 114 void ConfigWindow::onConfigCheckBtnClicked(uint16_t id, bool checked){
87 - 115 + Config* cfg = Config::getInstance();
  116 + qDebug()<<"favorite pressed " << id;
  117 + if(checked){
  118 + cfg->insertFavorite((ConfigType)id);
  119 + }
  120 + else{
  121 + cfg->removeFavorite((ConfigType)id);
  122 + }
88 } 123 }
89 124
90 void ConfigWindow::reloadUi(void){ 125 void ConfigWindow::reloadUi(void){
91 ConfigPanelButton** pws = m_vectorMenuList.data(); 126 ConfigPanelButton** pws = m_vectorMenuList.data();
  127 + ConfigFavoriteButton** fpws = m_vectorFavorMenuList.data();
  128 +
92 ConfigPanelButton* pw; 129 ConfigPanelButton* pw;
93 ConfigPanelButton *pcb; 130 ConfigPanelButton *pcb;
  131 +
  132 + ConfigFavoriteButton* fpw;
  133 + ConfigFavoriteButton* fpcb;
  134 +
  135 + uint32_t idx;
  136 +
  137 + int i = 0;
  138 +
94 Config* cfg = Config::getInstance(); 139 Config* cfg = Config::getInstance();
95 QString strtemp=""; 140 QString strtemp="";
96 - for(int i = 0; i < m_vectorMenuList.count();i++){ 141 + for(i = 0; i < m_vectorMenuList.count();i++){
97 pw = pws[i]; 142 pw = pws[i];
98 ui->scrollAreaMenuLayout->removeWidget(pw); 143 ui->scrollAreaMenuLayout->removeWidget(pw);
99 delete pw; 144 delete pw;
100 } 145 }
101 m_vectorMenuList.clear(); 146 m_vectorMenuList.clear();
102 147
  148 + for(i=0;i<m_vectorFavorMenuList.count();i++){
  149 + fpw = fpws[i];
  150 + ui->scrollAreaMenuLayout->removeWidget(fpw);
  151 + delete fpw;
  152 + }
  153 + m_vectorFavorMenuList.clear();
  154 +
103 if(m_nCurConfigPos != config_menu_favorite){ 155 if(m_nCurConfigPos != config_menu_favorite){
104 - for(int i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){ 156 + for(i=0 ; i < m_arrMaxMenuCount[m_nCurConfigPos] ;i++){
105 pcb = new ConfigPanelButton(this,m_arrConfigListInfos[m_nCurConfigPos][i]); 157 pcb = new ConfigPanelButton(this,m_arrConfigListInfos[m_nCurConfigPos][i]);
106 qDebug() <<m_arrConfigListInfos[m_nCurConfigPos][i] << cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]); 158 qDebug() <<m_arrConfigListInfos[m_nCurConfigPos][i] << cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
107 strtemp = cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]); 159 strtemp = cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
@@ -113,6 +165,20 @@ void ConfigWindow::reloadUi(void){ @@ -113,6 +165,20 @@ void ConfigWindow::reloadUi(void){
113 ui->scrollAreaMenuLayout->addWidget(pcb); 165 ui->scrollAreaMenuLayout->addWidget(pcb);
114 m_vectorMenuList.append(pcb); 166 m_vectorMenuList.append(pcb);
115 connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t))); 167 connect(pcb ,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t)));
  168 + connect(pcb,SIGNAL(checkButtonClicked(uint16_t,bool)),SLOT(onConfigCheckBtnClicked(uint16_t,bool)));
  169 + }
  170 + }
  171 + else{
  172 + QList<uint32_t> list = cfg->getConstSortedFavorite();
  173 + for(i=0;i < list.count();i++){
  174 + idx = list[i];
  175 + fpcb = new ConfigFavoriteButton(this,idx);
  176 + strtemp = cfg->getTitleString((ConfigType)idx);
  177 + fpcb->setText(strtemp);
  178 + ui->scrollAreaMenuLayout->addWidget(fpcb);
  179 + m_vectorFavorMenuList.append(fpcb);
  180 + connect(fpcb,SIGNAL(clicked(uint16_t)),SLOT(onConfigBtnClicked(uint16_t)));
  181 + connect(fpcb,SIGNAL(delBtnClicked(uint16_t)),SLOT(onDeleteFavoriteBtnClicked(uint16_t)));
116 } 182 }
117 } 183 }
118 184
@@ -135,3 +201,33 @@ void ConfigWindow::on_pushButton_2_clicked() @@ -135,3 +201,33 @@ void ConfigWindow::on_pushButton_2_clicked()
135 reloadUi(); 201 reloadUi();
136 } 202 }
137 } 203 }
  204 +
  205 +void ConfigWindow::on_pushButton_4_clicked()
  206 +{
  207 + if(m_nCurConfigPos != config_menu_energy){
  208 + m_nCurConfigPos = config_menu_energy;
  209 + reloadUi();
  210 + }
  211 +}
  212 +
  213 +void ConfigWindow::on_pushButton_5_clicked()
  214 +{
  215 + if(m_nCurConfigPos != config_menu_expert){
  216 + m_nCurConfigPos = config_menu_expert;
  217 + reloadUi();
  218 + }
  219 +}
  220 +
  221 +void ConfigWindow::onDeleteFavoriteBtnClicked(uint16_t id){
  222 + Config* cfg = Config::getInstance();
  223 + ConfigFavoriteButton* btn;
  224 + for(int i = 0;i<m_vectorFavorMenuList.count();i++){
  225 + if(m_vectorFavorMenuList[i]->getBtnId() == id){
  226 + btn = m_vectorFavorMenuList[i];
  227 + ui->scrollAreaMenuLayout->removeWidget(btn);
  228 + m_vectorFavorMenuList.remove(i);
  229 + delete btn;
  230 + cfg->removeFavorite((ConfigType)id);
  231 + }
  232 + }
  233 +}
app/gui/oven_control/configwindow.h
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 6
7 #include "udphandler.h" 7 #include "udphandler.h"
8 #include "configpanelbutton.h" 8 #include "configpanelbutton.h"
  9 +#include "configfavoritebutton.h"
9 #include "config.h" 10 #include "config.h"
10 11
11 using namespace Define; 12 using namespace Define;
@@ -31,16 +32,16 @@ class ConfigWindow : public QMainWindow @@ -31,16 +32,16 @@ class ConfigWindow : public QMainWindow
31 32
32 private: 33 private:
33 const uint16_t m_arrMaxMenuCount[7] ={ 34 const uint16_t m_arrMaxMenuCount[7] ={
34 - 5,8,8, 35 + 5,8,7,2,1,0,5
35 }; 36 };
36 const Define::ConfigType m_arrConfigListInfos[7][20] = { 37 const Define::ConfigType m_arrConfigListInfos[7][20] = {
37 {config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, 38 {config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,},
38 {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},
39 - {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}, 40 + {config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_ip,config_set_download,config_set_upload},
  41 + {config_set_half_energy,config_set_auto_darkness,},
  42 + {config_duty_wash,},
40 {config_invalid,}, 43 {config_invalid,},
41 - {config_invalid,},  
42 - {config_invalid,},  
43 - {config_invalid,} 44 + {config_software_info,config_hotline_chef,config_hotline_service,config_steam_wash,config_enter_engineer_mode}
44 }; 45 };
45 void reloadUi(void); 46 void reloadUi(void);
46 void reloadValue(void); 47 void reloadValue(void);
@@ -63,13 +64,19 @@ private slots: @@ -63,13 +64,19 @@ private slots:
63 64
64 void on_pushButton_2_clicked(); 65 void on_pushButton_2_clicked();
65 66
  67 + void on_pushButton_4_clicked();
  68 +
  69 + void on_pushButton_5_clicked();
  70 +
66 public slots: 71 public slots:
67 void onConfigBtnClicked(uint16_t id); 72 void onConfigBtnClicked(uint16_t id);
68 void onConfigCheckBtnClicked(uint16_t id, bool checked); 73 void onConfigCheckBtnClicked(uint16_t id, bool checked);
  74 + void onDeleteFavoriteBtnClicked(uint16_t id);
69 75
70 private: 76 private:
71 Ui::ConfigWindow *ui; 77 Ui::ConfigWindow *ui;
72 QVector<ConfigPanelButton *> m_vectorMenuList; 78 QVector<ConfigPanelButton *> m_vectorMenuList;
  79 + QVector<ConfigFavoriteButton*> m_vectorFavorMenuList;
73 CONFIG_MENU_POS m_nCurConfigPos; 80 CONFIG_MENU_POS m_nCurConfigPos;
74 }; 81 };
75 82
app/gui/oven_control/images/config/100_fav_pannel_icon.png

1.48 KB

app/gui/oven_control/images/config/100_fav_pannel_icon_ov.png

1.48 KB

app/gui/oven_control/images/config/105_icon_cancel.png

1.89 KB

app/gui/oven_control/images/config/105_icon_cancel_ov.png

1.89 KB

app/gui/oven_control/images/config/105_icon_download.png

2.67 KB

app/gui/oven_control/images/config/105_icon_download_ov.png

2.67 KB

app/gui/oven_control/images/config/111_icon_upload.png

2.87 KB

app/gui/oven_control/oven_control.pro
@@ -86,7 +86,14 @@ SOURCES += main.cpp\ @@ -86,7 +86,14 @@ SOURCES += main.cpp\
86 favoritenamepopup.cpp \ 86 favoritenamepopup.cpp \
87 confirmpopup.cpp \ 87 confirmpopup.cpp \
88 usbcheckpopupdlg.cpp \ 88 usbcheckpopupdlg.cpp \
89 - stringer.cpp 89 + stringer.cpp \
  90 + config1digitsetdlg.cpp \
  91 + configdutywashdlg.cpp \
  92 + configfileprocessdlg.cpp \
  93 + confighalfenergydlg.cpp \
  94 + configinfodlg.cpp \
  95 + configipdlg.cpp \
  96 + configfavoritebutton.cpp
90 97
91 HEADERS += mainwindow.h \ 98 HEADERS += mainwindow.h \
92 cook.h \ 99 cook.h \
@@ -162,7 +169,14 @@ HEADERS += mainwindow.h \ @@ -162,7 +169,14 @@ HEADERS += mainwindow.h \
162 favoritenamepopup.h \ 169 favoritenamepopup.h \
163 confirmpopup.h \ 170 confirmpopup.h \
164 usbcheckpopupdlg.h \ 171 usbcheckpopupdlg.h \
165 - stringer.h 172 + stringer.h \
  173 + config1digitsetdlg.h \
  174 + configdutywashdlg.h \
  175 + configfileprocessdlg.h \
  176 + confighalfenergydlg.h \
  177 + configinfodlg.h \
  178 + configipdlg.h \
  179 + configfavoritebutton.h
166 180
167 FORMS += mainwindow.ui \ 181 FORMS += mainwindow.ui \
168 manualcookwindow.ui \ 182 manualcookwindow.ui \
@@ -213,7 +227,14 @@ FORMS += mainwindow.ui \ @@ -213,7 +227,14 @@ FORMS += mainwindow.ui \
213 autocooksettingwidget.ui \ 227 autocooksettingwidget.ui \
214 favoritenamepopup.ui \ 228 favoritenamepopup.ui \
215 confirmpopup.ui \ 229 confirmpopup.ui \
216 - usbcheckpopupdlg.ui 230 + usbcheckpopupdlg.ui \
  231 + config1digitsetdlg.ui \
  232 + configdutywashdlg.ui \
  233 + configfileprocessdlg.ui \
  234 + confighalfenergydlg.ui \
  235 + configinfodlg.ui \
  236 + configipdlg.ui \
  237 + configfavoritebutton.ui
217 238
218 RESOURCES += \ 239 RESOURCES += \
219 resources.qrc 240 resources.qrc
app/gui/oven_control/resources.qrc
@@ -538,5 +538,12 @@ @@ -538,5 +538,12 @@
538 <file>sounds/start.wav</file> 538 <file>sounds/start.wav</file>
539 <file>sounds/stop.wav</file> 539 <file>sounds/stop.wav</file>
540 <file>sounds/button.wav</file> 540 <file>sounds/button.wav</file>
  541 + <file>images/config/100_fav_pannel_icon_ov.png</file>
  542 + <file>images/config/100_fav_pannel_icon.png</file>
  543 + <file>images/config/105_icon_cancel_ov.png</file>
  544 + <file>images/config/105_icon_cancel.png</file>
  545 + <file>images/config/105_icon_download_ov.png</file>
  546 + <file>images/config/105_icon_download.png</file>
  547 + <file>images/config/111_icon_upload.png</file>
541 </qresource> 548 </qresource>
542 </RCC> 549 </RCC>
app/gui/oven_control/usbcheckpopupdlg.cpp
  1 +#include <QTimer>
1 #include "usbcheckpopupdlg.h" 2 #include "usbcheckpopupdlg.h"
2 #include "ui_usbcheckpopupdlg.h" 3 #include "ui_usbcheckpopupdlg.h"
3 4
@@ -6,9 +7,27 @@ UsbCheckPopupDlg::UsbCheckPopupDlg(QWidget *parent) : @@ -6,9 +7,27 @@ UsbCheckPopupDlg::UsbCheckPopupDlg(QWidget *parent) :
6 ui(new Ui::UsbCheckPopupDlg) 7 ui(new Ui::UsbCheckPopupDlg)
7 { 8 {
8 ui->setupUi(this); 9 ui->setupUi(this);
  10 + setAttribute(Qt::WA_DeleteOnClose);
  11 + setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
  12 + setAttribute(Qt::WA_NoSystemBackground);
  13 + setAttribute(Qt::WA_TranslucentBackground);
  14 +
  15 +
  16 + timer = new QTimer(this);
  17 + connect(timer,SIGNAL(timeout()),SLOT(usbCheckTimerFired()));
  18 + timer->start(500);
9 } 19 }
10 20
11 UsbCheckPopupDlg::~UsbCheckPopupDlg() 21 UsbCheckPopupDlg::~UsbCheckPopupDlg()
12 { 22 {
13 delete ui; 23 delete ui;
14 } 24 }
  25 +
  26 +void UsbCheckPopupDlg::on_ctrBtnYes_clicked()
  27 +{
  28 + accept();
  29 +}
  30 +
  31 +void UsbCheckPopupDlg::usbCheckTimerFired(){
  32 +
  33 +}
app/gui/oven_control/usbcheckpopupdlg.h
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 #define USBCHECKPOPUPDLG_H 2 #define USBCHECKPOPUPDLG_H
3 3
4 #include <QDialog> 4 #include <QDialog>
  5 +#include <QTimer>
5 6
6 namespace Ui { 7 namespace Ui {
7 class UsbCheckPopupDlg; 8 class UsbCheckPopupDlg;
@@ -15,8 +16,13 @@ public: @@ -15,8 +16,13 @@ public:
15 explicit UsbCheckPopupDlg(QWidget *parent = 0); 16 explicit UsbCheckPopupDlg(QWidget *parent = 0);
16 ~UsbCheckPopupDlg(); 17 ~UsbCheckPopupDlg();
17 18
  19 +private slots:
  20 + void on_ctrBtnYes_clicked();
  21 + void usbCheckTimerFired();
  22 +
18 private: 23 private:
19 Ui::UsbCheckPopupDlg *ui; 24 Ui::UsbCheckPopupDlg *ui;
  25 + QTimer *timer;
20 }; 26 };
21 27
22 #endif // USBCHECKPOPUPDLG_H 28 #endif // USBCHECKPOPUPDLG_H