Commit 27843914bd5fb81ef6ec7c32889d8372a493ff52

Authored by 김태훈
1 parent fb5aca13fc
Exists in master and in 2 other branches fhd, fhd-demo

중심 온도 설정에 엔코더 관련 디자인 적용

app/gui/oven_control/coretempsettingpopup.cpp
@@ -87,6 +87,7 @@ CoreTempSettingPopup::CoreTempSettingPopup(QWidget *parent) : @@ -87,6 +87,7 @@ CoreTempSettingPopup::CoreTempSettingPopup(QWidget *parent) :
87 connect(&focusCoreTempButtonTimer, SIGNAL(timeout()), SLOT(focusCoreTempButton())); 87 connect(&focusCoreTempButtonTimer, SIGNAL(timeout()), SLOT(focusCoreTempButton()));
88 88
89 connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), &focusCoreTempButtonTimer, SLOT(start())); 89 connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), &focusCoreTempButtonTimer, SLOT(start()));
  90 + connect(ui->coreTempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
90 } 91 }
91 92
92 CoreTempSettingPopup::~CoreTempSettingPopup() 93 CoreTempSettingPopup::~CoreTempSettingPopup()
app/gui/oven_control/coretempsettingpopup.ui
@@ -445,9 +445,13 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b @@ -445,9 +445,13 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b
445 </rect> 445 </rect>
446 </property> 446 </property>
447 <property name="styleSheet"> 447 <property name="styleSheet">
448 - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp_enabled.png); }  
449 -QPushButton:checked { image: url(:/images/slider_icon/core_temp_ov.png); }  
450 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> 448 + <string notr="true">QPushButton
  449 +{ image: url(:/images/slider_icon/core_temp_enabled); }
  450 +QPushButton:pressed,
  451 +QPushButton:focus
  452 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }
  453 +QPushButton:checked
  454 +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string>
451 </property> 455 </property>
452 <property name="checkable"> 456 <property name="checkable">
453 <bool>true</bool> 457 <bool>true</bool>
app/gui/oven_control/manualcookwindow.cpp
@@ -147,6 +147,11 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) : @@ -147,6 +147,11 @@ ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) :
147 connect(ui->timeSlider, SIGNAL(sliderMoved(int)), &focusTimeButtonTimer, SLOT(start())); 147 connect(ui->timeSlider, SIGNAL(sliderMoved(int)), &focusTimeButtonTimer, SLOT(start()));
148 connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), &focusInterTempButtonTimer, SLOT(start())); 148 connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), &focusInterTempButtonTimer, SLOT(start()));
149 149
  150 + connect(ui->humiditySlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  151 + connect(ui->tempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  152 + connect(ui->timeSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  153 + connect(ui->interTempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  154 +
150 connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*))); 155 connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*)));
151 oven->setDefault(mode); 156 oven->setDefault(mode);
152 157
@@ -345,33 +350,41 @@ void ManualCookWindow::updateView() @@ -345,33 +350,41 @@ void ManualCookWindow::updateView()
345 else 350 else
346 interTemp = oven->interTemp(); 351 interTemp = oven->interTemp();
347 352
348 - ui->interTempButton->setChecked(oven->interTempEnabled()); 353 + QString interTempButtonStyleSheet("\
  354 +QPushButton\
  355 +{ image: url(%1); }\
  356 +QPushButton:pressed,\
  357 +QPushButton:focus\
  358 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }\
  359 +QPushButton:checked\
  360 +{ image: url(:/images/slider_icon/core_temp_ov.png); }");
