From 703beed2b847f4f112def024f367282bc2fc2492 Mon Sep 17 00:00:00 2001
From: victor <taehoon@falinux.com>
Date: Wed, 27 Sep 2017 17:07:21 +0900
Subject: [PATCH] =?UTF-8?q?=EB=94=94=EC=9E=90=EC=9D=B8=20=EC=95=88=20?=
 =?UTF-8?q?=EB=B0=98=EC=98=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/gui/oven_control/multicookselectionwindow.cpp |  23 +-
 app/gui/oven_control/multicookselectionwindow.h   |   1 -
 app/gui/oven_control/multicookselectionwindow.ui  | 114 ++----
 app/gui/oven_control/multicookwindow.cpp          | 191 ++++++----
 app/gui/oven_control/multicookwindow.h            |  30 +-
 app/gui/oven_control/multicookwindow.ui           | 444 +++++++++++-----------
 app/gui/oven_control/multimanualcook.cpp          |  39 +-
 7 files changed, 434 insertions(+), 408 deletions(-)

diff --git a/app/gui/oven_control/multicookselectionwindow.cpp b/app/gui/oven_control/multicookselectionwindow.cpp
index a5a7113..ef64797 100644
--- a/app/gui/oven_control/multicookselectionwindow.cpp
+++ b/app/gui/oven_control/multicookselectionwindow.cpp
@@ -79,6 +79,8 @@ void MultiCookSelectionWindow::updateView()
 {
     if (mode == Define::InvalidMode)
     {
+        ui->description->setText(tr("1. 다중 요리에서 사용할 요리 카테고리를 선택해주세요\n2. 스팀, 콤비, 건열 중에서 선택하시면 자동으로 다음 단계로 진행됩니다"));
+
         ui->steamButton->setEnabled(true);
         ui->combiButton->setEnabled(true);
         ui->dryheatButton->setEnabled(true);
@@ -93,6 +95,22 @@ void MultiCookSelectionWindow::updateView()
     }
     else
     {
+        QString modeString;
+        switch (mode)
+        {
+        case Define::SteamMode:
+            modeString = tr("스팀을");
+            break;
+        case Define::CombiMode:
+            modeString = tr("콤비를");
+            break;
+        case Define::DryMode:
+            modeString = tr("건열을");
+            break;
+        }
+
+        ui->description->setText(tr("1. %1 선택하였습니다\n2. 수동 메뉴 혹은 원하시는 자동 메뉴 상세 목록을 선택하세요").arg(modeString));
+
         ui->steamButton->setEnabled(mode == Define::SteamMode);
         ui->combiButton->setEnabled(mode == Define::CombiMode);
         ui->dryheatButton->setEnabled(mode == Define::DryMode);
@@ -213,11 +231,6 @@ void MultiCookSelectionWindow::on_helpButton_clicked()
 
 }
 
-void MultiCookSelectionWindow::on_okButton_clicked()
-{
-
-}
-
 void MultiCookSelectionWindow::onEncoderLeft()
 {
     focusPreviousChild();
diff --git a/app/gui/oven_control/multicookselectionwindow.h b/app/gui/oven_control/multicookselectionwindow.h
index cd34f86..c43e5e3 100644
--- a/app/gui/oven_control/multicookselectionwindow.h
+++ b/app/gui/oven_control/multicookselectionwindow.h
@@ -47,7 +47,6 @@ private slots:
 
     void on_backButton_clicked();
     void on_helpButton_clicked();
-    void on_okButton_clicked();
 
 private:
     Ui::MultiCookSelectionWindow *ui;
diff --git a/app/gui/oven_control/multicookselectionwindow.ui b/app/gui/oven_control/multicookselectionwindow.ui
index 9076753..df295a8 100644
--- a/app/gui/oven_control/multicookselectionwindow.ui
+++ b/app/gui/oven_control/multicookselectionwindow.ui
@@ -529,7 +529,7 @@ QPushButton:disabled { background-image: url(:/images/cook_type/additional_hide.
     <widget class="QPushButton" name="helpButton">
      <property name="geometry">
       <rect>
-       <x>401</x>
+       <x>514</x>
        <y>26</y>
        <width>97</width>
        <height>97</height>
@@ -572,18 +572,24 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/b
       <string/>
      </property>
     </widget>
-    <widget class="QPushButton" name="okButton">
+    <widget class="QPushButton" name="configButton">
      <property name="geometry">
       <rect>
-       <x>514</x>
+       <x>401</x>
        <y>26</y>
        <width>97</width>
        <height>97</height>
       </rect>
      </property>
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
      <property name="styleSheet">
-      <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/006_sys_icon_16.png); }
-QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/006_sys_icon_16_ov.png); }</string>
+      <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/config.png); }
+QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/config_ov.png); }</string>
      </property>
      <property name="text">
       <string/>
