Commit 92fef6124962d92c541a4def104963980ad27ea0

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

환경 설정 - 설정 UI 완료

- 환경 설정 -> 설정 UI 완료
- 키보드 추가
- 커스텀 스핀 박스 추가
- 볼륨조정, 화면 밝기 조정용 프로그레스 바 추가
Showing 49 changed files with 5132 additions and 36 deletions   Show diff stats
app/gui/oven_control/config.cpp
1 1 #include <QDebug>
2 2 #include <QDateTime>
3 3 #include "config.h"
  4 +#include "configdatetimedlg.h"
  5 +#include "configlanguagedlg.h"
  6 +#include "configtemptypedlg.h"
  7 +#include "configbacklightdlg.h"
  8 +#include "configtimeformatdlg.h"
  9 +#include "configresttimeformatdlg.h"
  10 +#include "configmastervolumedlg.h"
4 11  
5 12 using namespace Define;
6 13  
... ... @@ -158,8 +165,43 @@ QString Config::getTempString(int cel_temp){
158 165 }
159 166  
160 167 void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){
161   -
  168 + QDialog *dlg;
  169 + switch(idx){
  170 + case config_datetime:
  171 + dlg = new ConfigDateTimeDlg(parent);
  172 + break;
  173 + case config_language:
  174 + dlg = new ConfigLanguageDlg(parent);
  175 + break;
  176 + case config_temptype:
  177 + dlg = new ConfigTempTypeDlg(parent);
  178 + break;
  179 + case config_backlight:
  180 + dlg = new ConfigBackLightDlg(parent);
  181 + break;
  182 + case config_time_type:
  183 + dlg = new ConfigTimeFormatDlg(parent);
  184 + break;
  185 + case config_resttime_format:
  186 + dlg = new configResttimeFormatDlg(parent);
  187 + break;
  188 + case config_marster_vol:
  189 + dlg = new ConfigMasterVolumeDlg(parent);
  190 + break;
  191 + }
  192 + dlg->setWindowModality(Qt::ApplicationModal);
  193 + dlg->exec();
  194 + if(dlg->result() == QDialog::Accepted){
  195 + qDebug()<<"Accepted";
  196 + }
  197 + else{
  198 + qDebug() << "rejected";
  199 + }
162 200 }
163 201  
164 202  
165 203  
  204 +
  205 +
  206 +
  207 +
... ...
app/gui/oven_control/config.h
... ... @@ -75,6 +75,36 @@ namespace Define
75 75 config_item sound_factory_reset;
76 76 }items;
77 77 }STRUCT_PACK config_lists;
  78 +
  79 + const char language_menu[3][20]{
  80 + "한국어\0",
  81 + "中國語\0",
  82 + "English"
  83 + };
  84 +
  85 + const char time_type_menu[2][16]={
  86 + "24h\0",
  87 + "am/pm\0"
  88 + };
  89 +
  90 + const char temptype_menu[2][16]{
  91 + "섭씨(℃)\0",
  92 + "화씨(℉)\0"
  93 + };
  94 +
  95 + const char best_dish_weight_menu[4][16]={
  96 + "700g\0",
  97 + "700-899g\0",
  98 + "900-1099g\0",
  99 + "1100g"
  100 + };
  101 +
  102 +
  103 +
  104 + const char rest_time_type_menu[2][16] = {
  105 + "잔여시간\0",
  106 + "타겟시간\0"
  107 + };
78 108 }
79 109  
80 110  
... ... @@ -88,33 +118,9 @@ class Config : public QObject
88 118  
89 119 static Config *instance;
90 120  
91   - const char language_menu[3][20]{
92   - "한국어\0",
93   - "中國語\0",
94   - "English"
95   - };
96   -
97   - const char temptype_menu[2][16]{
98   - "섭씨(℃)\0",
99   - "화씨(℉)\0"
100   - };
101 121  
102   - const char best_dish_weight_menu[4][16]={
103   - "700g\0",
104   - "700-899g\0",
105   - "900-1099g\0",
106   - "1100g"
107   - };
108 122  
109   - const char time_type_menu[2][16]={
110   - "24h\0",
111   - "am/pm\0"
112   - };
113 123  
114   - const char rest_time_type_menu[2][16] = {
115   - "잔여시간\0",
116   - "타겟시간\0"
117   - };
118 124  
119 125  
120 126  
... ... @@ -153,6 +159,7 @@ class Config : public QObject
153 159 "공장초기화"
154 160 };
155 161  
  162 +
156 163 char config_format[MAX_CONFIG_COUNT][64];
157 164  
158 165 const char config_title[MAX_CONFIG_COUNT][64]={
... ...
app/gui/oven_control/configbacklightdlg.cpp
... ... @@ -0,0 +1,65 @@
  1 +#include "configbacklightdlg.h"
  2 +#include "ui_configbacklightdlg.h"
  3 +#include "config.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +#define MAX_LIGHT 7
  8 +#define MIN_LIGHT 0
  9 +
  10 +ConfigBackLightDlg::ConfigBackLightDlg(QWidget *parent) :
  11 + QDialog(parent),
  12 + ui(new Ui::ConfigBackLightDlg)
  13 +{
  14 + Config* cfg = Config::getInstance();
  15 + Define::config_item item;
  16 + ui->setupUi(this);
  17 + this->setWindowFlags( Qt::FramelessWindowHint);
  18 + this->setAttribute( Qt::WA_DeleteOnClose);
  19 + showFullScreen();
  20 + item = cfg->getConfigValue(config_backlight);
  21 + m_nSelBackLight = item.d32;
  22 + ui->ctrProgressLight->setMaxProgress(0,MAX_LIGHT);
  23 + ui->ctrProgressLight->setCurrentProgress(m_nSelBackLight);
  24 +}
  25 +
  26 +ConfigBackLightDlg::~ConfigBackLightDlg()
  27 +{
  28 + delete ui;
  29 +}
  30 +
  31 +void ConfigBackLightDlg::on_ctrBtnOk_clicked()
  32 +{
  33 + Config* cfg = Config::getInstance();
  34 + config_item item;
  35 + item.d32 = m_nSelBackLight;
  36 + cfg->setConfigValue(config_backlight,item);
  37 + accept();
  38 +}
  39 +
  40 +
  41 +
  42 +void ConfigBackLightDlg::on_ctrBtnCancel_clicked()
  43 +{
  44 + reject();
  45 +}
  46 +
  47 +void ConfigBackLightDlg::on_pushButton_clicked()
  48 +{
  49 +
  50 +}
  51 +
  52 +void ConfigBackLightDlg::on_ctrBtnPlus_clicked()
  53 +{
  54 + //minus button;
  55 + m_nSelBackLight = m_nSelBackLight>0?m_nSelBackLight-1:0;
  56 + ui->ctrProgressLight->setCurrentProgress(m_nSelBackLight);
  57 +}
  58 +
  59 +
  60 +
  61 +void ConfigBackLightDlg::on_ctrBtnMinus_clicked()
  62 +{
  63 + m_nSelBackLight = m_nSelBackLight<7?m_nSelBackLight+1:7;
  64 + ui->ctrProgressLight->setCurrentProgress(m_nSelBackLight);
  65 +}
... ...
app/gui/oven_control/configbacklightdlg.h
... ... @@ -0,0 +1,34 @@
  1 +#ifndef CONFIGBACKLIGHTDLG_H
  2 +#define CONFIGBACKLIGHTDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ConfigBackLightDlg;
  8 +}
  9 +
  10 +class ConfigBackLightDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigBackLightDlg(QWidget *parent = 0);
  16 + ~ConfigBackLightDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_ctrBtnCancel_clicked();
  22 +
  23 + void on_pushButton_clicked();
  24 +
  25 + void on_ctrBtnPlus_clicked();
  26 +
  27 + void on_ctrBtnMinus_clicked();
  28 +
  29 +private:
  30 + Ui::ConfigBackLightDlg *ui;
  31 + int m_nSelBackLight;
  32 +};
  33 +
  34 +#endif // CONFIGBACKLIGHTDLG_H
... ...
app/gui/oven_control/configbacklightdlg.ui
... ... @@ -0,0 +1,237 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigBackLightDlg</class>
  4 + <widget class="QDialog" name="ConfigBackLightDlg">
  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 +QLabel{
  25 + color : white;
  26 +}
  27 +
  28 +QPushButton{
  29 + color : white;
  30 +}
  31 +
  32 +QPushButton::pressed, QPushButton::focus{
  33 + color : yellow;
  34 +}</string>
  35 + </property>
  36 + <widget class="QWidget" name="centralwidget" native="true">
  37 + <property name="geometry">
  38 + <rect>
  39 + <x>0</x>
  40 + <y>450</y>
  41 + <width>900</width>
  42 + <height>425</height>
  43 + </rect>
  44 + </property>
  45 + <property name="styleSheet">
  46 + <string notr="true"/>
  47 + </property>
  48 + <layout class="QVBoxLayout" name="verticalLayout" stretch="8,0,18,9">
  49 + <property name="spacing">
  50 + <number>0</number>
  51 + </property>
  52 + <property name="sizeConstraint">
  53 + <enum>QLayout::SetDefaultConstraint</enum>
  54 + </property>
  55 + <property name="leftMargin">
  56 + <number>0</number>
  57 + </property>
  58 + <property name="topMargin">
  59 + <number>0</number>
  60 + </property>
  61 + <property name="rightMargin">
  62 + <number>0</number>
  63 + </property>
  64 + <property name="bottomMargin">
  65 + <number>0</number>
  66 + </property>
  67 + <item>
  68 + <widget class="QLabel" name="label">
  69 + <property name="font">
  70 + <font>
  71 + <pointsize>18</pointsize>
  72 + <weight>75</weight>
  73 + <bold>true</bold>
  74 + </font>
  75 + </property>
  76 + <property name="text">
  77 + <string>화면밝기</string>
  78 + </property>
  79 + <property name="alignment">
  80 + <set>Qt::AlignCenter</set>
  81 + </property>
  82 + </widget>
  83 + </item>
  84 + <item>
  85 + <widget class="Line" name="line">
  86 + <property name="orientation">
  87 + <enum>Qt::Horizontal</enum>
  88 + </property>
  89 + </widget>
  90 + </item>
  91 + <item>
  92 + <layout class="QHBoxLayout" name="horizontalLayout">
  93 + <property name="spacing">
  94 + <number>6</number>
  95 + </property>
  96 + <property name="leftMargin">
  97 + <number>50</number>
  98 + </property>
  99 + <property name="rightMargin">
  100 + <number>50</number>
  101 + </property>
  102 + <item>
  103 + <widget class="QPushButton" name="ctrBtnPlus">
  104 + <property name="minimumSize">
  105 + <size>
  106 + <width>108</width>
  107 + <height>108</height>
  108 + </size>
  109 + </property>
  110 + <property name="maximumSize">
  111 + <size>
  112 + <width>108</width>
  113 + <height>108</height>
  114 + </size>
  115 + </property>
  116 + <property name="styleSheet">
  117 + <string notr="true">QPushButton{
  118 + border-image : url(:/images/config/101_br_icon_02.png);
  119 +}
  120 +
  121 +QPushButton::pressed, QPushButton::focus{
  122 + border-image : url(:/images/config/101_br_icon_02_ov.png);
  123 +}</string>
  124 + </property>
  125 + <property name="text">
  126 + <string/>
  127 + </property>
  128 + </widget>
  129 + </item>
  130 + <item>
  131 + <widget class="DotProgressBarWidget" name="ctrProgressLight" native="true">
  132 + <property name="minimumSize">
  133 + <size>
  134 + <width>0</width>
  135 + <height>200</height>
  136 + </size>
  137 + </property>
  138 + </widget>
  139 + </item>
  140 + <item>
  141 + <widget class="QPushButton" name="ctrBtnMinus">
  142 + <property name="minimumSize">
  143 + <size>
  144 + <width>108</width>
  145 + <height>108</height>
  146 + </size>
  147 + </property>
  148 + <property name="maximumSize">
  149 + <size>
  150 + <width>108</width>
  151 + <height>108</height>
  152 + </size>
  153 + </property>
  154 + <property name="styleSheet">
  155 + <string notr="true">QPushButton{
  156 + border-image : url(:/images/config/101_br_icon_01.png);
  157 +}
  158 +
  159 +QPushButton::pressed, QPushButton::focus{
  160 + border-image : url(:/images/config/101_br_icon_01_ov.png);
  161 +}</string>
  162 + </property>
  163 + <property name="text">
  164 + <string/>
  165 + </property>
  166 + </widget>
  167 + </item>
  168 + </layout>
  169 + </item>
  170 + <item>
  171 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  172 + <item row="0" column="5">
  173 + <widget class="QPushButton" name="ctrBtnCancel">
  174 + <property name="sizePolicy">
  175 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  176 + <horstretch>0</horstretch>
  177 + <verstretch>0</verstretch>
  178 + </sizepolicy>
  179 + </property>
  180 + <property name="font">
  181 + <font>
  182 + <family>나눔고딕</family>
  183 + <pointsize>10</pointsize>
  184 + <weight>75</weight>
  185 + <bold>true</bold>
  186 + <underline>true</underline>
  187 + </font>
  188 + </property>
  189 + <property name="text">
  190 + <string>취소</string>
  191 + </property>
  192 + <property name="flat">
  193 + <bool>true</bool>
  194 + </property>
  195 + </widget>
  196 + </item>
  197 + <item row="0" column="4">
  198 + <widget class="QPushButton" name="ctrBtnOk">
  199 + <property name="sizePolicy">
  200 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  201 + <horstretch>0</horstretch>
  202 + <verstretch>0</verstretch>
  203 + </sizepolicy>
  204 + </property>
  205 + <property name="font">
  206 + <font>
  207 + <family>나눔고딕</family>
  208 + <pointsize>10</pointsize>
  209 + <weight>75</weight>
  210 + <bold>true</bold>
  211 + <underline>true</underline>
  212 + </font>
  213 + </property>
  214 + <property name="text">
  215 + <string>확인</string>
  216 + </property>
  217 + <property name="flat">
  218 + <bool>true</bool>
  219 + </property>
  220 + </widget>
  221 + </item>
  222 + </layout>
  223 + </item>
  224 + </layout>
  225 + </widget>
  226 + </widget>
  227 + <customwidgets>
  228 + <customwidget>
  229 + <class>DotProgressBarWidget</class>
  230 + <extends>QWidget</extends>
  231 + <header>dotprogressbarwidget.h</header>
  232 + <container>1</container>
  233 + </customwidget>
  234 + </customwidgets>
  235 + <resources/>
  236 + <connections/>
  237 +</ui>
... ...
app/gui/oven_control/configdatetimedlg.cpp
... ... @@ -0,0 +1,32 @@
  1 +#include "configdatetimedlg.h"
  2 +#include "ui_configdatetimedlg.h"
  3 +
  4 +ConfigDateTimeDlg::ConfigDateTimeDlg(QWidget *parent) :
  5 + QDialog(parent),
  6 + ui(new Ui::ConfigDateTimeDlg)
  7 +{
  8 + ui->setupUi(this);
  9 + this->setWindowFlags( Qt::FramelessWindowHint);
  10 + this->setAttribute( Qt::WA_DeleteOnClose);
  11 + ui->ctrSpBxYear->setFormatterWidth(4);
  12 +}
  13 +
  14 +ConfigDateTimeDlg::~ConfigDateTimeDlg()
  15 +{
  16 + delete ui;
  17 +}
  18 +
  19 +void ConfigDateTimeDlg::on_ctrBtnOk_clicked()
  20 +{
  21 + this->accept();
  22 +}
  23 +
  24 +void ConfigDateTimeDlg::on_spinBox_valueChanged(int arg1)
  25 +{
  26 +
  27 +}
  28 +
  29 +void ConfigDateTimeDlg::on_ctrBtnCancel_clicked()
  30 +{
  31 + this->reject();
  32 +}
... ...
app/gui/oven_control/configdatetimedlg.h
... ... @@ -0,0 +1,29 @@
  1 +#ifndef CONFIGDATETIMEDLG_H
  2 +#define CONFIGDATETIMEDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ConfigDateTimeDlg;
  8 +}
  9 +
  10 +class ConfigDateTimeDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigDateTimeDlg(QWidget *parent = 0);
  16 + ~ConfigDateTimeDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_spinBox_valueChanged(int arg1);
  22 +
  23 + void on_ctrBtnCancel_clicked();
  24 +
  25 +private:
  26 + Ui::ConfigDateTimeDlg *ui;
  27 +};
  28 +
  29 +#endif // CONFIGDATETIMEDLG_H