349 361
350 bool interTempEnabled = oven->interTempEnabled(); 362 bool interTempEnabled = oven->interTempEnabled();
351 - if (interTempEnabled != lastViewInterTempEnabled || interTemp != lastViewInterTemp) 363 + if (interTempEnabled != lastViewInterTempEnabled)
352 { 364 {
353 - if (interTempEnabled != lastViewInterTempEnabled)  
354 -// {  
355 - lastViewInterTempEnabled = oven->interTempEnabled();  
356 -// ui->interTempButton->setChecked(interTempEnabled);  
357 -// }  
358 -  
359 - lastViewInterTemp = interTemp;  
360 -  
361 - bool old = ui->interTempSlider->blockSignals(true);  
362 - ui->interTempSlider->setEnabled(interTempEnabled);  
363 - ui->interTempSlider->setSubVisible(interTempEnabled);  
364 - ui->interTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp());  
365 - if (ui->interTempSlider->sliderPosition() != interTemp)  
366 - ui->interTempSlider->setValue(interTemp);  
367 - ui->interTempSlider->blockSignals(old);  
368 - 365 + lastViewInterTempEnabled = interTempEnabled;
369 if (interTempEnabled) 366 if (interTempEnabled)
370 - ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14)); 367 + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp_enabled.png"));
371 else 368 else
372 - ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14)); 369 + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp.png"));
373 } 370 }
374 371
  372 + ui->interTempButton->setChecked(focusWidget() == ui->interTempSlider);
  373 +
  374 +
  375 + old = ui->interTempSlider->blockSignals(true);
  376 + ui->interTempSlider->setEnabled(interTempEnabled);
  377 + ui->interTempSlider->setSubVisible(interTempEnabled);
  378 + ui->interTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp());
  379 + if (ui->interTempSlider->sliderPosition() != interTemp)
  380 + ui->interTempSlider->setValue(interTemp);
  381 + ui->interTempSlider->blockSignals(old);
  382 +
  383 + if (interTempEnabled)
  384 + ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14));
  385 + else
  386 + ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
  387 +
375 ui->runStopButton->setChecked(oven->cooking()); 388 ui->runStopButton->setChecked(oven->cooking());
376 389
377 if (showFrontButtons) 390 if (showFrontButtons)
app/gui/oven_control/manualcookwindow.ui
@@ -756,9 +756,13 @@ QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }&lt;/strin @@ -756,9 +756,13 @@ QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }&lt;/strin
756 </rect> 756 </rect>
757 </property> 757 </property>
758 <property name="styleSheet"> 758 <property name="styleSheet">
759 - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp.png); }  
760 -QPushButton:checked { image: url(:/images/slider_icon/core_temp_enabled.png); }  
761 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> 759 + <string notr="true">QPushButton
  760 +{ image: url(:/images/slider_icon/core_temp.png); }
  761 +QPushButton:pressed,
  762 +QPushButton:focus
  763 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }
  764 +QPushButton:checked
  765 +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string>
762 </property> 766 </property>
763 <property name="checkable"> 767 <property name="checkable">
764 <bool>true</bool> 768 <bool>true</bool>
app/gui/oven_control/programmingmanualcoretemppopup.cpp
@@ -32,6 +32,8 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent) @@ -32,6 +32,8 @@ ProgrammingManualCoreTempPopup::ProgrammingManualCoreTempPopup(QWidget *parent)
32 ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); 32 ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3);
33 33
34 connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel())); 34 connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel()));
  35 + connect(ui->coreTempSlider, SIGNAL(sliderPressed()), SLOT(updateCoreTempButton()));
  36 + connect(ui->coreTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempButton()));
35 37
36 updateCoreTempLabel(); 38 updateCoreTempLabel();
37 39
@@ -108,6 +110,11 @@ void ProgrammingManualCoreTempPopup::keyReleaseEvent(QKeyEvent *event) @@ -108,6 +110,11 @@ void ProgrammingManualCoreTempPopup::keyReleaseEvent(QKeyEvent *event)
108 } 110 }
109 } 111 }
110 112
  113 +void ProgrammingManualCoreTempPopup::updateCoreTempButton()
  114 +{
  115 + ui->coreTempButton->setChecked(focusWidget() == ui->coreTempSlider);
  116 +}
  117 +
