diff --git a/app/app-prime-modbus/include/all_share.h b/app/app-prime-modbus/include/all_share.h index 2f94808..415039c 100644 --- a/app/app-prime-modbus/include/all_share.h +++ b/app/app-prime-modbus/include/all_share.h @@ -226,6 +226,9 @@ typedef struct { U16 burner2_current_rpm; // 36 U16 burner3_current_rpm; // 37 U16 controller_error; // 38 + U16 burner1_state; // 39 + U16 burner2_state; // 3A + U16 burner3_state; // 3B U16 error_cnt[16]; // 에러 카운트 } STRUCT_PACK oven_state_t; diff --git a/app/gui/oven_control/adjustmentwindow.ui b/app/gui/oven_control/adjustmentwindow.ui index abca4be..0a6c743 100644 --- a/app/gui/oven_control/adjustmentwindow.ui +++ b/app/gui/oven_control/adjustmentwindow.ui @@ -84,6 +84,19 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 662 + 164 + 111 + 121 + + + + + + @@ -360,6 +373,19 @@ QPushButton { + + + + 670 + 290 + 111 + 121 + + + + + + label upperStack label_15 @@ -368,6 +394,7 @@ QPushButton { btnAdjust btnAdjust_LCD btnClearWashData + label_6 @@ -397,6 +424,16 @@ QPushButton { QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/autocookcheckconfigwindow.ui b/app/gui/oven_control/autocookcheckconfigwindow.ui index 1a6bda5..91795fc 100644 --- a/app/gui/oven_control/autocookcheckconfigwindow.ui +++ b/app/gui/oven_control/autocookcheckconfigwindow.ui @@ -371,6 +371,19 @@ border: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1333,6 +1346,19 @@ border-image: url(:/images/button/288_ov.png); Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 670 + 290 + 111 + 121 + + + + + + @@ -1363,6 +1389,16 @@ border-image: url(:/images/button/288_ov.png);
digitalclock.h
+ IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ Slider QWidget
slider.h
diff --git a/app/gui/oven_control/autocookcheckwindow.ui b/app/gui/oven_control/autocookcheckwindow.ui index 7685b24..4a2f1ca 100644 --- a/app/gui/oven_control/autocookcheckwindow.ui +++ b/app/gui/oven_control/autocookcheckwindow.ui @@ -176,6 +176,32 @@ QPushButton::pressed, QPushButton:focus { background-image: url(:/images/auto_bu Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -818,14 +844,24 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/b
halfenergyicon.h
- AnimatedImageBox + DigitalClock QLabel -
animatedimagebox.h
+
digitalclock.h
- DigitalClock + IgnitionIcon QLabel -
digitalclock.h
+
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ + AnimatedImageBox + QLabel +
animatedimagebox.h
HumidityCircularGauge diff --git a/app/gui/oven_control/autocookconfigwindow.ui b/app/gui/oven_control/autocookconfigwindow.ui index 6ee6e33..1143d26 100644 --- a/app/gui/oven_control/autocookconfigwindow.ui +++ b/app/gui/oven_control/autocookconfigwindow.ui @@ -128,6 +128,32 @@ border: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1465,6 +1491,16 @@ border-image: url(:/images/button/152_ov.png);
digitalclock.h
+ IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ Slider QWidget
slider.h
diff --git a/app/gui/oven_control/autocookselectionwindow.ui b/app/gui/oven_control/autocookselectionwindow.ui index 40f4981..b6932d0 100644 --- a/app/gui/oven_control/autocookselectionwindow.ui +++ b/app/gui/oven_control/autocookselectionwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -234,6 +260,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/autocookwindow.ui b/app/gui/oven_control/autocookwindow.ui index 0380a2b..d61231e 100644 --- a/app/gui/oven_control/autocookwindow.ui +++ b/app/gui/oven_control/autocookwindow.ui @@ -87,6 +87,32 @@ border: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1432,14 +1458,24 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/152_o
halfenergyicon.h
- AnimatedImageBox + DigitalClock QLabel -
animatedimagebox.h
+
digitalclock.h
- DigitalClock + IgnitionIcon QLabel -
digitalclock.h
+
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ + AnimatedImageBox + QLabel +
animatedimagebox.h
HumidityCircularGauge diff --git a/app/gui/oven_control/burnertestwindow.ui b/app/gui/oven_control/burnertestwindow.ui index 25f27d4..7665b6d 100644 --- a/app/gui/oven_control/burnertestwindow.ui +++ b/app/gui/oven_control/burnertestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -2152,6 +2178,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/componenttestwindow.ui b/app/gui/oven_control/componenttestwindow.ui index 49d32af..97bda1d 100644 --- a/app/gui/oven_control/componenttestwindow.ui +++ b/app/gui/oven_control/componenttestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -559,6 +585,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/configdoormonitoring.ui b/app/gui/oven_control/configdoormonitoring.ui index 2b1d1b7..62971cd 100644 --- a/app/gui/oven_control/configdoormonitoring.ui +++ b/app/gui/oven_control/configdoormonitoring.ui @@ -52,6 +52,32 @@ + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -539,6 +565,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h QLabel
washwarnicon.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/configwindow.ui b/app/gui/oven_control/configwindow.ui index fbcf995..2a72e62 100644 --- a/app/gui/oven_control/configwindow.ui +++ b/app/gui/oven_control/configwindow.ui @@ -120,6 +120,32 @@ background: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -608,6 +634,16 @@ QPushButton:pressed , QPushButton:focus { border-image: url(:/images/bottom_bar/ QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
pushButton diff --git a/app/gui/oven_control/electricmodelsettingwindow.ui b/app/gui/oven_control/electricmodelsettingwindow.ui index 3d30329..2252b1e 100644 --- a/app/gui/oven_control/electricmodelsettingwindow.ui +++ b/app/gui/oven_control/electricmodelsettingwindow.ui @@ -515,6 +515,32 @@ QPushButton:pressed, QPushButton:checked, QPushButton:focus { border-image: url( Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -547,6 +573,16 @@ QPushButton:pressed, QPushButton:checked, QPushButton:focus { border-image: url( QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
e10Button diff --git a/app/gui/oven_control/engineermenuwindow.ui b/app/gui/oven_control/engineermenuwindow.ui index 2d22626..d4da36d 100644 --- a/app/gui/oven_control/engineermenuwindow.ui +++ b/app/gui/oven_control/engineermenuwindow.ui @@ -84,6 +84,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -660,6 +686,16 @@ QPushButton { color: rgb(255, 255, 255);text-align: left;padding-left:30px;}QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
engAdjustButton diff --git a/app/gui/oven_control/fantestwindow.ui b/app/gui/oven_control/fantestwindow.ui index a9eb5ea..75bf485 100644 --- a/app/gui/oven_control/fantestwindow.ui +++ b/app/gui/oven_control/fantestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -798,6 +824,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/functiontestwindow.ui b/app/gui/oven_control/functiontestwindow.ui index 0160e41..d7ed297 100644 --- a/app/gui/oven_control/functiontestwindow.ui +++ b/app/gui/oven_control/functiontestwindow.ui @@ -87,6 +87,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -838,6 +864,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/379_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/gasmodelsettingwindow.ui b/app/gui/oven_control/gasmodelsettingwindow.ui index dec0293..9969d22 100644 --- a/app/gui/oven_control/gasmodelsettingwindow.ui +++ b/app/gui/oven_control/gasmodelsettingwindow.ui @@ -615,6 +615,32 @@ QPushButton:pressed , QPushButton::checked, QPushButton:focus{ border-image: url Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -747,6 +773,16 @@ QPushButton:pressed, QPushButton::checked, QPushButton:focus { border-image: url QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
lpg10Button diff --git a/app/gui/oven_control/gastestwindow.ui b/app/gui/oven_control/gastestwindow.ui index d4cd07d..9ff18ef 100644 --- a/app/gui/oven_control/gastestwindow.ui +++ b/app/gui/oven_control/gastestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -536,6 +562,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/historylistwindow.ui b/app/gui/oven_control/historylistwindow.ui index 7608dd6..23615af 100644 --- a/app/gui/oven_control/historylistwindow.ui +++ b/app/gui/oven_control/historylistwindow.ui @@ -239,6 +239,32 @@ QPushButton:pressed , QPushButton:focus{ border-image: url(:/images/bottom_bar/0 Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1468,6 +1494,16 @@ QPushButton { text-align:center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/ignitionicon.cpp b/app/gui/oven_control/ignitionicon.cpp new file mode 100644 index 0000000..2faf8f3 --- /dev/null +++ b/app/gui/oven_control/ignitionicon.cpp @@ -0,0 +1,27 @@ +#include "ignitionicon.h" + +#include "udphandler.h" + +QPixmap *IgnitionIcon::icon = Q_NULLPTR; + +IgnitionIcon::IgnitionIcon(QWidget *parent) : QLabel(parent) +{ + if (icon == Q_NULLPTR) + icon = new QPixmap(":/images/symbol/inigited.png"); + + connect(&timer, SIGNAL(timeout()), SLOT(check())); + timer.start(1000); + + setPixmap(*icon); + + check(); +} + +void IgnitionIcon::check() +{ + UdpHandler *udp = UdpHandler::getInstance(); + if (udp->burnerState(1) || udp->burnerState(2) || udp->burnerState(3)) + show(); + else + hide(); +} diff --git a/app/gui/oven_control/ignitionicon.h b/app/gui/oven_control/ignitionicon.h new file mode 100644 index 0000000..4d43105 --- /dev/null +++ b/app/gui/oven_control/ignitionicon.h @@ -0,0 +1,21 @@ +#ifndef IGNITIONICON_H +#define IGNITIONICON_H + +#include +#include + +class IgnitionIcon : public QLabel +{ + Q_OBJECT + + static QPixmap *icon; + QTimer timer; + +public: + explicit IgnitionIcon(QWidget *parent = Q_NULLPTR); + +private slots: + void check(); +}; + +#endif // IGNITIONICON_H diff --git a/app/gui/oven_control/images/symbol/ignited.png b/app/gui/oven_control/images/symbol/ignited.png new file mode 100644 index 0000000000000000000000000000000000000000..5eed318e278a1039af98abb8c42b5ead9bd72ac2 GIT binary patch literal 5754 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 literal 0 HcmV?d00001 diff --git a/app/gui/oven_control/images/symbol/water_level_high.png b/app/gui/oven_control/images/symbol/water_level_high.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdc5032e83ecb532534aeb7e9c80c3762d39661 GIT binary patch literal 4635 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 B*RTKp literal 0 HcmV?d00001 diff --git a/app/gui/oven_control/images/symbol/water_level_low.png b/app/gui/oven_control/images/symbol/water_level_low.png new file mode 100644 index 0000000000000000000000000000000000000000..be57065e98052c5bd1fae4430e4c3eae1b7a9625 GIT binary patch literal 2844 zcmcImdsGuw9uA_`7uv;IEGmrgu^=XsNy3B#B4~nu5~Rq(RS_ncAq0|4$V`Aitq<0= z#&vyERum9Hg#rRg>#8W0wMUeqg+4?o3RDV2Bj6elYXE)7p8iT>G3-FhQ&=#j3YRY8#U$ACJ2W_V6{Qp8Q7}IB49~;K;%()E4 zq+e8_8^{f^K#>C1un`oOW9(#&jz%*WUf#(%L=lgXfE-h*v|{Fy%au$(g^HOG?lO){ zC&6M>{waEFeM(TMA|+lSM48?z0Iy^bO`yR@1W4AXwS*{H%pB$w(eKu2kO>S!$apbx zrS(8ygDe=3;Cc*jXTvN7#CHb-LN)~R_(I`wfXjhAK#m6p@mLTn;&Vh?E-?CI(x>Us z7*U9H_2^mjNX(2SNu3A;lai9yNjx^LSAvjGC(82mzM}l@`U52v@79(LIUB5ahw)DEK^@4dSyn0tDr`^MqWO1C6n*)2ryqgQ#C+wW>mCMs7?D%)#7I z7R*Nw7R2TASwh%Dz=C-&WK|3ac|0b7Dnv23UW3r3qS7Er4Ag0rOyH#&39iQVG90C2 zPNQGW2S_BrdOSv@rWc41zg0khuLOpKFwEkzA#3H+GH7@GRRo=8YV0)GA=O zKt+hcdN0IGg|#3slsP)B`kgSpnL{JANwFAB`kE>kff0BNnS|)El}b7#Z&HZhAL%EM z#Mi5Tvm*KbsvixmA{NmqF}l@)OshYjwJD9H2K?Ww4X?e@z{cQoSG2y4w_|!R-q0~E zO|7Tfb#(jAY6fFsb%1nbXmVp$R@BF#Ve@a)-Hy|`EqVVJK=oy~{8&aobo`3NsOzN3 zyFQGW_2qZDAz=Hy9pR}%6}OAt&FMM#jRgEtmAy88-XZ_pZmZ54wb71^C3l_QPZ}J` z{Jd;=QSJS5Q+GKpd)9zQXYKu#+UB~!tgW@>gmPMHYU)hOSDMZVZ8jDLRc-sy9DHkd z^r~4nYk2gkkvIX?$zk)6mydPyUxwN_JUMIz)1 zM=H%>UZ>6d2Ws|Z_pKh-Rw);!IZ*8dX7$d`lt(@q3cnTdJS*42l(u%Se|FW*NgLdW z9(DqknoeYR4V|4>dg|Wa&fe<@S+Q*49z(XwykbZ39xX40vTt~3BJGys2~WoUOYNw%|6LoKk#XlwAE{l|x1bHXF}doBYsaP> z+t!4(J*A?eBX<}D0&e4sTRocoqlG_+dpneebC=XvR?U3u9C$Iy zkP5oMX)gvAUWIGK?1iA~^(N`YE4lT~z}gxLDKliuw(a=B^V^drgJ0A^{}a@KKv{lr0K+a#&yMZd32HX)Up z_Aknr>yXz%R<)l!_b_Ceu|i!~r*$e5G|W8BPl-H}dDTJJP_m`V(K$WgN^yG)Z&%c( zlq}(2yZMPN&Gzl);yY8(bGXlUK`reO&OwWRxF62zSa#z<+=)TI!EUH);K}BvU2o$q zDcYyxV@J<->f$de-^q_mn>}brubkYMQ+2L5YpH&h8#{WPzUn5=G%#^n<%zA=>)$Tl zc<;#k%MYn*D+ijE0<%VH|3JZn8TtLXKD!1%_NMdqi?>m8Eb=pzl`V$tE$(K;IvC8g z$gdTe!}U&C;&~KwI3}rj=aQ%y0Jwa+4H4zDWkb+qvZVXKb-a4|$CU=R+jI7(R!^@x zYNH=2cws|5DBJp^Bro&XC#MA{v$Ue**~PVe-%lzwH!BMdE=bJYve7xPq0qK zFDf@bg*(e(cJKg{$`VPOWg;p48Z8ys&&;Z;rulPL{E*=hp=;XVTX+M^Rp_y9g&sbmzs% Y-Ag9y%8A(bz4iMwz&A)*vMPG_ZywufF8}}l literal 0 HcmV?d00001 diff --git a/app/gui/oven_control/images/symbol/water_level_middle.png b/app/gui/oven_control/images/symbol/water_level_middle.png new file mode 100644 index 0000000000000000000000000000000000000000..06d61eb90c15b8b6301708d44281d9e60c584f33 GIT binary patch literal 3817 zcmcIncT^ME9u7sMx*|wZAO>L(2`Pj?<|U#M+U|xX2r8nJ$pE2bvPmETDT;uF2iOpm zveE=mIw~S45*4s32zF@}KrsTk*xy8v=Xqy$kN>=!Gk0$J?svamxxYEt=H=n4rEa8- z!Cu(!8tC$(j@>&5DAMwtRymmCj=x6+!tN|?aQYLIP4dQD4c;?CO;4x!1BU6Ap#g{ zXG6t9B#Ir@o@PU$+EQpVYb=>aav%^L2qarPi3(7N0GW)P`r**i1e{>Nhv_nP7CK_! zLPa7zKp=?4VjHoo4I&63kZ3d-fk-Bh$#@ij7sl{Jpajnontfwn!a_*E<%_ro4=ZN` z*+`U#fkTykH6fBeP0JHbxe0X`K?3p#BpagKq;EhL>z|>Kk<)0Q$T=E4WlHZ~5(|A} z_%Oi-79vps2zHK!c_OoKhjF0kz5FOa#1~6B5CM*WBT<+T6-JsqiXV!I5Me0tH+D=f zPg}zWoCGi^LIl1D67eliUf)=-PEPW`(6E;NTpkAz3m3^nP3?i1pa^E*t)91K5ES znjK8B#lvh86>m?a1mi&}IwX>ayLQ0k&)+ z1c78Kp2M~$<0)hchzHqrBs`jDFlbApz*IK$#Y&XTQ@}+p4;b-1t6UWaWh6Ur*dUQ) zkEd}+4tQ!Xg@OlRdkUURArpz9eK3jb0OPP62na?5ksz8X+(; zfQ4{SpWA*v@9yN}B|w6?5$J-@$8|Z@-PwssqEV@MvJFX|`KSz3pc_|+hB;>HF0Fun zpXx<$v0oAt03rFkVBjEmLcko{)HL@m-27t(eWewL!YJuKWXV^U5D6BEK>@rh1P#fL zBqHJO^b5i0e^&ovN%H?yKjmB~6y$}#XsIRO%t#;<3G6tiX<<4B@E4lk3Z$pHxpYDa1US4YJl?qjFrm}Usjw>r~ z+DbirU6x?B&#G{S_nbN2OLwTMdhhI2azA)JR5h#3bk0E^Z)K(9Sd|%(>4jxASoXQ4 z8rqiiBjV_n-Hmy9d2P+_pXC$YlI!w%-h6s;|K!uFm)A;P{;9E2P;RKNAcaVDJt-uy zPHkh$8(Dy6=6RWcNm^fxy!o>D9YVhNmx!tDYzfPYV#HinXO!h<6R7%GvuAR1qvjvU z_EKpdWi8$46(~8bF2cmkKCRsI)@(#E&L}~bY7q3{tk&jh((w;(qO@(cAYy**`(Acx zsa_C}yWnYFna9eCHGQY9;ItFNEwZ)iZTY8lB&l;3N{Ra(e%82m#gKKctHr-pebWDq zSFsLmCQrdM<)v%P=f{JyuNZEN_ErwWKUfC@Zc&?Gs-FAwi&-@k>7~GiDl`3%F_(vI zOw;}}->m~#S%pXIt=AvuDS5KJuu{uHr>|4?!8heNSL)(j9n3OYKQuJNzB@6*?w9UX z9N(rF^OmTPtFoiQNBe%#+i@joT77xBRZZNT+Lp28?R2&9j1LlHx=w<5R!e++(ZbnL z1(rDsab;n&Cg_v=_%KEXj0euJ5s^fi1V8dP4vUkrvtk|n59V}2y8{!ETbaTgyA7y2=?OuFMNjGetuFI+y z)Uf2=yR#)b{W153yjNkae~gNcdH&ud_36=;GCxZ9lVRU@Jus)+s0B_wCK$l2%cx2? z-PmaLdtX6IBYW()6yivc(8(@x{smv z1?okW<`$mPu4Ow+Up_0+UC=c~8F4P~WeXmfZDKNP+yV6n6^kSE`6J5rl{z*YQFOV$>Z*Ax~unHX&<8O$qRsll(rRh>+49nR>`b^e@qAYws=P%Wd8 zm~XpER1x8po))4!XMW=gvvbAC+{mjtQ!0OfFakZOc2j7v`)@DLe9HIrgGE|eQ{L}dCi1yF20#H9b}HPDDK)-9U>=lg6J>+j!^jEYGK%>-SR&d9y8S1E1%_26bNwD%g|K zvwWcD-d(o~8jR0Dabh-{Kn5+92yJv1yaVQ?AVSa!@j%<&<;v ziLHRf-d5ArkioHii&pRQVCd!98NW|Kd`bk3plUj0Bkzm9`8+P*OL-$a*nz# zy52liJTi0LW0}K*`t8lKXuq9e=D@b`iu1MR>PMb;I2guCZs+p=BuR*gtTSv_Iu>S- zAhD0rUy_mP*_s_;QdDOh?s`qdW%G#@Iu7OR)Ad_{EMukA(EIvfiICI*b4I1d;dbii zM^1<3(Y=0=3vZAwLjJ8Mt@9LEw1sjKgR&DD4oaT`_SMO5P#PH46A^%QF{S}eW0u}r( zkpixsZ5y1lPFI=!hr&bW-RTX-kM|uOBMaw`WOyX|ZYs>={gj#MgWS7C1>;woKolpQ zC2ux+HnW$&F}pZCOXHXUl4Q?5rNsYfW?R9gSZY}YUD0h_ZvHabNP(h zh>L`0_Ab0ZznuDW)nu|uf`cN~nQy8Q8gE|j`B<$`FJF1m(1KEUEl9t^;lWkIlz8Tm zduxV|!uRP(s-dNQe*_*E99~`WFH7B&M5*bea7dvkEw!<=_9Nf3VO~a^54_7{mdrrC z*W~gny|bk!R8}o4nwY;-yXoTD0X4hjRqVS;xGakYSNj_`sP-oKKajFjc9_&2q#t7D zcQkXNdRAJLPz)~HE8jiuSUzsJ#}R*Xck!N5{bhp#(Iq#nbgNAAihTYnm25mYfx&C|LIxLiMjfRBg(cKGzG7%j!kbL-8GkQ zGhq>q^{C;N4I`z zXEu}(YE9qNI8i|JiB3P=O|lW(WRgYm!1~v3mYDaR>h+c_jrg-UwEvgwH;g!c-qql| z%~xvX3pT4pU%9b1bDgED@2gQ$X{W|6mChwr0rUW?=?^6@@=&qG)5rTi#mjaSjO9h8 zW>*(3pkEfXwfu`VHpiRdHvHUDI@{IA?N-I4f7AT-s+Zy+w&QQ4v^6;$#XxFy)6HA2 z;xqb&vMUuzJc;y=Kr#2sIuiY(Rd@BZI@wcA&oj}XWxyk+1N?1$+`Vy|qYC=V);uwP zHTcL~yfUb(#=GCYi2gHu(slF}rr7kfW54$OIi+XM$+{FjoSRXG@OK1YcXSub5hj{ys@gY(nH-+Tr1j5Iabx$k54}Gn0GE(X}g(q i%=yELQs}(XXT_s_UM9SUnhEkhqwdZg%*y5Kll}ufVlTM> literal 0 HcmV?d00001 diff --git a/app/gui/oven_control/mainwindow.ui b/app/gui/oven_control/mainwindow.ui index b3faf3e..f9e4c99 100644 --- a/app/gui/oven_control/mainwindow.ui +++ b/app/gui/oven_control/mainwindow.ui @@ -642,6 +642,32 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 662 + 164 + 111 + 121 + + + + + + + + + + 670 + 290 + 111 + 121 + + + + + + @@ -729,6 +755,16 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
steamButton diff --git a/app/gui/oven_control/manualcookwindow.ui b/app/gui/oven_control/manualcookwindow.ui index 19e857f..3ed2504 100644 --- a/app/gui/oven_control/manualcookwindow.ui +++ b/app/gui/oven_control/manualcookwindow.ui @@ -131,6 +131,32 @@ height: 33px; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+ + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1333,14 +1359,19 @@ QPushButton:checked:focus
halfenergyicon.h
- AnimatedImageBox + DigitalClock QLabel -
animatedimagebox.h
+
digitalclock.h
- DigitalClock + IgnitionIcon QLabel -
digitalclock.h
+
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
Slider @@ -1348,6 +1379,11 @@ QPushButton:checked:focus
slider.h
1
+ + AnimatedImageBox + QLabel +
animatedimagebox.h
+
steamButton diff --git a/app/gui/oven_control/modelsettingwindow.ui b/app/gui/oven_control/modelsettingwindow.ui index 51ee362..ed26264 100644 --- a/app/gui/oven_control/modelsettingwindow.ui +++ b/app/gui/oven_control/modelsettingwindow.ui @@ -403,6 +403,32 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/379_o Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+ + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -435,6 +461,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/379_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/multicookautowindow.ui b/app/gui/oven_control/multicookautowindow.ui index 07ce606..45662fb 100644 --- a/app/gui/oven_control/multicookautowindow.ui +++ b/app/gui/oven_control/multicookautowindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -188,6 +214,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/multicookmanualwindow.ui b/app/gui/oven_control/multicookmanualwindow.ui index 92fdffa..68ac889 100644 --- a/app/gui/oven_control/multicookmanualwindow.ui +++ b/app/gui/oven_control/multicookmanualwindow.ui @@ -778,6 +778,32 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); } Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -873,9 +899,14 @@ QPushButton:checked { image: url(:/images/slider_icon/temp_ov.png); }
digitalclock.h
- AnimatedImageBox + IgnitionIcon QLabel -
animatedimagebox.h
+
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
Slider @@ -883,6 +914,11 @@ QPushButton:checked { image: url(:/images/slider_icon/temp_ov.png); }
slider.h
1
+ + AnimatedImageBox + QLabel +
animatedimagebox.h
+
steamButton diff --git a/app/gui/oven_control/multicookwindow.ui b/app/gui/oven_control/multicookwindow.ui index 55ba962..abefd6c 100644 --- a/app/gui/oven_control/multicookwindow.ui +++ b/app/gui/oven_control/multicookwindow.ui @@ -504,6 +504,32 @@ QPushButton:focus Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+ + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1224,26 +1250,36 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/0
digitalclock.h
+ IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ AnimatedImageBox QLabel
animatedimagebox.h
- MultiCookView + BulletIndicator QWidget -
multicookview.h
+
bulletindicator.h
1
- MultiCookTimeBar + MultiCookView QWidget -
multicooktimebar.h
+
multicookview.h
1
- BulletIndicator + MultiCookTimeBar QWidget -
bulletindicator.h
+
multicooktimebar.h
1
diff --git a/app/gui/oven_control/operationtimeheat.ui b/app/gui/oven_control/operationtimeheat.ui index 99c35cc..a879595 100644 --- a/app/gui/oven_control/operationtimeheat.ui +++ b/app/gui/oven_control/operationtimeheat.ui @@ -85,6 +85,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+ + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -412,6 +438,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/operationtimemain.ui b/app/gui/oven_control/operationtimemain.ui index d5369b7..9190913 100644 --- a/app/gui/oven_control/operationtimemain.ui +++ b/app/gui/oven_control/operationtimemain.ui @@ -84,6 +84,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -376,6 +402,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/operationtimemode.ui b/app/gui/oven_control/operationtimemode.ui index 8a0e2f8..442f934 100644 --- a/app/gui/oven_control/operationtimemode.ui +++ b/app/gui/oven_control/operationtimemode.ui @@ -85,6 +85,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -832,6 +858,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/operationtimeparts.ui b/app/gui/oven_control/operationtimeparts.ui index 3693b45..0209ac6 100644 --- a/app/gui/oven_control/operationtimeparts.ui +++ b/app/gui/oven_control/operationtimeparts.ui @@ -85,6 +85,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1105,6 +1131,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/oven_control.pro b/app/gui/oven_control/oven_control.pro index 1ef22d3..e3b762a 100644 --- a/app/gui/oven_control/oven_control.pro +++ b/app/gui/oven_control/oven_control.pro @@ -146,7 +146,9 @@ SOURCES += main.cpp\ canvas.cpp \ touchtestwindow.cpp \ haccpdownloaddlg.cpp \ - flushwaterwindow.cpp + flushwaterwindow.cpp \ + ignitionicon.cpp \ + waterlevelicon.cpp HEADERS += mainwindow.h \ @@ -283,7 +285,9 @@ HEADERS += mainwindow.h \ canvas.h \ touchtestwindow.h \ haccpdownloaddlg.h \ - flushwaterwindow.h + flushwaterwindow.h \ + ignitionicon.h \ + waterlevelicon.h FORMS += mainwindow.ui \ manualcookwindow.ui \ diff --git a/app/gui/oven_control/primewindow.ui b/app/gui/oven_control/primewindow.ui index a1f6efe..aac0614 100644 --- a/app/gui/oven_control/primewindow.ui +++ b/app/gui/oven_control/primewindow.ui @@ -197,6 +197,32 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -356,6 +382,16 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
mostCookedButton diff --git a/app/gui/oven_control/programmingautoconfigwindow.ui b/app/gui/oven_control/programmingautoconfigwindow.ui index 7703018..c81d3d3 100644 --- a/app/gui/oven_control/programmingautoconfigwindow.ui +++ b/app/gui/oven_control/programmingautoconfigwindow.ui @@ -562,6 +562,32 @@ border-image: url(:/images/button/288_ov.png); Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1442,6 +1468,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c
digitalclock.h
+ IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ Slider QWidget
slider.h
diff --git a/app/gui/oven_control/programmingautoselectionwindow.ui b/app/gui/oven_control/programmingautoselectionwindow.ui index b9e0b19..e2b6779 100644 --- a/app/gui/oven_control/programmingautoselectionwindow.ui +++ b/app/gui/oven_control/programmingautoselectionwindow.ui @@ -165,6 +165,32 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/0 Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -216,6 +242,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/0 QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/programmingmanualwindow.ui b/app/gui/oven_control/programmingmanualwindow.ui index 28da846..be93350 100644 --- a/app/gui/oven_control/programmingmanualwindow.ui +++ b/app/gui/oven_control/programmingmanualwindow.ui @@ -190,6 +190,32 @@ height: 33px; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -991,14 +1017,19 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); }
halfenergyicon.h
- AnimatedImageBox + DigitalClock QLabel -
animatedimagebox.h
+
digitalclock.h
- DigitalClock + IgnitionIcon QLabel -
digitalclock.h
+
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
Slider @@ -1006,6 +1037,11 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_combi.png); }
slider.h
1
+ + AnimatedImageBox + QLabel +
animatedimagebox.h
+
steamButton diff --git a/app/gui/oven_control/programmingselectionwindow.ui b/app/gui/oven_control/programmingselectionwindow.ui index a14605c..2153684 100644 --- a/app/gui/oven_control/programmingselectionwindow.ui +++ b/app/gui/oven_control/programmingselectionwindow.ui @@ -742,6 +742,32 @@ QPushButton:disabled { background-image: url(:/images/cook_type/bread_hide.png); Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+ + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -774,6 +800,16 @@ QPushButton:disabled { background-image: url(:/images/cook_type/bread_hide.png); QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
steamButton diff --git a/app/gui/oven_control/programmingwindow.ui b/app/gui/oven_control/programmingwindow.ui index 81a69b3..aec030d 100644 --- a/app/gui/oven_control/programmingwindow.ui +++ b/app/gui/oven_control/programmingwindow.ui @@ -128,6 +128,32 @@ background: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -339,6 +365,16 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/bar_ QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
autoButton diff --git a/app/gui/oven_control/realtimemain.ui b/app/gui/oven_control/realtimemain.ui index 2f0dd57..8eeb987 100644 --- a/app/gui/oven_control/realtimemain.ui +++ b/app/gui/oven_control/realtimemain.ui @@ -84,6 +84,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -340,6 +366,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/realtimepartswindow.ui b/app/gui/oven_control/realtimepartswindow.ui index 4707ec4..eca7cfa 100644 --- a/app/gui/oven_control/realtimepartswindow.ui +++ b/app/gui/oven_control/realtimepartswindow.ui @@ -85,6 +85,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1082,6 +1108,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/realtimesensorwindow.ui b/app/gui/oven_control/realtimesensorwindow.ui index fe1a096..676430e 100644 --- a/app/gui/oven_control/realtimesensorwindow.ui +++ b/app/gui/oven_control/realtimesensorwindow.ui @@ -85,6 +85,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1612,6 +1638,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/resources.qrc b/app/gui/oven_control/resources.qrc index d2f4a41..3c66574 100644 --- a/app/gui/oven_control/resources.qrc +++ b/app/gui/oven_control/resources.qrc @@ -632,5 +632,9 @@ images/background/popup/509.png images/symbol/up_date.png images/symbol/down_date.png + images/symbol/ignited.png + images/symbol/water_level_high.png + images/symbol/water_level_middle.png + images/symbol/water_level_low.png diff --git a/app/gui/oven_control/servicehistorymain.ui b/app/gui/oven_control/servicehistorymain.ui index 899f4d5..35a4fe6 100644 --- a/app/gui/oven_control/servicehistorymain.ui +++ b/app/gui/oven_control/servicehistorymain.ui @@ -84,6 +84,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -412,6 +438,16 @@ QPushButton { text-align: center;} QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/udphandler.h b/app/gui/oven_control/udphandler.h index caeb2a3..16c410b 100644 --- a/app/gui/oven_control/udphandler.h +++ b/app/gui/oven_control/udphandler.h @@ -65,6 +65,20 @@ public: int heater() { return (state.onoff_relay_load2 & 0x0F); } + bool burnerState(int num) { + switch (num) + { + case 1: + return state.burner1_state != 0; + case 2: + return state.burner2_state != 0; + case 3: + return state.burner3_state != 0; + default: + return false; + } + } + signals: void changed(); void timeout(); diff --git a/app/gui/oven_control/valvetestwindow.ui b/app/gui/oven_control/valvetestwindow.ui index d14f76d..2c95167 100644 --- a/app/gui/oven_control/valvetestwindow.ui +++ b/app/gui/oven_control/valvetestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1310,6 +1336,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/washtestwindow.ui b/app/gui/oven_control/washtestwindow.ui index 7ee434b..52dbb06 100644 --- a/app/gui/oven_control/washtestwindow.ui +++ b/app/gui/oven_control/washtestwindow.ui @@ -81,6 +81,32 @@ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -709,6 +735,16 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/184_o QLabel
digitalclock.h
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
diff --git a/app/gui/oven_control/washwindow.ui b/app/gui/oven_control/washwindow.ui index eb5152e..614a29e 100644 --- a/app/gui/oven_control/washwindow.ui +++ b/app/gui/oven_control/washwindow.ui @@ -124,6 +124,32 @@ border: none; Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + 670 + 290 + 111 + 121 + + + + + + + + + + 662 + 164 + 111 + 121 + + + + + + @@ -1203,12 +1229,6 @@ QPushButton:pressed { image: url(:/images/slider_icon/clean_ov.png); } - WashStepGauge - QWidget -
washstepgauge.h
- 1 -
- Clock QWidget
clock.h
@@ -1230,14 +1250,30 @@ QPushButton:pressed { image: url(:/images/slider_icon/clean_ov.png); }
halfenergyicon.h
+ DigitalClock + QLabel +
digitalclock.h
+
+ + IgnitionIcon + QLabel +
ignitionicon.h
+
+ + WaterLevelIcon + QLabel +
waterlevelicon.h
+
+ AnimatedImageBox QLabel
animatedimagebox.h
- DigitalClock - QLabel -
digitalclock.h
+ WashStepGauge + QWidget +
washstepgauge.h
+ 1
diff --git a/app/gui/oven_control/waterlevelicon.cpp b/app/gui/oven_control/waterlevelicon.cpp new file mode 100644 index 0000000..dfc6c49 --- /dev/null +++ b/app/gui/oven_control/waterlevelicon.cpp @@ -0,0 +1,28 @@ +#include "waterlevelicon.h" + +#include "udphandler.h" + +WaterLevelIcon::WaterLevelIcon(QWidget *parent) : QLabel(parent) +{ + connect(&timer, SIGNAL(timeout()), SLOT(check())); + timer.start(1000); + + check(); +} + +void WaterLevelIcon::check() +{ + switch (UdpHandler::getInstance()->waterLevel()) + { + case 3: + case 2: + setPixmap(QPixmap(":/images/symbol/water_level_high.png")); + break; + case 1: + setPixmap(QPixmap(":/images/symbol/water_level_middle.png")); + break; + case 0: + setPixmap(QPixmap(":/images/symbol/water_level_low.png")); + break; + } +} diff --git a/app/gui/oven_control/waterlevelicon.h b/app/gui/oven_control/waterlevelicon.h new file mode 100644 index 0000000..ad8d052 --- /dev/null +++ b/app/gui/oven_control/waterlevelicon.h @@ -0,0 +1,20 @@ +#ifndef WATERLEVELICON_H +#define WATERLEVELICON_H + +#include +#include + +class WaterLevelIcon : public QLabel +{ + Q_OBJECT + + QTimer timer; + +public: + explicit WaterLevelIcon(QWidget *parent = Q_NULLPTR); + +private slots: + void check(); +}; + +#endif // WATERLEVELICON_H