... ...
app/gui/oven_control/configdatetimedlg.ui
... ... @@ -0,0 +1,493 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigDateTimeDlg</class>
  4 + <widget class="QDialog" name="ConfigDateTimeDlg">
  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>421</height>
  63 + </rect>
  64 + </property>
  65 + <layout class="QVBoxLayout" name="verticalLayout" stretch="10,10,10,6">
  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="label">
  74 + <property name="maximumSize">
  75 + <size>
  76 + <width>16777215</width>
  77 + <height>94</height>
  78 + </size>
  79 + </property>
  80 + <property name="font">
  81 + <font>
  82 + <family>나눔고딕</family>
  83 + <pointsize>18</pointsize>
  84 + <weight>75</weight>
  85 + <bold>true</bold>
  86 + </font>
  87 + </property>
  88 + <property name="styleSheet">
  89 + <string notr="true">color : white;</string>
  90 + </property>
  91 + <property name="text">
  92 + <string>날짜와 시간</string>
  93 + </property>
  94 + <property name="alignment">
  95 + <set>Qt::AlignCenter</set>
  96 + </property>
  97 + </widget>
  98 + </item>
  99 + <item>
  100 + <widget class="Line" name="line">
  101 + <property name="styleSheet">
  102 + <string notr="true">color: rgb(255, 255, 255);</string>
  103 + </property>
  104 + <property name="orientation">
  105 + <enum>Qt::Horizontal</enum>
  106 + </property>
  107 + </widget>
  108 + </item>
  109 + <item>
  110 + <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1,0,1,0,1,0,1,0,1">
  111 + <property name="spacing">
  112 + <number>15</number>
  113 + </property>
  114 + <property name="leftMargin">
  115 + <number>20</number>
  116 + </property>
  117 + <property name="rightMargin">
  118 + <number>20</number>
  119 + </property>
  120 + <item>
  121 + <widget class="FormatterSpinBox" name="ctrSpBxYear">
  122 + <property name="sizePolicy">
  123 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  124 + <horstretch>0</horstretch>
  125 + <verstretch>0</verstretch>
  126 + </sizepolicy>
  127 + </property>
  128 + <property name="font">
  129 + <font>
  130 + <family>나눔고딕</family>
  131 + <pointsize>18</pointsize>
  132 + <underline>true</underline>
  133 + </font>
  134 + </property>
  135 + <property name="focusPolicy">
  136 + <enum>Qt::StrongFocus</enum>
  137 + </property>
  138 + <property name="frame">
  139 + <bool>false</bool>
  140 + </property>
  141 + <property name="alignment">
  142 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  143 + </property>
  144 + <property name="buttonSymbols">
  145 + <enum>QAbstractSpinBox::NoButtons</enum>
  146 + </property>
  147 + <property name="minimum">
  148 + <number>2000</number>
  149 + </property>
  150 + <property name="maximum">
  151 + <number>2100</number>
  152 + </property>
  153 + <property name="value">
  154 + <number>2000</number>
  155 + </property>
  156 + </widget>
  157 + </item>
  158 + <item>
  159 + <widget class="QLabel" name="label_2">
  160 + <property name="font">
  161 + <font>
  162 + <family>나눔고딕</family>
  163 + <pointsize>18</pointsize>
  164 + <weight>75</weight>
  165 + <bold>true</bold>
  166 + </font>
  167 + </property>
  168 + <property name="text">
  169 + <string>년</string>
  170 + </property>
  171 + </widget>
  172 + </item>
  173 + <item>
  174 + <widget class="FormatterSpinBox" name="ctrSpBxMonth">
  175 + <property name="sizePolicy">
  176 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  177 + <horstretch>0</horstretch>
  178 + <verstretch>0</verstretch>
  179 + </sizepolicy>
  180 + </property>
  181 + <property name="font">
  182 + <font>
  183 + <family>나눔고딕</family>
  184 + <pointsize>18</pointsize>
  185 + <underline>true</underline>
  186 + </font>
  187 + </property>
  188 + <property name="focusPolicy">
  189 + <enum>Qt::StrongFocus</enum>
  190 + </property>
  191 + <property name="frame">
  192 + <bool>false</bool>
  193 + </property>
  194 + <property name="alignment">
  195 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  196 + </property>
  197 + <property name="buttonSymbols">
  198 + <enum>QAbstractSpinBox::NoButtons</enum>
  199 + </property>
  200 + <property name="minimum">
  201 + <number>1</number>
  202 + </property>
  203 + <property name="maximum">
  204 + <number>12</number>
  205 + </property>
  206 + <property name="value">
  207 + <number>12</number>
  208 + </property>
  209 + </widget>
  210 + </item>
  211 + <item>
  212 + <widget class="QLabel" name="label_4">
  213 + <property name="font">
  214 + <font>
  215 + <family>나눔고딕</family>
  216 + <pointsize>18</pointsize>
  217 + <weight>75</weight>
  218 + <bold>true</bold>
  219 + </font>
  220 + </property>
  221 + <property name="text">
  222 + <string>월</string>
  223 + </property>
  224 + </widget>
  225 + </item>
  226 + <item>
  227 + <widget class="FormatterSpinBox" name="ctrSpBxDay">
  228 + <property name="sizePolicy">
  229 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  230 + <horstretch>0</horstretch>
  231 + <verstretch>0</verstretch>
  232 + </sizepolicy>
  233 + </property>
  234 + <property name="font">
  235 + <font>
  236 + <family>나눔고딕</family>
  237 + <pointsize>18</pointsize>
  238 + <underline>true</underline>
  239 + </font>
  240 + </property>
  241 + <property name="focusPolicy">
  242 + <enum>Qt::StrongFocus</enum>
  243 + </property>
  244 + <property name="frame">
  245 + <bool>false</bool>
  246 + </property>
  247 + <property name="alignment">
  248 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  249 + </property>
  250 + <property name="buttonSymbols">
  251 + <enum>QAbstractSpinBox::NoButtons</enum>
  252 + </property>
  253 + <property name="minimum">
  254 + <number>1</number>
  255 + </property>
  256 + <property name="maximum">
  257 + <number>31</number>
  258 + </property>
  259 + <property name="value">
  260 + <number>20</number>
  261 + </property>
  262 + </widget>
  263 + </item>
  264 + <item>
  265 + <widget class="QLabel" name="label_3">
  266 + <property name="font">
  267 + <font>
  268 + <family>나눔고딕</family>
  269 + <pointsize>18</pointsize>
  270 + <weight>75</weight>
  271 + <bold>true</bold>
  272 + </font>
  273 + </property>
  274 + <property name="text">
  275 + <string>일</string>
  276 + </property>
  277 + </widget>
  278 + </item>
  279 + <item>
  280 + <widget class="FormatterSpinBox" name="ctrSpBxHour">
  281 + <property name="sizePolicy">
  282 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  283 + <horstretch>0</horstretch>
  284 + <verstretch>0</verstretch>
  285 + </sizepolicy>
  286 + </property>
  287 + <property name="font">
  288 + <font>
  289 + <family>나눔고딕</family>
  290 + <pointsize>18</pointsize>
  291 + <underline>true</underline>
  292 + </font>
  293 + </property>
  294 + <property name="focusPolicy">
  295 + <enum>Qt::StrongFocus</enum>
  296 + </property>
  297 + <property name="frame">
  298 + <bool>false</bool>
  299 + </property>
  300 + <property name="alignment">
  301 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  302 + </property>
  303 + <property name="buttonSymbols">
  304 + <enum>QAbstractSpinBox::NoButtons</enum>
  305 + </property>
  306 + <property name="minimum">
  307 + <number>0</number>
  308 + </property>
  309 + <property name="maximum">
  310 + <number>23</number>
  311 + </property>
  312 + <property name="value">
  313 + <number>20</number>
  314 + </property>
  315 + </widget>
  316 + </item>
  317 + <item>
  318 + <widget class="QLabel" name="label_5">
  319 + <property name="font">
  320 + <font>
  321 + <family>나눔고딕</family>
  322 + <pointsize>18</pointsize>
  323 + <weight>75</weight>
  324 + <bold>true</bold>
  325 + </font>
  326 + </property>
  327 + <property name="text">
  328 + <string>시</string>
  329 + </property>
  330 + </widget>
  331 + </item>
  332 + <item>
  333 + <widget class="FormatterSpinBox" name="ctrSpBxMin">
  334 + <property name="sizePolicy">
  335 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  336 + <horstretch>0</horstretch>
  337 + <verstretch>0</verstretch>
  338 + </sizepolicy>
  339 + </property>
  340 + <property name="minimumSize">
  341 + <size>
  342 + <width>86</width>
  343 + <height>0</height>
  344 + </size>
  345 + </property>
  346 + <property name="font">
  347 + <font>
  348 + <family>나눔고딕</family>
  349 + <pointsize>18</pointsize>
  350 + <underline>true</underline>
  351 + <kerning>true</kerning>
  352 + </font>
  353 + </property>
  354 + <property name="focusPolicy">
  355 + <enum>Qt::StrongFocus</enum>
  356 + </property>
  357 + <property name="frame">
  358 + <bool>false</bool>
  359 + </property>
  360 + <property name="alignment">
  361 + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
  362 + </property>
  363 + <property name="buttonSymbols">
  364 + <enum>QAbstractSpinBox::NoButtons</enum>
  365 + </property>
  366 + <property name="suffix">
  367 + <string notr="true"/>
  368 + </property>
  369 + <property name="prefix">
  370 + <string notr="true"/>
  371 + </property>
  372 + <property name="minimum">
  373 + <number>0</number>
  374 + </property>
  375 + <property name="maximum">
  376 + <number>60</number>
  377 + </property>
  378 + <property name="value">
  379 + <number>20</number>
  380 + </property>
  381 + </widget>
  382 + </item>
  383 + <item>
  384 + <widget class="QLabel" name="label_6">
  385 + <property name="font">
  386 + <font>
  387 + <family>나눔고딕</family>
  388 + <pointsize>18</pointsize>
  389 + <weight>75</weight>
  390 + <bold>true</bold>
  391 + </font>
  392 + </property>
  393 + <property name="text">
  394 + <string>분</string>
  395 + </property>
  396 + </widget>
  397 + </item>
  398 + </layout>
  399 + </item>
  400 + <item>
  401 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  402 + <property name="leftMargin">
  403 + <number>10</number>
  404 + </property>
  405 + <property name="rightMargin">
  406 + <number>10</number>
  407 + </property>
  408 + <property name="bottomMargin">
  409 + <number>20</number>
  410 + </property>
  411 + <item row="0" column="5">
  412 + <widget class="QPushButton" name="ctrBtnCancel">
  413 + <property name="sizePolicy">
  414 + <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
  415 + <horstretch>0</horstretch>
  416 + <verstretch>0</verstretch>
  417 + </sizepolicy>
  418 + </property>
  419 + <property name="font">
  420 + <font>
  421 + <family>나눔고딕</family>
  422 + <pointsize>12</pointsize>
  423 + <underline>true</underline>
  424 + </font>
  425 + </property>
  426 + <property name="text">
  427 + <string>취소</string>
  428 + </property>
  429 + <property name="flat">
  430 + <bool>true</bool>
  431 + </property>
  432 + </widget>
  433 + </item>
  434 + <item row="0" column="4">
  435 + <widget class="QPushButton" name="ctrBtnOk">
  436 + <property name="sizePolicy">
  437 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  438 + <horstretch>0</horstretch>
  439 + <verstretch>0</verstretch>
  440 + </sizepolicy>
  441 + </property>
  442 + <property name="font">
  443 + <font>
  444 + <family>나눔고딕</family>
  445 + <pointsize>12</pointsize>
  446 + <underline>true</underline>
  447 + </font>
  448 + </property>
  449 + <property name="text">
  450 + <string>확인</string>
  451 + </property>
  452 + <property name="flat">
  453 + <bool>true</bool>
  454 + </property>
  455 + </widget>
  456 + </item>
  457 + </layout>
  458 + </item>
  459 + </layout>
  460 + </widget>
  461 + <widget class="KeyboardWidget" name="keyboardwidget" native="true">
  462 + <property name="geometry">
  463 + <rect>
  464 + <x>0</x>
  465 + <y>425</y>
  466 + <width>900</width>
  467 + <height>600</height>
  468 + </rect>
  469 + </property>
  470 + <zorder>centralwidget</zorder>
  471 + <zorder>centralwidget</zorder>
  472 + <zorder>centralwidget</zorder>
  473 + </widget>
  474 + </widget>
  475 + <zorder>centralwidget</zorder>
  476 + <zorder>keyboardwidget</zorder>
  477 + </widget>
  478 + <customwidgets>
  479 + <customwidget>
  480 + <class>KeyboardWidget</class>
  481 + <extends>QWidget</extends>
  482 + <header>keyboardwidget.h</header>
  483 + <container>1</container>
  484 + </customwidget>
  485 + <customwidget>
  486 + <class>FormatterSpinBox</class>
  487 + <extends>QSpinBox</extends>
  488 + <header>formatterspinbox.h</header>
  489 + </customwidget>
  490 + </customwidgets>
  491 + <resources/>
  492 + <connections/>
  493 +</ui>
... ...
app/gui/oven_control/configlanguagedlg.cpp
... ... @@ -0,0 +1,35 @@
  1 +#include "config.h"
  2 +#include "configlanguagedlg.h"
  3 +#include "ui_configlanguagedlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +ConfigLanguageDlg::ConfigLanguageDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigLanguageDlg)
  10 +{
  11 + ui->setupUi(this);
  12 + this->setWindowFlags( Qt::FramelessWindowHint);
  13 + this->setAttribute( Qt::WA_DeleteOnClose);
  14 +
  15 +
  16 + ui->pushButton_1->setText(tr(language_menu[0]));
  17 + ui->pushButton_2->setText(tr(language_menu[1]));
  18 + ui->pushButton_3->setText(tr(language_menu[2]));
  19 +
  20 +}
  21 +
  22 +ConfigLanguageDlg::~ConfigLanguageDlg()
  23 +{
  24 + delete ui;
  25 +}
  26 +
  27 +void ConfigLanguageDlg::on_ctrBtnOk_clicked()
  28 +{
  29 + this->accept();
  30 +}
  31 +
  32 +void ConfigLanguageDlg::on_ctrBtnCancel_clicked()
  33 +{
  34 + this->reject();
  35 +}
... ...
app/gui/oven_control/configlanguagedlg.h
... ... @@ -0,0 +1,27 @@
  1 +#ifndef CONFIGLANGUAGEDLG_H
  2 +#define CONFIGLANGUAGEDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ConfigLanguageDlg;
  8 +}
  9 +
  10 +class ConfigLanguageDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigLanguageDlg(QWidget *parent = 0);
  16 + ~ConfigLanguageDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_ctrBtnCancel_clicked();
  22 +
  23 +private:
  24 + Ui::ConfigLanguageDlg *ui;
  25 +};
  26 +
  27 +#endif // CONFIGLANGUAGEDLG_H
... ...
app/gui/oven_control/configlanguagedlg.ui
... ... @@ -0,0 +1,263 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigLanguageDlg</class>
  4 + <widget class="QDialog" name="ConfigLanguageDlg">
  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>450</height>
  53 + </rect>
  54 + </property>
  55 + <property name="minimumSize">
  56 + <size>
  57 + <width>900</width>
  58 + <height>450</height>
  59 + </size>
  60 + </property>
  61 + <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,264,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 + <item>
  165 + <widget class="QPushButton" name="pushButton_3">
  166 + <property name="sizePolicy">
  167 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  168 + <horstretch>0</horstretch>
  169 + <verstretch>0</verstretch>
  170 + </sizepolicy>
  171 + </property>
  172 + <property name="font">
  173 + <font>
  174 + <family>나눔고딕</family>
  175 + <pointsize>16</pointsize>
  176 + </font>
  177 + </property>
  178 + <property name="text">
  179 + <string>PushButton</string>
  180 + </property>
  181 + <property name="checkable">
  182 + <bool>true</bool>
  183 + </property>
  184 + <property name="autoExclusive">
  185 + <bool>true</bool>
  186 + </property>
  187 + <property name="flat">
  188 + <bool>true</bool>
  189 + </property>
  190 + </widget>
  191 + </item>
  192 + <item>
  193 + <widget class="Line" name="line_4">
  194 + <property name="orientation">
  195 + <enum>Qt::Horizontal</enum>
  196 + </property>
  197 + </widget>
  198 + </item>
  199 + </layout>
  200 + </item>
  201 + <item>
  202 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  203 + <item row="0" column="5">
  204 + <widget class="QPushButton" name="ctrBtnCancel">
  205 + <property name="sizePolicy">
  206 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  207 + <horstretch>0</horstretch>
  208 + <verstretch>0</verstretch>
  209 + </sizepolicy>
  210 + </property>
  211 + <property name="font">
  212 + <font>
  213 + <family>나눔고딕</family>
  214 + <pointsize>10</pointsize>
  215 + <weight>75</weight>
  216 + <bold>true</bold>
  217 + <underline>true</underline>
  218 + </font>
  219 + </property>
  220 + <property name="text">
  221 + <string>취소</string>
  222 + </property>
  223 + <property name="flat">
  224 + <bool>true</bool>
  225 + </property>
  226 + </widget>
  227 + </item>
  228 + <item row="0" column="4">
  229 + <widget class="QPushButton" name="ctrBtnOk">
  230 + <property name="sizePolicy">
  231 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  232 + <horstretch>0</horstretch>
  233 + <verstretch>0</verstretch>
  234 + </sizepolicy>
  235 + </property>
  236 + <property name="font">
  237 + <font>
  238 + <family>나눔고딕</family>
  239 + <pointsize>10</pointsize>
  240 + <weight>75</weight>
  241 + <bold>true</bold>
  242 + <underline>true</underline>
  243 + </font>
  244 + </property>
  245 + <property name="text">
  246 + <string>확인</string>
  247 + </property>
  248 + <property name="flat">
  249 + <bool>true</bool>
  250 + </property>
  251 + </widget>
  252 + </item>
  253 + </layout>
  254 + </item>
  255 + </layout>
  256 + <zorder>label</zorder>
  257 + <zorder></zorder>
  258 + <zorder>line</zorder>
  259 + </widget>
  260 + </widget>
  261 + <resources/>
  262 + <connections/>
  263 +</ui>
... ...
app/gui/oven_control/configmastervolumedlg.cpp
... ... @@ -0,0 +1,53 @@
  1 +#include "config.h"
  2 +#include "configmastervolumedlg.h"
  3 +#include "ui_configmastervolumedlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +#define MAX_MASTER_VOL 7
  8 +
  9 +ConfigMasterVolumeDlg::ConfigMasterVolumeDlg(QWidget *parent) :
  10 + QDialog(parent),
  11 + ui(new Ui::ConfigMasterVolumeDlg)
  12 +{
  13 + Config* cfg = Config::getInstance();
  14 + config_item item;
  15 + ui->setupUi(this);
  16 + this->setWindowFlags( Qt::FramelessWindowHint);
  17 + this->setAttribute( Qt::WA_DeleteOnClose);
  18 +
  19 + item = cfg->getConfigValue(config_marster_vol);
  20 + m_nCurMasterVol = item.d32;
  21 + ui->ctrProgressLight->setMaxProgress(m_nCurMasterVol,MAX_MASTER_VOL);
  22 +}
  23 +
  24 +ConfigMasterVolumeDlg::~ConfigMasterVolumeDlg()
  25 +{
  26 + delete ui;
  27 +}
  28 +
  29 +void ConfigMasterVolumeDlg::on_ctrBtnOk_clicked()
  30 +{
  31 + Config* cfg = Config::getInstance();
  32 + config_item item;
  33 + item.d32 = m_nCurMasterVol;
  34 + cfg->setConfigValue(config_marster_vol,item);
  35 + accept();
  36 +}
  37 +
  38 +void ConfigMasterVolumeDlg::on_ctrBtnCancel_clicked()
  39 +{
  40 + reject();
  41 +}
  42 +
  43 +void ConfigMasterVolumeDlg::on_ctrBtnMinus_clicked()
  44 +{
  45 + m_nCurMasterVol = m_nCurMasterVol > 0?m_nCurMasterVol-1:0;
  46 + ui->ctrProgressLight->setCurrentProgress(m_nCurMasterVol);
  47 +}
  48 +
  49 +void ConfigMasterVolumeDlg::on_ctrBtnPlus_clicked()
  50 +{
  51 + m_nCurMasterVol = m_nCurMasterVol<MAX_MASTER_VOL?m_nCurMasterVol+1:MAX_MASTER_VOL;
  52 + ui->ctrProgressLight->setCurrentProgress(m_nCurMasterVol);
  53 +}