111 void ProgrammingManualCoreTempPopup::updateCoreTempLabel() 118 void ProgrammingManualCoreTempPopup::updateCoreTempLabel()
112 { 119 {
113 ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->sliderPosition(), Stringer::fontSize14)); 120 ui->coreTempLabel->setText(Stringer::temperature(ui->coreTempSlider->sliderPosition(), Stringer::fontSize14));
@@ -120,21 +127,29 @@ void ProgrammingManualCoreTempPopup::afterThreeSecs() @@ -120,21 +127,29 @@ void ProgrammingManualCoreTempPopup::afterThreeSecs()
120 { 127 {
121 if (slider == ui->coreTempSlider) 128 if (slider == ui->coreTempSlider)
122 ui->coreTempButton->setFocus(); 129 ui->coreTempButton->setFocus();
  130 +
  131 + updateCoreTempButton();
123 } 132 }
124 } 133 }
125 134
126 void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked() 135 void ProgrammingManualCoreTempPopup::on_coreTempButton_clicked()
127 { 136 {
128 ui->coreTempSlider->setFocus(); 137 ui->coreTempSlider->setFocus();
  138 +
  139 + updateCoreTempButton();
129 } 140 }
130 141
131 void ProgrammingManualCoreTempPopup::on_cancelButton_clicked() 142 void ProgrammingManualCoreTempPopup::on_cancelButton_clicked()
132 { 143 {
  144 + updateCoreTempButton();
  145 +
133 close(); 146 close();
134 } 147 }
135 148
136 void ProgrammingManualCoreTempPopup::on_applyButton_clicked() 149 void ProgrammingManualCoreTempPopup::on_applyButton_clicked()
137 { 150 {
  151 + updateCoreTempButton();
  152 +
138 emit coreTempEnabled(ui->coreTempSlider->sliderPosition()); 153 emit coreTempEnabled(ui->coreTempSlider->sliderPosition());
139 154
140 close(); 155 close();
@@ -176,6 +191,8 @@ void ProgrammingManualCoreTempPopup::onEncoderClicked(QWidget *clicked) @@ -176,6 +191,8 @@ void ProgrammingManualCoreTempPopup::onEncoderClicked(QWidget *clicked)
176 { 191 {
177 if (slider == ui->coreTempSlider) 192 if (slider == ui->coreTempSlider)
178 ui->coreTempButton->setFocus(); 193 ui->coreTempButton->setFocus();
  194 +
  195 + updateCoreTempButton();
179 } 196 }
180 } 197 }
181 } 198 }
app/gui/oven_control/programmingmanualcoretemppopup.h
@@ -23,6 +23,7 @@ protected: @@ -23,6 +23,7 @@ protected:
23 void keyReleaseEvent(QKeyEvent *event); 23 void keyReleaseEvent(QKeyEvent *event);
24 24
25 private slots: 25 private slots:
  26 + void updateCoreTempButton();
26 void updateCoreTempLabel(); 27 void updateCoreTempLabel();
27 void afterThreeSecs(); 28 void afterThreeSecs();
28 29
app/gui/oven_control/programmingmanualcoretemppopup.ui
@@ -68,8 +68,16 @@ height: 33px; @@ -68,8 +68,16 @@ height: 33px;
68 </rect> 68 </rect>
69 </property> 69 </property>
70 <property name="styleSheet"> 70 <property name="styleSheet">
71 - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp_enabled.png); }  
72 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> 71 + <string notr="true">QPushButton
  72 +{ image: url(:/images/slider_icon/core_temp_enabled.png); }
  73 +QPushButton:pressed,
  74 +QPushButton:focus
  75 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }
  76 +QPushButton:checked
  77 +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string>
  78 + </property>
  79 + <property name="checkable">
  80 + <bool>true</bool>
73 </property> 81 </property>
74 <property name="style" stdset="0"> 82 <property name="style" stdset="0">
75 <string>icon</string> 83 <string>icon</string>
@@ -201,6 +209,9 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b @@ -201,6 +209,9 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/manual_b
201 <height>140</height> 209 <height>140</height>
202 </rect> 210 </rect>
203 </property> 211 </property>
  212 + <property name="focusPolicy">
  213 + <enum>Qt::ClickFocus</enum>
  214 + </property>
