Commit d0ee3ccc85b152b3d6ea3a5cdc62843240234421

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

버그 수정 및 비밀 번호 입력창 개발

- 볼륨 조정 등 이미지 깨짐 수정
- 비밀번호 입력창 추가
app/gui/oven_control/config1digitsetdlg.cpp
@@ -47,6 +47,7 @@ Config1DigitSetDlg::Config1DigitSetDlg(QWidget *parent, ConfigType type) : @@ -47,6 +47,7 @@ Config1DigitSetDlg::Config1DigitSetDlg(QWidget *parent, ConfigType type) :
47 47
48 strTemp1.sprintf("%%0%d",setting_val.maxlen); 48 strTemp1.sprintf("%%0%d",setting_val.maxlen);
49 49
  50 + ui->ctrSpBxValue->installEventFilter(this);
50 51
51 } 52 }
52 53
@@ -68,3 +69,13 @@ void Config1DigitSetDlg::on_ctrBtnCancel_clicked() @@ -68,3 +69,13 @@ void Config1DigitSetDlg::on_ctrBtnCancel_clicked()
68 { 69 {
69 reject(); 70 reject();
70 } 71 }
  72 +
  73 +bool Config1DigitSetDlg::eventFilter(QObject *object, QEvent *event){
  74 + if (object == ui->ctrSpBxValue && event->type() == QEvent::MouseButtonRelease )
  75 + {
  76 + ui->ctrSpBxValue->selectAll();
  77 + qDebug() << "Mouse Release2";
  78 +
  79 + }
  80 + return QWidget::eventFilter(object, event);
  81 +}
app/gui/oven_control/config1digitsetdlg.h
@@ -23,6 +23,8 @@ private slots: @@ -23,6 +23,8 @@ private slots:
23 23
24 void on_ctrBtnCancel_clicked(); 24 void on_ctrBtnCancel_clicked();
25 25
  26 + bool eventFilter(QObject *, QEvent *);
  27 +