... ...
app/gui/oven_control/configmastervolumedlg.h
... ... @@ -0,0 +1,32 @@
  1 +#ifndef CONFIGMASTERVOLUMEDLG_H
  2 +#define CONFIGMASTERVOLUMEDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ConfigMasterVolumeDlg;
  8 +}
  9 +
  10 +class ConfigMasterVolumeDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ConfigMasterVolumeDlg(QWidget *parent = 0);
  16 + ~ConfigMasterVolumeDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_ctrBtnCancel_clicked();
  22 +
  23 + void on_ctrBtnMinus_clicked();
  24 +
  25 + void on_ctrBtnPlus_clicked();
  26 +
  27 +private:
  28 + Ui::ConfigMasterVolumeDlg *ui;
  29 + int m_nCurMasterVol;
  30 +};
  31 +
  32 +#endif // CONFIGMASTERVOLUMEDLG_H
... ...
app/gui/oven_control/configmastervolumedlg.ui
... ... @@ -0,0 +1,237 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigMasterVolumeDlg</class>
  4 + <widget class="QDialog" name="ConfigMasterVolumeDlg">
  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 +QLabel{
  25 + color : white;
  26 +}
  27 +
  28 +QPushButton{
  29 + color : white;
  30 +}
  31 +
  32 +QPushButton::pressed, QPushButton::focus{
  33 + color : yellow;
  34 +}</string>
  35 + </property>
  36 + <widget class="QWidget" name="centralwidget" native="true">
  37 + <property name="geometry">
  38 + <rect>
  39 + <x>0</x>
  40 + <y>450</y>
  41 + <width>900</width>
  42 + <height>425</height>
  43 + </rect>
  44 + </property>
  45 + <property name="styleSheet">
  46 + <string notr="true"/>
  47 + </property>
  48 + <layout class="QVBoxLayout" name="verticalLayout" stretch="8,0,18,9">
  49 + <property name="spacing">
  50 + <number>0</number>
  51 + </property>
  52 + <property name="sizeConstraint">
  53 + <enum>QLayout::SetDefaultConstraint</enum>
  54 + </property>
  55 + <property name="leftMargin">
  56 + <number>0</number>
  57 + </property>
  58 + <property name="topMargin">
  59 + <number>0</number>
  60 + </property>
  61 + <property name="rightMargin">
  62 + <number>0</number>
  63 + </property>
  64 + <property name="bottomMargin">
  65 + <number>0</number>
  66 + </property>
  67 + <item>
  68 + <widget class="QLabel" name="label">
  69 + <property name="font">
  70 + <font>
  71 + <pointsize>18</pointsize>
  72 + <weight>75</weight>
  73 + <bold>true</bold>
  74 + </font>
  75 + </property>
  76 + <property name="text">
  77 + <string>마스터 볼륨</string>
  78 + </property>
  79 + <property name="alignment">
  80 + <set>Qt::AlignCenter</set>
  81 + </property>
  82 + </widget>
  83 + </item>
  84 + <item>
  85 + <widget class="Line" name="line">
  86 + <property name="orientation">
  87 + <enum>Qt::Horizontal</enum>
  88 + </property>
  89 + </widget>
  90 + </item>
  91 + <item>
  92 + <layout class="QHBoxLayout" name="horizontalLayout">
  93 + <property name="spacing">
  94 + <number>6</number>
  95 + </property>
  96 + <property name="leftMargin">
  97 + <number>50</number>
  98 + </property>
  99 + <property name="rightMargin">
  100 + <number>50</number>
  101 + </property>
  102 + <item>
  103 + <widget class="QPushButton" name="ctrBtnMinus">
  104 + <property name="minimumSize">
  105 + <size>
  106 + <width>108</width>
  107 + <height>108</height>
  108 + </size>
  109 + </property>
  110 + <property name="maximumSize">
  111 + <size>
  112 + <width>108</width>
  113 + <height>108</height>
  114 + </size>
  115 + </property>
  116 + <property name="styleSheet">
  117 + <string notr="true">QPushButton{
  118 + border-image : url(:/images/config/101_br_icon_04.png);
  119 +}
  120 +
  121 +QPushButton::pressed, QPushButton::focus{
  122 + border-image : url(:/images/config/101_br_icon_04_ov.png);
  123 +}</string>
  124 + </property>
  125 + <property name="text">
  126 + <string/>
  127 + </property>
  128 + </widget>
  129 + </item>
  130 + <item>
  131 + <widget class="DotProgressBarWidget" name="ctrProgressLight" native="true">
  132 + <property name="minimumSize">
  133 + <size>
  134 + <width>0</width>
  135 + <height>200</height>
  136 + </size>
  137 + </property>
  138 + </widget>
  139 + </item>
  140 + <item>
  141 + <widget class="QPushButton" name="ctrBtnPlus">
  142 + <property name="minimumSize">
  143 + <size>
  144 + <width>108</width>
  145 + <height>108</height>
  146 + </size>
  147 + </property>
  148 + <property name="maximumSize">
  149 + <size>
  150 + <width>108</width>
  151 + <height>108</height>
  152 + </size>
  153 + </property>
  154 + <property name="styleSheet">
  155 + <string notr="true">QPushButton{
  156 + border-image : url(:/images/config/101_br_icon_03.png);
  157 +}
  158 +
  159 +QPushButton::pressed, QPushButton::focus{
  160 + border-image : url(:/images/config/101_br_icon_03_ov.png);
  161 +}</string>
  162 + </property>
  163 + <property name="text">
  164 + <string/>
  165 + </property>
  166 + </widget>
  167 + </item>
  168 + </layout>
  169 + </item>
  170 + <item>
  171 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  172 + <item row="0" column="5">
  173 + <widget class="QPushButton" name="ctrBtnCancel">
  174 + <property name="sizePolicy">
  175 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  176 + <horstretch>0</horstretch>
  177 + <verstretch>0</verstretch>
  178 + </sizepolicy>
  179 + </property>
  180 + <property name="font">
  181 + <font>
  182 + <family>나눔고딕</family>
  183 + <pointsize>10</pointsize>
  184 + <weight>75</weight>
  185 + <bold>true</bold>
  186 + <underline>true</underline>
  187 + </font>
  188 + </property>
  189 + <property name="text">
  190 + <string>취소</string>
  191 + </property>
  192 + <property name="flat">
  193 + <bool>true</bool>
  194 + </property>
  195 + </widget>
  196 + </item>
  197 + <item row="0" column="4">
  198 + <widget class="QPushButton" name="ctrBtnOk">
  199 + <property name="sizePolicy">
  200 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  201 + <horstretch>0</horstretch>
  202 + <verstretch>0</verstretch>
  203 + </sizepolicy>
  204 + </property>
  205 + <property name="font">
  206 + <font>
  207 + <family>나눔고딕</family>
  208 + <pointsize>10</pointsize>
  209 + <weight>75</weight>
  210 + <bold>true</bold>
  211 + <underline>true</underline>
  212 + </font>
  213 + </property>
  214 + <property name="text">
  215 + <string>확인</string>
  216 + </property>
  217 + <property name="flat">
  218 + <bool>true</bool>
  219 + </property>
  220 + </widget>
  221 + </item>
  222 + </layout>
  223 + </item>
  224 + </layout>
  225 + </widget>
  226 + </widget>
  227 + <customwidgets>
  228 + <customwidget>
  229 + <class>DotProgressBarWidget</class>
  230 + <extends>QWidget</extends>
  231 + <header>dotprogressbarwidget.h</header>
  232 + <container>1</container>
  233 + </customwidget>
  234 + </customwidgets>
  235 + <resources/>
  236 + <connections/>
  237 +</ui>