204 </widget> 215 </widget>
205 <zorder>background</zorder> 216 <zorder>background</zorder>
206 <zorder>coreTempButton</zorder> 217 <zorder>coreTempButton</zorder>
app/gui/oven_control/programmingmanualwindow.cpp
@@ -58,10 +58,18 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m @@ -58,10 +58,18 @@ ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode m
58 for (int i = 1; i < 3; i++) 58 for (int i = 1; i < 3; i++)
59 ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3); 59 ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3);
60 60
61 - connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateHumidityLabel()));  
62 - connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateTempLabel()));  
63 - connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateTimeLabel()));  
64 - connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateCoreTempLabel())); 61 + connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
  62 + connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
  63 + connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
  64 + connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
  65 +
  66 + connect(ui->humiditySlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  67 + connect(ui->tempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  68 + connect(ui->timeSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  69 + connect(ui->interTempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
  70 +
  71 + lastFan = -1;
  72 + lastInterTempEnabled = true;
65 73
66 setDefault(mode); 74 setDefault(mode);
67 75
@@ -244,6 +252,8 @@ void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked) @@ -244,6 +252,8 @@ void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked)
244 ui->timeButton->setFocus(); 252 ui->timeButton->setFocus();
245 else if (slider == ui->interTempSlider) 253 else if (slider == ui->interTempSlider)
246 ui->interTempButton->setFocus(); 254 ui->interTempButton->setFocus();
  255 +
  256 + updateView();
247 } 257 }
248 } 258 }
249 } 259 }
@@ -265,8 +275,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -265,8 +275,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
265 ui->interTempSlider->setSubVisible(false); 275 ui->interTempSlider->setSubVisible(false);
266 ui->interTempSlider->setValue(30); 276 ui->interTempSlider->setValue(30);
267 setFan(4); 277 setFan(4);
268 - updateCoreTempButton();  
269 - updateCoreTempLabel(); 278 + updateView();
270 this->mode = mode; 279 this->mode = mode;
271 break; 280 break;
272 case Define::CombiMode: 281 case Define::CombiMode:
@@ -282,8 +291,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -282,8 +291,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
282 ui->interTempSlider->setSubVisible(false); 291 ui->interTempSlider->setSubVisible(false);
283 ui->interTempSlider->setValue(30); 292 ui->interTempSlider->setValue(30);
284 setFan(4); 293 setFan(4);
285 - updateCoreTempButton();  
286 - updateCoreTempLabel(); 294 + updateView();
287 this->mode = mode; 295 this->mode = mode;
288 break; 296 break;
289 case Define::DryMode: 297 case Define::DryMode:
@@ -299,8 +307,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode) @@ -299,8 +307,7 @@ void ProgrammingManualWindow::setDefault(Define::Mode mode)
299 ui->interTempSlider->setSubVisible(false); 307 ui->interTempSlider->setSubVisible(false);
300 ui->interTempSlider->setValue(30); 308 ui->interTempSlider->setValue(30);
301 setFan(4); 309 setFan(4);
302 - updateCoreTempButton();  
303 - updateCoreTempLabel(); 310 + updateView();
304 this->mode = mode; 311 this->mode = mode;
305 break; 312 break;
306 default: 313 default:
@@ -315,6 +322,24 @@ void ProgrammingManualWindow::setFan(int level) @@ -315,6 +322,24 @@ void ProgrammingManualWindow::setFan(int level)
315 updateFanButton(); 322 updateFanButton();
316 } 323 }
317 324
  325 +void ProgrammingManualWindow::updateView()
  326 +{
  327 + updateHumidityLabel();
  328 + updateTempLabel();
  329 + updateTimeLabel();
  330 + updateCoreTempButton();
  331 + updateCoreTempLabel();
  332 + updateFanButton();
  333 +
  334 + QWidget *focused = focusWidget();
  335 + ui->humidityButton->setChecked(focused == ui->humiditySlider);
  336 + ui->tempButton->setChecked(focused == ui->tempSlider);
  337 + ui->timeButton->setChecked(focused == ui->timeSlider);
  338 + ui->interTempButton->setChecked(focused == ui->interTempSlider);
  339 +
  340 + qDebug() << "up" << focused;
  341 +}
  342 +
