Commit 98f4a2932f34966c4102a3d028e2be64f95364a4
1 parent
4fcb307c90
Exists in
master
and in
2 other branches
엔코더 구현
- 자동 요리 화면 - 부가 기능 화면
Showing
6 changed files
with
239 additions
and
148 deletions
Show diff stats
app/gui/oven_control/autocookwindow.cpp
... | ... | @@ -100,6 +100,8 @@ AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : |
100 | 100 | updateViewTimer.start(100); |
101 | 101 | |
102 | 102 | SoundPlayer::playStart(); |
103 | + | |
104 | + setFocus(); | |
103 | 105 | } |
104 | 106 | |
105 | 107 | AutoCookWindow::~AutoCookWindow() |
... | ... | @@ -273,17 +275,19 @@ void AutoCookWindow::setupUi() |
273 | 275 | |
274 | 276 | void AutoCookWindow::onEncoderLeft() |
275 | 277 | { |
276 | - | |
278 | + focusPreviousChild(); | |
277 | 279 | } |
278 | 280 | |
279 | 281 | void AutoCookWindow::onEncoderRight() |
280 | 282 | { |
281 | - | |
283 | + focusNextChild(); | |
282 | 284 | } |
283 | 285 | |
284 | 286 | void AutoCookWindow::onEncoderClicked(QWidget *clicked) |
285 | 287 | { |
286 | - | |
288 | + QPushButton *b = qobject_cast<QPushButton *>(clicked); | |
289 | + if (b) | |
290 | + b->click(); | |
287 | 291 | } |
288 | 292 | |
289 | 293 | void AutoCookWindow::updateView() | ... | ... |
app/gui/oven_control/autocookwindow.ui
... | ... | @@ -545,6 +545,9 @@ QPushButton::pressed, QPushButton:focus { border-image: url(:/images/button/152_ |
545 | 545 | <height>290</height> |
546 | 546 | </rect> |
547 | 547 | </property> |
548 | + <property name="focusPolicy"> | |
549 | + <enum>Qt::NoFocus</enum> | |
550 | + </property> | |
548 | 551 | <property name="styleSheet"> |
549 | 552 | <string notr="true">border: #000000</string> |
550 | 553 | </property> |
... | ... | @@ -791,6 +794,9 @@ QPushButton::pressed, QPushButton:focus { border-image: url(:/images/symbol/info |
791 | 794 | <height>290</height> |
792 | 795 | </rect> |
793 | 796 | </property> |
797 | + <property name="focusPolicy"> | |
798 | + <enum>Qt::NoFocus</enum> | |
799 | + </property> | |
794 | 800 | <property name="styleSheet"> |
795 | 801 | <string notr="true">border: #000000</string> |
796 | 802 | </property> |
... | ... | @@ -1398,6 +1404,22 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/152_o |
1398 | 1404 | <container>1</container> |
1399 | 1405 | </customwidget> |
1400 | 1406 | </customwidgets> |
1407 | + <tabstops> | |
1408 | + <tabstop>selectCookButton</tabstop> | |
1409 | + <tabstop>homeButton</tabstop> | |
1410 | + <tabstop>configCookButton</tabstop> | |
1411 | + <tabstop>showPrevStepButton</tabstop> | |
1412 | + <tabstop>showNextStepButton</tabstop> | |
1413 | + <tabstop>infoButton</tabstop> | |
1414 | + <tabstop>processButton_1</tabstop> | |
1415 | + <tabstop>processButton_2</tabstop> | |
1416 | + <tabstop>processButton_3</tabstop> | |
1417 | + <tabstop>backButton</tabstop> | |
1418 | + <tabstop>configButton</tabstop> | |
1419 | + <tabstop>favoritesButton</tabstop> | |
1420 | + <tabstop>washButton</tabstop> | |
1421 | + <tabstop>helpButton</tabstop> | |
1422 | + </tabstops> | |
1401 | 1423 | <resources> |
1402 | 1424 | <include location="resources.qrc"/> |
1403 | 1425 | </resources> | ... | ... |
app/gui/oven_control/cookpanelbutton.cpp
... | ... | @@ -76,48 +76,58 @@ void CookPanelButton::setLongPressEnabled(bool enabled) |
76 | 76 | longPressEnabled = enabled; |
77 | 77 | } |
78 | 78 | |
79 | -void CookPanelButton::setEnabled(bool enabled) | |
79 | +QPushButton *CookPanelButton::bar() | |
80 | 80 | { |
81 | - ui->pushButton->setEnabled(enabled); | |
82 | - ui->showInfoButton->setEnabled(enabled); | |
83 | - ui->deleteButton->setEnabled(enabled); | |
81 | + return ui->pushButton; | |
84 | 82 | } |
85 | 83 | |
86 | -void CookPanelButton::keyPressEvent(QKeyEvent *event) | |
84 | +QPushButton *CookPanelButton::deleteButton() | |
87 | 85 | { |
88 | - switch (event->key()) | |
89 | - { | |
90 | - case 0x01000030: // Turn left | |
91 | - onEncoderLeft(); | |
92 | - break; | |
93 | - case 0x01000031: // Push | |
94 | - pushed = focusWidget(); | |
95 | - break; | |
96 | - case 0x01000032: // Turn right | |
97 | - onEncoderRight(); | |
98 | - break; | |
99 | - } | |
86 | + return ui->deleteButton; | |
100 | 87 | } |
101 | 88 | |
102 | -void CookPanelButton::keyReleaseEvent(QKeyEvent *event) | |
89 | +void CookPanelButton::setEnabled(bool enabled) | |
103 | 90 | { |
104 | - switch (event->key()) | |
105 | - { | |
106 | - case 0x01000030: // Turn left | |
107 | - onEncoderLeft(); | |
108 | - break; | |
109 | - case 0x01000031: // Push | |
110 | - if (focusWidget() == pushed) | |
111 | - onEncoderClicked(pushed); | |
112 | - | |
113 | - pushed = NULL; | |
114 | - break; | |
115 | - case 0x01000032: // Turn right | |
116 | - onEncoderRight(); | |
117 | - break; | |
118 | - } | |
91 | + ui->pushButton->setEnabled(enabled); | |
92 | + ui->showInfoButton->setEnabled(enabled); | |
93 | + ui->deleteButton->setEnabled(enabled); | |
119 | 94 | } |
120 | 95 | |
96 | +//void CookPanelButton::keyPressEvent(QKeyEvent *event) | |
97 | +//{ | |
98 | +// switch (event->key()) | |
99 | +// { | |
100 | +// case 0x01000030: // Turn left | |
101 | +// onEncoderLeft(); | |
102 | +// break; | |
103 | +// case 0x01000031: // Push | |
104 | +// pushed = focusWidget(); | |
105 | +// break; | |
106 | +// case 0x01000032: // Turn right | |
107 | +// onEncoderRight(); | |
108 | +// break; | |
109 | +// } | |
110 | +//} | |
111 | + | |
112 | +//void CookPanelButton::keyReleaseEvent(QKeyEvent *event) | |
113 | +//{ | |
114 | +// switch (event->key()) | |
115 | +// { | |
116 | +// case 0x01000030: // Turn left | |
117 | +// onEncoderLeft(); | |
118 | +// break; | |
119 | +// case 0x01000031: // Push | |
120 | +// if (focusWidget() == pushed) | |
121 | +// onEncoderClicked(pushed); | |
122 | + | |
123 | +// pushed = NULL; | |
124 | +// break; | |
125 | +// case 0x01000032: // Turn right | |
126 | +// onEncoderRight(); | |
127 | +// break; | |
128 | +// } | |
129 | +//} | |
130 | + | |
121 | 131 | void CookPanelButton::emitLongPressed() |
122 | 132 | { |
123 | 133 | emitted = true; | ... | ... |
app/gui/oven_control/cookpanelbutton.h
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | #include <QLabel> |
6 | 6 | #include <QButtonGroup> |
7 | 7 | #include <QTimer> |
8 | +#include <QPushButton> | |
8 | 9 | |
9 | 10 | #include "cookhistory.h" |
10 | 11 | |
... | ... | @@ -37,14 +38,17 @@ public: |
37 | 38 | |
38 | 39 | void setLongPressEnabled(bool enabled); |
39 | 40 | |
41 | + QPushButton *bar(); | |
42 | + QPushButton *deleteButton(); | |
43 | + | |
40 | 44 | CookRecord record; |
41 | 45 | |
42 | 46 | public slots: |
43 | 47 | void setEnabled(bool enabled = true); |
44 | 48 | |
45 | 49 | protected: |
46 | - void keyPressEvent(QKeyEvent *event); | |
47 | - void keyReleaseEvent(QKeyEvent *event); | |
50 | +// void keyPressEvent(QKeyEvent *event); | |
51 | +// void keyReleaseEvent(QKeyEvent *event); | |
48 | 52 | |
49 | 53 | private slots: |
50 | 54 | void emitLongPressed(); | ... | ... |
app/gui/oven_control/primewindow.cpp
... | ... | @@ -28,6 +28,8 @@ PrimeWindow::PrimeWindow(QWidget *parent) : |
28 | 28 | |
29 | 29 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
30 | 30 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
31 | + | |
32 | + setFocus(); | |
31 | 33 | } |
32 | 34 | |
33 | 35 | PrimeWindow::~PrimeWindow() |
... | ... | @@ -44,6 +46,12 @@ void PrimeWindow::listMostCooked() |
44 | 46 | ui->mostCookedButton->blockSignals(false); |
45 | 47 | } |
46 | 48 | |
49 | + if (ui->recentsButton->isChecked()) | |
50 | + ui->recentsButton->setChecked(false); | |
51 | + | |
52 | + if (ui->favoritesButton->isChecked()) | |
53 | + ui->favoritesButton->setChecked(false); | |
54 | + | |
47 | 55 | listButtons(CookHistory::listMostCooked()); |
48 | 56 | } |
49 | 57 | |
... | ... | @@ -56,6 +64,12 @@ void PrimeWindow::listRecents() |
56 | 64 | ui->recentsButton->blockSignals(false); |
57 | 65 | } |
58 | 66 | |
67 | + if (ui->mostCookedButton->isChecked()) | |
68 | + ui->mostCookedButton->setChecked(false); | |
69 | + | |
70 | + if (ui->favoritesButton->isChecked()) | |
71 | + ui->favoritesButton->setChecked(false); | |
72 | + | |
59 | 73 | listButtons(CookHistory::listRecents()); |
60 | 74 | } |
61 | 75 | |
... | ... | @@ -68,6 +82,12 @@ void PrimeWindow::listFavorites() |
68 | 82 | ui->favoritesButton->blockSignals(false); |
69 | 83 | } |
70 | 84 | |
85 | + if (ui->mostCookedButton->isChecked()) | |
86 | + ui->mostCookedButton->setChecked(false); | |
87 | + | |
88 | + if (ui->recentsButton->isChecked()) | |
89 | + ui->recentsButton->setChecked(false); | |
90 | + | |
71 | 91 | listButtons(CookHistory::listFavorites()); |
72 | 92 | } |
73 | 93 | |
... | ... | @@ -123,7 +143,8 @@ void PrimeWindow::on_mostCookedButton_toggled(bool checked) |
123 | 143 | if (!checked) |
124 | 144 | return; |
125 | 145 | |
126 | - listButtons(CookHistory::listMostCooked()); | |
146 | +// listButtons(CookHistory::listMostCooked()); | |
147 | + listMostCooked(); | |
127 | 148 | } |
128 | 149 | |
129 | 150 | void PrimeWindow::on_recentsButton_toggled(bool checked) |
... | ... | @@ -131,7 +152,8 @@ void PrimeWindow::on_recentsButton_toggled(bool checked) |
131 | 152 | if (!checked) |
132 | 153 | return; |
133 | 154 | |
134 | - listButtons(CookHistory::listRecents()); | |
155 | +// listButtons(CookHistory::listRecents()); | |
156 | + listRecents(); | |
135 | 157 | } |
136 | 158 | |
137 | 159 | void PrimeWindow::on_favoritesButton_toggled(bool checked) |
... | ... | @@ -139,7 +161,8 @@ void PrimeWindow::on_favoritesButton_toggled(bool checked) |
139 | 161 | if (!checked) |
140 | 162 | return; |
141 | 163 | |
142 | - listButtons(CookHistory::listFavorites()); | |
164 | +// listButtons(CookHistory::listFavorites()); | |
165 | + listFavorites(); | |
143 | 166 | } |
144 | 167 | |
145 | 168 | void PrimeWindow::listButtons(QList<CookRecord> records) |
... | ... | @@ -251,12 +274,46 @@ void PrimeWindow::on_helpButton_clicked() |
251 | 274 | |
252 | 275 | void PrimeWindow::onEncoderLeft() |
253 | 276 | { |
254 | - focusPreviousChild(); | |
277 | + QWidget *focused = focusWidget(); | |
278 | + if (focused == this || focused == NULL) | |
279 | + ui->helpButton->setFocus(); | |
280 | + else if (list.size() > 0) | |
281 | + { | |
282 | + if (focused == ui->backButton) | |
283 | + list.last()->focusDeleteButton(); | |
284 | + else if (focused == list.first()->bar()) | |
285 | + ui->favoritesButton->setFocus(); | |
286 | + else if (focused == ui->mostCookedButton) | |
287 | + ui->helpButton->setFocus(); | |
288 | + else | |
289 | + focusPreviousChild(); | |
290 | + | |
291 | + ui->scrollArea->ensureWidgetVisible(focusWidget()); | |
292 | + } | |
293 | + else | |
294 | + focusPreviousChild(); | |
255 | 295 | } |
256 | 296 | |
257 | 297 | void PrimeWindow::onEncoderRight() |
258 | 298 | { |
259 | - focusNextChild(); | |
299 | + QWidget *focused = focusWidget(); | |
300 | + if (focused == this || focused == NULL) | |
301 | + ui->mostCookedButton->setFocus(); | |
302 | + else if (list.size() > 0) | |
303 | + { | |
304 | + if (focused == ui->favoritesButton) | |
305 | + list.first()->focusBar(); | |
306 | + else if (focused == list.last()->deleteButton()) | |
307 | + ui->backButton->setFocus(); | |
308 | + else if (focused == ui->helpButton) | |
309 | + ui->mostCookedButton->setFocus(); | |
310 | + else | |
311 | + focusNextChild(); | |
312 | + | |
313 | + ui->scrollArea->ensureWidgetVisible(focusWidget()); | |
314 | + } | |
315 | + else | |
316 | + focusNextChild(); | |
260 | 317 | } |
261 | 318 | |
262 | 319 | void PrimeWindow::onEncoderClicked(QWidget *clicked) | ... | ... |
app/gui/oven_control/primewindow.ui
... | ... | @@ -59,99 +59,6 @@ background: none; |
59 | 59 | }</string> |
60 | 60 | </property> |
61 | 61 | <widget class="QWidget" name="centralwidget"> |
62 | - <widget class="QWidget" name="horizontalLayoutWidget"> | |
63 | - <property name="geometry"> | |
64 | - <rect> | |
65 | - <x>0</x> | |
66 | - <y>426</y> | |
67 | - <width>900</width> | |
68 | - <height>221</height> | |
69 | - </rect> | |
70 | - </property> | |
71 | - <layout class="QHBoxLayout" name="horizontalLayout"> | |
72 | - <property name="spacing"> | |
73 | - <number>0</number> | |
74 | - </property> | |
75 | - <item> | |
76 | - <widget class="QPushButton" name="mostCookedButton"> | |
77 | - <property name="sizePolicy"> | |
78 | - <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
79 | - <horstretch>0</horstretch> | |
80 | - <verstretch>0</verstretch> | |
81 | - </sizepolicy> | |
82 | - </property> | |
83 | - <property name="styleSheet"> | |
84 | - <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_04.png); } | |
85 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_04_ov.png); }</string> | |
86 | - </property> | |
87 | - <property name="text"> | |
88 | - <string>선호 요리</string> | |
89 | - </property> | |
90 | - <property name="checkable"> | |
91 | - <bool>true</bool> | |
92 | - </property> | |
93 | - <property name="autoExclusive"> | |
94 | - <bool>true</bool> | |
95 | - </property> | |
96 | - <property name="style" stdset="0"> | |
97 | - <string notr="true">mode</string> | |
98 | - </property> | |
99 | - </widget> | |
100 | - </item> | |
101 | - <item> | |
102 | - <widget class="QPushButton" name="recentsButton"> | |
103 | - <property name="sizePolicy"> | |
104 | - <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
105 | - <horstretch>0</horstretch> | |
106 | - <verstretch>0</verstretch> | |
107 | - </sizepolicy> | |
108 | - </property> | |
109 | - <property name="styleSheet"> | |
110 | - <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_03.png); } | |
111 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_03_ov.png); }</string> | |
112 | - </property> | |
113 | - <property name="text"> | |
114 | - <string>최근 요리</string> | |
115 | - </property> | |
116 | - <property name="checkable"> | |
117 | - <bool>true</bool> | |
118 | - </property> | |
119 | - <property name="autoExclusive"> | |
120 | - <bool>true</bool> | |
121 | - </property> | |
122 | - <property name="style" stdset="0"> | |
123 | - <string notr="true">mode</string> | |
124 | - </property> | |
125 | - </widget> | |
126 | - </item> | |
127 | - <item> | |
128 | - <widget class="QPushButton" name="favoritesButton"> | |
129 | - <property name="sizePolicy"> | |
130 | - <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
131 | - <horstretch>0</horstretch> | |
132 | - <verstretch>0</verstretch> | |
133 | - </sizepolicy> | |
134 | - </property> | |
135 | - <property name="styleSheet"> | |
136 | - <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_05.png); } | |
137 | -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_05_ov.png); }</string> | |
138 | - </property> | |
139 | - <property name="text"> | |
140 | - <string>즐겨찾기</string> | |
141 | - </property> | |
142 | - <property name="checkable"> | |
143 | - <bool>true</bool> | |
144 | - </property> | |
145 | - <property name="autoExclusive"> | |
146 | - <bool>true</bool> | |
147 | - </property> | |
148 | - <property name="style" stdset="0"> | |
149 | - <string notr="true">mode</string> | |
150 | - </property> | |
151 | - </widget> | |
152 | - </item> | |
153 | - </layout> | |
154 | - </widget> | |
155 | 62 | <widget class="QWidget" name="bottomBar" native="true"> |
156 | 63 | <property name="geometry"> |
157 | 64 | <rect> |
... | ... | @@ -174,9 +81,6 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main |
174 | 81 | <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/back.png); } |
175 | 82 | QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/back_ov.png); }</string> |
176 | 83 | </property> |
177 | - <property name="text"> | |
178 | - <string/> | |
179 | - </property> | |
180 | 84 | </widget> |
181 | 85 | <widget class="QPushButton" name="washButton"> |
182 | 86 | <property name="geometry"> |
... | ... | @@ -191,9 +95,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/b |
191 | 95 | <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/wash.png); } |
192 | 96 | QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/wash_ov.png); }</string> |
193 | 97 | </property> |
194 | - <property name="text"> | |
195 | - <string/> | |
196 | - </property> | |
197 | 98 | </widget> |
198 | 99 | <widget class="QPushButton" name="helpButton"> |
199 | 100 | <property name="geometry"> |
... | ... | @@ -208,9 +109,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/w |
208 | 109 | <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/help.png); } |
209 | 110 | QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/help_ov.png); }</string> |
210 | 111 | </property> |
211 | - <property name="text"> | |
212 | - <string/> | |
213 | - </property> | |
214 | 112 | </widget> |
215 | 113 | <widget class="QPushButton" name="configButton"> |
216 | 114 | <property name="geometry"> |
... | ... | @@ -231,9 +129,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h |
231 | 129 | <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/config.png); } |
232 | 130 | QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/config_ov.png); }</string> |
233 | 131 | </property> |
234 | - <property name="text"> | |
235 | - <string/> | |
236 | - </property> | |
237 | 132 | </widget> |
238 | 133 | </widget> |
239 | 134 | <widget class="QStackedWidget" name="upperStack"> |
... | ... | @@ -281,6 +176,9 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c |
281 | 176 | <height>803</height> |
282 | 177 | </rect> |
283 | 178 | </property> |
179 | + <property name="focusPolicy"> | |
180 | + <enum>Qt::NoFocus</enum> | |
181 | + </property> | |
284 | 182 | <property name="widgetResizable"> |
285 | 183 | <bool>true</bool> |
286 | 184 | </property> |
... | ... | @@ -309,6 +207,93 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c |
309 | 207 | </layout> |
310 | 208 | </widget> |
311 | 209 | </widget> |
210 | + <widget class="QPushButton" name="mostCookedButton"> | |
211 | + <property name="geometry"> | |
212 | + <rect> | |
213 | + <x>1</x> | |
214 | + <y>427</y> | |
215 | + <width>299</width> | |
216 | + <height>219</height> | |
217 | + </rect> | |
218 | + </property> | |
219 | + <property name="sizePolicy"> | |
220 | + <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
221 | + <horstretch>0</horstretch> | |
222 | + <verstretch>0</verstretch> | |
223 | + </sizepolicy> | |
224 | + </property> | |
225 | + <property name="styleSheet"> | |
226 | + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_04.png); } | |
227 | +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_04_ov.png); }</string> | |
228 | + </property> | |
229 | + <property name="text"> | |
230 | + <string>선호 요리</string> | |
231 | + </property> | |
232 | + <property name="checkable"> | |
233 | + <bool>true</bool> | |
234 | + </property> | |
235 | + <property name="style" stdset="0"> | |
236 | + <string notr="true">mode</string> | |
237 | + </property> | |
238 | + </widget> | |
239 | + <widget class="QPushButton" name="favoritesButton"> | |
240 | + <property name="geometry"> | |
241 | + <rect> | |
242 | + <x>600</x> | |
243 | + <y>427</y> | |
244 | + <width>299</width> | |
245 | + <height>219</height> | |
246 | + </rect> | |
247 | + </property> | |
248 | + <property name="sizePolicy"> | |
249 | + <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
250 | + <horstretch>0</horstretch> | |
251 | + <verstretch>0</verstretch> | |
252 | + </sizepolicy> | |
253 | + </property> | |
254 | + <property name="styleSheet"> | |
255 | + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_05.png); } | |
256 | +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_05_ov.png); }</string> | |
257 | + </property> | |
258 | + <property name="text"> | |
259 | + <string>즐겨찾기</string> | |
260 | + </property> | |
261 | + <property name="checkable"> | |
262 | + <bool>true</bool> | |
263 | + </property> | |
264 | + <property name="style" stdset="0"> | |
265 | + <string notr="true">mode</string> | |
266 | + </property> | |
267 | + </widget> | |
268 | + <widget class="QPushButton" name="recentsButton"> | |
269 | + <property name="geometry"> | |
270 | + <rect> | |
271 | + <x>300</x> | |
272 | + <y>427</y> | |
273 | + <width>299</width> | |
274 | + <height>219</height> | |
275 | + </rect> | |
276 | + </property> | |
277 | + <property name="sizePolicy"> | |
278 | + <sizepolicy hsizetype="Minimum" vsizetype="Expanding"> | |
279 | + <horstretch>0</horstretch> | |
280 | + <verstretch>0</verstretch> | |
281 | + </sizepolicy> | |
282 | + </property> | |
283 | + <property name="styleSheet"> | |
284 | + <string notr="true">QPushButton { background-image: url(:/images/etc/main_btn_03.png); } | |
285 | +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_03_ov.png); }</string> | |
286 | + </property> | |
287 | + <property name="text"> | |
288 | + <string>최근 요리</string> | |
289 | + </property> | |
290 | + <property name="checkable"> | |
291 | + <bool>true</bool> | |
292 | + </property> | |
293 | + <property name="style" stdset="0"> | |
294 | + <string notr="true">mode</string> | |
295 | + </property> | |
296 | + </widget> | |
312 | 297 | </widget> |
313 | 298 | </widget> |
314 | 299 | <customwidgets> |
... | ... | @@ -324,6 +309,15 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c |
324 | 309 | <header>washwarnicon.h</header> |
325 | 310 | </customwidget> |
326 | 311 | </customwidgets> |
312 | + <tabstops> | |
313 | + <tabstop>mostCookedButton</tabstop> | |
314 | + <tabstop>recentsButton</tabstop> | |
315 | + <tabstop>favoritesButton</tabstop> | |
316 | + <tabstop>backButton</tabstop> | |
317 | + <tabstop>configButton</tabstop> | |
318 | + <tabstop>washButton</tabstop> | |
319 | + <tabstop>helpButton</tabstop> | |
320 | + </tabstops> | |
327 | 321 | <resources/> |
328 | 322 | <connections/> |
329 | 323 | </ui> | ... | ... |