Commit b857261320b9f7f733ecc5114dc5eee70756ebb3

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

부가 기능 UI 추가

app/gui/oven_control/cookhistory.cpp
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +#include "cookhistory.h"
  2 +
  3 +CookHistory::CookHistory()
  4 +{
  5 +
  6 +}
app/gui/oven_control/cookhistory.h
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
  1 +#ifndef COOKHISTORY_H
  2 +#define COOKHISTORY_H
  3 +
  4 +
  5 +class CookHistory
  6 +{
  7 + static CookHistory *instance;
  8 +
  9 + CookHistory();
  10 +
  11 +public:
  12 + static CookHistory *getInstance();
  13 +};
  14 +
  15 +#endif // COOKHISTORY_H
app/gui/oven_control/cookpanelbutton.cpp
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +#include "cookpanelbutton.h"
  2 +#include "ui_cookpanelbutton.h"
  3 +
  4 +CookPanelButton::CookPanelButton(QWidget *parent) :
  5 + QWidget(parent),
  6 + ui(new Ui::CookPanelButton)
  7 +{
  8 + ui->setupUi(this);
  9 +}
  10 +
  11 +CookPanelButton::~CookPanelButton()
  12 +{
  13 + delete ui;
  14 +}
  15 +
  16 +void CookPanelButton::setText(QString text)
  17 +{
  18 + ui->pushButton->setText(text);
  19 +}
app/gui/oven_control/cookpanelbutton.h
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +#ifndef COOKPANELBUTTON_H
  2 +#define COOKPANELBUTTON_H
  3 +
  4 +#include <QWidget>
  5 +
  6 +namespace Ui {
  7 +class CookPanelButton;
  8 +}
  9 +
  10 +class CookPanelButton : public QWidget
  11 +{
  12 + Q_OBJECT
  13 +
  14 +signals:
  15 + void clicked(QWidget *);
  16 + void showInfoRequested(QWidget *);
  17 + void deleteRequested(QWidget *);
  18 +
  19 +public:
  20 + explicit CookPanelButton(QWidget *parent = 0);
  21 + ~CookPanelButton();
  22 +
  23 + void setText(QString text);
  24 +
  25 +private:
  26 + Ui::CookPanelButton *ui;
  27 +};
  28 +
  29 +#endif // COOKPANELBUTTON_H
app/gui/oven_control/cookpanelbutton.ui
@@ -0,0 +1,121 @@ @@ -0,0 +1,121 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>CookPanelButton</class>
  4 + <widget class="QWidget" name="CookPanelButton">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>821</width>
  10 + <height>65</height>
  11 + </rect>
  12 + </property>
  13 + <property name="sizePolicy">
  14 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  15 + <horstretch>0</horstretch>
  16 + <verstretch>0</verstretch>
  17 + </sizepolicy>
  18 + </property>
  19 + <property name="minimumSize">
  20 + <size>
  21 + <width>821</width>
  22 + <height>65</height>
  23 + </size>
  24 + </property>
  25 + <property name="windowTitle">
  26 + <string>Form</string>
  27 + </property>
  28 + <property name="styleSheet">
  29 + <string notr="true">QPushButton {
  30 +background-position: center;
  31 +background-repeat: no-repeat;
  32 +border: none;
  33 +}</string>
  34 + </property>
  35 + <widget class="QPushButton" name="pushButton">
  36 + <property name="geometry">
  37 + <rect>
  38 + <x>0</x>
  39 + <y>0</y>
  40 + <width>821</width>
  41 + <height>65</height>
  42 + </rect>
  43 + </property>
  44 + <property name="sizePolicy">
  45 + <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
  46 + <horstretch>0</horstretch>
  47 + <verstretch>0</verstretch>
  48 + </sizepolicy>
  49 + </property>
  50 + <property name="minimumSize">
  51 + <size>
  52 + <width>821</width>
  53 + <height>65</height>
  54 + </size>
  55 + </property>
  56 + <property name="maximumSize">
  57 + <size>
  58 + <width>821</width>
  59 + <height>65</height>
  60 + </size>
  61 + </property>
  62 + <property name="font">
  63 + <font>
  64 + <family>Roboto</family>
  65 + <pointsize>11</pointsize>
  66 + </font>
  67 + </property>
  68 + <property name="styleSheet">
  69 + <string notr="true">QPushButton {
  70 +background-image: url(:/images/etc/bar_03.png);
  71 +color: white;
  72 +text-align: left;
  73 +padding: 0px 40px;
  74 +}
  75 +QPushButton:pressed { background-image: url(:/images/etc/bar_02.png); }
  76 +QPushButton:focus { background-image: url(:/images/etc/bar_02.png); }</string>
  77 + </property>
  78 + <property name="text">
  79 + <string/>
  80 + </property>
  81 + </widget>
  82 + <widget class="QPushButton" name="showInfoButton">
  83 + <property name="geometry">
  84 + <rect>
  85 + <x>670</x>
  86 + <y>0</y>
  87 + <width>70</width>
  88 + <height>65</height>
  89 + </rect>
  90 + </property>
  91 + <property name="styleSheet">
  92 + <string notr="true">QPushButton { background-image: url(:/images/etc/bar_icon_01.png); }
  93 +QPushButton:pressed { background-image: url(:/images/etc/bar_icon_01_ov.png); }
  94 +QPushButton:focus { background-image: url(:/images/etc/bar_icon_01_ov.png); }</string>
  95 + </property>
  96 + <property name="text">
  97 + <string/>
  98 + </property>
  99 + </widget>
  100 + <widget class="QPushButton" name="deleteButton">
  101 + <property name="geometry">
  102 + <rect>
  103 + <x>750</x>
  104 + <y>0</y>
  105 + <width>60</width>
  106 + <height>65</height>
  107 + </rect>
  108 + </property>
  109 + <property name="styleSheet">
  110 + <string notr="true">QPushButton { background-image: url(:/images/etc/bar_icon_02.png); }
  111 +QPushButton:pressed { background-image: url(:/images/etc/bar_icon_02_ov.png); }
  112 +QPushButton:focus { background-image: url(:/images/etc/bar_icon_02_ov.png); }</string>
  113 + </property>
  114 + <property name="text">
  115 + <string/>
  116 + </property>
  117 + </widget>
  118 + </widget>
  119 + <resources/>
  120 + <connections/>
  121 +</ui>