318 void ProgrammingManualWindow::updateHumidityLabel() 343 void ProgrammingManualWindow::updateHumidityLabel()
319 { 344 {
320 ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition())); 345 ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition()));
@@ -332,7 +357,26 @@ void ProgrammingManualWindow::updateTimeLabel() @@ -332,7 +357,26 @@ void ProgrammingManualWindow::updateTimeLabel()
332 357
333 void ProgrammingManualWindow::updateCoreTempButton() 358 void ProgrammingManualWindow::updateCoreTempButton()
334 { 359 {
335 - ui->interTempButton->setChecked(ui->interTempSlider->isEnabled()); 360 + if (ui->interTempSlider->isEnabled() == lastInterTempEnabled)
  361 + return;
  362 +
  363 + lastInterTempEnabled = ui->interTempSlider->isEnabled();
  364 +
  365 + QString interTempButtonStyleSheet("\
  366 +QPushButton\
  367 +{ image: url(%1); }\
  368 +QPushButton:pressed,\
  369 +QPushButton:focus\
  370 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }\
  371 +QPushButton:checked\
  372 +{ image: url(:/images/slider_icon/core_temp_ov.png); }");
  373 +
  374 + if (ui->interTempSlider->isEnabled())
  375 + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp_enabled.png"));
  376 + else
  377 + ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp.png"));
  378 +
  379 + ui->interTempButton->setChecked(focusWidget() == ui->interTempSlider);
336 } 380 }
337 381
338 void ProgrammingManualWindow::updateCoreTempLabel() 382 void ProgrammingManualWindow::updateCoreTempLabel()
@@ -345,31 +389,45 @@ void ProgrammingManualWindow::updateCoreTempLabel() @@ -345,31 +389,45 @@ void ProgrammingManualWindow::updateCoreTempLabel()
345 389
346 void ProgrammingManualWindow::updateFanButton() 390 void ProgrammingManualWindow::updateFanButton()
347 { 391 {
  392 + if (fan == lastFan)
  393 + return;
  394 +
  395 + lastFan = fan;
  396 + QString fanStyleSheet("\
  397 +QPushButton { background-image: url(%1); }\
  398 +QPushButton:focus { background-image: url(%2); }");
  399 +
348 switch (fan) 400 switch (fan)
349 { 401 {
350 case 1: 402 case 1:
351 - ui->fanButton->setStyleSheet(  
352 - "background-image: url(:/images/manual_button/fan_1.png)"); 403 + ui->fanButton->setStyleSheet(fanStyleSheet
  404 + .arg(":/images/manual_button/fan_1.png")
  405 + .arg(":/images/manual_button/013_sys_icon_06_active.png"));
353 break; 406 break;
354 case 2: 407 case 2:
355 - ui->fanButton->setStyleSheet(  
356 - "background-image: url(:/images/manual_button/fan_2.png)"); 408 + ui->fanButton->setStyleSheet(fanStyleSheet
  409 + .arg(":/images/manual_button/fan_2.png")
  410 + .arg(":/images/manual_button/013_sys_icon_06_01_active.png"));
357 break; 411 break;
358 case 3: 412 case 3:
359 - ui->fanButton->setStyleSheet(  
360 - "background-image: url(:/images/manual_button/fan_3.png)"); 413 + ui->fanButton->setStyleSheet(fanStyleSheet
  414 + .arg(":/images/manual_button/fan_3.png")
  415 + .arg(":/images/manual_button/013_sys_icon_06_02_active.png"));
361 break; 416 break;
362 case 4: 417 case 4:
363 - ui->fanButton->setStyleSheet(  
364 - "background-image: url(:/images/manual_button/fan_4.png)"); 418 + ui->fanButton->setStyleSheet(fanStyleSheet
  419 + .arg(":/images/manual_button/fan_4.png")
  420 + .arg(":/images/manual_button/013_sys_icon_06_03_active.png"));
365 break; 421 break;
366 case 5: 422 case 5:
367 - ui->fanButton->setStyleSheet(  
368 - "background-image: url(:/images/manual_button/fan_5.png)"); 423 + ui->fanButton->setStyleSheet(fanStyleSheet
  424 + .arg(":/images/manual_button/fan_5.png")
  425 + .arg(":/images/manual_button/013_sys_icon_06_04_active.png"));
369 break; 426 break;
370 default: 427 default:
371 - ui->fanButton->setStyleSheet(  
372 - "background-image: url(:/images/manual_button/fan_1.png)"); 428 + ui->fanButton->setStyleSheet(fanStyleSheet
  429 + .arg(":/images/manual_button/fan_6.png")
  430 + .arg(":/images/manual_button/013_sys_icon_06_active.png"));
373 break; 431 break;
374 } 432 }
375 } 433 }
@@ -388,7 +446,7 @@ void ProgrammingManualWindow::afterThreeSecs() @@ -388,7 +446,7 @@ void ProgrammingManualWindow::afterThreeSecs()
388 else if (slider == ui->interTempSlider) 446 else if (slider == ui->interTempSlider)
389 ui->interTempButton->setFocus(); 447 ui->interTempButton->setFocus();
390 448
391 - afterThreeSecsTimer.start(); 449 + updateView();
392 } 450 }
393 } 451 }
394 452
@@ -397,8 +455,8 @@ void ProgrammingManualWindow::onCoreTempEnabled(int celsius) @@ -397,8 +455,8 @@ void ProgrammingManualWindow::onCoreTempEnabled(int celsius)
397 ui->interTempSlider->setEnabled(true); 455 ui->interTempSlider->setEnabled(true);
398 ui->interTempSlider->setSubVisible(true); 456 ui->interTempSlider->setSubVisible(true);
399 ui->interTempSlider->setValue(celsius); 457 ui->interTempSlider->setValue(celsius);
400 - updateCoreTempButton();  
401 - updateCoreTempLabel(); 458 +
  459 + updateView();
