Commit 27843914bd5fb81ef6ec7c32889d8372a493ff52
1 parent
fb5aca13fc
Exists in
master
and in
2 other branches
중심 온도 설정에 엔코더 관련 디자인 적용
Showing
10 changed files
with
200 additions
and
62 deletions
Show diff stats
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); }</strin | @@ -756,9 +756,13 @@ QPushButton:checked { image: url(:/images/slider_icon/humidity_ov.png); }</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> |