@@ -660,57 +666,44 @@ QPushButton:disabled { background-image: url(:/images/cook_type/fish_hide.png);
      <property name="styleSheet">
       <string notr="true">#clockContainer { background-image: url(:/images/clock/background.png); }</string>
      </property>
-     <widget class="Clock" name="clock" native="true">
+     <widget class="QLabel" name="label">
       <property name="geometry">
        <rect>
-        <x>272</x>
-        <y>36</y>
-        <width>356</width>
-        <height>355</height>
+        <x>407</x>
+        <y>75</y>
+        <width>112</width>
+        <height>113</height>
        </rect>
       </property>
-     </widget>
-     <widget class="WashWarnIcon" name="label">
-      <property name="geometry">
-       <rect>
-        <x>800</x>
-        <y>320</y>
-        <width>80</width>
-        <height>84</height>
-       </rect>
+      <property name="pixmap">
+       <pixmap resource="resources.qrc">:/images/symbol/info_shadow.png</pixmap>
       </property>
      </widget>
-     <widget class="DemoIcon" name="label_2">
+     <widget class="QLabel" name="description">
       <property name="geometry">
        <rect>
-        <x>780</x>
-        <y>230</y>
-        <width>101</width>
-        <height>90</height>
+        <x>0</x>
+        <y>175</y>
+        <width>900</width>
+        <height>251</height>
        </rect>
       </property>
-     </widget>
-     <widget class="HalfEnergyIcon" name="label_3">
-      <property name="geometry">
-       <rect>
-        <x>780</x>
-        <y>160</y>
-        <width>108</width>
-        <height>67</height>
-       </rect>
+      <property name="font">
+       <font>
+        <pointsize>13</pointsize>
+       </font>
       </property>
-     </widget>
-     <widget class="DigitalClock" name="label_4">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>310</y>
-        <width>600</width>
-        <height>100</height>
-       </rect>
+      <property name="styleSheet">
+       <string notr="true">color: white;
+padding-left: 50px;
+padding-right: 50px;</string>
+      </property>
+      <property name="text">
+       <string>1. 다중 요리에서 사용할 요리 카테고리를 선택해주세요
+2. 스팀, 콤비, 건열 중에서 선택하시면 자동으로 다음 단계로 진행됩니다</string>
       </property>
-      <property name="alignment">
-       <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+      <property name="wordWrap">
+       <bool>true</bool>
       </property>
      </widget>
     </widget>
@@ -718,34 +711,6 @@ QPushButton:disabled { background-image: url(:/images/cook_type/fish_hide.png);
    </widget>
   </widget>
  </widget>
- <customwidgets>
-  <customwidget>
-   <class>Clock</class>
-   <extends>QWidget</extends>
-   <header>clock.h</header>
-   <container>1</container>
-  </customwidget>
-  <customwidget>
-   <class>WashWarnIcon</class>
-   <extends>QLabel</extends>
-   <header>washwarnicon.h</header>
-  </customwidget>
-  <customwidget>
-   <class>DemoIcon</class>
-   <extends>QLabel</extends>
-   <header>demoicon.h</header>
-  </customwidget>
-  <customwidget>
-   <class>HalfEnergyIcon</class>
-   <extends>QLabel</extends>
-   <header>halfenergyicon.h</header>
-  </customwidget>
-  <customwidget>
-   <class>DigitalClock</class>
-   <extends>QLabel</extends>
-   <header>digitalclock.h</header>
-  </customwidget>
- </customwidgets>
  <tabstops>
   <tabstop>steamButton</tabstop>
   <tabstop>combiButton</tabstop>
@@ -760,8 +725,9 @@ QPushButton:disabled { background-image: url(:/images/cook_type/fish_hide.png);
   <tabstop>primeButton</tabstop>
   <tabstop>backButton</tabstop>
   <tabstop>helpButton</tabstop>
-  <tabstop>okButton</tabstop>
  </tabstops>
- <resources/>
+ <resources>
+  <include location="resources.qrc"/>
+ </resources>
  <connections/>
 </ui>
diff --git a/app/gui/oven_control/multicookwindow.cpp b/app/gui/oven_control/multicookwindow.cpp
index b15d186..5c7ea25 100644
--- a/app/gui/oven_control/multicookwindow.cpp
+++ b/app/gui/oven_control/multicookwindow.cpp
@@ -40,23 +40,17 @@ MultiCookWindow::MultiCookWindow(QWidget *parent) :
     buttons.append(ui->selectButton_9);
     buttons.append(ui->selectButton_10);
 
-    cookButtons.append(ui->cookButton_1);
-    cookButtons.append(ui->cookButton_2);
-    cookButtons.append(ui->cookButton_3);
-    cookButtons.append(ui->cookButton_4);
-    cookButtons.append(ui->cookButton_5);
-    cookButtons.append(ui->cookButton_6);
-    cookButtons.append(ui->cookButton_7);
-    cookButtons.append(ui->cookButton_8);
-    cookButtons.append(ui->cookButton_9);
-    cookButtons.append(ui->cookButton_10);
-    cookButtons.append(ui->cookButton_11);
-    cookButtons.append(ui->cookButton_12);
+    recentButtons.append(ui->recentButton_1);
+    recentButtons.append(ui->recentButton_2);
+    recentButtons.append(ui->recentButton_3);
+    recentButtons.append(ui->recentButton_4);
+    recentButtons.append(ui->recentButton_5);
+    recentButtons.append(ui->recentButton_6);
 
     mode = Define::InvalidMode;
 
     lastClickedButton = -1;
-    lastClickedCookButton = -1;
+    lastClickedRecentCook = -1;
     trashClicked = false;
 
     updateViewTimer.start(100);
@@ -161,6 +155,8 @@ void MultiCookWindow::updateView()
                                .arg(currentTime.hour(), 2, 10, QLatin1Char('0'))
                                .arg(currentTime.minute(), 2, 10, QLatin1Char('0')));
 
+    QString infoText;
+
     for (int i = 0; i < 10; i++)
     {
         QPushButton *button = buttons.at(i);
@@ -169,12 +165,94 @@ void MultiCookWindow::updateView()
         if (cook == Q_NULLPTR)
             button->setText("-");
         else
+        {
+            if (cook->remainingTime() <= 0)
+            {
+                if (!infoText.isEmpty())
+                    infoText += "\n";
+
+                infoText += tr("%1번 단 요리(%2)가 종료되었습니다")
+                        .arg(i + 1).arg(cook->name());
+            }
+
             button->setText(Stringer::time(cook->remainingTime()));
+        }
+    }
+
+    if (!infoText.isEmpty())
+    {
+        ui->upperStack->setCurrentIndex(2);
+        ui->info->setText(infoText);
+    }
+    else if (ui->upperStack->currentIndex() == 2)
+        ui->upperStack->setCurrentIndex(0);
+
+    if (ui->upperStack->currentIndex() == 1)
+        updateRecents();
+}
+
+void MultiCookWindow::updateRecents()
+{
+    if (favorites.size() > 0)
+    {
+        if (favorites.size() > 6)
+        {
+            int currentPage = ui->pageIndicator->currentIndex();
+            int from = currentPage * 6;
+            int to = qMin(6, favorites.size() - from) + from;
+
+            for (int i = from; i < to; i++)
+            {
+                QPushButton *b = recentButtons.at(i - from);
+                b->show();
+                b->setText(favorites.at(i)->name());
+            }
+
+            for (int i = to - from; i < 6; i++)
+                recentButtons.at(i)->hide();
+
+            ui->showNextPageButton->show();
+            ui->showPrevPageButton->show();
+            ui->pageIndicator->show();
+        }
+        else
+        {
+            int max = qMin(6, favorites.size());
+            for (int i = 0; i < max; i++)
+            {
+                QPushButton *b = recentButtons.at(i);
+                b->show();
+                b->setText(favorites.at(i)->name());
+            }
+
+            for (int i = max; i < 6; i++)
+                recentButtons.at(i)->hide();
+
+            ui->showNextPageButton->hide();
+            ui->showPrevPageButton->hide();
+            ui->pageIndicator->hide();
+        }
+    }
+    else
+    {
+        foreach (QPushButton *b, recentButtons)
+            b->hide();
+
+        ui->showNextPageButton->hide();
+        ui->showPrevPageButton->hide();
+        ui->pageIndicator->hide();
     }
 }
 
 void MultiCookWindow::handleButtonClick(int button)
 {
+    if (lastClickedButton != -1)
+    {
+        MultiCook *cook = container->at(lastClickedButton);
+        if (cook)
+            cook->setTime();
+    }
+
     MultiCook *cook = container->at(button);
     if (cook)
     {
@@ -186,20 +264,17 @@ void MultiCookWindow::handleButtonClick(int button)
         }
         else
         {
-            if (lastClickedButton == -1)
-                lastClickedButton = button;
-            else
-                cook->setTime();
+            lastClickedButton = button;
         }
     }
     else
     {
-        if (lastClickedCookButton != -1)
+        if (lastClickedRecentCook != -1)
         {
-            MultiCook *c = favorites.at(lastClickedCookButton)->clone(this);
+            MultiCook *c = favorites.at(lastClickedRecentCook)->clone(this);
             addCook(button, c);
 
-            lastClickedCookButton = -1;
+            lastClickedRecentCook = -1;
         }
         else
         {
@@ -213,9 +288,9 @@ void MultiCookWindow::handleButtonClick(int button)
     }
 }
 
-void MultiCookWindow::handleFavoriteButtonClick(int button)
+void MultiCookWindow::handleRecentButtonClick(int button)
 {
-    lastClickedCookButton = button;
+    lastClickedRecentCook = button + ui->pageIndicator->currentIndex() * 6;
 }
 
 void MultiCookWindow::selectCook()
@@ -243,21 +318,15 @@ void MultiCookWindow::onCookSelected(MultiCook *cook)
     }
 }
 