... ...
app/gui/oven_control/configresttimeformatdlg.cpp
... ... @@ -0,0 +1,69 @@
  1 +#include "configresttimeformatdlg.h"
  2 +#include "ui_configresttimeformatdlg.h"
  3 +#include "config.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +configResttimeFormatDlg::configResttimeFormatDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::configResttimeFormatDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + config_item item;
  13 + item = cfg->getConfigValue(config_resttime_format);
  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(rest_time_type_menu[0]));
  20 + ui->pushButton_2->setText(tr(rest_time_type_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 +configResttimeFormatDlg::~configResttimeFormatDlg()
  35 +{
  36 + delete ui;
  37 +}
  38 +
  39 +void configResttimeFormatDlg::on_ctrBtnOk_clicked()
  40 +{
  41 + Config* cfg = Config::getInstance();
  42 + config_item item;
  43 + item.d32 = m_nCurSel;
  44 + cfg->setConfigValue(config_resttime_format,item);
  45 + accept();
  46 +}
  47 +
  48 +void configResttimeFormatDlg::on_ctrBtnCancel_clicked()
  49 +{
  50 + reject();
  51 +}
  52 +
  53 +void configResttimeFormatDlg::onConfigBtnClicked(const int sel){
  54 + m_nCurSel = sel;
  55 +}
  56 +
  57 +void configResttimeFormatDlg::reloadUi(){
  58 + switch(m_nCurSel){
  59 + case 0:
  60 + ui->pushButton_1->setChecked(true);
  61 + break;
  62 + case 1:
  63 + ui->pushButton_2->setChecked(true);
  64 + break;
  65 + default:
  66 + break;
  67 + }
  68 +}
  69 +
... ...
app/gui/oven_control/configresttimeformatdlg.h
... ... @@ -0,0 +1,35 @@
  1 +#ifndef CONFIGRESTTIMEFORMATDLG_H
  2 +#define CONFIGRESTTIMEFORMATDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +
  7 +namespace Ui {
  8 +class configResttimeFormatDlg;
  9 +}
  10 +
  11 +class configResttimeFormatDlg : public QDialog
  12 +{
  13 + Q_OBJECT
  14 +
  15 + void reloadUi(void);
  16 +
  17 +public:
  18 + explicit configResttimeFormatDlg(QWidget *parent = 0);
  19 + ~configResttimeFormatDlg();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 +public slots:
  27 + void onConfigBtnClicked(const int sel);
  28 +
  29 +private:
  30 + Ui::configResttimeFormatDlg *ui;
  31 + QSignalMapper *m_pSignalMapper;
  32 + int m_nCurSel;
  33 +};
  34 +
  35 +#endif // CONFIGRESTTIMEFORMATDLG_H
... ...
app/gui/oven_control/configresttimeformatdlg.ui
... ... @@ -0,0 +1,225 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>configResttimeFormatDlg</class>
  4 + <widget class="QDialog" name="configResttimeFormatDlg">
  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/configsoundselelectdlg.cpp
... ... @@ -0,0 +1,43 @@
  1 +#include "configsoundselelectdlg.h"
  2 +#include "ui_configsoundselelectdlg.h"
  3 +
  4 +ConfigSoundSelelectDlg::ConfigSoundSelelectDlg(QWidget *parent, ConfigType cfgtype) :
  5 + QDialog(parent),
  6 + ui(new Ui::ConfigSoundSelelectDlg)
  7 +{
  8 + Config* cfg = Config::getInstance();
  9 + config_item item;
  10 + ui->setupUi(this);
  11 +
  12 + switch(cfgtype){
  13 +
  14 + case config_keypad_sound1:
  15 + default:
  16 + item = cfg->getConfigValue(cfgtype);
  17 + break;
  18 + }
  19 + m_nCurSel = item.d32;
  20 + reloadUi();
  21 +}
  22 +
  23 +ConfigSoundSelelectDlg::~ConfigSoundSelelectDlg()
  24 +{
  25 + delete ui;
  26 +}
  27 +
  28 +void ConfigSoundSelelectDlg::on_ctrBtnOk_clicked()
  29 +{
  30 + accept();
  31 +}
  32 +
  33 +void ConfigSoundSelelectDlg::on_ctrBtnCancel_clicked()
  34 +{
  35 + reject();
  36 +}
  37 +
  38 +void ConfigSoundSelelectDlg::reloadUi(){
  39 + switch(m_nCurSel){
  40 + case 0:
  41 + break;
  42 + }
  43 +}
... ...
app/gui/oven_control/configsoundselelectdlg.h
... ... @@ -0,0 +1,34 @@
  1 +#ifndef CONFIGSOUNDSELELECTDLG_H
  2 +#define CONFIGSOUNDSELELECTDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +#include <config.h>
  7 +
  8 +using namespace Define;
  9 +
  10 +namespace Ui {
  11 +class ConfigSoundSelelectDlg;
  12 +}
  13 +
  14 +class ConfigSoundSelelectDlg : public QDialog
  15 +{
  16 + Q_OBJECT
  17 +
  18 + void reloadUi(void);
  19 +
  20 +public:
  21 + explicit ConfigSoundSelelectDlg(QWidget *parent = 0, ConfigType cfgtype=config_keypad_sound1);
  22 + ~ConfigSoundSelelectDlg();
  23 +
  24 +private slots:
  25 + void on_ctrBtnOk_clicked();
  26 +
  27 + void on_ctrBtnCancel_clicked();
  28 +
  29 +private:
  30 + Ui::ConfigSoundSelelectDlg *ui;
  31 + int m_nCurSel;
  32 +};
  33 +
  34 +#endif // CONFIGSOUNDSELELECTDLG_H
... ...
app/gui/oven_control/configsoundselelectdlg.ui
... ... @@ -0,0 +1,650 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigSoundSelelectDlg</class>
  4 + <widget class="QDialog" name="ConfigSoundSelelectDlg">
  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>912</height>
  53 + </rect>
  54 + </property>
  55 + <property name="minimumSize">
  56 + <size>
  57 + <width>900</width>
  58 + <height>450</height>
  59 + </size>
  60 + </property>
  61 + <layout class="QVBoxLayout" name="verticalLayout_3" stretch="92,0,733,88">
  62 + <property name="spacing">
  63 + <number>0</number>
  64 + </property>
  65 + <item>
  66 + <widget class="QLabel" name="ctrLbTitle">
  67 + <property name="font">
  68 + <font>
  69 + <pointsize>18</pointsize>
  70 + <weight>75</weight>
  71 + <bold>true</bold>
  72 + </font>
  73 + </property>
  74 + <property name="styleSheet">
  75 + <string notr="true"/>
  76 + </property>
  77 + <property name="text">
  78 + <string>TITLE</string>
  79 + </property>
  80 + <property name="alignment">
  81 + <set>Qt::AlignCenter</set>
  82 + </property>
  83 + </widget>
  84 + </item>
  85 + <item>
  86 + <widget class="Line" name="line">
  87 + <property name="orientation">
  88 + <enum>Qt::Horizontal</enum>
  89 + </property>
  90 + </widget>
  91 + </item>
  92 + <item>
  93 + <layout class="QVBoxLayout" name="verticalLayout">
  94 + <property name="spacing">
  95 + <number>0</number>
  96 + </property>
  97 + <item>
  98 + <widget class="QPushButton" name="pushButton_1">
  99 + <property name="sizePolicy">
  100 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  101 + <horstretch>0</horstretch>
  102 + <verstretch>0</verstretch>
  103 + </sizepolicy>
  104 + </property>
  105 + <property name="font">
  106 + <font>
  107 + <family>나눔고딕</family>
  108 + <pointsize>14</pointsize>
  109 + </font>
  110 + </property>
  111 + <property name="text">
  112 + <string>PushButton</string>
  113 + </property>
  114 + <property name="icon">
  115 + <iconset resource="resources.qrc">
  116 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  117 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  118 + </property>
  119 + <property name="iconSize">
  120 + <size>
  121 + <width>34</width>
  122 + <height>34</height>
  123 + </size>
  124 + </property>
  125 + <property name="checkable">
  126 + <bool>true</bool>
  127 + </property>
  128 + <property name="checked">
  129 + <bool>true</bool>
  130 + </property>
  131 + <property name="autoExclusive">
  132 + <bool>true</bool>
  133 + </property>
  134 + <property name="flat">
  135 + <bool>true</bool>
  136 + </property>
  137 + </widget>
  138 + </item>
  139 + <item>
  140 + <widget class="Line" name="line_2">
  141 + <property name="orientation">
  142 + <enum>Qt::Horizontal</enum>
  143 + </property>
  144 + </widget>
  145 + </item>
  146 + <item>
  147 + <widget class="QPushButton" name="pushButton_2">
  148 + <property name="sizePolicy">
  149 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  150 + <horstretch>0</horstretch>
  151 + <verstretch>0</verstretch>
  152 + </sizepolicy>
  153 + </property>
  154 + <property name="font">
  155 + <font>
  156 + <family>나눔고딕</family>
  157 + <pointsize>14</pointsize>
  158 + </font>
  159 + </property>
  160 + <property name="text">
  161 + <string>PushButton</string>
  162 + </property>
  163 + <property name="icon">
  164 + <iconset resource="resources.qrc">
  165 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  166 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  167 + </property>
  168 + <property name="iconSize">
  169 + <size>
  170 + <width>34</width>
  171 + <height>34</height>
  172 + </size>
  173 + </property>
  174 + <property name="checkable">
  175 + <bool>true</bool>
  176 + </property>
  177 + <property name="checked">
  178 + <bool>true</bool>
  179 + </property>
  180 + <property name="autoExclusive">
  181 + <bool>true</bool>
  182 + </property>
  183 + <property name="flat">
  184 + <bool>true</bool>
  185 + </property>
  186 + </widget>
  187 + </item>
  188 + <item>
  189 + <widget class="Line" name="line_3">
  190 + <property name="orientation">
  191 + <enum>Qt::Horizontal</enum>
  192 + </property>
  193 + </widget>
  194 + </item>
  195 + <item>
  196 + <widget class="QPushButton" name="pushButton_3">
  197 + <property name="sizePolicy">
  198 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  199 + <horstretch>0</horstretch>
  200 + <verstretch>0</verstretch>
  201 + </sizepolicy>
  202 + </property>
  203 + <property name="font">
  204 + <font>
  205 + <family>나눔고딕</family>
  206 + <pointsize>14</pointsize>
  207 + </font>
  208 + </property>
  209 + <property name="text">
  210 + <string>PushButton</string>
  211 + </property>
  212 + <property name="icon">
  213 + <iconset resource="resources.qrc">
  214 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  215 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  216 + </property>
  217 + <property name="iconSize">
  218 + <size>
  219 + <width>34</width>
  220 + <height>34</height>
  221 + </size>
  222 + </property>
  223 + <property name="checkable">
  224 + <bool>true</bool>
  225 + </property>
  226 + <property name="checked">
  227 + <bool>true</bool>
  228 + </property>
  229 + <property name="autoExclusive">
  230 + <bool>true</bool>
  231 + </property>
  232 + <property name="flat">
  233 + <bool>true</bool>
  234 + </property>
  235 + </widget>
  236 + </item>
  237 + <item>
  238 + <widget class="Line" name="line_4">
  239 + <property name="orientation">
  240 + <enum>Qt::Horizontal</enum>
  241 + </property>
  242 + </widget>
  243 + </item>
  244 + <item>
  245 + <widget class="QPushButton" name="pushButton_4">
  246 + <property name="sizePolicy">
  247 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  248 + <horstretch>0</horstretch>
  249 + <verstretch>0</verstretch>
  250 + </sizepolicy>
  251 + </property>
  252 + <property name="font">
  253 + <font>
  254 + <family>나눔고딕</family>
  255 + <pointsize>14</pointsize>
  256 + </font>
  257 + </property>
  258 + <property name="text">
  259 + <string>PushButton</string>
  260 + </property>
  261 + <property name="icon">
  262 + <iconset resource="resources.qrc">
  263 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  264 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  265 + </property>
  266 + <property name="iconSize">
  267 + <size>
  268 + <width>34</width>
  269 + <height>34</height>
  270 + </size>
  271 + </property>
  272 + <property name="checkable">
  273 + <bool>true</bool>
  274 + </property>
  275 + <property name="checked">
  276 + <bool>true</bool>
  277 + </property>
  278 + <property name="autoExclusive">
  279 + <bool>true</bool>
  280 + </property>
  281 + <property name="flat">
  282 + <bool>true</bool>
  283 + </property>
  284 + </widget>
  285 + </item>
  286 + <item>
  287 + <widget class="Line" name="line_5">
  288 + <property name="orientation">
  289 + <enum>Qt::Horizontal</enum>
  290 + </property>
  291 + </widget>
  292 + </item>
  293 + <item>
  294 + <widget class="QPushButton" name="pushButton_5">
  295 + <property name="sizePolicy">
  296 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  297 + <horstretch>0</horstretch>
  298 + <verstretch>0</verstretch>
  299 + </sizepolicy>
  300 + </property>
  301 + <property name="font">
  302 + <font>
  303 + <family>나눔고딕</family>
  304 + <pointsize>14</pointsize>
  305 + </font>
  306 + </property>
  307 + <property name="text">
  308 + <string>PushButton</string>
  309 + </property>
  310 + <property name="icon">
  311 + <iconset resource="resources.qrc">
  312 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  313 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  314 + </property>
  315 + <property name="iconSize">
  316 + <size>
  317 + <width>34</width>
  318 + <height>34</height>
  319 + </size>
  320 + </property>
  321 + <property name="checkable">
  322 + <bool>true</bool>
  323 + </property>
  324 + <property name="checked">
  325 + <bool>true</bool>
  326 + </property>
  327 + <property name="autoExclusive">
  328 + <bool>true</bool>
  329 + </property>
  330 + <property name="flat">
  331 + <bool>true</bool>
  332 + </property>
  333 + </widget>
  334 + </item>
  335 + <item>
  336 + <widget class="Line" name="line_6">
  337 + <property name="orientation">
  338 + <enum>Qt::Horizontal</enum>
  339 + </property>
  340 + </widget>
  341 + </item>
  342 + <item>
  343 + <widget class="QPushButton" name="pushButton_6">
  344 + <property name="sizePolicy">
  345 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  346 + <horstretch>0</horstretch>
  347 + <verstretch>0</verstretch>
  348 + </sizepolicy>
  349 + </property>
  350 + <property name="font">
  351 + <font>
  352 + <family>나눔고딕</family>
  353 + <pointsize>14</pointsize>
  354 + </font>
  355 + </property>
  356 + <property name="text">
  357 + <string>PushButton</string>
  358 + </property>
  359 + <property name="icon">
  360 + <iconset resource="resources.qrc">
  361 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  362 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  363 + </property>
  364 + <property name="iconSize">
  365 + <size>
  366 + <width>34</width>
  367 + <height>34</height>
  368 + </size>
  369 + </property>
  370 + <property name="checkable">
  371 + <bool>true</bool>
  372 + </property>
  373 + <property name="checked">
  374 + <bool>true</bool>
  375 + </property>
  376 + <property name="autoExclusive">
  377 + <bool>true</bool>
  378 + </property>
  379 + <property name="flat">
  380 + <bool>true</bool>
  381 + </property>
  382 + </widget>
  383 + </item>
  384 + <item>
  385 + <widget class="Line" name="line_7">
  386 + <property name="orientation">
  387 + <enum>Qt::Horizontal</enum>
  388 + </property>
  389 + </widget>
  390 + </item>
  391 + <item>
  392 + <widget class="QPushButton" name="pushButton_7">
  393 + <property name="sizePolicy">
  394 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  395 + <horstretch>0</horstretch>
  396 + <verstretch>0</verstretch>
  397 + </sizepolicy>
  398 + </property>
  399 + <property name="font">
  400 + <font>
  401 + <family>나눔고딕</family>
  402 + <pointsize>14</pointsize>
  403 + </font>
  404 + </property>
  405 + <property name="text">
  406 + <string>PushButton</string>
  407 + </property>
  408 + <property name="icon">
  409 + <iconset resource="resources.qrc">
  410 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  411 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  412 + </property>
  413 + <property name="iconSize">
  414 + <size>
  415 + <width>34</width>
  416 + <height>34</height>
  417 + </size>
  418 + </property>
  419 + <property name="checkable">
  420 + <bool>true</bool>
  421 + </property>
  422 + <property name="checked">
  423 + <bool>true</bool>
  424 + </property>
  425 + <property name="autoExclusive">
  426 + <bool>true</bool>
  427 + </property>
  428 + <property name="flat">
  429 + <bool>true</bool>
  430 + </property>
  431 + </widget>
  432 + </item>
  433 + <item>
  434 + <widget class="Line" name="line_8">
  435 + <property name="orientation">
  436 + <enum>Qt::Horizontal</enum>
  437 + </property>
  438 + </widget>
  439 + </item>
  440 + <item>
  441 + <widget class="QPushButton" name="pushButton_8">
  442 + <property name="sizePolicy">
  443 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  444 + <horstretch>0</horstretch>
  445 + <verstretch>0</verstretch>
  446 + </sizepolicy>
  447 + </property>
  448 + <property name="font">
  449 + <font>
  450 + <family>나눔고딕</family>
  451 + <pointsize>14</pointsize>
  452 + </font>
  453 + </property>
  454 + <property name="text">
  455 + <string>PushButton</string>
  456 + </property>
  457 + <property name="icon">
  458 + <iconset resource="resources.qrc">
  459 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  460 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  461 + </property>
  462 + <property name="iconSize">
  463 + <size>
  464 + <width>34</width>
  465 + <height>34</height>
  466 + </size>
  467 + </property>
  468 + <property name="checkable">
  469 + <bool>true</bool>
  470 + </property>
  471 + <property name="checked">
  472 + <bool>true</bool>
  473 + </property>
  474 + <property name="autoExclusive">
  475 + <bool>true</bool>
  476 + </property>
  477 + <property name="flat">
  478 + <bool>true</bool>
  479 + </property>
  480 + </widget>
  481 + </item>
  482 + <item>
  483 + <widget class="Line" name="line_10">
  484 + <property name="orientation">
  485 + <enum>Qt::Horizontal</enum>
  486 + </property>
  487 + </widget>
  488 + </item>
  489 + <item>
  490 + <widget class="QPushButton" name="pushButton_9">
  491 + <property name="sizePolicy">
  492 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  493 + <horstretch>0</horstretch>
  494 + <verstretch>0</verstretch>
  495 + </sizepolicy>
  496 + </property>
  497 + <property name="font">
  498 + <font>
  499 + <family>나눔고딕</family>
  500 + <pointsize>14</pointsize>
  501 + </font>
  502 + </property>
  503 + <property name="text">
  504 + <string>PushButton</string>
  505 + </property>
  506 + <property name="icon">
  507 + <iconset resource="resources.qrc">
  508 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  509 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  510 + </property>
  511 + <property name="iconSize">
  512 + <size>
  513 + <width>34</width>
  514 + <height>34</height>
  515 + </size>
  516 + </property>
  517 + <property name="checkable">
  518 + <bool>true</bool>
  519 + </property>
  520 + <property name="checked">
  521 + <bool>true</bool>
  522 + </property>
  523 + <property name="autoExclusive">
  524 + <bool>true</bool>
  525 + </property>
  526 + <property name="flat">
  527 + <bool>true</bool>
  528 + </property>
  529 + </widget>
  530 + </item>
  531 + <item>
  532 + <widget class="Line" name="line_11">
  533 + <property name="orientation">
  534 + <enum>Qt::Horizontal</enum>
  535 + </property>
  536 + </widget>
  537 + </item>
  538 + <item>
  539 + <widget class="QPushButton" name="pushButton_10">
  540 + <property name="sizePolicy">
  541 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  542 + <horstretch>0</horstretch>
  543 + <verstretch>0</verstretch>
  544 + </sizepolicy>
  545 + </property>
  546 + <property name="font">
  547 + <font>
  548 + <family>나눔고딕</family>
  549 + <pointsize>14</pointsize>
  550 + </font>
  551 + </property>
  552 + <property name="text">
  553 + <string>PushButton</string>
  554 + </property>
  555 + <property name="icon">
  556 + <iconset resource="resources.qrc">
  557 + <normaloff>:/images/config/102_icon_play.png</normaloff>
  558 + <normalon>:/images/config/102_icon_play_ov.png</normalon>:/images/config/102_icon_play.png</iconset>
  559 + </property>
  560 + <property name="iconSize">
  561 + <size>
  562 + <width>34</width>
  563 + <height>34</height>
  564 + </size>
  565 + </property>
  566 + <property name="checkable">
  567 + <bool>true</bool>
  568 + </property>
  569 + <property name="checked">
  570 + <bool>true</bool>
  571 + </property>
  572 + <property name="autoExclusive">
  573 + <bool>true</bool>
  574 + </property>
  575 + <property name="flat">
  576 + <bool>true</bool>
  577 + </property>
  578 + </widget>
  579 + </item>
  580 + <item>
  581 + <widget class="Line" name="line_9">
  582 + <property name="orientation">
  583 + <enum>Qt::Horizontal</enum>
  584 + </property>
  585 + </widget>
  586 + </item>
  587 + </layout>
  588 + </item>
  589 + <item>
  590 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  591 + <item row="0" column="5">
  592 + <widget class="QPushButton" name="ctrBtnCancel">
  593 + <property name="sizePolicy">
  594 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  595 + <horstretch>0</horstretch>
  596 + <verstretch>0</verstretch>
  597 + </sizepolicy>
  598 + </property>
  599 + <property name="font">
  600 + <font>
  601 + <family>나눔고딕</family>
  602 + <pointsize>10</pointsize>
  603 + <weight>75</weight>
  604 + <bold>true</bold>
  605 + <underline>true</underline>
  606 + </font>
  607 + </property>
  608 + <property name="text">
  609 + <string>취소</string>
  610 + </property>
  611 + <property name="flat">
  612 + <bool>true</bool>
  613 + </property>
  614 + </widget>
  615 + </item>
  616 + <item row="0" column="4">
  617 + <widget class="QPushButton" name="ctrBtnOk">
  618 + <property name="sizePolicy">
  619 + <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
  620 + <horstretch>0</horstretch>
  621 + <verstretch>0</verstretch>
  622 + </sizepolicy>
  623 + </property>
  624 + <property name="font">
  625 + <font>
  626 + <family>나눔고딕</family>
  627 + <pointsize>10</pointsize>
  628 + <weight>75</weight>
  629 + <bold>true</bold>
  630 + <underline>true</underline>
  631 + </font>
  632 + </property>
  633 + <property name="text">
  634 + <string>확인</string>
  635 + </property>
  636 + <property name="flat">
  637 + <bool>true</bool>
  638 + </property>
  639 + </widget>
  640 + </item>
  641 + </layout>
  642 + </item>
  643 + </layout>
  644 + </widget>
  645 + </widget>
  646 + <resources>
  647 + <include location="resources.qrc"/>
  648 + </resources>
  649 + <connections/>
  650 +</ui>
... ...
app/gui/oven_control/configtemptypedlg.cpp
... ... @@ -0,0 +1,69 @@
  1 +#include "config.h"
  2 +#include "configtemptypedlg.h"
  3 +#include "ui_configtemptypedlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +ConfigTempTypeDlg::ConfigTempTypeDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigTempTypeDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + config_item item;
  13 + item = cfg->getConfigValue(config_temptype);
  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(temptype_menu[0]));
  20 + ui->pushButton_2->setText(tr(temptype_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 +ConfigTempTypeDlg::~ConfigTempTypeDlg()
  35 +{
  36 + delete ui;
  37 +}
  38 +
  39 +void ConfigTempTypeDlg::on_ctrBtnOk_clicked()
  40 +{
  41 + Config* cfg = Config::getInstance();
  42 + config_item item;
  43 + item.d32 = m_nCurSel;
  44 + cfg->setConfigValue(config_temptype,item);
  45 + this->accept();
  46 +}
  47 +
  48 +void ConfigTempTypeDlg::on_ctrBtnCancel_clicked()
  49 +{
  50 + this->reject();
  51 +}
  52 +
  53 +void ConfigTempTypeDlg::onConfigBtnClicked(const int sel){
  54 + m_nCurSel = sel;
  55 +}
  56 +
  57 +void ConfigTempTypeDlg::reloadUi(){
  58 + switch(m_nCurSel){
  59 + case 0:
  60 + ui->pushButton_1->setChecked(true);
  61 + break;
  62 + case 1:
  63 + ui->pushButton_2->setChecked(true);
  64 + break;
  65 + default:
  66 + break;
  67 + }
  68 +}
  69 +
... ...
app/gui/oven_control/configtemptypedlg.h
... ... @@ -0,0 +1,35 @@
  1 +#ifndef CONFIGTEMPTYPEDLG_H
  2 +#define CONFIGTEMPTYPEDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +
  7 +namespace Ui {
  8 +class ConfigTempTypeDlg;
  9 +}
  10 +
  11 +class ConfigTempTypeDlg : public QDialog
  12 +{
  13 + Q_OBJECT
  14 +
  15 + void reloadUi(void);
  16 +
  17 +public:
  18 + explicit ConfigTempTypeDlg(QWidget *parent = 0);
  19 + ~ConfigTempTypeDlg();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 +public slots:
  27 + void onConfigBtnClicked(const int sel);
  28 +
  29 +private:
  30 + Ui::ConfigTempTypeDlg *ui;
  31 + QSignalMapper *m_pSignalMapper;
  32 + int m_nCurSel;
  33 +};
  34 +
  35 +#endif // CONFIGTEMPTYPEDLG_H
... ...
app/gui/oven_control/configtemptypedlg.ui
... ... @@ -0,0 +1,228 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigTempTypeDlg</class>
  4 + <widget class="QDialog" name="ConfigTempTypeDlg">
  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 + <zorder>label</zorder>
  222 + <zorder></zorder>
  223 + <zorder>line</zorder>
  224 + </widget>
  225 + </widget>
  226 + <resources/>
  227 + <connections/>
  228 +</ui>
... ...
app/gui/oven_control/configtimeformatdlg.cpp
... ... @@ -0,0 +1,71 @@
  1 +#include "config.h"
  2 +#include "configtimeformatdlg.h"
  3 +#include "ui_configtimeformatdlg.h"
  4 +
  5 +using namespace Define;
  6 +
  7 +ConfigTimeFormatDlg::ConfigTimeFormatDlg(QWidget *parent) :
  8 + QDialog(parent),
  9 + ui(new Ui::ConfigTimeFormatDlg)
  10 +{
  11 + Config* cfg = Config::getInstance();
  12 + config_item item;
  13 + item = cfg->getConfigValue(config_time_type);
  14 + m_nCurSel = item.d32;
  15 + ui->setupUi(this);
  16 + this->setWindowFlags( Qt::FramelessWindowHint);
  17 + this->setAttribute( Qt::WA_DeleteOnClose);
  18 +
  19 +
  20 + ui->pushButton_1->setText(tr(time_type_menu[0]));
  21 + ui->pushButton_2->setText(tr(time_type_menu[1]));
  22 +
  23 + reloadUi();
  24 +
  25 + m_pSignalMapper = new QSignalMapper(this);
  26 + m_pSignalMapper->setMapping(ui->pushButton_1,0);
  27 + m_pSignalMapper->setMapping(ui->pushButton_2,1);
  28 +
  29 + connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  30 + connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  31 +
  32 + connect(m_pSignalMapper,SIGNAL(mapped(int)),this,SLOT(onConfigBtnClicked(int)));
  33 +}
  34 +
  35 +ConfigTimeFormatDlg::~ConfigTimeFormatDlg()
  36 +{
  37 + delete ui;
  38 +}
  39 +
  40 +void ConfigTimeFormatDlg::on_ctrBtnOk_clicked()
  41 +{
  42 + Config* cfg = Config::getInstance();
  43 + config_item item;
  44 + item.d32 = m_nCurSel;
  45 + cfg->setConfigValue(config_time_type,item);
  46 + accept();
  47 +}
  48 +
  49 +void ConfigTimeFormatDlg::on_ctrBtnCancel_clicked()
  50 +{
  51 + reject();
  52 +}
  53 +
  54 +void ConfigTimeFormatDlg::onConfigBtnClicked(const int sel){
  55 + m_nCurSel = sel;
  56 +}
  57 +
  58 +
  59 +
  60 +void ConfigTimeFormatDlg::reloadUi(){
  61 + switch(m_nCurSel){
  62 + case 0:
  63 + ui->pushButton_1->setChecked(true);
  64 + break;
  65 + case 1:
  66 + ui->pushButton_2->setChecked(true);
  67 + break;
  68 + default:
  69 + break;
  70 + }
  71 +}
... ...
app/gui/oven_control/configtimeformatdlg.h
... ... @@ -0,0 +1,36 @@
  1 +#ifndef CONFIGTIMEFORMATDLG_H
  2 +#define CONFIGTIMEFORMATDLG_H
  3 +
  4 +#include <QDialog>
  5 +#include <QSignalMapper>
  6 +
  7 +namespace Ui {
  8 +class ConfigTimeFormatDlg;
  9 +}
  10 +
  11 +class ConfigTimeFormatDlg : public QDialog
  12 +{
  13 + Q_OBJECT
  14 +
  15 + void reloadUi(void);
  16 +
  17 +public:
  18 + explicit ConfigTimeFormatDlg(QWidget *parent = 0);
  19 + ~ConfigTimeFormatDlg();
  20 +
  21 +private slots:
  22 + void on_ctrBtnOk_clicked();
  23 +
  24 + void on_ctrBtnCancel_clicked();
  25 +
  26 +
  27 +public slots:
  28 + void onConfigBtnClicked(const int sel);
  29 +
  30 +private:
  31 + Ui::ConfigTimeFormatDlg *ui;
  32 + QSignalMapper *m_pSignalMapper;
  33 + int m_nCurSel;
  34 +};
  35 +
  36 +#endif // CONFIGTIMEFORMATDLG_H
... ...
app/gui/oven_control/configtimeformatdlg.ui
... ... @@ -0,0 +1,225 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ConfigTimeFormatDlg</class>
  4 + <widget class="QDialog" name="ConfigTimeFormatDlg">
  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/configwindow.cpp
... ... @@ -77,6 +77,8 @@ void ConfigWindow::on_pushButton_8_clicked() //설정 버튼
77 77  
78 78 void ConfigWindow::onConfigBtnClicked(uint16_t id){
79 79 qDebug() << "config id prsess : " << id;
  80 + Config *cfg = Config::getInstance();
  81 + cfg->execConfigWindow(this,(Define::ConfigType)id);
80 82 }
81 83  
82 84  
... ...
app/gui/oven_control/configwindow.h
... ... @@ -31,10 +31,10 @@ class ConfigWindow : public QMainWindow
31 31  
32 32 private:
33 33 const uint16_t m_arrMaxMenuCount[7] ={
34   - 9,8,0,
  34 + 5,8,0,
35 35 };
36 36 const Define::ConfigType m_arrConfigListInfos[7][20] = {
37   - {config_language, config_datetime, config_temptype,config_backlight, config_stop_delay , config_best_dish_weight,config_party_dish_weight, config_time_type,config_resttime_format,},
  37 + {config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,},
38 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 39 {config_invalid,},
40 40 {config_invalid,},
... ...
app/gui/oven_control/dotprogressbarwidget.cpp
... ... @@ -0,0 +1,57 @@
  1 +#include "dotprogressbarwidget.h"
  2 +#include "ui_dotprogressbarwidget.h"
  3 +
  4 +
  5 +DotProgressBarWidget::DotProgressBarWidget(QWidget *parent) :
  6 + QWidget(parent),
  7 + ui(new Ui::DotProgressBarWidget)
  8 +{
  9 + ui->setupUi(this);
  10 +
  11 + m_nCurProgress = 0;
  12 + m_nMaximumProgress = 0;
  13 +
  14 + basePixmap.load(":/images/symbol/step_bullet.png");
  15 + coverPixmap.load(":/images/symbol/selected_step_bullet.png");
  16 +
  17 +
  18 +}
  19 +
  20 +DotProgressBarWidget::~DotProgressBarWidget()
  21 +{
  22 + delete ui;
  23 +}
  24 +
  25 +void DotProgressBarWidget::setCurrentProgress(int progress){
  26 + m_nCurProgress = progress;
  27 + reloadUi();
  28 +}
  29 +
  30 +
  31 +void DotProgressBarWidget::reloadUi(){
  32 + for(int i = 0;i<m_nMaximumProgress;i++){
  33 + if(m_nCurProgress >= (i+1)){
  34 + m_ctrLabelList[i]->setPixmap(coverPixmap);
  35 + }
  36 + else m_ctrLabelList[i]->setPixmap(basePixmap);
  37 + }
  38 +}
  39 +
  40 +void DotProgressBarWidget::setMaxProgress(int curProgress, int maxProgress){
  41 + QRect defaultGeometry;
  42 + m_nCurProgress = curProgress;
  43 + m_nMaximumProgress = maxProgress;
  44 + defaultGeometry.setSize(basePixmap.size());
  45 + QLabel *label;
  46 + for(int i=0;i<m_nMaximumProgress;i++){
  47 + label = new QLabel(this);
  48 + m_ctrLabelList.append(label);
  49 + if(m_nCurProgress >=(i+1)){
  50 + label->setPixmap(coverPixmap);
  51 + }
  52 + else label->setPixmap(basePixmap);
  53 + label->setGeometry(defaultGeometry);
  54 + label->setAlignment(Qt::AlignCenter);
  55 + ui->horizontalLayout_2->addWidget(label);
  56 + }
  57 +}
... ...
app/gui/oven_control/dotprogressbarwidget.h
... ... @@ -0,0 +1,36 @@
  1 +#ifndef DOTPROGRESSBARWIDGET_H
  2 +#define DOTPROGRESSBARWIDGET_H
  3 +
  4 +#include <QWidget>
  5 +#include <QLabel>
  6 +
  7 +
  8 +namespace Ui {
  9 +class DotProgressBarWidget;
  10 +}
  11 +
  12 +class DotProgressBarWidget : public QWidget
  13 +{
  14 + Q_OBJECT
  15 +
  16 +public:
  17 + explicit DotProgressBarWidget(QWidget *parent = 0);
  18 + ~DotProgressBarWidget();
  19 + void setMaxProgress(int curProgress, int maxProgress);
  20 + void setCurrentProgress(int progress);
  21 +
  22 +
  23 +private:
  24 + void reloadUi(void);
  25 +
  26 + Ui::DotProgressBarWidget *ui;
  27 + QPixmap basePixmap;
  28 + QPixmap coverPixmap;
  29 +
  30 + QList<QLabel *>m_ctrLabelList;
  31 +
  32 + int m_nCurProgress;
  33 + int m_nMaximumProgress;
  34 +};
  35 +
  36 +#endif // DOTPROGRESSBARWIDGET_H
... ...
app/gui/oven_control/dotprogressbarwidget.ui
... ... @@ -0,0 +1,32 @@
  1 +<ui version="4.0">
  2 + <author/>
  3 + <comment/>
  4 + <exportmacro/>
  5 + <class>DotProgressBarWidget</class>
  6 + <widget class="QWidget" name="DotProgressBarWidget">
  7 + <property name="geometry">
  8 + <rect>
  9 + <x>0</x>
  10 + <y>0</y>
  11 + <width>710</width>
  12 + <height>126</height>
  13 + </rect>
  14 + </property>
  15 + <property name="windowTitle">
  16 + <string>Form</string>
  17 + </property>
  18 + <layout class="QHBoxLayout" name="horizontalLayout">
  19 + <property name="leftMargin">
  20 + <number>0</number>
  21 + </property>
  22 + <property name="rightMargin">
  23 + <number>0</number>
  24 + </property>
  25 + <item>
  26 + <layout class="QHBoxLayout" name="horizontalLayout_2"/>
  27 + </item>
  28 + </layout>
  29 +</widget>
  30 +<resources/>
  31 +<connections/>
  32 +</ui>
... ...
app/gui/oven_control/formatterspinbox.cpp
... ... @@ -0,0 +1,29 @@
  1 +#include <QtWidgets>
  2 +
  3 +#include "formatterspinbox.h"
  4 +
  5 +FormatterSpinBox::FormatterSpinBox(QWidget *parent)
  6 + : QSpinBox(parent)
  7 +{
  8 + m_nwidth = 2;
  9 +}
  10 +
  11 + //! [1]
  12 + int FormatterSpinBox::valueFromText(const QString &text) const
  13 + {
  14 + return text.toInt();
  15 + }
  16 + //! [1]
  17 +
  18 + //! [2]
  19 + QString FormatterSpinBox::textFromValue(int value) const
  20 + {
  21 + QString strTemp;
  22 +
  23 + return tr("%1").arg(value,m_nwidth,10,QLatin1Char('0'));
  24 + }
  25 + //! [2]
  26 +
  27 + void FormatterSpinBox::setFormatterWidth(int wid){
  28 + m_nwidth = wid;
  29 + }
... ...
app/gui/oven_control/formatterspinbox.h
... ... @@ -0,0 +1,24 @@
  1 +#ifndef FORMATTERSPINBOX_H
  2 +#define FORMATTERSPINBOX_H
  3 +
  4 +#include <QWidget>
  5 +#include <QSpinBox>
  6 +
  7 +
  8 +
  9 +class FormatterSpinBox : public QSpinBox
  10 +{
  11 + Q_OBJECT
  12 +private:
  13 + int m_nwidth;
  14 +
  15 +public:
  16 + explicit FormatterSpinBox(QWidget *parent = Q_NULLPTR);
  17 +
  18 + int valueFromText(const QString &text) const Q_DECL_OVERRIDE;
  19 + QString textFromValue(int value) const Q_DECL_OVERRIDE;
  20 +
  21 + void setFormatterWidth(int wid);
  22 +};
  23 +
  24 +#endif // SPINBOX_H
... ...
app/gui/oven_control/images/config/101_br_icon_01.png

2.93 KB

app/gui/oven_control/images/config/101_br_icon_01_ov.png

3.27 KB

app/gui/oven_control/images/config/101_br_icon_02.png

2.74 KB

app/gui/oven_control/images/config/101_br_icon_02_ov.png

3.12 KB

app/gui/oven_control/images/config/101_br_icon_03.png

2.64 KB

app/gui/oven_control/images/config/101_br_icon_03_ov.png

3.03 KB

app/gui/oven_control/images/config/101_br_icon_04.png

2.4 KB

app/gui/oven_control/images/config/101_br_icon_04_ov.png

2.8 KB

app/gui/oven_control/images/config/102_icon_play.png

682 Bytes

app/gui/oven_control/images/config/102_icon_play_ov.png

777 Bytes

app/gui/oven_control/keyboardwidget.cpp
... ... @@ -0,0 +1,128 @@
  1 +#include <QKeyEvent>
  2 +#include <QDebug>
  3 +#include "keyboardwidget.h"
  4 +#include "ui_keyboardwidget.h"
  5 +
  6 +KeyboardWidget::KeyboardWidget(QWidget *parent) :
  7 + QWidget(parent),
  8 + ui(new Ui::KeyboardWidget)
  9 +{
  10 + ui->setupUi(this);
  11 + m_pSignalMapper = new QSignalMapper(this);
  12 +
  13 + m_pSignalMapper->setMapping(ui->pushButton_1, tr("1"));
  14 + m_pSignalMapper->setMapping(ui->pushButton_2, tr("2"));
  15 + m_pSignalMapper->setMapping(ui->pushButton_3, tr("3"));
  16 + m_pSignalMapper->setMapping(ui->pushButton_4, tr("4"));
  17 + m_pSignalMapper->setMapping(ui->pushButton_5, tr("5"));
  18 + m_pSignalMapper->setMapping(ui->pushButton_6, tr("6"));
  19 + m_pSignalMapper->setMapping(ui->pushButton_7, tr("7"));
  20 + m_pSignalMapper->setMapping(ui->pushButton_8, tr("8"));
  21 + m_pSignalMapper->setMapping(ui->pushButton_9, tr("9"));
  22 + m_pSignalMapper->setMapping(ui->pushButton_11, tr("Q"));
  23 + m_pSignalMapper->setMapping(ui->pushButton_12, tr("W"));
  24 + m_pSignalMapper->setMapping(ui->pushButton_13, tr("E"));
  25 + m_pSignalMapper->setMapping(ui->pushButton_14, tr("R"));
  26 + m_pSignalMapper->setMapping(ui->pushButton_15, tr("T"));
  27 + m_pSignalMapper->setMapping(ui->pushButton_16, tr("Y"));
  28 + m_pSignalMapper->setMapping(ui->pushButton_17, tr("U"));
  29 + m_pSignalMapper->setMapping(ui->pushButton_18, tr("I"));
  30 + m_pSignalMapper->setMapping(ui->pushButton_19, tr("O"));
  31 + m_pSignalMapper->setMapping(ui->pushButton_20, tr("P"));
  32 + m_pSignalMapper->setMapping(ui->pushButton_21, tr("A"));
  33 + m_pSignalMapper->setMapping(ui->pushButton_22, tr("S"));
  34 + m_pSignalMapper->setMapping(ui->pushButton_23, tr("D"));
  35 + m_pSignalMapper->setMapping(ui->pushButton_24, tr("F"));
  36 + m_pSignalMapper->setMapping(ui->pushButton_25, tr("G"));
  37 + m_pSignalMapper->setMapping(ui->pushButton_26, tr("H"));
  38 + m_pSignalMapper->setMapping(ui->pushButton_27, tr("J"));
  39 + m_pSignalMapper->setMapping(ui->pushButton_28, tr("K"));
  40 + m_pSignalMapper->setMapping(ui->pushButton_29, tr("L"));
  41 + m_pSignalMapper->setMapping(ui->pushButton_30, tr("Z"));
  42 + m_pSignalMapper->setMapping(ui->pushButton_31, tr("X"));
  43 + m_pSignalMapper->setMapping(ui->pushButton_32, tr("C"));
  44 + m_pSignalMapper->setMapping(ui->pushButton_33, tr("V"));
  45 + m_pSignalMapper->setMapping(ui->pushButton_34, tr("B"));
  46 + m_pSignalMapper->setMapping(ui->pushButton_35, tr("N"));
  47 + m_pSignalMapper->setMapping(ui->pushButton_36, tr("M"));
  48 + m_pSignalMapper->setMapping(ui->pushButton_37, tr("-"));
  49 + m_pSignalMapper->setMapping(ui->pushButton_38, tr(","));
  50 +
  51 +
  52 + connect(ui->pushButton_1,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  53 + connect(ui->pushButton_2,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  54 + connect(ui->pushButton_3,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  55 + connect(ui->pushButton_4,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  56 + connect(ui->pushButton_5,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  57 + connect(ui->pushButton_6,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  58 + connect(ui->pushButton_7,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  59 + connect(ui->pushButton_8,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  60 + connect(ui->pushButton_9,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  61 + connect(ui->pushButton_10,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  62 + connect(ui->pushButton_11,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  63 + connect(ui->pushButton_12,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  64 + connect(ui->pushButton_13,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  65 + connect(ui->pushButton_14,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  66 + connect(ui->pushButton_15,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  67 + connect(ui->pushButton_16,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  68 + connect(ui->pushButton_17,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  69 + connect(ui->pushButton_18,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  70 + connect(ui->pushButton_19,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  71 + connect(ui->pushButton_20,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  72 + connect(ui->pushButton_21,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  73 + connect(ui->pushButton_22,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  74 + connect(ui->pushButton_23,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  75 + connect(ui->pushButton_24,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  76 + connect(ui->pushButton_25,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  77 + connect(ui->pushButton_26,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  78 + connect(ui->pushButton_27,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  79 + connect(ui->pushButton_28,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  80 + connect(ui->pushButton_29,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  81 + connect(ui->pushButton_30,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  82 + connect(ui->pushButton_31,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  83 + connect(ui->pushButton_32,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  84 + connect(ui->pushButton_33,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  85 + connect(ui->pushButton_34,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  86 + connect(ui->pushButton_35,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  87 + connect(ui->pushButton_36,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  88 + connect(ui->pushButton_37,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  89 + connect(ui->pushButton_38,SIGNAL(clicked(bool)),m_pSignalMapper,SLOT(map()));
  90 +
  91 + connect(m_pSignalMapper,SIGNAL(mapped(QString)), this, SLOT(onKeyboardClicked(QString)));
  92 +}
  93 +
  94 +KeyboardWidget::~KeyboardWidget()
  95 +{
  96 + delete ui;
  97 +}
  98 +
  99 +void KeyboardWidget::on_pushButton_41_clicked()
  100 +{
  101 + QKeyEvent key(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
  102 + QGuiApplication::sendEvent(QApplication::focusObject(),&key);
  103 + emit onOkKeyClicked();
  104 +}
  105 +
  106 +void KeyboardWidget::on_pushButton_42_clicked()
  107 +{
  108 + emit onCancelKeyClicked();
  109 +}
  110 +
  111 +void KeyboardWidget::on_pushButton_39_clicked()
  112 +{
  113 + QKeyEvent key(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier);
  114 + QGuiApplication::sendEvent(QApplication::focusObject(),&key);
  115 + emit onBackspaceKeyClicked();
  116 +}
  117 +
  118 +void KeyboardWidget::onKeyboardClicked(const QString in){
  119 + QInputMethodEvent event;
  120 + event.setCommitString(in);
  121 + QGuiApplication::sendEvent(QApplication::focusObject(),&event);
  122 + emit onKeyboardClickSignal(in);
  123 +}
  124 +
  125 +void KeyboardWidget::on_pushButton_40_clicked()
  126 +{
  127 + emit onSpaceKeyClicked();
  128 +}
... ...
app/gui/oven_control/keyboardwidget.h
... ... @@ -0,0 +1,45 @@
  1 + #ifndef KEYBOARDWIDGET_H
  2 +#define KEYBOARDWIDGET_H
  3 +
  4 +#include <QWidget>
  5 +#include <QSignalMapper>
  6 +#include <QChar>
  7 +
  8 +namespace Ui {
  9 +class KeyboardWidget;
  10 +}
  11 +
  12 +class KeyboardWidget : public QWidget
  13 +{
  14 + Q_OBJECT
  15 +
  16 +public:
  17 + explicit KeyboardWidget(QWidget *parent = 0);
  18 + ~KeyboardWidget();
  19 +
  20 +private slots:
  21 + void on_pushButton_41_clicked();
  22 +
  23 + void on_pushButton_42_clicked();
  24 +
  25 + void on_pushButton_39_clicked();
  26 +
  27 + void on_pushButton_40_clicked();
  28 +
  29 +signals:
  30 + void onKeyboardClickSignal(const QString in);
  31 + void onBackspaceKeyClicked();
  32 + void onOkKeyClicked();
  33 + void onCancelKeyClicked();
  34 + void onSpaceKeyClicked();
  35 +
  36 +public slots:
  37 + void onKeyboardClicked(const QString in);
  38 +
  39 +private:
  40 + Ui::KeyboardWidget *ui;
  41 +
  42 + QSignalMapper *m_pSignalMapper;
  43 +};
  44 +
  45 +#endif // KEYBOARDWIDGET_H
... ...
app/gui/oven_control/keyboardwidget.ui
... ... @@ -0,0 +1,1301 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>KeyboardWidget</class>
  4 + <widget class="QWidget" name="KeyboardWidget">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>900</width>
  10 + <height>600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>Form</string>
  15 + </property>
  16 + <property name="styleSheet">
  17 + <string notr="true">#KeyboardWidget{
  18 + background-color: rgba(25, 25, 25, 200);
  19 +}
  20 +
  21 +</string>
  22 + </property>
  23 + <widget class="QWidget" name="gridLayoutWidget">
  24 + <property name="geometry">
  25 + <rect>
  26 + <x>10</x>
  27 + <y>10</y>
  28 + <width>881</width>
  29 + <height>581</height>
  30 + </rect>
  31 + </property>
  32 + <layout class="QGridLayout" name="gridLayout">
  33 + <property name="sizeConstraint">
  34 + <enum>QLayout::SetDefaultConstraint</enum>
  35 + </property>
  36 + <item row="3" column="2">
  37 + <widget class="QPushButton" name="pushButton_33">
  38 + <property name="sizePolicy">
  39 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  40 + <horstretch>0</horstretch>
  41 + <verstretch>0</verstretch>
  42 + </sizepolicy>
  43 + </property>
  44 + <property name="minimumSize">
  45 + <size>
  46 + <width>74</width>
  47 + <height>103</height>
  48 + </size>
  49 + </property>
  50 + <property name="focusPolicy">
  51 + <enum>Qt::NoFocus</enum>
  52 + </property>
  53 + <property name="styleSheet">
  54 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a033.png);}
  55 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a033_ov.png); }
  56 +</string>
  57 + </property>
  58 + <property name="text">
  59 + <string/>
  60 + </property>
  61 + <property name="autoDefault">
  62 + <bool>false</bool>
  63 + </property>
  64 + </widget>
  65 + </item>
  66 + <item row="1" column="5">
  67 + <widget class="QPushButton" name="pushButton_16">
  68 + <property name="sizePolicy">
  69 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  70 + <horstretch>0</horstretch>
  71 + <verstretch>0</verstretch>
  72 + </sizepolicy>
  73 + </property>
  74 + <property name="minimumSize">
  75 + <size>
  76 + <width>74</width>
  77 + <height>103</height>
  78 + </size>
  79 + </property>
  80 + <property name="focusPolicy">
  81 + <enum>Qt::NoFocus</enum>
  82 + </property>
  83 + <property name="styleSheet">
  84 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a016.png);}
  85 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a016_ov.png); }
  86 +</string>
  87 + </property>
  88 + <property name="text">
  89 + <string/>
  90 + </property>
  91 + <property name="autoDefault">
  92 + <bool>false</bool>
  93 + </property>
  94 + </widget>
  95 + </item>
  96 + <item row="0" column="8">
  97 + <widget class="QPushButton" name="pushButton_9">
  98 + <property name="sizePolicy">
  99 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  100 + <horstretch>0</horstretch>
  101 + <verstretch>0</verstretch>
  102 + </sizepolicy>
  103 + </property>
  104 + <property name="minimumSize">
  105 + <size>
  106 + <width>74</width>
  107 + <height>103</height>
  108 + </size>
  109 + </property>
  110 + <property name="focusPolicy">
  111 + <enum>Qt::NoFocus</enum>
  112 + </property>
  113 + <property name="styleSheet">
  114 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a009.png);}
  115 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a009_ov.png); }
  116 +</string>
  117 + </property>
  118 + <property name="text">
  119 + <string/>
  120 + </property>
  121 + <property name="autoDefault">
  122 + <bool>false</bool>
  123 + </property>
  124 + </widget>
  125 + </item>
  126 + <item row="1" column="9">
  127 + <widget class="QPushButton" name="pushButton_20">
  128 + <property name="sizePolicy">
  129 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  130 + <horstretch>0</horstretch>
  131 + <verstretch>0</verstretch>
  132 + </sizepolicy>
  133 + </property>
  134 + <property name="minimumSize">
  135 + <size>
  136 + <width>74</width>
  137 + <height>103</height>
  138 + </size>
  139 + </property>
  140 + <property name="focusPolicy">
  141 + <enum>Qt::NoFocus</enum>
  142 + </property>
  143 + <property name="styleSheet">
  144 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a020.png);}
  145 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a020_ov.png); }
  146 +</string>
  147 + </property>
  148 + <property name="text">
  149 + <string/>
  150 + </property>
  151 + <property name="autoDefault">
  152 + <bool>false</bool>
  153 + </property>
  154 + </widget>
  155 + </item>
  156 + <item row="1" column="1">
  157 + <widget class="QPushButton" name="pushButton_12">
  158 + <property name="sizePolicy">
  159 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  160 + <horstretch>0</horstretch>
  161 + <verstretch>0</verstretch>
  162 + </sizepolicy>
  163 + </property>
  164 + <property name="minimumSize">
  165 + <size>
  166 + <width>74</width>
  167 + <height>103</height>
  168 + </size>
  169 + </property>
  170 + <property name="focusPolicy">
  171 + <enum>Qt::NoFocus</enum>
  172 + </property>
  173 + <property name="styleSheet">
  174 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a012.png);}
  175 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a012_ov.png); }
  176 +</string>
  177 + </property>
  178 + <property name="text">
  179 + <string/>
  180 + </property>
  181 + <property name="autoDefault">
  182 + <bool>false</bool>
  183 + </property>
  184 + </widget>
  185 + </item>
  186 + <item row="2" column="1">
  187 + <widget class="QPushButton" name="pushButton_22">
  188 + <property name="sizePolicy">
  189 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  190 + <horstretch>0</horstretch>
  191 + <verstretch>0</verstretch>
  192 + </sizepolicy>
  193 + </property>
  194 + <property name="minimumSize">
  195 + <size>
  196 + <width>74</width>
  197 + <height>103</height>
  198 + </size>
  199 + </property>
  200 + <property name="focusPolicy">
  201 + <enum>Qt::NoFocus</enum>
  202 + </property>
  203 + <property name="styleSheet">
  204 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a022.png);}
  205 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a022_ov.png); }
  206 +</string>
  207 + </property>
  208 + <property name="text">
  209 + <string/>
  210 + </property>
  211 + <property name="autoDefault">
  212 + <bool>false</bool>
  213 + </property>
  214 + </widget>
  215 + </item>
  216 + <item row="3" column="3">
  217 + <widget class="QPushButton" name="pushButton_34">
  218 + <property name="sizePolicy">
  219 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  220 + <horstretch>0</horstretch>
  221 + <verstretch>0</verstretch>
  222 + </sizepolicy>
  223 + </property>
  224 + <property name="minimumSize">
  225 + <size>
  226 + <width>74</width>
  227 + <height>103</height>
  228 + </size>
  229 + </property>
  230 + <property name="focusPolicy">
  231 + <enum>Qt::NoFocus</enum>
  232 + </property>
  233 + <property name="styleSheet">
  234 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a034.png);}
  235 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a034_ov.png); }
  236 +</string>
  237 + </property>
  238 + <property name="text">
  239 + <string/>
  240 + </property>
  241 + <property name="autoDefault">
  242 + <bool>false</bool>
  243 + </property>
  244 + </widget>
  245 + </item>
  246 + <item row="3" column="5">
  247 + <widget class="QPushButton" name="pushButton_36">
  248 + <property name="sizePolicy">
  249 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  250 + <horstretch>0</horstretch>
  251 + <verstretch>0</verstretch>
  252 + </sizepolicy>
  253 + </property>
  254 + <property name="minimumSize">
  255 + <size>
  256 + <width>74</width>
  257 + <height>103</height>
  258 + </size>
  259 + </property>
  260 + <property name="focusPolicy">
  261 + <enum>Qt::NoFocus</enum>
  262 + </property>
  263 + <property name="styleSheet">
  264 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a036.png);}
  265 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a036_ov.png); }
  266 +</string>
  267 + </property>
  268 + <property name="text">
  269 + <string/>
  270 + </property>
  271 + <property name="autoDefault">
  272 + <bool>false</bool>
  273 + </property>
  274 + </widget>
  275 + </item>
  276 + <item row="3" column="7">
  277 + <widget class="QPushButton" name="pushButton_38">
  278 + <property name="sizePolicy">
  279 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  280 + <horstretch>0</horstretch>
  281 + <verstretch>0</verstretch>
  282 + </sizepolicy>
  283 + </property>
  284 + <property name="minimumSize">
  285 + <size>
  286 + <width>74</width>
  287 + <height>103</height>
  288 + </size>
  289 + </property>
  290 + <property name="focusPolicy">
  291 + <enum>Qt::NoFocus</enum>
  292 + </property>
  293 + <property name="styleSheet">
  294 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a038.png);}
  295 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a038_ov.png); }
  296 +</string>
  297 + </property>
  298 + <property name="text">
  299 + <string/>
  300 + </property>
  301 + <property name="autoDefault">
  302 + <bool>false</bool>
  303 + </property>
  304 + </widget>
  305 + </item>
  306 + <item row="1" column="8">
  307 + <widget class="QPushButton" name="pushButton_19">
  308 + <property name="sizePolicy">
  309 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  310 + <horstretch>0</horstretch>
  311 + <verstretch>0</verstretch>
  312 + </sizepolicy>
  313 + </property>
  314 + <property name="minimumSize">
  315 + <size>
  316 + <width>74</width>
  317 + <height>103</height>
  318 + </size>
  319 + </property>
  320 + <property name="focusPolicy">
  321 + <enum>Qt::NoFocus</enum>
  322 + </property>
  323 + <property name="styleSheet">
  324 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a019.png);}
  325 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a019_ov.png); }
  326 +</string>
  327 + </property>
  328 + <property name="text">
  329 + <string/>
  330 + </property>
  331 + <property name="autoDefault">
  332 + <bool>false</bool>
  333 + </property>
  334 + </widget>
  335 + </item>
  336 + <item row="0" column="5">
  337 + <widget class="QPushButton" name="pushButton_6">
  338 + <property name="sizePolicy">
  339 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  340 + <horstretch>0</horstretch>
  341 + <verstretch>0</verstretch>
  342 + </sizepolicy>
  343 + </property>
  344 + <property name="minimumSize">
  345 + <size>
  346 + <width>74</width>
  347 + <height>103</height>
  348 + </size>
  349 + </property>
  350 + <property name="focusPolicy">
  351 + <enum>Qt::NoFocus</enum>
  352 + </property>
  353 + <property name="styleSheet">
  354 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a006.png);}
  355 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a006_ov.png); }
  356 +</string>
  357 + </property>
  358 + <property name="text">
  359 + <string/>
  360 + </property>
  361 + <property name="autoDefault">
  362 + <bool>false</bool>
  363 + </property>
  364 + </widget>
  365 + </item>
  366 + <item row="2" column="0">
  367 + <widget class="QPushButton" name="pushButton_21">
  368 + <property name="sizePolicy">
  369 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  370 + <horstretch>0</horstretch>
  371 + <verstretch>0</verstretch>
  372 + </sizepolicy>
  373 + </property>
  374 + <property name="minimumSize">
  375 + <size>
  376 + <width>74</width>
  377 + <height>103</height>
  378 + </size>
  379 + </property>
  380 + <property name="focusPolicy">
  381 + <enum>Qt::NoFocus</enum>
  382 + </property>
  383 + <property name="styleSheet">
  384 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a021.png);}
  385 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a021_ov.png); }
  386 +</string>
  387 + </property>
  388 + <property name="text">
  389 + <string/>
  390 + </property>
  391 + <property name="autoDefault">
  392 + <bool>false</bool>
  393 + </property>
  394 + </widget>
  395 + </item>
  396 + <item row="1" column="3">
  397 + <widget class="QPushButton" name="pushButton_14">
  398 + <property name="sizePolicy">
  399 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  400 + <horstretch>0</horstretch>
  401 + <verstretch>0</verstretch>
  402 + </sizepolicy>
  403 + </property>
  404 + <property name="minimumSize">
  405 + <size>
  406 + <width>74</width>
  407 + <height>103</height>
  408 + </size>
  409 + </property>
  410 + <property name="focusPolicy">
  411 + <enum>Qt::NoFocus</enum>
  412 + </property>
  413 + <property name="styleSheet">
  414 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a014.png);}
  415 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a014_ov.png); }
  416 +</string>
  417 + </property>
  418 + <property name="text">
  419 + <string/>
  420 + </property>
  421 + <property name="autoDefault">
  422 + <bool>false</bool>
  423 + </property>
  424 + </widget>
  425 + </item>
  426 + <item row="2" column="2">
  427 + <widget class="QPushButton" name="pushButton_23">
  428 + <property name="sizePolicy">
  429 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  430 + <horstretch>0</horstretch>
  431 + <verstretch>0</verstretch>
  432 + </sizepolicy>
  433 + </property>
  434 + <property name="minimumSize">
  435 + <size>
  436 + <width>74</width>
  437 + <height>103</height>
  438 + </size>
  439 + </property>
  440 + <property name="focusPolicy">
  441 + <enum>Qt::NoFocus</enum>
  442 + </property>
  443 + <property name="styleSheet">
  444 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a023.png);}
  445 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a023_ov.png); }
  446 +</string>
  447 + </property>
  448 + <property name="text">
  449 + <string/>
  450 + </property>
  451 + <property name="autoDefault">
  452 + <bool>false</bool>
  453 + </property>
  454 + </widget>
  455 + </item>
  456 + <item row="0" column="7">
  457 + <widget class="QPushButton" name="pushButton_8">
  458 + <property name="sizePolicy">
  459 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  460 + <horstretch>0</horstretch>
  461 + <verstretch>0</verstretch>
  462 + </sizepolicy>
  463 + </property>
  464 + <property name="minimumSize">
  465 + <size>
  466 + <width>74</width>
  467 + <height>103</height>
  468 + </size>
  469 + </property>
  470 + <property name="focusPolicy">
  471 + <enum>Qt::NoFocus</enum>
  472 + </property>
  473 + <property name="styleSheet">
  474 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a008.png);}
  475 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a008_ov.png); }
  476 +</string>
  477 + </property>
  478 + <property name="text">
  479 + <string/>
  480 + </property>
  481 + <property name="autoDefault">
  482 + <bool>false</bool>
  483 + </property>
  484 + </widget>
  485 + </item>
  486 + <item row="0" column="2">
  487 + <widget class="QPushButton" name="pushButton_3">
  488 + <property name="sizePolicy">
  489 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  490 + <horstretch>0</horstretch>
  491 + <verstretch>0</verstretch>
  492 + </sizepolicy>
  493 + </property>
  494 + <property name="minimumSize">
  495 + <size>
  496 + <width>74</width>
  497 + <height>103</height>
  498 + </size>
  499 + </property>
  500 + <property name="focusPolicy">
  501 + <enum>Qt::NoFocus</enum>
  502 + </property>
  503 + <property name="styleSheet">
  504 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a003.png);}
  505 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a003_ov.png); }
  506 +</string>
  507 + </property>
  508 + <property name="text">
  509 + <string/>
  510 + </property>
  511 + <property name="autoDefault">
  512 + <bool>false</bool>
  513 + </property>
  514 + </widget>
  515 + </item>
  516 + <item row="0" column="1">
  517 + <widget class="QPushButton" name="pushButton_2">
  518 + <property name="sizePolicy">
  519 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  520 + <horstretch>0</horstretch>
  521 + <verstretch>0</verstretch>
  522 + </sizepolicy>
  523 + </property>
  524 + <property name="minimumSize">
  525 + <size>
  526 + <width>74</width>
  527 + <height>103</height>
  528 + </size>
  529 + </property>
  530 + <property name="focusPolicy">
  531 + <enum>Qt::NoFocus</enum>
  532 + </property>
  533 + <property name="styleSheet">
  534 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a002.png);}
  535 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a002_ov.png); }
  536 +</string>
  537 + </property>
  538 + <property name="text">
  539 + <string/>
  540 + </property>
  541 + <property name="autoDefault">
  542 + <bool>false</bool>
  543 + </property>
  544 + </widget>
  545 + </item>
  546 + <item row="2" column="8" colspan="2">
  547 + <widget class="QPushButton" name="pushButton_29">
  548 + <property name="sizePolicy">
  549 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  550 + <horstretch>0</horstretch>
  551 + <verstretch>0</verstretch>
  552 + </sizepolicy>
  553 + </property>
  554 + <property name="minimumSize">
  555 + <size>
  556 + <width>74</width>
  557 + <height>103</height>
  558 + </size>
  559 + </property>
  560 + <property name="focusPolicy">
  561 + <enum>Qt::NoFocus</enum>
  562 + </property>
  563 + <property name="styleSheet">
  564 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a029.png);}
  565 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a029_ov.png); }
  566 +</string>
  567 + </property>
  568 + <property name="text">
  569 + <string/>
  570 + </property>
  571 + <property name="autoDefault">
  572 + <bool>false</bool>
  573 + </property>
  574 + </widget>
  575 + </item>
  576 + <item row="0" column="9">
  577 + <widget class="QPushButton" name="pushButton_10">
  578 + <property name="sizePolicy">
  579 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  580 + <horstretch>0</horstretch>
  581 + <verstretch>0</verstretch>
  582 + </sizepolicy>
  583 + </property>
  584 + <property name="minimumSize">
  585 + <size>
  586 + <width>74</width>
  587 + <height>103</height>
  588 + </size>
  589 + </property>
  590 + <property name="focusPolicy">
  591 + <enum>Qt::NoFocus</enum>
  592 + </property>
  593 + <property name="styleSheet">
  594 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a010.png);}
  595 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a010_ov.png); }
  596 +</string>
  597 + </property>
  598 + <property name="text">
  599 + <string/>
  600 + </property>
  601 + <property name="autoDefault">
  602 + <bool>false</bool>
  603 + </property>
  604 + </widget>
  605 + </item>
  606 + <item row="2" column="7">
  607 + <widget class="QPushButton" name="pushButton_28">
  608 + <property name="sizePolicy">
  609 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  610 + <horstretch>0</horstretch>
  611 + <verstretch>0</verstretch>
  612 + </sizepolicy>
  613 + </property>
  614 + <property name="minimumSize">
  615 + <size>
  616 + <width>74</width>
  617 + <height>103</height>
  618 + </size>
  619 + </property>
  620 + <property name="focusPolicy">
  621 + <enum>Qt::NoFocus</enum>
  622 + </property>
  623 + <property name="styleSheet">
  624 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a028.png);}
  625 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a028_ov.png); }
  626 +</string>
  627 + </property>
  628 + <property name="text">
  629 + <string/>
  630 + </property>
  631 + <property name="autoDefault">
  632 + <bool>false</bool>
  633 + </property>
  634 + </widget>
  635 + </item>
  636 + <item row="1" column="7">
  637 + <widget class="QPushButton" name="pushButton_18">
  638 + <property name="sizePolicy">
  639 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  640 + <horstretch>0</horstretch>
  641 + <verstretch>0</verstretch>
  642 + </sizepolicy>
  643 + </property>
  644 + <property name="minimumSize">
  645 + <size>
  646 + <width>74</width>
  647 + <height>103</height>
  648 + </size>
  649 + </property>
  650 + <property name="focusPolicy">
  651 + <enum>Qt::NoFocus</enum>
  652 + </property>
  653 + <property name="styleSheet">
  654 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a018.png);}
  655 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a018_ov.png); }
  656 +</string>
  657 + </property>
  658 + <property name="text">
  659 + <string/>
  660 + </property>
  661 + <property name="autoDefault">
  662 + <bool>false</bool>
  663 + </property>
  664 + </widget>
  665 + </item>
  666 + <item row="0" column="0">
  667 + <widget class="QPushButton" name="pushButton_1">
  668 + <property name="sizePolicy">
  669 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  670 + <horstretch>0</horstretch>
  671 + <verstretch>0</verstretch>
  672 + </sizepolicy>
  673 + </property>
  674 + <property name="minimumSize">
  675 + <size>
  676 + <width>74</width>
  677 + <height>103</height>
  678 + </size>
  679 + </property>
  680 + <property name="focusPolicy">
  681 + <enum>Qt::NoFocus</enum>
  682 + </property>
  683 + <property name="styleSheet">
  684 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a001.png);}
  685 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a001_ov.png); }
  686 +</string>
  687 + </property>
  688 + <property name="text">
  689 + <string/>
  690 + </property>
  691 + <property name="autoDefault">
  692 + <bool>false</bool>
  693 + </property>
  694 + </widget>
  695 + </item>
  696 + <item row="1" column="4">
  697 + <widget class="QPushButton" name="pushButton_15">
  698 + <property name="sizePolicy">
  699 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  700 + <horstretch>0</horstretch>
  701 + <verstretch>0</verstretch>
  702 + </sizepolicy>
  703 + </property>
  704 + <property name="minimumSize">
  705 + <size>
  706 + <width>74</width>
  707 + <height>103</height>
  708 + </size>
  709 + </property>
  710 + <property name="focusPolicy">
  711 + <enum>Qt::NoFocus</enum>
  712 + </property>
  713 + <property name="styleSheet">
  714 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a015.png);}
  715 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a015_ov.png); }
  716 +</string>
  717 + </property>
  718 + <property name="text">
  719 + <string/>
  720 + </property>
  721 + <property name="autoDefault">
  722 + <bool>false</bool>
  723 + </property>
  724 + </widget>
  725 + </item>
  726 + <item row="3" column="4">
  727 + <widget class="QPushButton" name="pushButton_35">
  728 + <property name="sizePolicy">
  729 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  730 + <horstretch>0</horstretch>
  731 + <verstretch>0</verstretch>
  732 + </sizepolicy>
  733 + </property>
  734 + <property name="minimumSize">
  735 + <size>
  736 + <width>74</width>
  737 + <height>103</height>
  738 + </size>
  739 + </property>
  740 + <property name="focusPolicy">
  741 + <enum>Qt::NoFocus</enum>
  742 + </property>
  743 + <property name="styleSheet">
  744 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a035.png);}
  745 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a035_ov.png); }
  746 +</string>
  747 + </property>
  748 + <property name="text">
  749 + <string/>
  750 + </property>
  751 + <property name="autoDefault">
  752 + <bool>false</bool>
  753 + </property>
  754 + </widget>
  755 + </item>
  756 + <item row="2" column="5">
  757 + <widget class="QPushButton" name="pushButton_26">
  758 + <property name="sizePolicy">
  759 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  760 + <horstretch>0</horstretch>
  761 + <verstretch>0</verstretch>
  762 + </sizepolicy>
  763 + </property>
  764 + <property name="minimumSize">
  765 + <size>
  766 + <width>74</width>
  767 + <height>103</height>
  768 + </size>
  769 + </property>
  770 + <property name="focusPolicy">
  771 + <enum>Qt::NoFocus</enum>
  772 + </property>
  773 + <property name="styleSheet">
  774 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a026.png);}
  775 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a026_ov.png); }
  776 +</string>
  777 + </property>
  778 + <property name="text">
  779 + <string/>
  780 + </property>
  781 + <property name="autoDefault">
  782 + <bool>false</bool>
  783 + </property>
  784 + </widget>
  785 + </item>
  786 + <item row="1" column="0">
  787 + <widget class="QPushButton" name="pushButton_11">
  788 + <property name="sizePolicy">
  789 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  790 + <horstretch>0</horstretch>
  791 + <verstretch>0</verstretch>
  792 + </sizepolicy>
  793 + </property>
  794 + <property name="minimumSize">
  795 + <size>
  796 + <width>74</width>
  797 + <height>103</height>
  798 + </size>
  799 + </property>
  800 + <property name="focusPolicy">
  801 + <enum>Qt::NoFocus</enum>
  802 + </property>
  803 + <property name="styleSheet">
  804 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a011.png);}
  805 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a011_ov.png); }
  806 +</string>
  807 + </property>
  808 + <property name="text">
  809 + <string/>
  810 + </property>
  811 + <property name="autoDefault">
  812 + <bool>false</bool>
  813 + </property>
  814 + </widget>
  815 + </item>
  816 + <item row="3" column="0">
  817 + <widget class="QPushButton" name="pushButton_31">
  818 + <property name="sizePolicy">
  819 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  820 + <horstretch>0</horstretch>
  821 + <verstretch>0</verstretch>
  822 + </sizepolicy>
  823 + </property>
  824 + <property name="minimumSize">
  825 + <size>
  826 + <width>74</width>
  827 + <height>103</height>
  828 + </size>
  829 + </property>
  830 + <property name="focusPolicy">
  831 + <enum>Qt::NoFocus</enum>
  832 + </property>
  833 + <property name="styleSheet">
  834 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a031.png);}
  835 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a031_ov.png); }
  836 +</string>
  837 + </property>
  838 + <property name="text">
  839 + <string/>
  840 + </property>
  841 + <property name="autoDefault">
  842 + <bool>false</bool>
  843 + </property>
  844 + </widget>
  845 + </item>
  846 + <item row="0" column="3">
  847 + <widget class="QPushButton" name="pushButton_4">
  848 + <property name="sizePolicy">
  849 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  850 + <horstretch>0</horstretch>
  851 + <verstretch>0</verstretch>
  852 + </sizepolicy>
  853 + </property>
  854 + <property name="minimumSize">
  855 + <size>
  856 + <width>74</width>
  857 + <height>103</height>
  858 + </size>
  859 + </property>
  860 + <property name="focusPolicy">
  861 + <enum>Qt::NoFocus</enum>
  862 + </property>
  863 + <property name="styleSheet">
  864 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a004.png);}
  865 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a004_ov.png); }
  866 +</string>
  867 + </property>
  868 + <property name="text">
  869 + <string/>
  870 + </property>
  871 + <property name="autoDefault">
  872 + <bool>false</bool>
  873 + </property>
  874 + </widget>
  875 + </item>
  876 + <item row="1" column="6">
  877 + <widget class="QPushButton" name="pushButton_17">
  878 + <property name="sizePolicy">
  879 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  880 + <horstretch>0</horstretch>
  881 + <verstretch>0</verstretch>
  882 + </sizepolicy>
  883 + </property>
  884 + <property name="minimumSize">
  885 + <size>
  886 + <width>74</width>
  887 + <height>103</height>
  888 + </size>
  889 + </property>
  890 + <property name="focusPolicy">
  891 + <enum>Qt::NoFocus</enum>
  892 + </property>
  893 + <property name="styleSheet">
  894 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a017.png);}
  895 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a017_ov.png); }
  896 +</string>
  897 + </property>
  898 + <property name="text">
  899 + <string/>
  900 + </property>
  901 + <property name="autoDefault">
  902 + <bool>false</bool>
  903 + </property>
  904 + </widget>
  905 + </item>
  906 + <item row="2" column="9">
  907 + <widget class="QPushButton" name="pushButton_30">
  908 + <property name="sizePolicy">
  909 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  910 + <horstretch>0</horstretch>
  911 + <verstretch>0</verstretch>
  912 + </sizepolicy>
  913 + </property>
  914 + <property name="minimumSize">
  915 + <size>
  916 + <width>74</width>
  917 + <height>103</height>
  918 + </size>
  919 + </property>
  920 + <property name="focusPolicy">
  921 + <enum>Qt::NoFocus</enum>
  922 + </property>
  923 + <property name="styleSheet">
  924 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a030.png);}
  925 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a030_ov.png); }
  926 +</string>
  927 + </property>
  928 + <property name="text">
  929 + <string/>
  930 + </property>
  931 + <property name="autoDefault">
  932 + <bool>false</bool>
  933 + </property>
  934 + </widget>
  935 + </item>
  936 + <item row="0" column="4">
  937 + <widget class="QPushButton" name="pushButton_5">
  938 + <property name="sizePolicy">
  939 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  940 + <horstretch>0</horstretch>
  941 + <verstretch>0</verstretch>
  942 + </sizepolicy>
  943 + </property>
  944 + <property name="minimumSize">
  945 + <size>
  946 + <width>74</width>
  947 + <height>103</height>
  948 + </size>
  949 + </property>
  950 + <property name="focusPolicy">
  951 + <enum>Qt::NoFocus</enum>
  952 + </property>
  953 + <property name="styleSheet">
  954 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a005.png);}
  955 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a005_ov.png); }
  956 +</string>
  957 + </property>
  958 + <property name="text">
  959 + <string/>
  960 + </property>
  961 + <property name="autoDefault">
  962 + <bool>false</bool>
  963 + </property>
  964 + </widget>
  965 + </item>
  966 + <item row="0" column="6">
  967 + <widget class="QPushButton" name="pushButton_7">
  968 + <property name="sizePolicy">
  969 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  970 + <horstretch>0</horstretch>
  971 + <verstretch>0</verstretch>
  972 + </sizepolicy>
  973 + </property>
  974 + <property name="minimumSize">
  975 + <size>
  976 + <width>74</width>
  977 + <height>103</height>
  978 + </size>
  979 + </property>
  980 + <property name="focusPolicy">
  981 + <enum>Qt::NoFocus</enum>
  982 + </property>
  983 + <property name="styleSheet">
  984 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a007.png);}
  985 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a007_ov.png); }
  986 +</string>
  987 + </property>
  988 + <property name="text">
  989 + <string/>
  990 + </property>
  991 + <property name="autoDefault">
  992 + <bool>false</bool>
  993 + </property>
  994 + </widget>
  995 + </item>
  996 + <item row="3" column="1">
  997 + <widget class="QPushButton" name="pushButton_32">
  998 + <property name="sizePolicy">
  999 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1000 + <horstretch>0</horstretch>
  1001 + <verstretch>0</verstretch>
  1002 + </sizepolicy>
  1003 + </property>
  1004 + <property name="minimumSize">
  1005 + <size>
  1006 + <width>74</width>
  1007 + <height>103</height>
  1008 + </size>
  1009 + </property>
  1010 + <property name="focusPolicy">
  1011 + <enum>Qt::NoFocus</enum>
  1012 + </property>
  1013 + <property name="styleSheet">
  1014 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a032.png);}
  1015 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a032_ov.png); }
  1016 +</string>
  1017 + </property>
  1018 + <property name="text">
  1019 + <string/>
  1020 + </property>
  1021 + <property name="autoDefault">
  1022 + <bool>false</bool>
  1023 + </property>
  1024 + </widget>
  1025 + </item>
  1026 + <item row="1" column="2">
  1027 + <widget class="QPushButton" name="pushButton_13">
  1028 + <property name="sizePolicy">
  1029 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1030 + <horstretch>0</horstretch>
  1031 + <verstretch>0</verstretch>
  1032 + </sizepolicy>
  1033 + </property>
  1034 + <property name="minimumSize">
  1035 + <size>
  1036 + <width>74</width>
  1037 + <height>103</height>
  1038 + </size>
  1039 + </property>
  1040 + <property name="focusPolicy">
  1041 + <enum>Qt::NoFocus</enum>
  1042 + </property>
  1043 + <property name="styleSheet">
  1044 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a013.png);}
  1045 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a013_ov.png); }
  1046 +</string>
  1047 + </property>
  1048 + <property name="text">
  1049 + <string/>
  1050 + </property>
  1051 + <property name="autoDefault">
  1052 + <bool>false</bool>
  1053 + </property>
  1054 + </widget>
  1055 + </item>
  1056 + <item row="2" column="4">
  1057 + <widget class="QPushButton" name="pushButton_25">
  1058 + <property name="sizePolicy">
  1059 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1060 + <horstretch>0</horstretch>
  1061 + <verstretch>0</verstretch>
  1062 + </sizepolicy>
  1063 + </property>
  1064 + <property name="minimumSize">
  1065 + <size>
  1066 + <width>74</width>
  1067 + <height>103</height>
  1068 + </size>
  1069 + </property>
  1070 + <property name="focusPolicy">
  1071 + <enum>Qt::NoFocus</enum>
  1072 + </property>
  1073 + <property name="styleSheet">
  1074 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a025.png);}
  1075 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a025_ov.png); }
  1076 +</string>
  1077 + </property>
  1078 + <property name="text">
  1079 + <string/>
  1080 + </property>
  1081 + <property name="autoDefault">
  1082 + <bool>false</bool>
  1083 + </property>
  1084 + </widget>
  1085 + </item>
  1086 + <item row="3" column="8" colspan="2">
  1087 + <widget class="QPushButton" name="pushButton_39">
  1088 + <property name="sizePolicy">
  1089 + <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
  1090 + <horstretch>0</horstretch>
  1091 + <verstretch>0</verstretch>
  1092 + </sizepolicy>
  1093 + </property>
  1094 + <property name="minimumSize">
  1095 + <size>
  1096 + <width>74</width>
  1097 + <height>103</height>
  1098 + </size>
  1099 + </property>
  1100 + <property name="focusPolicy">
  1101 + <enum>Qt::NoFocus</enum>
  1102 + </property>
  1103 + <property name="styleSheet">
  1104 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a039.png);}
  1105 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a039_ov.png); }
  1106 +</string>
  1107 + </property>
  1108 + <property name="text">
  1109 + <string/>
  1110 + </property>
  1111 + <property name="autoDefault">
  1112 + <bool>false</bool>
  1113 + </property>
  1114 + </widget>
  1115 + </item>
  1116 + <item row="2" column="3">
  1117 + <widget class="QPushButton" name="pushButton_24">
  1118 + <property name="sizePolicy">
  1119 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1120 + <horstretch>0</horstretch>
  1121 + <verstretch>0</verstretch>
  1122 + </sizepolicy>
  1123 + </property>
  1124 + <property name="minimumSize">
  1125 + <size>
  1126 + <width>74</width>
  1127 + <height>103</height>
  1128 + </size>
  1129 + </property>
  1130 + <property name="focusPolicy">
  1131 + <enum>Qt::NoFocus</enum>
  1132 + </property>
  1133 + <property name="styleSheet">
  1134 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a024.png);}
  1135 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a024_ov.png); }
  1136 +</string>
  1137 + </property>
  1138 + <property name="text">
  1139 + <string/>
  1140 + </property>
  1141 + <property name="autoDefault">
  1142 + <bool>false</bool>
  1143 + </property>
  1144 + </widget>
  1145 + </item>
  1146 + <item row="3" column="6">
  1147 + <widget class="QPushButton" name="pushButton_37">
  1148 + <property name="sizePolicy">
  1149 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1150 + <horstretch>0</horstretch>
  1151 + <verstretch>0</verstretch>
  1152 + </sizepolicy>
  1153 + </property>
  1154 + <property name="minimumSize">
  1155 + <size>
  1156 + <width>74</width>
  1157 + <height>103</height>
  1158 + </size>
  1159 + </property>
  1160 + <property name="focusPolicy">
  1161 + <enum>Qt::NoFocus</enum>
  1162 + </property>
  1163 + <property name="styleSheet">
  1164 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a037.png);}
  1165 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a037_ov.png); }
  1166 +</string>
  1167 + </property>
  1168 + <property name="text">
  1169 + <string/>
  1170 + </property>
  1171 + <property name="autoDefault">
  1172 + <bool>false</bool>
  1173 + </property>
  1174 + </widget>
  1175 + </item>
  1176 + <item row="2" column="6">
  1177 + <widget class="QPushButton" name="pushButton_27">
  1178 + <property name="sizePolicy">
  1179 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  1180 + <horstretch>0</horstretch>
  1181 + <verstretch>0</verstretch>
  1182 + </sizepolicy>
  1183 + </property>
  1184 + <property name="minimumSize">
  1185 + <size>
  1186 + <width>74</width>
  1187 + <height>103</height>
  1188 + </size>
  1189 + </property>
  1190 + <property name="focusPolicy">
  1191 + <enum>Qt::NoFocus</enum>
  1192 + </property>
  1193 + <property name="styleSheet">
  1194 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a027.png);}
  1195 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a027_ov.png); }
  1196 +</string>
  1197 + </property>
  1198 + <property name="text">
  1199 + <string/>
  1200 + </property>
  1201 + <property name="autoDefault">
  1202 + <bool>false</bool>
  1203 + </property>
  1204 + </widget>
  1205 + </item>
  1206 + <item row="4" column="0" colspan="6">
  1207 + <widget class="QPushButton" name="pushButton_40">
  1208 + <property name="sizePolicy">
  1209 + <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
  1210 + <horstretch>0</horstretch>
  1211 + <verstretch>0</verstretch>
  1212 + </sizepolicy>
  1213 + </property>
  1214 + <property name="minimumSize">
  1215 + <size>
  1216 + <width>474</width>
  1217 + <height>103</height>
  1218 + </size>
  1219 + </property>
  1220 + <property name="focusPolicy">
  1221 + <enum>Qt::NoFocus</enum>
  1222 + </property>
  1223 + <property name="styleSheet">
  1224 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a040.png);}
  1225 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a040_ov.png); }
  1226 +</string>
  1227 + </property>
  1228 + <property name="text">
  1229 + <string/>
  1230 + </property>
  1231 + <property name="autoDefault">
  1232 + <bool>false</bool>
  1233 + </property>
  1234 + </widget>
  1235 + </item>
  1236 + <item row="4" column="6" colspan="2">
  1237 + <widget class="QPushButton" name="pushButton_41">
  1238 + <property name="sizePolicy">
  1239 + <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
  1240 + <horstretch>0</horstretch>
  1241 + <verstretch>0</verstretch>
  1242 + </sizepolicy>
  1243 + </property>
  1244 + <property name="minimumSize">
  1245 + <size>
  1246 + <width>74</width>
  1247 + <height>103</height>
  1248 + </size>
  1249 + </property>
  1250 + <property name="focusPolicy">
  1251 + <enum>Qt::NoFocus</enum>
  1252 + </property>
  1253 + <property name="styleSheet">
  1254 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a041.png);}
  1255 +QPushButton:pressed , QPushButton::focus { border-image: url(:/images/keyboard/088_keyboard_a041_ov.png); }
  1256 +</string>
  1257 + </property>
  1258 + <property name="text">
  1259 + <string/>
  1260 + </property>
  1261 + <property name="autoDefault">
  1262 + <bool>false</bool>
  1263 + </property>
  1264 + </widget>
  1265 + </item>
  1266 + <item row="4" column="8" colspan="2">
  1267 + <widget class="QPushButton" name="pushButton_42">
  1268 + <property name="sizePolicy">
  1269 + <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
  1270 + <horstretch>0</horstretch>
  1271 + <verstretch>0</verstretch>
  1272 + </sizepolicy>
  1273 + </property>
  1274 + <property name="minimumSize">
  1275 + <size>
  1276 + <width>74</width>
  1277 + <height>103</height>
  1278 + </size>
  1279 + </property>
  1280 + <property name="focusPolicy">
  1281 + <enum>Qt::NoFocus</enum>
  1282 + </property>
  1283 + <property name="styleSheet">
  1284 + <string notr="true">QPushButton { border-image: url(:/images/keyboard/088_keyboard_a042.png);}
  1285 +QPushButton:pressed { border-image: url(:/images/keyboard/088_keyboard_a042_ov.png); }
  1286 +</string>
  1287 + </property>
  1288 + <property name="text">
  1289 + <string/>
  1290 + </property>
  1291 + <property name="autoDefault">
  1292 + <bool>false</bool>
  1293 + </property>
  1294 + </widget>
  1295 + </item>
  1296 + </layout>
  1297 + </widget>
  1298 + </widget>
  1299 + <resources/>
  1300 + <connections/>
  1301 +</ui>
