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 10 #include "configmastervolumedlg.h"
11 11 #include "configsoundselelectdlg.h"
12 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 20 using namespace Define;
15 21  
... ... @@ -116,8 +122,17 @@ QString Config::getValueString(Define::ConfigType idx){
116 122 break;
117 123 case config_ip:
118 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 133 break;
120 134 default:
  135 + qstrTemp = "";
121 136 break;
122 137 }
123 138 return qstrTemp;
... ... @@ -139,6 +154,12 @@ QSetIterator&lt;uint32_t&gt; Config::getConstBeginFavorite(){
139 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 163 bool Config::loadFavorite(void){
143 164 return false;
144 165 }
... ... @@ -174,6 +195,7 @@ QString Config::getTempString(int cel_temp){
174 195  
175 196 void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
176 197 QDialog *dlg;
  198 + bool bUsbDetect = false;
177 199 switch(idx){
178 200 case config_datetime:
179 201 dlg = new ConfigDateTimeDlg(parent);
... ... @@ -207,6 +229,40 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
207 229 case config_sound_factory_reset:
208 230 dlg = new YesNoPopupDlg(parent, tr("모든 음향설정 값을 공장초기화\r하시겠습니까?"));
209 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 267 if(dlg == NULL) return;
212 268 dlg->setWindowModality(Qt::WindowModal);
... ...
app/gui/oven_control/config.h
... ... @@ -8,7 +8,11 @@
8 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 17 namespace Define
14 18 {
... ... @@ -52,6 +56,12 @@ namespace Define
52 56 config_duty_wash,
53 57 config_loading_door_monitoring,
54 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 65 config_invalid = MAX_CONFIG_COUNT
56 66 };
57 67  
... ... @@ -109,7 +119,12 @@ namespace Define
109 119 config_item duty_wash;
110 120 config_item loading_door_monitoring;
111 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 128 }items;
114 129 }STRUCT_PACK config_lists;
115 130  
... ... @@ -189,6 +204,23 @@ namespace Define
189 204 2,
190 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 252 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02,
221 253 0x02, 0x02, 0x02,0x02, 0x02,0x02, 0x80, 0x80, 0x80, 0x02, 0x02,
222 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 259 const char config_format_kr[MAX_CONFIG_COUNT][64]={
... ... @@ -262,7 +295,13 @@ class Config : public QObject
262 295 "%d", //config_set_load_ready,
263 296 "%s", //config_duty_wash,
264 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 346 "적재중 대기 시간", //config_set_load_ready,
308 347 "의무 세척과정", //config_duty_wash,
309 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 358 QSet<uint32_t> m_setFavorite;
... ... @@ -324,6 +369,7 @@ public:
324 369 QString getTitleString(Define::ConfigType idx);
325 370 bool isFavorite(Define::ConfigType idx);
326 371 QSetIterator<uint32_t> getConstBeginFavorite();
  372 + QList<uint32_t> getConstSortedFavorite();
327 373 bool loadFavorite(void);
328 374 bool saveFavorite(void);
329 375 void insertFavorite(Define::ConfigType idx);
... ...
app/gui/oven_control/config1digitsetdlg.cpp
... ... @@ -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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 @@
  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 14 setWindowFlags(Qt::Widget | Qt::FramelessWindowHint);
15 15 setAttribute(Qt::WA_NoSystemBackground);
16 16 setAttribute(Qt::WA_TranslucentBackground);
17   - setAttribute(Qt::WA_PaintOnScreen);
18 17  
19 18 this->setAttribute( Qt::WA_DeleteOnClose);
20 19  
... ...
app/gui/oven_control/configwindow.cpp
  1 +#include <QList>
1 2 #include "configwindow.h"
2 3 #include "ui_configwindow.h"
3   -
  4 +#include "configfavoritebutton.h"
4 5 #include "functiontestwindow.h"
5 6 #include "engineermenuwindow.h"
6 7 #include "config.h"
  8 +#include "configinfodlg.h"
7 9  
8 10  
9 11  
... ... @@ -43,7 +45,10 @@ ConfigWindow::~ConfigWindow()
43 45  
44 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 54 void ConfigWindow::on_backButton_clicked()
... ... @@ -53,9 +58,14 @@ void ConfigWindow::on_backButton_clicked()
53 58  
54 59 void ConfigWindow::on_pushButton_3_clicked()
55 60 {
56   - EngineerMenuWindow *w = new EngineerMenuWindow(this);
  61 + /*EngineerMenuWindow *w = new EngineerMenuWindow(this);
57 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 71 void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
... ... @@ -76,32 +86,74 @@ void ConfigWindow::reloadValue(){
76 86 }
77 87  
78 88 void ConfigWindow::onConfigBtnClicked(uint16_t id){
79   - qDebug() << "config id prsess : " << id;
80 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 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 125 void ConfigWindow::reloadUi(void){
91 126 ConfigPanelButton** pws = m_vectorMenuList.data();
  127 + ConfigFavoriteButton** fpws = m_vectorFavorMenuList.data();
  128 +
92 129 ConfigPanelButton* pw;
93 130 ConfigPanelButton *pcb;
  131 +
  132 + ConfigFavoriteButton* fpw;
  133 + ConfigFavoriteButton* fpcb;
  134 +
  135 + uint32_t idx;
  136 +
  137 + int i = 0;
  138 +
94 139 Config* cfg = Config::getInstance();
95 140 QString strtemp="";
96   - for(int i = 0; i < m_vectorMenuList.count();i++){
  141 + for(i = 0; i < m_vectorMenuList.count();i++){
97 142 pw = pws[i];
98 143 ui->scrollAreaMenuLayout->removeWidget(pw);
99 144 delete pw;
100 145 }
101 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 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 157 pcb = new ConfigPanelButton(this,m_arrConfigListInfos[m_nCurConfigPos][i]);
106 158 qDebug() <<m_arrConfigListInfos[m_nCurConfigPos][i] << cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
107 159 strtemp = cfg->getTitleString(m_arrConfigListInfos[m_nCurConfigPos][i]);
... ... @@ -113,6 +165,20 @@ void ConfigWindow::reloadUi(void){
113 165 ui->scrollAreaMenuLayout->addWidget(pcb);
114 166 m_vectorMenuList.append(pcb);
115 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 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  
7 7 #include "udphandler.h"
8 8 #include "configpanelbutton.h"
  9 +#include "configfavoritebutton.h"
9 10 #include "config.h"
10 11  
11 12 using namespace Define;
... ... @@ -31,16 +32,16 @@ class ConfigWindow : public QMainWindow
31 32  
32 33 private:
33 34 const uint16_t m_arrMaxMenuCount[7] ={
34   - 5,8,8,
  35 + 5,8,7,2,1,0,5
35 36 };
36 37 const Define::ConfigType m_arrConfigListInfos[7][20] = {
37 38 {config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,},
38 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 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 46 void reloadUi(void);
46 47 void reloadValue(void);
... ... @@ -63,13 +64,19 @@ private slots:
63 64  
64 65 void on_pushButton_2_clicked();
65 66  
  67 + void on_pushButton_4_clicked();
  68 +
  69 + void on_pushButton_5_clicked();
  70 +
66 71 public slots:
67 72 void onConfigBtnClicked(uint16_t id);
68 73 void onConfigCheckBtnClicked(uint16_t id, bool checked);
  74 + void onDeleteFavoriteBtnClicked(uint16_t id);
69 75  
70 76 private:
71 77 Ui::ConfigWindow *ui;
72 78 QVector<ConfigPanelButton *> m_vectorMenuList;
  79 + QVector<ConfigFavoriteButton*> m_vectorFavorMenuList;
73 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 86 favoritenamepopup.cpp \
87 87 confirmpopup.cpp \
88 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 98 HEADERS += mainwindow.h \
92 99 cook.h \
... ... @@ -162,7 +169,14 @@ HEADERS += mainwindow.h \
162 169 favoritenamepopup.h \
163 170 confirmpopup.h \
164 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 181 FORMS += mainwindow.ui \
168 182 manualcookwindow.ui \
... ... @@ -213,7 +227,14 @@ FORMS += mainwindow.ui \
213 227 autocooksettingwidget.ui \
214 228 favoritenamepopup.ui \
215 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 239 RESOURCES += \
219 240 resources.qrc
... ...
app/gui/oven_control/resources.qrc
... ... @@ -538,5 +538,12 @@
538 538 <file>sounds/start.wav</file>
539 539 <file>sounds/stop.wav</file>
540 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 548 </qresource>
542 549 </RCC>
... ...
app/gui/oven_control/usbcheckpopupdlg.cpp
  1 +#include <QTimer>
1 2 #include "usbcheckpopupdlg.h"
2 3 #include "ui_usbcheckpopupdlg.h"
3 4  
... ... @@ -6,9 +7,27 @@ UsbCheckPopupDlg::UsbCheckPopupDlg(QWidget *parent) :
6 7 ui(new Ui::UsbCheckPopupDlg)
7 8 {
8 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 21 UsbCheckPopupDlg::~UsbCheckPopupDlg()
12 22 {
13 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 2 #define USBCHECKPOPUPDLG_H
3 3  
4 4 #include <QDialog>
  5 +#include <QTimer>
5 6  
6 7 namespace Ui {
7 8 class UsbCheckPopupDlg;
... ... @@ -15,8 +16,13 @@ public:
15 16 explicit UsbCheckPopupDlg(QWidget *parent = 0);
16 17 ~UsbCheckPopupDlg();
17 18  
  19 +private slots:
  20 + void on_ctrBtnYes_clicked();
  21 + void usbCheckTimerFired();
  22 +
18 23 private:
19 24 Ui::UsbCheckPopupDlg *ui;
  25 + QTimer *timer;
20 26 };
21 27  
22 28 #endif // USBCHECKPOPUPDLG_H
... ...