-void MultiCookWindow::showFavorites()
+void MultiCookWindow::showRecents()
 {
     favorites = MultiCookRecorder::list();
 
-    int max = qMin(12, favorites.size());
-    for (int i = 0; i < max; i++)
-    {
-        cookButtons.at(i)->show();
-        cookButtons.at(i)->setText(favorites.at(i)->name());
-    }
-
-    for (int i = max; i < 12; i++)
-        cookButtons.at(i)->hide();
-
     ui->upperStack->setCurrentIndex(1);
+    ui->pageIndicator->setMaximum(favorites.size() / 6);
+    ui->pageIndicator->setCurrentIndex(0);
+
+    updateRecents();
 }
 
 void MultiCookWindow::showClock()
@@ -310,7 +379,7 @@ void MultiCookWindow::on_showNextButton_clicked()
 void MultiCookWindow::on_showFavoritesButton_clicked()
 {
     if (ui->upperStack->currentIndex() == 0)
-        showFavorites();
+        showRecents();
     else
         showClock();
 }
@@ -477,62 +546,44 @@ void MultiCookWindow::on_selectButton_10_clicked()
     handleButtonClick(9);
 }
 
-void MultiCookWindow::on_cookButton_1_clicked()
-{
-    handleFavoriteButtonClick(0);
-}
-
-void MultiCookWindow::on_cookButton_2_clicked()
-{
-    handleFavoriteButtonClick(1);
-}
-
-void MultiCookWindow::on_cookButton_3_clicked()
-{
-    handleFavoriteButtonClick(2);
-}
-
-void MultiCookWindow::on_cookButton_4_clicked()
-{
-    handleFavoriteButtonClick(3);
-}
-
-void MultiCookWindow::on_cookButton_5_clicked()
+void MultiCookWindow::on_recentButton_1_clicked()
 {
-    handleFavoriteButtonClick(4);
+    handleRecentButtonClick(0);
 }
 