... ...
app/gui/oven_control/manualcookwindow.ui
... ... @@ -124,7 +124,7 @@ height: 33px;
124 124 </rect>
125 125 </property>
126 126 <property name="pixmap">
127   - <pixmap>:/images/animation/close_door_arrow.png</pixmap>
  127 + <pixmap resource="resources.qrc">:/images/animation/close_door_arrow.png</pixmap>
128 128 </property>
129 129 </widget>
130 130 </widget>
... ... @@ -535,6 +535,9 @@ background-position: center;
535 535 border: none;
536 536 }</string>
537 537 </property>
  538 + <property name="currentIndex">
  539 + <number>0</number>
  540 + </property>
538 541 <widget class="QWidget" name="frontButtonStack">
539 542 <widget class="QPushButton" name="goBackStackButton">
540 543 <property name="geometry">
... ... @@ -1416,7 +1419,7 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
1416 1419 <string/>
1417 1420 </property>
1418 1421 <property name="pixmap">
1419   - <pixmap>:/images/line/manual_core_temp_horizontal.png</pixmap>
  1422 + <pixmap resource="resources.qrc">:/images/line/manual_core_temp_horizontal.png</pixmap>
1420 1423 </property>
1421 1424 </widget>
1422 1425 <widget class="QLabel" name="label_2">
... ... @@ -1432,7 +1435,7 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
1432 1435 <string/>
1433 1436 </property>
1434 1437 <property name="pixmap">
1435   - <pixmap>:/images/line/manual_core_temp_vertical.png</pixmap>
  1438 + <pixmap resource="resources.qrc">:/images/line/manual_core_temp_vertical.png</pixmap>