26 private: 28 private:
27 Ui::Config1DigitSetDlg *ui; 29 Ui::Config1DigitSetDlg *ui;
28 ConfigType m_nType; 30 ConfigType m_nType;
app/gui/oven_control/configbacklightdlg.ui
@@ -186,6 +186,16 @@ QPushButton::pressed, QPushButton::focus{ @@ -186,6 +186,16 @@ QPushButton::pressed, QPushButton::focus{
186 <underline>true</underline> 186 <underline>true</underline>
187 </font> 187 </font>
188 </property> 188 </property>
  189 + <property name="styleSheet">
  190 + <string notr="true">QPushButton{
  191 + border : none;
  192 + color : white;
  193 +}
  194 +
  195 +QPushButton::pressed, QPushButton::focus{
  196 + color : yellow;
  197 +}</string>
  198 + </property>
189 <property name="text"> 199 <property name="text">
190 <string>취소</string> 200 <string>취소</string>
191 </property> 201 </property>
@@ -211,6 +221,16 @@ QPushButton::pressed, QPushButton::focus{ @@ -211,6 +221,16 @@ QPushButton::pressed, QPushButton::focus{
211 <underline>true</underline> 221 <underline>true</underline>
212 </font> 222 </font>
213 </property> 223 </property>
  224 + <property name="styleSheet">
  225 + <string notr="true">QPushButton{
  226 + border : none;
  227 + color : white;
  228 +}
  229 +
  230 +QPushButton::pressed, QPushButton::focus{
  231 + color : yellow;
  232 +}</string>
  233 + </property>
214 <property name="text"> 234 <property name="text">
215 <string>확인</string> 235 <string>확인</string>
216 </property> 236 </property>
app/gui/oven_control/configdatetimedlg.ui
@@ -351,6 +351,9 @@ QPushButton::pressed, QPushButton::focus{ @@ -351,6 +351,9 @@ QPushButton::pressed, QPushButton::focus{
351 <kerning>true</kerning> 351 <kerning>true</kerning>
352 </font> 352 </font>
353 </property> 353 </property>
  354 + <property name="mouseTracking">
  355 + <bool>false</bool>
  356 + </property>
354 <property name="focusPolicy"> 357 <property name="focusPolicy">
355 <enum>Qt::StrongFocus</enum> 358 <enum>Qt::StrongFocus</enum>
356 </property> 359 </property>
@@ -467,13 +470,8 @@ QPushButton::pressed, QPushButton::focus{ @@ -467,13 +470,8 @@ QPushButton::pressed, QPushButton::focus{
467 <height>600</height> 470 <height>600</height>
468 </rect> 471 </rect>
469 </property> 472 </property>
470 - <zorder>centralwidget</zorder>  
471 - <zorder>centralwidget</zorder>  
472 - <zorder>centralwidget</zorder>  
473 </widget> 473 </widget>
474 </widget> 474 </widget>
475 - <zorder>centralwidget</zorder>  
476 - <zorder>keyboardwidget</zorder>  
477 </widget> 475 </widget>
478 <customwidgets> 476 <customwidgets>
479 <customwidget> 477 <customwidget>
app/gui/oven_control/configmastervolumedlg.ui
@@ -186,6 +186,16 @@ QPushButton::pressed, QPushButton::focus{ @@ -186,6 +186,16 @@ QPushButton::pressed, QPushButton::focus{
186 <underline>true</underline> 186 <underline>true</underline>
187 </font> 187 </font>
188 </property> 188 </property>
  189 + <property name="styleSheet">
  190 + <string notr="true">QPushButton{
  191 + border : none;
  192 + color : white;
  193 +}
  194 +
  195 +QPushButton::pressed, QPushButton::focus{
  196 + color : yellow;
  197 +}</string>
  198 + </property>
189 <property name="text"> 199 <property name="text">
190 <string>취소</string> 200 <string>취소</string>
191 </property> 201 </property>
@@ -211,6 +221,16 @@ QPushButton::pressed, QPushButton::focus{ @@ -211,6 +221,16 @@ QPushButton::pressed, QPushButton::focus{
211 <underline>true</underline> 221 <underline>true</underline>
212 </font> 222 </font>
213 </property> 223 </property>
  224 + <property name="styleSheet">
  225 + <string notr="true">QPushButton{
  226 + border : none;
  227 + color : white;
  228 +}
  229 +
  230 +QPushButton::pressed, QPushButton::focus{
  231 + color : yellow;
  232 +}</string>
  233 + </property>
214 <property name="text"> 234 <property name="text">
215 <string>확인</string> 235 <string>확인</string>
216 </property> 236 </property>
app/gui/oven_control/configwindow.cpp
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 #include "configinfodlg.h" 8 #include "configinfodlg.h"
9 #include "yesnopopupdlg.h" 9 #include "yesnopopupdlg.h"
10 #include "configdatetimedlg.h" 10 #include "configdatetimedlg.h"
11 - 11 +#include "servicepassinputdlg.h"
12 12
13 13
14 14
@@ -110,9 +110,13 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){ @@ -110,9 +110,13 @@ void ConfigWindow::onConfigBtnClicked(uint16_t id){
110 break; 110 break;
111 case config_enter_engineer_mode: 111 case config_enter_engineer_mode:
112 { 112 {
113 - EngineerMenuWindow *w = new EngineerMenuWindow(this);  
114 - w->setWindowModality(Qt::WindowModal);  
115 - w->showFullScreen(); 113 + dlg = new ServicePassInputDlg(this);
  114 + dlg->exec();
  115 + if(dlg->result() == QDialog::Accepted){
  116 + EngineerMenuWindow *w = new EngineerMenuWindow(this);
  117 + w->setWindowModality(Qt::WindowModal);
  118 + w->showFullScreen();
  119 + }
116 break; 120 break;
117 } 121 }
118 case config_software_info: 122 case config_software_info:
app/gui/oven_control/formatterspinbox.cpp
1 #include <QtWidgets> 1 #include <QtWidgets>
  2 +#include <QDebug>
2 3
3 #include "formatterspinbox.h" 4 #include "formatterspinbox.h"
4 5
@@ -6,6 +7,7 @@ FormatterSpinBox::FormatterSpinBox(QWidget *parent) @@ -6,6 +7,7 @@ FormatterSpinBox::FormatterSpinBox(QWidget *parent)
6 : QSpinBox(parent) 7 : QSpinBox(parent)
7 { 8 {
8 m_nwidth = 2; 9 m_nwidth = 2;
  10 +
9 } 11 }
10 12
11 //! [1] 13 //! [1]
@@ -27,3 +29,11 @@ FormatterSpinBox::FormatterSpinBox(QWidget *parent) @@ -27,3 +29,11 @@ FormatterSpinBox::FormatterSpinBox(QWidget *parent)
27 void FormatterSpinBox::setFormatterWidth(int wid){ 29 void FormatterSpinBox::setFormatterWidth(int wid){
28 m_nwidth = wid; 30 m_nwidth = wid;
29 } 31 }
  32 +
  33 + void FormatterSpinBox::focusInEvent(QFocusEvent *event){
  34 + QTimer::singleShot(200,this,SLOT(selectAll()));
  35 + }
  36 +
  37 + void FormatterSpinBox::mouseReleaseEvent(QMouseEvent *event){
  38 + this->selectAll();
  39 + }
app/gui/oven_control/formatterspinbox.h
@@ -19,6 +19,10 @@ public: @@ -19,6 +19,10 @@ public:
19 QString textFromValue(int value) const Q_DECL_OVERRIDE; 19 QString textFromValue(int value) const Q_DECL_OVERRIDE;
20 20
21 void setFormatterWidth(int wid); 21 void setFormatterWidth(int wid);
  22 +
  23 + void focusInEvent(QFocusEvent *event);
  24 +
  25 + void mouseReleaseEvent(QMouseEvent *event);
22 }; 26 };
23 27
24 #endif // SPINBOX_H 28 #endif // SPINBOX_H
app/gui/oven_control/oven_control.pro
@@ -98,7 +98,8 @@ SOURCES += main.cpp\ @@ -98,7 +98,8 @@ SOURCES += main.cpp\
98 modelsettingwindow.cpp \ 98 modelsettingwindow.cpp \
99 gasmodelsettingwindow.cpp \ 99 gasmodelsettingwindow.cpp \
100 electricmodelsettingwindow.cpp \ 100 electricmodelsettingwindow.cpp \
101 - system.cpp 101 + system.cpp \
  102 + servicepassinputdlg.cpp
102 103
103 HEADERS += mainwindow.h \ 104 HEADERS += mainwindow.h \
104 cook.h \ 105 cook.h \
@@ -186,7 +187,8 @@ HEADERS += mainwindow.h \ @@ -186,7 +187,8 @@ HEADERS += mainwindow.h \
186 modelsettingwindow.h \ 187 modelsettingwindow.h \
187 gasmodelsettingwindow.h \ 188 gasmodelsettingwindow.h \
188 electricmodelsettingwindow.h \ 189 electricmodelsettingwindow.h \
189 - system.h 190 + system.h \
  191 + servicepassinputdlg.h
190 192
191 FORMS += mainwindow.ui \ 193 FORMS += mainwindow.ui \
192 manualcookwindow.ui \ 194 manualcookwindow.ui \
@@ -247,7 +249,8 @@ FORMS += mainwindow.ui \ @@ -247,7 +249,8 @@ FORMS += mainwindow.ui \
247 configfavoritebutton.ui \ 249 configfavoritebutton.ui \
248 modelsettingwindow.ui \ 250 modelsettingwindow.ui \
249 gasmodelsettingwindow.ui \ 251 gasmodelsettingwindow.ui \
250 - electricmodelsettingwindow.ui 252 + electricmodelsettingwindow.ui \
  253 + servicepassinputdlg.ui
251 254
252 RESOURCES += \ 255 RESOURCES += \
253 resources.qrc 256 resources.qrc
app/gui/oven_control/servicepassinputdlg.cpp
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +#include "servicepassinputdlg.h"
  2 +#include "ui_servicepassinputdlg.h"
  3 +
  4 +#define PASS_WORD "0000"
  5 +
  6 +ServicePassInputDlg::ServicePassInputDlg(QWidget *parent) :
  7 + QDialog(parent),
  8 + ui(new Ui::ServicePassInputDlg)
  9 +{
  10 + ui->setupUi(this);
  11 + setWindowFlags(Qt::FramelessWindowHint);
  12 + setAttribute(Qt::WA_NoSystemBackground);
  13 + setAttribute(Qt::WA_TranslucentBackground);
  14 + setAttribute(Qt::WA_DeleteOnClose);
  15 +}
  16 +
  17 +ServicePassInputDlg::~ServicePassInputDlg()
  18 +{
  19 + delete ui;
  20 +}
  21 +
  22 +void ServicePassInputDlg::on_ctrBtnOk_clicked()
  23 +{
  24 + if(ui->lineEdit->text() == PASS_WORD){
  25 + accept();
  26 + }
  27 + else reject();
  28 +}
  29 +
  30 +void ServicePassInputDlg::on_ctrBtnCancel_clicked()
  31 +{
  32 + reject();
  33 +}
app/gui/oven_control/servicepassinputdlg.h
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +#ifndef SERVICEPASSINPUTDLG_H
  2 +#define SERVICEPASSINPUTDLG_H
  3 +
  4 +#include <QDialog>
  5 +
  6 +namespace Ui {
  7 +class ServicePassInputDlg;
  8 +}
  9 +
  10 +class ServicePassInputDlg : public QDialog
  11 +{
  12 + Q_OBJECT
  13 +
  14 +public:
  15 + explicit ServicePassInputDlg(QWidget *parent = 0);
  16 + ~ServicePassInputDlg();
  17 +
  18 +private slots:
  19 + void on_ctrBtnOk_clicked();
  20 +
  21 + void on_ctrBtnCancel_clicked();
  22 +
  23 +private:
  24 + Ui::ServicePassInputDlg *ui;
  25 +};
  26 +
  27 +#endif // SERVICEPASSINPUTDLG_H
app/gui/oven_control/servicepassinputdlg.ui
@@ -0,0 +1,259 @@ @@ -0,0 +1,259 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>ServicePassInputDlg</class>
  4 + <widget class="QDialog" name="ServicePassInputDlg">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>900</width>
  10 + <height>1600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>Dialog</string>
  15 + </property>
  16 + <property name="styleSheet">
  17 + <string notr="true">#ConfigDateTimeDlg{
  18 + /*background-color : transparent;*/
  19 +}
  20 +
  21 +#centralwidget{
  22 + background-image : url(:/images/background/popup/913.png);
  23 +}
  24 +
  25 +QLabel {
  26 + color : white;
  27 +}
  28 +QLineEdit{
  29 + background-color : transparent;
  30 + color : white;
  31 +}
  32 +
  33 +QSpinBox{
  34 + background-color : transparent;
  35 + color : white;
  36 +}
  37 +
  38 +QPushButton{
  39 + border-color : transparent;
  40 + background-color : transparent;
  41 + color : white;
  42 +}
  43 +QPushButton::pressed, QPushButton::focus{
  44 + color : yellow;
  45 +}</string>
  46 + </property>
  47 + <widget class="QWidget" name="centralwidget" native="true">
  48 + <property name="geometry">
  49 + <rect>
  50 + <x>0</x>
  51 + <y>425</y>
  52 + <width>900</width>
  53 + <height>1025</height>
  54 + </rect>
  55 + </property>
  56 + <widget class="QWidget" name="verticalLayoutWidget">
  57 + <property name="geometry">
  58 + <rect>
  59 + <x>0</x>
  60 + <y>0</y>
  61 + <width>901</width>
  62 + <height>441</height>
  63 + </rect>
  64 + </property>
  65 + <layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,6,4">
  66 + <property name="spacing">
  67 + <number>0</number>
  68 + </property>
  69 + <property name="sizeConstraint">
  70 + <enum>QLayout::SetDefaultConstraint</enum>
  71 + </property>
  72 + <property name="topMargin">
  73 + <number>30</number>
  74 + </property>
  75 + <item>
  76 + <widget class="QLabel" name="ctrLbTitle_2">
  77 + <property name="maximumSize">
  78 + <size>
  79 + <width>16777215</width>
  80 + <height>94</height>
  81 + </size>
  82 + </property>
  83 + <property name="font">
  84 + <font>
  85 + <family>나눔고딕</family>
  86 + <pointsize>18</pointsize>
  87 + <weight>75</weight>
  88 + <bold>true</bold>
  89 + </font>
  90 + </property>
  91 + <property name="styleSheet">
  92 + <string notr="true">color : white;</string>
  93 + </property>
  94 + <property name="text">
  95 + <string/>
  96 + </property>
  97 + <property name="pixmap">
  98 + <pixmap resource="resources.qrc">:/images/config/051_password_icon.png</pixmap>
  99 + </property>
  100 + <property name="alignment">
  101 + <set>Qt::AlignCenter</set>
  102 + </property>
  103 + </widget>
  104 + </item>
  105 + <item>
  106 + <widget class="QLabel" name="ctrLbTitle">
  107 + <property name="maximumSize">
  108 + <size>
  109 + <width>16777215</width>
  110 + <height>40</height>
  111 + </size>
  112 + </property>
  113 + <property name="font">
  114 + <font>
  115 + <family>나눔고딕</family>
  116 + <pointsize>10</pointsize>
  117 + <weight>75</weight>
  118 + <bold>true</bold>
  119 + </font>
  120 + </property>
  121 + <property name="styleSheet">
  122 + <string notr="true">color : white;</string>
  123 + </property>
  124 + <property name="text">
  125 + <string>서비스</string>
  126 + </property>
  127 + <property name="alignment">
  128 + <set>Qt::AlignCenter</set>
  129 + </property>
  130 + </widget>
  131 + </item>
  132 + <item>
  133 + <layout class="QGridLayout" name="gridLayout_2" columnstretch="94">
  134 + <property name="leftMargin">
  135 + <number>20</number>
  136 + </property>
  137 + <property name="topMargin">
  138 + <number>30</number>
  139 + </property>
  140 + <property name="rightMargin">
  141 + <number>20</number>
  142 + </property>
  143 + <property name="horizontalSpacing">
  144 + <number>13</number>
  145 + </property>
  146 + <property name="verticalSpacing">
  147 + <number>0</number>
  148 + </property>
  149 + <item row="0" column="0">
  150 + <widget class="QLineEdit" name="lineEdit">
  151 + <property name="font">
  152 + <font>
  153 + <pointsize>30</pointsize>
  154 + </font>
  155 + </property>
  156 + <property name="styleSheet">
  157 + <string notr="true"> QLineEdit[echoMode=&quot;2&quot;] {
  158 + lineedit-password-character: 8251;
  159 + }</string>
  160 + </property>
  161 + <property name="inputMask">
  162 + <string>9999</string>
  163 + </property>
  164 + <property name="echoMode">
  165 + <enum>QLineEdit::Password</enum>
  166 + </property>
  167 + <property name="alignment">
  168 + <set>Qt::AlignCenter</set>
  169 + </property>
  170 + </widget>
  171 + </item>
  172 + </layout>
  173 + </item>
  174 + <item>
  175 + <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,1,1,1,1">
  176 + <property name="leftMargin">
  177 + <number>10</number>
  178 + </property>
  179 + <property name="rightMargin">
  180 + <number>10</number>
  181 + </property>
  182 + <property name="bottomMargin">
  183 + <number>0</number>
  184 + </property>
  185 + <item row="0" column="5">
  186 + <widget class="QPushButton" name="ctrBtnCancel">
  187 + <property name="sizePolicy">
  188 + <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
  189 + <horstretch>0</horstretch>
  190 + <verstretch>0</verstretch>
  191 + </sizepolicy>
  192 + </property>
  193 + <property name="font">
  194 + <font>
  195 + <family>나눔고딕</family>
  196 + <pointsize>12</pointsize>
  197 + <underline>true</underline>
  198 + </font>
  199 + </property>
  200 + <property name="text">
  201 + <string>취소</string>
  202 + </property>
  203 + <property name="flat">
  204 + <bool>true</bool>
  205 + </property>
  206 + </widget>
  207 + </item>
  208 + <item row="0" column="4">
  209 + <widget class="QPushButton" name="ctrBtnOk">
  210 + <property name="sizePolicy">
  211 + <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
  212 + <horstretch>0</horstretch>
  213 + <verstretch>0</verstretch>
  214 + </sizepolicy>
  215 + </property>
  216 + <property name="font">
  217 + <font>
  218 + <family>나눔고딕</family>
  219 + <pointsize>12</pointsize>
  220 + <underline>true</underline>
  221 + </font>
  222 + </property>
  223 + <property name="text">
  224 + <string>확인</string>
  225 + </property>
  226 + <property name="flat">
  227 + <bool>true</bool>
  228 + </property>
  229 + </widget>
  230 + </item>
  231 + </layout>
  232 + </item>
  233 + </layout>
  234 + </widget>
  235 + <widget class="KeyboardWidget" name="keyboardwidget" native="true">
  236 + <property name="geometry">
  237 + <rect>
  238 + <x>0</x>
  239 + <y>425</y>
  240 + <width>900</width>
  241 + <height>600</height>
  242 + </rect>
  243 + </property>
  244 + </widget>
  245 + </widget>
  246 + </widget>
  247 + <customwidgets>
  248 + <customwidget>
  249 + <class>KeyboardWidget</class>
  250 + <extends>QWidget</extends>
  251 + <header>keyboardwidget.h</header>
  252 + <container>1</container>
  253 + </customwidget>
  254 + </customwidgets>
  255 + <resources>
  256 + <include location="resources.qrc"/>
  257 + </resources>
  258 + <connections/>
  259 +</ui>