Commit f31d412c6f342286578ac5382e3679034d4be388

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

수동 요리 기능 추가

- 요리 완료 시 문 열림 애니메이션 표출
- 문 열면 애니메이션을 숨기고 시계 표출
app/gui/oven_control/manualcookwindow.cpp
... ... @@ -240,15 +240,26 @@ void ManualCookWindow::keyReleaseEvent(QKeyEvent *event)
240 240  
241 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 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 263 ui->openDoorAnimation->start(300);
253 264 }
254 265  
... ... @@ -475,10 +486,20 @@ QPushButton:focus { background-image: url(%2); }");
475 486  
476 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 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 505 void ManualCookWindow::showCurrentHumidity()
... ... @@ -510,7 +531,10 @@ void ManualCookWindow::onOvenUpdated(Oven *oven)
510 531 updateView();
511 532  
512 533 if (oven->interTempEnabled() && oven->currentInterTemp() >= oven->interTemp())
  534 + {
  535 + done = true;
513 536 stop();
  537 + }
514 538  
515 539 if (repeat && !oven->cooking())
516 540 {
... ... @@ -530,10 +554,13 @@ void ManualCookWindow::onOvenUpdated(Oven *oven)
530 554 || oven->time() == 0)
531 555 {
532 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 564 lastCheckedCooking = oven->cooking();
538 565  
539 566 if (oven->paused() && oven->door())
... ... @@ -568,6 +595,8 @@ void ManualCookWindow::start()
568 595  
569 596 if (oven->time() > 0)
570 597 {
  598 + done = false;
  599 +
571 600 SoundPlayer::playStart();
572 601  
573 602 if (startCookingTimer.isActive())
... ...
app/gui/oven_control/manualcookwindow.h
... ... @@ -27,7 +27,6 @@ protected:
27 27  
28 28 signals:
29 29 void cookStopRequested();
30   - void done();
31 30  
32 31 public slots:
33 32  
... ... @@ -135,6 +134,7 @@ private:
135 134 QTimer monitor3;
136 135 bool monitorTriggered;
137 136  
  137 + bool done;
138 138  
139 139 ManualCookSetting repeatSetting;
140 140 bool repeat;
... ...
app/gui/oven_control/manualcookwindow.ui
... ... @@ -136,7 +136,7 @@ height: 33px;
136 136 <property name="styleSheet">
137 137 <string notr="true">#closeDoorWidget { background-image: url(:/images/clock/background.png); }</string>
138 138 </property>
139   - <widget class="AnimatedImageBox" name="openDoorAnimation">
  139 + <widget class="AnimatedImageBox" name="closeDoorAnimation">
140 140 <property name="geometry">
141 141 <rect>
142 142 <x>366</x>
... ... @@ -160,6 +160,36 @@ height: 33px;
160 160 </property>
161 161 </widget>
162 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 193 </widget>
164 194 <widget class="QPushButton" name="combiButton">
165 195 <property name="geometry">
... ...