1436 1439 </property>
1437 1440 </widget>
1438 1441 <widget class="QLabel" name="label_3">
... ... @@ -1448,7 +1451,7 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
1448 1451 <string/>
1449 1452 </property>
1450 1453 <property name="pixmap">
1451   - <pixmap>:/images/line/manual_core_temp_vertical.png</pixmap>
  1454 + <pixmap resource="resources.qrc">:/images/line/manual_core_temp_vertical.png</pixmap>
1452 1455 </property>
1453 1456 </widget>
1454 1457 <widget class="QLabel" name="label_4">
... ... @@ -1464,7 +1467,7 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
1464 1467 <string/>
1465 1468 </property>
1466 1469 <property name="pixmap">
1467   - <pixmap>:/images/line/manual_core_temp_vertical.png</pixmap>
  1470 + <pixmap resource="resources.qrc">:/images/line/manual_core_temp_vertical.png</pixmap>
1468 1471 </property>
1469 1472 </widget>
1470 1473 <widget class="QLabel" name="innerInterTempLabel">
... ... @@ -2335,6 +2338,8 @@ QPushButton:pressed { background-image: url(:/images/manual_button/ok_ov.png); }
2335 2338 <header>animatedimagebox.h</header>
2336 2339 </customwidget>
2337 2340 </customwidgets>
2338   - <resources/>
  2341 + <resources>
  2342 + <include location="resources.qrc"/>
  2343 + </resources>