app/gui/oven_control/mainwindow.cpp
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
13 #include "washwindow.h" 13 #include "washwindow.h"
14 #include "engineermenuwindow.h" 14 #include "engineermenuwindow.h"
15 #include "programmingwindow.h" 15 #include "programmingwindow.h"
  16 +#include "primewindow.h"
16 17
17 MainWindow::MainWindow(QWidget *parent) : 18 MainWindow::MainWindow(QWidget *parent) :
18 QMainWindow(parent), 19 QMainWindow(parent),
@@ -92,6 +93,14 @@ void MainWindow::on_etcButton_clicked() @@ -92,6 +93,14 @@ void MainWindow::on_etcButton_clicked()
92 showAutoCookSelectionWindow(Define::Etc); 93 showAutoCookSelectionWindow(Define::Etc);
93 } 94 }
94 95
  96 +void MainWindow::on_primeButton_clicked()
  97 +{
  98 + PrimeWindow *w = new PrimeWindow(this);
  99 + w->setWindowModality(Qt::WindowModal);
  100 + w->showFullScreen();
  101 + w->raise();
  102 +}
  103 +
95 void MainWindow::on_washButton_clicked() 104 void MainWindow::on_washButton_clicked()
96 { 105 {
97 WashWindow *w = new WashWindow(this); 106 WashWindow *w = new WashWindow(this);
app/gui/oven_control/mainwindow.h
@@ -41,6 +41,8 @@ private slots: @@ -41,6 +41,8 @@ private slots:
41 41
42 void on_programmingButton_clicked(); 42 void on_programmingButton_clicked();
43 43
  44 + void on_primeButton_clicked();
  45 +
44 private: 46 private:
45 Ui::MainWindow *ui; 47 Ui::MainWindow *ui;
46 }; 48 };
app/gui/oven_control/oven_control.pro
@@ -66,7 +66,10 @@ SOURCES += main.cpp\ @@ -66,7 +66,10 @@ SOURCES += main.cpp\
66 configpanelbutton.cpp \ 66 configpanelbutton.cpp \
67 config.cpp \ 67 config.cpp \
68 basicsettingwindow.cpp \ 68 basicsettingwindow.cpp \
69 - programmingwindow.cpp 69 + programmingwindow.cpp \
  70 + primewindow.cpp \
  71 + cookpanelbutton.cpp \
  72 + cookhistory.cpp
70 73
71 HEADERS += mainwindow.h \ 74 HEADERS += mainwindow.h \
72 cook.h \ 75 cook.h \
@@ -122,7 +125,10 @@ HEADERS += mainwindow.h \ @@ -122,7 +125,10 @@ HEADERS += mainwindow.h \
122 configpanelbutton.h \ 125 configpanelbutton.h \
123 config.h \ 126 config.h \
124 basicsettingwindow.h \ 127 basicsettingwindow.h \
125 - programmingwindow.h 128 + programmingwindow.h \
  129 + primewindow.h \
  130 + cookpanelbutton.h \
  131 + cookhistory.h