-void MultiCookWindow::on_cookButton_6_clicked()
+void MultiCookWindow::on_recentButton_2_clicked()
 {
-    handleFavoriteButtonClick(5);
+    handleRecentButtonClick(1);
 }
 
-void MultiCookWindow::on_cookButton_7_clicked()
+void MultiCookWindow::on_recentButton_3_clicked()
 {
-    handleFavoriteButtonClick(6);
+    handleRecentButtonClick(2);
 }
 
-void MultiCookWindow::on_cookButton_8_clicked()
+void MultiCookWindow::on_recentButton_4_clicked()
 {
-    handleFavoriteButtonClick(7);
+    handleRecentButtonClick(3);
 }
 
-void MultiCookWindow::on_cookButton_9_clicked()
+void MultiCookWindow::on_recentButton_5_clicked()
 {
-    handleFavoriteButtonClick(8);
+    handleRecentButtonClick(4);
 }
 
-void MultiCookWindow::on_cookButton_10_clicked()
+void MultiCookWindow::on_recentButton_6_clicked()
 {
-    handleFavoriteButtonClick(9);
+    handleRecentButtonClick(5);
 }
 
-void MultiCookWindow::on_cookButton_11_clicked()
+void MultiCookWindow::on_showPrevPageButton_clicked()
 {
-    handleFavoriteButtonClick(10);
+    ui->pageIndicator->setCurrentIndex(ui->pageIndicator->currentIndex() - 1);
+    updateView();
 }
 
-void MultiCookWindow::on_cookButton_12_clicked()
+void MultiCookWindow::on_showNextPageButton_clicked()
 {
-    handleFavoriteButtonClick(11);
+    ui->pageIndicator->setCurrentIndex(ui->pageIndicator->currentIndex() + 1);
+    updateView();
 }
diff --git a/app/gui/oven_control/multicookwindow.h b/app/gui/oven_control/multicookwindow.h
index 9ab4152..e93562a 100644
--- a/app/gui/oven_control/multicookwindow.h
+++ b/app/gui/oven_control/multicookwindow.h
@@ -25,11 +25,12 @@ protected:
 
 private slots:
     void updateView();
+    void updateRecents();
     void handleButtonClick(int button);
-    void handleFavoriteButtonClick(int button);
+    void handleRecentButtonClick(int button);
     void selectCook();
     void onCookSelected(MultiCook *cook);
-    void showFavorites();
+    void showRecents();
     void showClock();
     void addCook(int slot, MultiCook *cook);
     void jumpConfig();
@@ -61,18 +62,15 @@ private slots:
     void on_selectButton_9_clicked();
     void on_selectButton_10_clicked();
 
-    void on_cookButton_1_clicked();
-    void on_cookButton_2_clicked();
-    void on_cookButton_3_clicked();
-    void on_cookButton_4_clicked();
-    void on_cookButton_5_clicked();
-    void on_cookButton_6_clicked();
-    void on_cookButton_7_clicked();
-    void on_cookButton_8_clicked();
-    void on_cookButton_9_clicked();
-    void on_cookButton_10_clicked();
-    void on_cookButton_11_clicked();
-    void on_cookButton_12_clicked();
+    void on_recentButton_1_clicked();
+    void on_recentButton_2_clicked();
+    void on_recentButton_3_clicked();
+    void on_recentButton_4_clicked();
+    void on_recentButton_5_clicked();
+    void on_recentButton_6_clicked();
+
+    void on_showPrevPageButton_clicked();
+    void on_showNextPageButton_clicked();
 
 private:
     Ui::MultiCookWindow *ui;