2339 2344 <connections/>
2340 2345 </ui>
... ...
app/gui/oven_control/oven_control.pro
... ... @@ -69,7 +69,18 @@ SOURCES += main.cpp\
69 69 programmingwindow.cpp \
70 70 primewindow.cpp \
71 71 cookpanelbutton.cpp \
72   - cookhistory.cpp
  72 + cookhistory.cpp \
  73 + keyboardwidget.cpp \
  74 + configdatetimedlg.cpp \
  75 + formatterspinbox.cpp \
  76 + configlanguagedlg.cpp \
  77 + configtemptypedlg.cpp \
  78 + configbacklightdlg.cpp \
  79 + dotprogressbarwidget.cpp \
  80 + configtimeformatdlg.cpp \
  81 + configresttimeformatdlg.cpp \
  82 + configmastervolumedlg.cpp \
  83 + configsoundselelectdlg.cpp
73 84  
74 85 HEADERS += mainwindow.h \
75 86 cook.h \
... ... @@ -128,7 +139,18 @@ HEADERS += mainwindow.h \
128 139 programmingwindow.h \
129 140 primewindow.h \
130 141 cookpanelbutton.h \
131   - cookhistory.h
  142 + cookhistory.h \
  143 + keyboardwidget.h \
  144 + configdatetimedlg.h \
  145 + formatterspinbox.h \
  146 + configlanguagedlg.h \
  147 + configtemptypedlg.h \
  148 + configbacklightdlg.h \
  149 + dotprogressbarwidget.h \
  150 + configtimeformatdlg.h \
  151 + configresttimeformatdlg.h \
  152 + configmastervolumedlg.h \
  153 + configsoundselelectdlg.h
