Commit f31d412c6f342286578ac5382e3679034d4be388
1 parent
0c0962857e
Exists in
master
and in
2 other branches
수동 요리 기능 추가
- 요리 완료 시 문 열림 애니메이션 표출 - 문 열면 애니메이션을 숨기고 시계 표출
Showing
3 changed files
with
73 additions
and
14 deletions
Show diff stats
app/gui/oven_control/manualcookwindow.cpp
| @@ -240,15 +240,26 @@ void ManualCookWindow::keyReleaseEvent(QKeyEvent *event) | @@ -240,15 +240,26 @@ void ManualCookWindow::keyReleaseEvent(QKeyEvent *event) | ||
| 240 | 240 | ||
| 241 | void ManualCookWindow::setupAnimation() | 241 | void ManualCookWindow::setupAnimation() |
| 242 | { | 242 | { |
| 243 | - ui->openDoorAnimation->load(":/images/animation/door_big_09.png"); | ||
| 244 | - ui->openDoorAnimation->load(":/images/animation/door_big_08.png"); | ||
| 245 | - ui->openDoorAnimation->load(":/images/animation/door_big_07.png"); | ||
| 246 | - ui->openDoorAnimation->load(":/images/animation/door_big_06.png"); | ||
| 247 | - ui->openDoorAnimation->load(":/images/animation/door_big_05.png"); | ||
| 248 | - ui->openDoorAnimation->load(":/images/animation/door_big_04.png"); | ||
| 249 | - ui->openDoorAnimation->load(":/images/animation/door_big_03.png"); | ||
| 250 | - ui->openDoorAnimation->load(":/images/animation/door_big_02.png"); | 243 | + ui->closeDoorAnimation->load(":/images/animation/door_big_09.png"); |
| 244 | + ui->closeDoorAnimation->load(":/images/animation/door_big_08.png"); | ||
| 245 | + ui->closeDoorAnimation->load(":/images/animation/door_big_07.png"); | ||
| 246 | + ui->closeDoorAnimation->load(":/images/animation/door_big_06.png"); | ||
| 247 | + ui->closeDoorAnimation->load(":/images/animation/door_big_05.png"); | ||
| 248 | + ui->closeDoorAnimation->load(":/images/animation/door_big_04.png"); | ||
| 249 | + ui->closeDoorAnimation->load(":/images/animation/door_big_03.png"); | ||
| 250 | + ui->closeDoorAnimation->load(":/images/animation/door_big_02.png"); | ||
| 251 | + ui->closeDoorAnimation->load(":/images/animation/door_big_01.png"); | ||
| 252 | + ui->closeDoorAnimation->start(300); | ||
| 253 | + | ||
| 251 | ui->openDoorAnimation->load(":/images/animation/door_big_01.png"); | 254 | ui->openDoorAnimation->load(":/images/animation/door_big_01.png"); |
| 255 | + ui->openDoorAnimation->load(":/images/animation/door_big_02.png"); | ||
| 256 | + ui->openDoorAnimation->load(":/images/animation/door_big_03.png"); | ||
| 257 | + ui->openDoorAnimation->load(":/images/animation/door_big_04.png"); | ||
| 258 | + ui->openDoorAnimation->load(":/images/animation/door_big_05.png"); | ||
| 259 | + ui->openDoorAnimation->load(":/images/animation/door_big_06.png"); | ||
| 260 | + ui->openDoorAnimation->load(":/images/animation/door_big_07.png"); | ||
| 261 | + ui->openDoorAnimation->load(":/images/animation/door_big_08.png"); | ||
| 262 | + ui->openDoorAnimation->load(":/images/animation/door_big_09.png"); | ||
| 252 | ui->openDoorAnimation->start(300); | 263 | ui->openDoorAnimation->start(300); |
| 253 | } | 264 | } |
| 254 | 265 | ||
| @@ -475,10 +486,20 @@ QPushButton:focus { background-image: url(%2); }"); | @@ -475,10 +486,20 @@ QPushButton:focus { background-image: url(%2); }"); | ||
| 475 | 486 | ||
| 476 | ui->repeatButton->setChecked(repeat); | 487 | ui->repeatButton->setChecked(repeat); |
| 477 | 488 | ||
| 478 | - if (oven->paused() && !oven->cooldown() && oven->door()) | ||
| 479 | - ui->upperStack->setCurrentIndex(1); | 489 | + if (done) |
| 490 | + { | ||
| 491 | + if (oven->door()) | ||
| 492 | + ui->upperStack->setCurrentIndex(0); // Clock | ||
| 493 | + else | ||
| 494 | + ui->upperStack->setCurrentIndex(2); // Open Door | ||
| 495 | + } | ||
| 480 | else | 496 | else |
| 481 | - ui->upperStack->setCurrentIndex(0); | 497 | + { |
| 498 | + if (oven->paused() && !oven->cooldown() && oven->door()) | ||
| 499 | + ui->upperStack->setCurrentIndex(1); // Close Door | ||
| 500 | + else | ||
| 501 | + ui->upperStack->setCurrentIndex(0); // Clock | ||
| 502 | + } | ||
| 482 | } | 503 | } |
| 483 | 504 | ||
| 484 | void ManualCookWindow::showCurrentHumidity() | 505 | void ManualCookWindow::showCurrentHumidity() |
| @@ -510,7 +531,10 @@ void ManualCookWindow::onOvenUpdated(Oven *oven) | @@ -510,7 +531,10 @@ void ManualCookWindow::onOvenUpdated(Oven *oven) | ||
| 510 | updateView(); | 531 | updateView(); |
| 511 | 532 | ||
| 512 | if (oven->interTempEnabled() && oven->currentInterTemp() >= oven->interTemp()) | 533 | if (oven->interTempEnabled() && oven->currentInterTemp() >= oven->interTemp()) |
| 534 | + { | ||
| 535 | + done = true; | ||
| 513 | stop(); | 536 | stop(); |
| 537 | + } | ||
| 514 | 538 | ||
| 515 | if (repeat && !oven->cooking()) | 539 | if (repeat && !oven->cooking()) |
| 516 | { | 540 | { |
| @@ -530,10 +554,13 @@ void ManualCookWindow::onOvenUpdated(Oven *oven) | @@ -530,10 +554,13 @@ void ManualCookWindow::onOvenUpdated(Oven *oven) | ||
| 530 | || oven->time() == 0) | 554 | || oven->time() == 0) |
| 531 | { | 555 | { |
| 532 | lastCheckedCooking = oven->cooking(); | 556 | lastCheckedCooking = oven->cooking(); |
| 533 | - emit done(); | 557 | + done = true; |
| 534 | } | 558 | } |
| 535 | } | 559 | } |
| 536 | 560 | ||
| 561 | + if (done && oven->door()) | ||
| 562 | + done = false; | ||
| 563 | + | ||
| 537 | lastCheckedCooking = oven->cooking(); | 564 | lastCheckedCooking = oven->cooking(); |
| 538 | 565 | ||
| 539 | if (oven->paused() && oven->door()) | 566 | if (oven->paused() && oven->door()) |
| @@ -568,6 +595,8 @@ void ManualCookWindow::start() | @@ -568,6 +595,8 @@ void ManualCookWindow::start() | ||
| 568 | 595 | ||
| 569 | if (oven->time() > 0) | 596 | if (oven->time() > 0) |
| 570 | { | 597 | { |
| 598 | + done = false; | ||
| 599 | + | ||
| 571 | SoundPlayer::playStart(); | 600 | SoundPlayer::playStart(); |
| 572 | 601 | ||
| 573 | if (startCookingTimer.isActive()) | 602 | if (startCookingTimer.isActive()) |
app/gui/oven_control/manualcookwindow.h
| @@ -27,7 +27,6 @@ protected: | @@ -27,7 +27,6 @@ protected: | ||
| 27 | 27 | ||
| 28 | signals: | 28 | signals: |
| 29 | void cookStopRequested(); | 29 | void cookStopRequested(); |
| 30 | - void done(); | ||
| 31 | 30 | ||
| 32 | public slots: | 31 | public slots: |
| 33 | 32 | ||
| @@ -135,6 +134,7 @@ private: | @@ -135,6 +134,7 @@ private: | ||
| 135 | QTimer monitor3; | 134 | QTimer monitor3; |
| 136 | bool monitorTriggered; | 135 | bool monitorTriggered; |
| 137 | 136 | ||
| 137 | + bool done; | ||
| 138 | 138 | ||
| 139 | ManualCookSetting repeatSetting; | 139 | ManualCookSetting repeatSetting; |
| 140 | bool repeat; | 140 | bool repeat; |
app/gui/oven_control/manualcookwindow.ui
| @@ -136,7 +136,7 @@ height: 33px; | @@ -136,7 +136,7 @@ height: 33px; | ||
| 136 | <property name="styleSheet"> | 136 | <property name="styleSheet"> |
| 137 | <string notr="true">#closeDoorWidget { background-image: url(:/images/clock/background.png); }</string> | 137 | <string notr="true">#closeDoorWidget { background-image: url(:/images/clock/background.png); }</string> |
| 138 | </property> | 138 | </property> |
| 139 | - <widget class="AnimatedImageBox" name="openDoorAnimation"> | 139 | + <widget class="AnimatedImageBox" name="closeDoorAnimation"> |
| 140 | <property name="geometry"> | 140 | <property name="geometry"> |
| 141 | <rect> | 141 | <rect> |
| 142 | <x>366</x> | 142 | <x>366</x> |
| @@ -160,6 +160,36 @@ height: 33px; | @@ -160,6 +160,36 @@ height: 33px; | ||
| 160 | </property> | 160 | </property> |
| 161 | </widget> | 161 | </widget> |
| 162 | </widget> | 162 | </widget> |
| 163 | + <widget class="QWidget" name="openDoorWidget"> | ||
| 164 | + <property name="styleSheet"> | ||
| 165 | + <string notr="true">#openDoorWidget { background-image: url(:/images/clock/background.png); }</string> | ||
| 166 | + </property> | ||
| 167 | + <widget class="QLabel" name="label_7"> | ||
| 168 | + <property name="geometry"> | ||
| 169 | + <rect> | ||
| 170 | + <x>430</x> | ||
| 171 | + <y>170</y> | ||
| 172 | + <width>85</width> | ||
| 173 | + <height>24</height> | ||
| 174 | + </rect> | ||
| 175 | + </property> | ||
| 176 | + <property name="pixmap"> | ||
| 177 | + <pixmap resource="resources.qrc">:/images/animation/open_door_arrow.png</pixmap> | ||
| 178 | + </property> | ||
| 179 | + </widget> | ||
| 180 | + <widget class="AnimatedImageBox" name="openDoorAnimation"> | ||
| 181 | + <property name="geometry"> | ||
| 182 | + <rect> | ||
| 183 | + <x>366</x> | ||
| 184 | + <y>20</y> | ||
| 185 | + <width>251</width> | ||
| 186 | + <height>292</height> | ||
| 187 | + </rect> | ||
| 188 | + </property> | ||
| 189 | + </widget> | ||
| 190 | + <zorder>openDoorAnimation</zorder> | ||
| 191 | + <zorder>label_7</zorder> | ||
| 192 | + </widget> | ||
| 163 | </widget> | 193 | </widget> |
| 164 | <widget class="QPushButton" name="combiButton"> | 194 | <widget class="QPushButton" name="combiButton"> |
| 165 | <property name="geometry"> | 195 | <property name="geometry"> |