402 } 460 }
403 461
404 void ProgrammingManualWindow::on_steamButton_clicked() 462 void ProgrammingManualWindow::on_steamButton_clicked()
@@ -419,16 +477,22 @@ void ProgrammingManualWindow::on_dryheatButton_clicked() @@ -419,16 +477,22 @@ void ProgrammingManualWindow::on_dryheatButton_clicked()
419 void ProgrammingManualWindow::on_humidityButton_clicked() 477 void ProgrammingManualWindow::on_humidityButton_clicked()
420 { 478 {
421 ui->humiditySlider->setFocus(); 479 ui->humiditySlider->setFocus();
  480 +
  481 + updateView();
422 } 482 }
423 483
424 void ProgrammingManualWindow::on_tempButton_clicked() 484 void ProgrammingManualWindow::on_tempButton_clicked()
425 { 485 {
426 ui->tempSlider->setFocus(); 486 ui->tempSlider->setFocus();
  487 +
  488 + updateView();
427 } 489 }
428 490
429 void ProgrammingManualWindow::on_timeButton_clicked() 491 void ProgrammingManualWindow::on_timeButton_clicked()
430 { 492 {
431 ui->timeSlider->setFocus(); 493 ui->timeSlider->setFocus();
  494 +
  495 + updateView();
432 } 496 }
433 497
434 void ProgrammingManualWindow::on_interTempButton_clicked() 498 void ProgrammingManualWindow::on_interTempButton_clicked()
@@ -437,8 +501,8 @@ void ProgrammingManualWindow::on_interTempButton_clicked() @@ -437,8 +501,8 @@ void ProgrammingManualWindow::on_interTempButton_clicked()
437 { 501 {
438 ui->interTempSlider->setEnabled(false); 502 ui->interTempSlider->setEnabled(false);
439 ui->interTempSlider->setSubVisible(false); 503 ui->interTempSlider->setSubVisible(false);
440 - updateCoreTempButton();  
441 - updateCoreTempLabel(); 504 +
  505 + updateView();
442 } 506 }
443 else 507 else
444 { 508 {
app/gui/oven_control/programmingmanualwindow.h
@@ -28,6 +28,9 @@ private: @@ -28,6 +28,9 @@ private:
28 28
29 Define::Mode mode; 29 Define::Mode mode;
30 int fan; 30 int fan;
  31 + int lastFan;
  32 +
  33 + bool lastInterTempEnabled;
31 34
32 int sliderToTime(int value); 35 int sliderToTime(int value);
33 int timeToSlider(int secs); 36 int timeToSlider(int secs);
@@ -43,6 +46,7 @@ private: @@ -43,6 +46,7 @@ private:
43 private slots: 46 private slots:
44 void setDefault(Define::Mode mode); 47 void setDefault(Define::Mode mode);
45 void setFan(int level); 48 void setFan(int level);
  49 + void updateView();
46 void updateHumidityLabel(); 50 void updateHumidityLabel();
47 void updateTempLabel(); 51 void updateTempLabel();
48 void updateTimeLabel(); 52 void updateTimeLabel();
app/gui/oven_control/programmingmanualwindow.ui
@@ -242,7 +242,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_dryheat.png); @@ -242,7 +242,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_dryheat.png);
242 </property> 242 </property>
243 <property name="styleSheet"> 243 <property name="styleSheet">
244 <string notr="true">QPushButton { image: url(:/images/slider_icon/time.png); } 244 <string notr="true">QPushButton { image: url(:/images/slider_icon/time.png); }
245 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/time_ov.png); }</string> 245 +QPushButton:pressed,
  246 +QPushButton:focus { image: url(:/images/slider_icon/011_icon_03_active.png); }
  247 +QPushButton:checked { image: url(:/images/slider_icon/time_ov.png); }</string>
  248 + </property>
  249 + <property name="checkable">
  250 + <bool>true</bool>