@@ -81,12 +79,12 @@ private:
     MultiCookController *controller;
 
     QList<QPushButton *> buttons;
-    QList<QPushButton *> cookButtons;
+    QList<QPushButton *> recentButtons;
     QList<MultiCook *> favorites;
     QTimer updateViewTimer;
 
     int lastClickedButton;
-    int lastClickedCookButton;
+    int lastClickedRecentCook;
     bool trashClicked;
 
     Define::Mode mode;
diff --git a/app/gui/oven_control/multicookwindow.ui b/app/gui/oven_control/multicookwindow.ui
index 68af0bf..55ba962 100644
--- a/app/gui/oven_control/multicookwindow.ui
+++ b/app/gui/oven_control/multicookwindow.ui
@@ -14,14 +14,17 @@
    <string>MainWindow</string>
   </property>
   <property name="styleSheet">
-   <string notr="true">#centralwidget { background-image: url(:/images/background/original.png); }
+   <string notr="true">#centralwidget { background-image: url(:/images/background/multi.png); }
 #bottomBar { background-image: url(:/images/bottom_bar/background.png); }
+#closeDoorAnimationArea,
+#openDoorAnimationArea
+{ background-image: url(:/images/background/popup/509.png); }
 
-QWidget { etch-disabled-text: 0; }
 QPushButton {
 background-position: center;
 background-repeat: no-repeat;
 border: none;
+color: black;
 }
 
 QPushButton[style=&quot;select&quot;]
@@ -45,14 +48,14 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
       <x>0</x>
       <y>426</y>
       <width>900</width>
-      <height>1024</height>
+      <height>509</height>
      </rect>
     </property>
     <widget class="AnimatedImageBox" name="closeDoorAnimation">
      <property name="geometry">
       <rect>
        <x>366</x>
-       <y>366</y>
+       <y>40</y>
        <width>251</width>
        <height>292</height>
       </rect>
@@ -62,7 +65,7 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
      <property name="geometry">
       <rect>
        <x>440</x>
-       <y>520</y>
+       <y>194</y>
        <width>85</width>
        <height>24</height>
       </rect>
@@ -71,6 +74,46 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
       <pixmap resource="resources.qrc">:/images/animation/close_door_arrow.png</pixmap>
      </property>
     </widget>
+    <widget class="QLabel" name="label_9">
+     <property name="geometry">
+      <rect>
+       <x>220</x>
+       <y>380</y>
+       <width>100</width>
+       <height>100</height>
+      </rect>
+     </property>
+     <property name="pixmap">
+      <pixmap resource="resources.qrc">:/images/symbol/warning_medium.png</pixmap>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+    </widget>
+    <widget class="QLabel" name="label_10">
+     <property name="geometry">
+      <rect>
+       <x>329</x>
+       <y>380</y>
+       <width>571</width>
+       <height>100</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>10</pointsize>
+       <weight>75</weight>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">color: white;</string>
+     </property>
+     <property name="text">
+      <string>문이 열려있습니다
+문을 닫으시면 다시 시작됩니다</string>
+     </property>
+    </widget>
    </widget>
    <widget class="QWidget" name="openDoorAnimationArea" native="true">
     <property name="geometry">
@@ -78,14 +121,14 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
       <x>0</x>
       <y>426</y>
       <width>900</width>
-      <height>1024</height>
+      <height>509</height>
      </rect>
     </property>
     <widget class="AnimatedImageBox" name="openDoorAnimation">
      <property name="geometry">
       <rect>
        <x>366</x>
-       <y>366</y>
+       <y>40</y>
        <width>251</width>
        <height>292</height>
       </rect>
@@ -95,7 +138,7 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
      <property name="geometry">
       <rect>
        <x>440</x>
-       <y>520</y>
+       <y>194</y>
        <width>85</width>
        <height>24</height>
       </rect>
@@ -104,6 +147,45 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
       <pixmap resource="resources.qrc">:/images/animation/open_door_arrow.png</pixmap>
      </property>
     </widget>
+    <widget class="QLabel" name="label_7">
+     <property name="geometry">
+      <rect>
+       <x>370</x>
+       <y>380</y>
+       <width>531</width>
+       <height>100</height>
+      </rect>
+     </property>
+     <property name="font">
+      <font>
+       <pointsize>10</pointsize>
+       <weight>75</weight>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">color: white;</string>
+     </property>
+     <property name="text">
+      <string>문을 열어주세요</string>
+     </property>
+    </widget>
+    <widget class="QLabel" name="label_8">
+     <property name="geometry">
+      <rect>
+       <x>260</x>
+       <y>380</y>
+       <width>100</width>
+       <height>100</height>
+      </rect>
+     </property>
+     <property name="pixmap">
+      <pixmap resource="resources.qrc">:/images/symbol/warning_medium.png</pixmap>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+    </widget>
    </widget>
    <widget class="QWidget" name="blockingArea" native="true">
     <property name="geometry">