126 132
127 FORMS += mainwindow.ui \ 133 FORMS += mainwindow.ui \
128 manualcookwindow.ui \ 134 manualcookwindow.ui \
@@ -156,7 +162,9 @@ FORMS += mainwindow.ui \ @@ -156,7 +162,9 @@ FORMS += mainwindow.ui \
156 yesnopopupdlg.ui \ 162 yesnopopupdlg.ui \
157 configpanelbutton.ui \ 163 configpanelbutton.ui \
158 basicsettingwindow.ui \ 164 basicsettingwindow.ui \
159 - programmingwindow.ui 165 + programmingwindow.ui \
  166 + primewindow.ui \
  167 + cookpanelbutton.ui
160 168
161 RESOURCES += \ 169 RESOURCES += \
162 resources.qrc 170 resources.qrc
app/gui/oven_control/primewindow.cpp
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +#include "primewindow.h"
  2 +#include "ui_primewindow.h"
  3 +
  4 +#include "cookpanelbutton.h"
  5 +
  6 +PrimeWindow::PrimeWindow(QWidget *parent) :
  7 + QMainWindow(parent),
  8 + ui(new Ui::PrimeWindow)
  9 +{
  10 + ui->setupUi(this);
  11 +
  12 + ui->clockContainer->setParent(ui->upperStack);
  13 + setAttribute(Qt::WA_DeleteOnClose);
  14 +
  15 + ui->verticalScrollLayout->setAlignment(Qt::AlignTop);
  16 +}
  17 +
  18 +PrimeWindow::~PrimeWindow()
  19 +{
  20 + delete ui;
  21 +}
  22 +
  23 +void PrimeWindow::on_backButton_clicked()
  24 +{
  25 + close();
  26 +}
app/gui/oven_control/primewindow.h
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +#ifndef PRIMEWINDOW_H
  2 +#define PRIMEWINDOW_H
  3 +
  4 +#include <QMainWindow>
  5 +
  6 +#include <QList>
  7 +
  8 +namespace Ui {
  9 +class PrimeWindow;
  10 +}
  11 +
  12 +class PrimeWindow : public QMainWindow
  13 +{
  14 + Q_OBJECT
  15 +
  16 +public:
  17 + explicit PrimeWindow(QWidget *parent = 0);
  18 + ~PrimeWindow();
  19 +
  20 +private slots:
  21 +// void showMostCooked();
  22 +// void showRecents();
  23 +// void showFavorites();
  24 +// void array();
  25 +
  26 +// void onInfoButtonClicked(QWidget *entry);
  27 +// void onDeleteButtonClicked(QWidget *entry);
  28 +
  29 + void on_backButton_clicked();
  30 +
  31 +private:
  32 + Ui::PrimeWindow *ui;
  33 +
  34 + QList<QWidget *> list;
  35 +};
  36 +
  37 +#endif // PRIMEWINDOW_H