246 </property> 251 </property>
247 <property name="style" stdset="0"> 252 <property name="style" stdset="0">
248 <string notr="true">icon</string> 253 <string notr="true">icon</string>
@@ -587,7 +592,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h @@ -587,7 +592,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h
587 </property> 592 </property>
588 <property name="styleSheet"> 593 <property name="styleSheet">
589 <string notr="true">QPushButton { image: url(:/images/slider_icon/temp.png); } 594 <string notr="true">QPushButton { image: url(:/images/slider_icon/temp.png); }
590 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/temp_ov.png); }</string> 595 +QPushButton:pressed,
  596 +QPushButton:focus { image: url(:/images/slider_icon/011_icon_02_active.png); }
  597 +QPushButton:checked { image: url(:/images/slider_icon/temp_ov.png); }</string>
  598 + </property>
  599 + <property name="checkable">
  600 + <bool>true</bool>
591 </property> 601 </property>
592 <property name="style" stdset="0"> 602 <property name="style" stdset="0">
593 <string notr="true">icon</string> 603 <string notr="true">icon</string>
@@ -754,7 +764,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); } @@ -754,7 +764,12 @@ QPushButton:checked { background-image: url(:/images/cook_mode/big_steam.png); }
754 </property> 764 </property>
755 <property name="styleSheet"> 765 <property name="styleSheet">
756 <string notr="true">QPushButton { image: url(:/images/slider_icon/humidity.png); } 766 <string notr="true">QPushButton { image: url(:/images/slider_icon/humidity.png); }
757 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidity_ov.png); }</string> 767 +QPushButton:pressed,
  768 +QPushButton:focus { image: url(:/images/slider_icon/011_icon_01_active.png); }
  769 +QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }</string>
  770 + </property>
  771 + <property name="checkable">
  772 + <bool>true</bool>
758 </property> 773 </property>
759 <property name="style" stdset="0"> 774 <property name="style" stdset="0">
760 <string notr="true">icon</string> 775 <string notr="true">icon</string>
@@ -770,9 +785,13 @@ QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidit @@ -770,9 +785,13 @@ QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/humidit
770 </rect> 785 </rect>
771 </property> 786 </property>
772 <property name="styleSheet"> 787 <property name="styleSheet">
773 - <string notr="true">QPushButton { image: url(:/images/slider_icon/core_temp.png); }  
774 -QPushButton:checked { image: url(:/images/slider_icon/core_temp_enabled.png); }  
775 -QPushButton:pressed, QPushButton:focus { image: url(:/images/slider_icon/core_temp_ov.png); }</string> 788 + <string notr="true">QPushButton
  789 +{ image: url(:/images/slider_icon/core_temp.png); }
  790 +QPushButton:pressed,
  791 +QPushButton:focus
  792 +{ image: url(:/images/slider_icon/011_icon_04_active.png); }
  793 +QPushButton:checked
  794 +{ image: url(:/images/slider_icon/core_temp_ov.png); }</string>
776 </property> 795 </property>
777 <property name="checkable"> 796 <property name="checkable">
778 <bool>true</bool> 797 <bool>true</bool>