@@ -118,9 +200,9 @@ QLabel[style=&quot;slotLabel&quot;] { color: #C4C4C4; font-size: 24px; font-styl
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>1314</y>
+       <y>1329</y>
        <width>70</width>
-       <height>136</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="styleSheet">
@@ -135,9 +217,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>830</x>
-       <y>1314</y>
+       <y>1329</y>
        <width>70</width>
-       <height>136</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="styleSheet">
@@ -152,9 +234,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>70</x>
-       <y>1314</y>
+       <y>1329</y>
        <width>85</width>
-       <height>136</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="font">
@@ -166,7 +248,7 @@ QPushButton:focus
      </property>
      <property name="styleSheet">
       <string notr="true">QPushButton
-{ background-image: url(:/images/multi/button.png); font-size: 24px; font-weight: bold; }
+{ background-image: url(:/images/multi/button.png); font-size: 24px; font-weight: bold; color: black; }
 QPushButton:pressed,
 QPushButton:focus
 { background-image: url(:/images/multi/button_ov.png); }</string>
@@ -176,9 +258,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>160</x>
-       <y>1314</y>
+       <y>1329</y>
        <width>85</width>
-       <height>136</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="styleSheet">
@@ -190,7 +272,8 @@ QPushButton:focus
      </property>
      <property name="icon">
       <iconset resource="resources.qrc">
-       <normaloff>:/images/multi/icon_prime.png</normaloff>:/images/multi/icon_prime.png</iconset>
+       <normaloff>:/images/multi/icon_prime.png</normaloff>
+       <disabledoff>:/images/multi/icon_prime.png</disabledoff>:/images/multi/icon_prime.png</iconset>
      </property>
      <property name="iconSize">
       <size>
@@ -203,9 +286,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>215</x>
-       <y>554</y>
+       <y>551</y>
        <width>685</width>
-       <height>760</height>
+       <height>771</height>
       </rect>
      </property>
     </widget>
@@ -213,9 +296,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>200</x>
-       <y>1314</y>
+       <y>1329</y>
        <width>700</width>
-       <height>136</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="font">
@@ -229,9 +312,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>554</y>
+       <y>551</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -242,9 +325,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>630</y>
+       <y>628</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -255,9 +338,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>706</y>
+       <y>705</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -270,7 +353,7 @@ QPushButton:focus
        <x>0</x>
        <y>782</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -281,9 +364,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>858</y>
+       <y>859</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -294,9 +377,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>934</y>
+       <y>936</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -307,9 +390,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>1010</y>
+       <y>1013</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -320,9 +403,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>1086</y>
+       <y>1090</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -333,9 +416,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>1162</y>
+       <y>1167</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -346,9 +429,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>0</x>
-       <y>1238</y>
+       <y>1244</y>
        <width>200</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="style" stdset="0">
@@ -422,9 +505,9 @@ QPushButton:focus
        </property>
       </widget>
      </widget>
-     <widget class="QWidget" name="favoritesContainer">
+     <widget class="QWidget" name="recentsContainer">
       <property name="styleSheet">
-       <string notr="true">#progressContainer { background-image: url(:/images/clock/background.png); }</string>
+       <string notr="true">#recentsContainer { background-image: url(:/images/clock/background.png); }</string>
       </property>
       <widget class="QLabel" name="titleLabel">
        <property name="enabled">
@@ -435,46 +518,9 @@ QPushButton:focus
          <x>0</x>
          <y>0</y>
          <width>900</width>
-         <height>88</height>
+         <height>130</height>
         </rect>
        </property>
-       <property name="palette">
-        <palette>
-         <active>
-          <colorrole role="WindowText">
-           <brush brushstyle="SolidPattern">
-            <color alpha="255">
-             <red>255</red>
-             <green>255</green>
-             <blue>255</blue>
-            </color>
-           </brush>
-          </colorrole>
-         </active>
-         <inactive>
-          <colorrole role="WindowText">
-           <brush brushstyle="SolidPattern">
-            <color alpha="255">
-             <red>255</red>
-             <green>255</green>
-             <blue>255</blue>
-            </color>
-           </brush>
-          </colorrole>
-         </inactive>
-         <disabled>
-          <colorrole role="WindowText">
-           <brush brushstyle="SolidPattern">
-            <color alpha="255">
-             <red>123</red>
-             <green>123</green>
-             <blue>123</blue>
-            </color>
-           </brush>
-          </colorrole>
-         </disabled>
-        </palette>
-       </property>
        <property name="font">
         <font>
          <family>Roboto</family>
@@ -483,31 +529,23 @@ QPushButton:focus
          <bold>true</bold>
         </font>
        </property>
+       <property name="styleSheet">
+        <string notr="true">color: white;
+font-size: 13pt;
+font-weight: bold;</string>
+       </property>
        <property name="text">
-        <string>다중 요리 즐겨찾기 목록입니다</string>
+        <string>다중 요리 최근 요리 목록입니다</string>
        </property>
        <property name="alignment">
         <set>Qt::AlignCenter</set>
        </property>
       </widget>
-      <widget class="Line" name="line">
-       <property name="geometry">
-        <rect>
-         <x>0</x>
-         <y>88</y>
-         <width>900</width>
-         <height>1</height>
-        </rect>
-       </property>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-      </widget>
-      <widget class="QPushButton" name="cookButton_1">
+      <widget class="QPushButton" name="recentButton_1">
        <property name="geometry">
         <rect>
          <x>0</x>
-         <y>102</y>
+         <y>130</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -522,11 +560,11 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_2">
+      <widget class="QPushButton" name="recentButton_2">
        <property name="geometry">
         <rect>
          <x>300</x>
-         <y>102</y>
+         <y>130</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -541,11 +579,11 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_3">
+      <widget class="QPushButton" name="recentButton_3">
        <property name="geometry">
         <rect>
          <x>600</x>
-         <y>102</y>
+         <y>130</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -560,11 +598,11 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_4">
+      <widget class="QPushButton" name="recentButton_4">
        <property name="geometry">
         <rect>
          <x>0</x>
-         <y>182</y>
+         <y>210</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -579,11 +617,11 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_6">
+      <widget class="QPushButton" name="recentButton_6">
        <property name="geometry">
         <rect>
          <x>600</x>
-         <y>182</y>
+         <y>210</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -598,11 +636,11 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_5">
+      <widget class="QPushButton" name="recentButton_5">
        <property name="geometry">
         <rect>
          <x>300</x>
-         <y>182</y>
+         <y>210</y>
          <width>300</width>
          <height>70</height>
         </rect>
@@ -617,118 +655,77 @@ QPushButton:focus
         <string notr="true">favorite</string>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_9">
+      <widget class="QPushButton" name="showNextPageButton">
        <property name="geometry">
         <rect>
-         <x>600</x>
-         <y>262</y>
-         <width>300</width>
-         <height>70</height>
+         <x>815</x>
+         <y>300</y>
+         <width>85</width>
+         <height>100</height>
         </rect>
        </property>
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
+       <property name="styleSheet">
+        <string notr="true">QPushButton { background-image: url(:/images/auto_button/next_step.png); }
+QPushButton::pressed, QPushButton:focus { background-image: url(:/images/auto_button/next_step_ov.png); }</string>
        </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
+       <property name="text">
+        <string/>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_7">
+      <widget class="QPushButton" name="showPrevPageButton">
        <property name="geometry">
         <rect>
          <x>0</x>
-         <y>262</y>
-         <width>300</width>
-         <height>70</height>
+         <y>300</y>
+         <width>85</width>
+         <height>100</height>
         </rect>
        </property>
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
+       <property name="styleSheet">
+        <string notr="true">QPushButton { background-image: url(:/images/auto_button/prev_step.png); }
+QPushButton::pressed, QPushButton:focus { background-image: url(:/images/auto_button/prev_step_ov.png); }</string>
        </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
+       <property name="text">
+        <string/>
        </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_8">
+      <widget class="BulletIndicator" name="pageIndicator" native="true">
        <property name="geometry">
         <rect>
-         <x>300</x>
-         <y>262</y>
-         <width>300</width>
-         <height>70</height>
+         <x>85</x>
+         <y>300</y>
+         <width>730</width>
+         <height>100</height>
         </rect>
        </property>
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
-       </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
-       </property>
       </widget>
-      <widget class="QPushButton" name="cookButton_10">
+     </widget>
+     <widget class="QWidget" name="infoContainer">
+      <property name="styleSheet">
+       <string notr="true">#infoContainer { background-image: url(:/images/clock/background.png); }</string>
+      </property>
+      <widget class="QLabel" name="info">
        <property name="geometry">
         <rect>
          <x>0</x>
-         <y>342</y>
-         <width>300</width>
-         <height>70</height>
-        </rect>
-       </property>
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
-       </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
-       </property>
-      </widget>
-      <widget class="QPushButton" name="cookButton_11">
-       <property name="geometry">
-        <rect>
-         <x>300</x>
-         <y>342</y>
-         <width>300</width>
-         <height>70</height>
+         <y>0</y>
+         <width>900</width>
+         <height>426</height>
         </rect>
        </property>
        <property name="font">
         <font>
-         <weight>75</weight>
-         <bold>true</bold>
+         <pointsize>12</pointsize>
         </font>
        </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
-       </property>
-      </widget>
-      <widget class="QPushButton" name="cookButton_12">
-       <property name="geometry">
-        <rect>
-         <x>600</x>
-         <y>342</y>
-         <width>300</width>
-         <height>70</height>
-        </rect>
+       <property name="styleSheet">
+        <string notr="true">color: white;</string>
        </property>
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
+       <property name="text">
+        <string/>
        </property>
-       <property name="style" stdset="0">
-        <string notr="true">favorite</string>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
        </property>
       </widget>
      </widget>
@@ -737,9 +734,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>554</y>
+       <y>551</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -761,9 +758,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>630</y>
+       <y>628</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -785,9 +782,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>706</y>
+       <y>705</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -811,7 +808,7 @@ QPushButton:focus
        <x>170</x>
        <y>782</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -833,9 +830,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>858</y>
+       <y>859</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -857,9 +854,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>934</y>
+       <y>936</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -881,9 +878,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>1010</y>
+       <y>1013</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -905,9 +902,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>1086</y>
+       <y>1090</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -929,9 +926,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>1162</y>
+       <y>1167</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -953,9 +950,9 @@ QPushButton:focus
      <property name="geometry">
       <rect>
        <x>170</x>
-       <y>1238</y>
+       <y>1244</y>
        <width>50</width>
-       <height>76</height>
+       <height>77</height>
       </rect>
      </property>
      <property name="font">
@@ -979,7 +976,7 @@ QPushButton:focus
        <x>0</x>
        <y>426</y>
        <width>125</width>
-       <height>128</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="pixmap">
@@ -995,7 +992,7 @@ QPushButton:focus
        <x>750</x>
        <y>426</y>
        <width>150</width>
-       <height>128</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="styleSheet">
@@ -1007,7 +1004,8 @@ QPushButton::pressed, QPushButton:focus { background-image: url(:/images/button/
      </property>
      <property name="icon">
       <iconset resource="resources.qrc">
-       <normaloff>:/images/auto_button/btn_icon_02.png</normaloff>:/images/auto_button/btn_icon_02.png</iconset>
+       <normaloff>:/images/auto_button/btn_icon_02.png</normaloff>
+       <disabledoff>:/images/auto_button/btn_icon_02.png</disabledoff>:/images/auto_button/btn_icon_02.png</iconset>
      </property>
      <property name="iconSize">
       <size>
@@ -1022,7 +1020,7 @@ QPushButton::pressed, QPushButton:focus { background-image: url(:/images/button/
        <x>0</x>
        <y>426</y>
        <width>900</width>
-       <height>128</height>
+       <height>121</height>
       </rect>
      </property>
      <property name="text">
@@ -1242,6 +1240,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/0
    <header>multicooktimebar.h</header>
    <container>1</container>
   </customwidget>
+  <customwidget>
+   <class>BulletIndicator</class>
+   <extends>QWidget</extends>
+   <header>bulletindicator.h</header>
+   <container>1</container>
+  </customwidget>
  </customwidgets>
  <tabstops>
   <tabstop>selectButton_1</tabstop>
@@ -1263,18 +1267,12 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/0
   <tabstop>washButton</tabstop>
   <tabstop>deleteButton</tabstop>
   <tabstop>helpButton</tabstop>
-  <tabstop>cookButton_1</tabstop>
-  <tabstop>cookButton_2</tabstop>
-  <tabstop>cookButton_3</tabstop>
-  <tabstop>cookButton_4</tabstop>
-  <tabstop>cookButton_5</tabstop>
-  <tabstop>cookButton_6</tabstop>
-  <tabstop>cookButton_7</tabstop>
-  <tabstop>cookButton_8</tabstop>
-  <tabstop>cookButton_9</tabstop>
-  <tabstop>cookButton_10</tabstop>
-  <tabstop>cookButton_11</tabstop>
-  <tabstop>cookButton_12</tabstop>
+  <tabstop>recentButton_1</tabstop>
+  <tabstop>recentButton_2</tabstop>
+  <tabstop>recentButton_3</tabstop>
+  <tabstop>recentButton_4</tabstop>
+  <tabstop>recentButton_5</tabstop>
+  <tabstop>recentButton_6</tabstop>
  </tabstops>
  <resources>
   <include location="resources.qrc"/>
diff --git a/app/gui/oven_control/multimanualcook.cpp b/app/gui/oven_control/multimanualcook.cpp
index 99de1ac..02819c6 100644
--- a/app/gui/oven_control/multimanualcook.cpp
+++ b/app/gui/oven_control/multimanualcook.cpp
@@ -17,25 +17,26 @@ MultiManualCook::MultiManualCook(QObject *parent) : MultiCook(parent)
 
 QString MultiManualCook::name()
 {
-    QString n("%1, %2, %3");
-    QString m;
-    switch (mode_)
-    {
-    case Define::InvalidMode:
-        m = "Invalid";
-        break;
-    case Define::SteamMode:
-        m = "Steam";
-        break;
-    case Define::CombiMode:
-        m = "Combi";
-        break;
-    case Define::DryMode:
-        m = "Dry";
-        break;
-    }
-
-    return n.arg(m).arg(temp).arg(hum);
+//    QString n("%1, %2, %3");
+//    QString m;
+//    switch (mode_)
+//    {
+//    case Define::InvalidMode:
+//        m = "Invalid";
+//        break;
+//    case Define::SteamMode:
+//        m = "Steam";
+//        break;
+//    case Define::CombiMode:
+//        m = "Combi";
+//        break;
+//    case Define::DryMode:
+//        m = "Dry";
+//        break;
+//    }
+
+//    return n.arg(m).arg(temp).arg(hum);
+    return tr("수동 요리");
 }
 
 Define::Mode MultiManualCook::mode()
-- 
2.1.4