132 154  
133 155 FORMS += mainwindow.ui \
134 156 manualcookwindow.ui \
... ... @@ -164,7 +186,17 @@ FORMS += mainwindow.ui \
164 186 basicsettingwindow.ui \
165 187 programmingwindow.ui \
166 188 primewindow.ui \
167   - cookpanelbutton.ui
  189 + cookpanelbutton.ui \
  190 + keyboardwidget.ui \
  191 + configdatetimedlg.ui \
  192 + configlanguagedlg.ui \
  193 + configtemptypedlg.ui \
  194 + configbacklightdlg.ui \
  195 + dotprogressbarwidget.ui \
  196 + configtimeformatdlg.ui \
  197 + configresttimeformatdlg.ui \
  198 + configmastervolumedlg.ui \
  199 + configsoundselelectdlg.ui
168 200  
169 201 RESOURCES += \
170 202 resources.qrc
... ...
app/gui/oven_control/resources.qrc
... ... @@ -433,5 +433,104 @@
433 433 <file>images/config/service/realtime_sensor_bgnd.png</file>
434 434 <file>images/config/service/adjustment_line.png</file>
435 435 <file>images/config/service/basic_setting_bgnd.png</file>
  436 + <file>images/keyboard/051_password_bar.png</file>
  437 + <file>images/keyboard/051_password_bar_command.png</file>
  438 + <file>images/keyboard/051_password_bar_ov.png</file>
  439 + <file>images/keyboard/088_keyboard_a001.png</file>
  440 + <file>images/keyboard/088_keyboard_a001_ov.png</file>
  441 + <file>images/keyboard/088_keyboard_a002.png</file>
  442 + <file>images/keyboard/088_keyboard_a002_ov.png</file>
  443 + <file>images/keyboard/088_keyboard_a003.png</file>
  444 + <file>images/keyboard/088_keyboard_a003_ov.png</file>
  445 + <file>images/keyboard/088_keyboard_a004.png</file>
  446 + <file>images/keyboard/088_keyboard_a004_ov.png</file>
  447 + <file>images/keyboard/088_keyboard_a005.png</file>
  448 + <file>images/keyboard/088_keyboard_a005_ov.png</file>
  449 + <file>images/keyboard/088_keyboard_a006.png</file>
  450 + <file>images/keyboard/088_keyboard_a006_ov.png</file>
  451 + <file>images/keyboard/088_keyboard_a007.png</file>
  452 + <file>images/keyboard/088_keyboard_a007_ov.png</file>
  453 + <file>images/keyboard/088_keyboard_a008.png</file>
  454 + <file>images/keyboard/088_keyboard_a008_ov.png</file>
  455 + <file>images/keyboard/088_keyboard_a009.png</file>
  456 + <file>images/keyboard/088_keyboard_a009_ov.png</file>
  457 + <file>images/keyboard/088_keyboard_a010.png</file>
  458 + <file>images/keyboard/088_keyboard_a010_ov.png</file>
  459 + <file>images/keyboard/088_keyboard_a011.png</file>
  460 + <file>images/keyboard/088_keyboard_a011_ov.png</file>
  461 + <file>images/keyboard/088_keyboard_a012.png</file>
  462 + <file>images/keyboard/088_keyboard_a012_ov.png</file>
  463 + <file>images/keyboard/088_keyboard_a013.png</file>
  464 + <file>images/keyboard/088_keyboard_a013_ov.png</file>
  465 + <file>images/keyboard/088_keyboard_a014.png</file>
  466 + <file>images/keyboard/088_keyboard_a014_ov.png</file>
  467 + <file>images/keyboard/088_keyboard_a015.png</file>
  468 + <file>images/keyboard/088_keyboard_a015_ov.png</file>
  469 + <file>images/keyboard/088_keyboard_a016.png</file>
  470 + <file>images/keyboard/088_keyboard_a016_ov.png</file>
  471 + <file>images/keyboard/088_keyboard_a017.png</file>
  472 + <file>images/keyboard/088_keyboard_a017_ov.png</file>
  473 + <file>images/keyboard/088_keyboard_a018.png</file>
  474 + <file>images/keyboard/088_keyboard_a018_ov.png</file>
  475 + <file>images/keyboard/088_keyboard_a019.png</file>
  476 + <file>images/keyboard/088_keyboard_a019_ov.png</file>
  477 + <file>images/keyboard/088_keyboard_a020.png</file>
  478 + <file>images/keyboard/088_keyboard_a020_ov.png</file>
  479 + <file>images/keyboard/088_keyboard_a021.png</file>
  480 + <file>images/keyboard/088_keyboard_a021_ov.png</file>
  481 + <file>images/keyboard/088_keyboard_a022.png</file>
  482 + <file>images/keyboard/088_keyboard_a022_ov.png</file>
  483 + <file>images/keyboard/088_keyboard_a023.png</file>
  484 + <file>images/keyboard/088_keyboard_a023_ov.png</file>
  485 + <file>images/keyboard/088_keyboard_a024.png</file>
  486 + <file>images/keyboard/088_keyboard_a024_ov.png</file>
  487 + <file>images/keyboard/088_keyboard_a025.png</file>
  488 + <file>images/keyboard/088_keyboard_a025_ov.png</file>
  489 + <file>images/keyboard/088_keyboard_a026.png</file>
  490 + <file>images/keyboard/088_keyboard_a026_ov.png</file>
  491 + <file>images/keyboard/088_keyboard_a027.png</file>
  492 + <file>images/keyboard/088_keyboard_a027_ov.png</file>
  493 + <file>images/keyboard/088_keyboard_a028.png</file>
  494 + <file>images/keyboard/088_keyboard_a028_ov.png</file>
  495 + <file>images/keyboard/088_keyboard_a029.png</file>
  496 + <file>images/keyboard/088_keyboard_a029_ov.png</file>
  497 + <file>images/keyboard/088_keyboard_a030.png</file>
  498 + <file>images/keyboard/088_keyboard_a030_ov.png</file>
  499 + <file>images/keyboard/088_keyboard_a031.png</file>
  500 + <file>images/keyboard/088_keyboard_a031_ov.png</file>
  501 + <file>images/keyboard/088_keyboard_a032.png</file>
  502 + <file>images/keyboard/088_keyboard_a032_ov.png</file>
  503 + <file>images/keyboard/088_keyboard_a033.png</file>
  504 + <file>images/keyboard/088_keyboard_a033_ov.png</file>
  505 + <file>images/keyboard/088_keyboard_a034.png</file>
  506 + <file>images/keyboard/088_keyboard_a034_ov.png</file>
  507 + <file>images/keyboard/088_keyboard_a035.png</file>
  508 + <file>images/keyboard/088_keyboard_a035_ov.png</file>
  509 + <file>images/keyboard/088_keyboard_a036.png</file>
  510 + <file>images/keyboard/088_keyboard_a036_ov.png</file>
  511 + <file>images/keyboard/088_keyboard_a037.png</file>
  512 + <file>images/keyboard/088_keyboard_a037_ov.png</file>
  513 + <file>images/keyboard/088_keyboard_a038.png</file>
  514 + <file>images/keyboard/088_keyboard_a038_ov.png</file>
  515 + <file>images/keyboard/088_keyboard_a039.png</file>
  516 + <file>images/keyboard/088_keyboard_a039_ov.png</file>
  517 + <file>images/keyboard/088_keyboard_a040.png</file>
  518 + <file>images/keyboard/088_keyboard_a040_ov.png</file>
  519 + <file>images/keyboard/088_keyboard_a041.png</file>
  520 + <file>images/keyboard/088_keyboard_a041_ov.png</file>
  521 + <file>images/keyboard/088_keyboard_a042.png</file>
  522 + <file>images/keyboard/088_keyboard_a042_ov.png</file>
  523 + <file>images/keyboard/088_keyboard_all.png</file>
  524 + <file>images/keyboard/088_keyboard_all_ov.png</file>
  525 + <file>images/config/101_br_icon_01_ov.png</file>
  526 + <file>images/config/101_br_icon_01.png</file>
  527 + <file>images/config/101_br_icon_02_ov.png</file>
  528 + <file>images/config/101_br_icon_02.png</file>
  529 + <file>images/config/101_br_icon_03_ov.png</file>
  530 + <file>images/config/101_br_icon_03.png</file>
  531 + <file>images/config/101_br_icon_04_ov.png</file>
  532 + <file>images/config/101_br_icon_04.png</file>
  533 + <file>images/config/102_icon_play_ov.png</file>
  534 + <file>images/config/102_icon_play.png</file>
436 535 </qresource>
437 536 </RCC>
... ...