app/gui/oven_control/primewindow.ui
@@ -0,0 +1,317 @@ @@ -0,0 +1,317 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<ui version="4.0">
  3 + <class>PrimeWindow</class>
  4 + <widget class="QMainWindow" name="PrimeWindow">
  5 + <property name="geometry">
  6 + <rect>
  7 + <x>0</x>
  8 + <y>0</y>
  9 + <width>900</width>
  10 + <height>1600</height>
  11 + </rect>
  12 + </property>
  13 + <property name="windowTitle">
  14 + <string>MainWindow</string>
  15 + </property>
  16 + <property name="styleSheet">
  17 + <string notr="true">#centralwidget { background-image: url(:/images/background/etc.png); }
  18 +#bottomBar { background-image: url(:/images/bottom_bar/background.png); }
  19 +QScrollArea { background: transparent; }
  20 +QScrollArea &gt; QWidget &gt; QWidget { background: transparent; }
  21 +
  22 +QPushButton[style=&quot;mode&quot;] {
  23 +background-repeat: no-repeat;
  24 +background-position: center;
  25 +background-clip: border;
  26 +background-origin: border;
  27 +margin-bottom: 50px;
  28 +
  29 +border-top: 130px;
  30 +border-bottom: -50px;
  31 +border-style: hidden;
  32 +color: white;
  33 +font-size: 30px;
  34 +}
  35 +
  36 +QPushButton[style=&quot;mode&quot;]:checked {
  37 +image: url(:/images/cook_mode/indicator.png);
  38 +image-position: bottom;
  39 +}
  40 +
  41 +QScrollBar:vertical {
  42 +border: none;
  43 +background: transparent;
  44 +width: 35px;
  45 +margin: 30px 15px 30px 0px;
  46 +}
  47 +QScrollBar::handle:vertical {
  48 +background: #B7B7B7;
  49 +border-radius: 10px;
  50 +min-height: 100px;
  51 +}
  52 +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
  53 +border: none;
  54 +background: none;
  55 +height: 0px;
  56 +}
  57 +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
  58 +border: none;
  59 +}
  60 +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
  61 +background: none;
  62 +}</string>
  63 + </property>
  64 + <widget class="QWidget" name="centralwidget">
  65 + <widget class="QWidget" name="horizontalLayoutWidget">
  66 + <property name="geometry">
  67 + <rect>
  68 + <x>0</x>
  69 + <y>426</y>
  70 + <width>900</width>
  71 + <height>221</height>
  72 + </rect>
  73 + </property>
  74 + <layout class="QHBoxLayout" name="horizontalLayout">
  75 + <property name="spacing">
  76 + <number>0</number>
  77 + </property>
  78 + <item>
  79 + <widget class="QPushButton" name="steamButton">
  80 + <property name="sizePolicy">
  81 + <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  82 + <horstretch>0</horstretch>
  83 + <verstretch>0</verstretch>
  84 + </sizepolicy>
  85 + </property>
  86 + <property name="styleSheet">
  87 + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_04.png); }
  88 +QPushButton:pressed { background-image: url(:/images/etc/main_btn_04_ov.png); }</string>
  89 + </property>
  90 + <property name="text">
  91 + <string>선호 요리</string>
  92 + </property>
  93 + <property name="checkable">
  94 + <bool>true</bool>
  95 + </property>
  96 + <property name="autoExclusive">
  97 + <bool>true</bool>
  98 + </property>
  99 + <property name="style" stdset="0">
  100 + <string notr="true">mode</string>
  101 + </property>
  102 + </widget>
  103 + </item>
  104 + <item>
  105 + <widget class="QPushButton" name="steamButton_2">
  106 + <property name="sizePolicy">
  107 + <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  108 + <horstretch>0</horstretch>
  109 + <verstretch>0</verstretch>
  110 + </sizepolicy>
  111 + </property>
  112 + <property name="styleSheet">
  113 + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_03.png); }
  114 +QPushButton:pressed { background-image: url(:/images/etc/main_btn_03_ov.png); }</string>
  115 + </property>
  116 + <property name="text">
  117 + <string>최근 요리</string>
  118 + </property>
  119 + <property name="checkable">
  120 + <bool>true</bool>
  121 + </property>
  122 + <property name="autoExclusive">
  123 + <bool>true</bool>
  124 + </property>
  125 + <property name="style" stdset="0">
  126 + <string notr="true">mode</string>
  127 + </property>
  128 + </widget>
  129 + </item>
  130 + <item>
  131 + <widget class="QPushButton" name="steamButton_3">
  132 + <property name="sizePolicy">
  133 + <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
  134 + <horstretch>0</horstretch>
  135 + <verstretch>0</verstretch>
  136 + </sizepolicy>
  137 + </property>
  138 + <property name="styleSheet">
  139 + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_05.png); }
  140 +QPushButton:pressed { background-image: url(:/images/etc/main_btn_05_ov.png); }</string>
  141 + </property>
  142 + <property name="text">
  143 + <string>즐겨찾기</string>
  144 + </property>
  145 + <property name="checkable">
  146 + <bool>true</bool>
  147 + </property>
  148 + <property name="autoExclusive">
  149 + <bool>true</bool>
  150 + </property>
  151 + <property name="style" stdset="0">
  152 + <string notr="true">mode</string>
  153 + </property>
  154 + </widget>
  155 + </item>
  156 + </layout>
  157 + </widget>
  158 + <widget class="QWidget" name="bottomBar" native="true">
  159 + <property name="geometry">
  160 + <rect>
  161 + <x>0</x>
  162 + <y>1450</y>
  163 + <width>900</width>
  164 + <height>150</height>
  165 + </rect>
  166 + </property>
  167 + <widget class="QPushButton" name="backButton">
  168 + <property name="geometry">
  169 + <rect>
  170 + <x>232</x>
  171 + <y>26</y>
  172 + <width>97</width>
  173 + <height>97</height>
  174 + </rect>
  175 + </property>
  176 + <property name="styleSheet">
  177 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/back.png); }
  178 +QPushButton:pressed { border-image: url(:/images/bottom_bar/back_ov.png); }</string>
  179 + </property>
  180 + <property name="text">
  181 + <string/>
  182 + </property>
  183 + </widget>
  184 + <widget class="QPushButton" name="washButton">
  185 + <property name="geometry">
  186 + <rect>
  187 + <x>458</x>
  188 + <y>26</y>
  189 + <width>97</width>
  190 + <height>97</height>
  191 + </rect>
  192 + </property>
  193 + <property name="styleSheet">
  194 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/wash.png); }
  195 +QPushButton:pressed { border-image: url(:/images/bottom_bar/wash_ov.png); }</string>
  196 + </property>
  197 + <property name="text">
  198 + <string/>
  199 + </property>
  200 + </widget>
  201 + <widget class="QPushButton" name="helpButton">
  202 + <property name="geometry">
  203 + <rect>
  204 + <x>571</x>
  205 + <y>26</y>
  206 + <width>97</width>
  207 + <height>97</height>
  208 + </rect>
  209 + </property>
  210 + <property name="styleSheet">
  211 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/help.png); }
  212 +QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }</string>
  213 + </property>
  214 + <property name="text">
  215 + <string/>
  216 + </property>
  217 + </widget>
  218 + <widget class="QPushButton" name="configButton">
  219 + <property name="geometry">
  220 + <rect>
  221 + <x>345</x>
  222 + <y>26</y>
  223 + <width>97</width>
  224 + <height>97</height>
  225 + </rect>
  226 + </property>
  227 + <property name="sizePolicy">
  228 + <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
  229 + <horstretch>0</horstretch>
  230 + <verstretch>0</verstretch>
  231 + </sizepolicy>
  232 + </property>
  233 + <property name="styleSheet">
  234 + <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/config.png); }
  235 +QPushButton:pressed { border-image: url(:/images/bottom_bar/config_ov.png); }</string>
  236 + </property>
  237 + <property name="text">
  238 + <string/>
  239 + </property>
  240 + </widget>
  241 + </widget>
  242 + <widget class="QStackedWidget" name="upperStack">
  243 + <property name="geometry">
  244 + <rect>
  245 + <x>0</x>
  246 + <y>0</y>
  247 + <width>900</width>
  248 + <height>426</height>
  249 + </rect>
  250 + </property>
  251 + <widget class="QWidget" name="clockContainer">
  252 + <property name="styleSheet">
  253 + <string notr="true">#clockContainer { background-image: url(:/images/clock/background.png); }</string>
  254 + </property>
  255 + <widget class="Clock" name="clock" native="true">
  256 + <property name="geometry">
  257 + <rect>
  258 + <x>272</x>
  259 + <y>36</y>
  260 + <width>356</width>
  261 + <height>355</height>
  262 + </rect>
  263 + </property>
  264 + </widget>
  265 + </widget>
  266 + <widget class="QWidget" name="page_2"/>
  267 + </widget>
  268 + <widget class="QScrollArea" name="scrollArea">
  269 + <property name="geometry">
  270 + <rect>
  271 + <x>0</x>
  272 + <y>645</y>
  273 + <width>900</width>
  274 + <height>805</height>
  275 + </rect>
  276 + </property>
  277 + <property name="widgetResizable">
  278 + <bool>true</bool>
  279 + </property>
  280 + <widget class="QWidget" name="scrollAreaWidgetContents">
  281 + <property name="geometry">
  282 + <rect>
  283 + <x>0</x>
  284 + <y>0</y>
  285 + <width>898</width>
  286 + <height>803</height>
  287 + </rect>
  288 + </property>
  289 + <layout class="QVBoxLayout" name="verticalScrollLayout">
  290 + <property name="spacing">
  291 + <number>10</number>
  292 + </property>
  293 + <property name="leftMargin">
  294 + <number>20</number>
  295 + </property>
  296 + <property name="topMargin">
  297 + <number>30</number>
  298 + </property>
  299 + <property name="bottomMargin">
  300 + <number>30</number>
  301 + </property>
  302 + </layout>
  303 + </widget>
  304 + </widget>
  305 + </widget>
  306 + </widget>
  307 + <customwidgets>
  308 + <customwidget>
  309 + <class>Clock</class>
  310 + <extends>QWidget</extends>
  311 + <header>clock.h</header>
  312 + <container>1</container>
  313 + </customwidget>
  314 + </customwidgets>
  315 + <resources/>
  316 + <connections/>
  317 +</ui>