From 98f4a2932f34966c4102a3d028e2be64f95364a4 Mon Sep 17 00:00:00 2001 From: victor Date: Tue, 13 Jun 2017 16:27:02 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=94=EC=BD=94=EB=8D=94=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20-=20=EC=9E=90=EB=8F=99=20=EC=9A=94=EB=A6=AC=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20-=20=EB=B6=80=EA=B0=80=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=ED=99=94=EB=A9=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/gui/oven_control/autocookwindow.cpp | 10 +- app/gui/oven_control/autocookwindow.ui | 22 ++++ app/gui/oven_control/cookpanelbutton.cpp | 76 +++++++----- app/gui/oven_control/cookpanelbutton.h | 8 +- app/gui/oven_control/primewindow.cpp | 67 +++++++++- app/gui/oven_control/primewindow.ui | 204 +++++++++++++++---------------- 6 files changed, 239 insertions(+), 148 deletions(-) diff --git a/app/gui/oven_control/autocookwindow.cpp b/app/gui/oven_control/autocookwindow.cpp index cde5e7d..8e16404 100644 --- a/app/gui/oven_control/autocookwindow.cpp +++ b/app/gui/oven_control/autocookwindow.cpp @@ -100,6 +100,8 @@ AutoCookWindow::AutoCookWindow(QWidget *parent, Cook cook) : updateViewTimer.start(100); SoundPlayer::playStart(); + + setFocus(); } AutoCookWindow::~AutoCookWindow() @@ -273,17 +275,19 @@ void AutoCookWindow::setupUi() void AutoCookWindow::onEncoderLeft() { - + focusPreviousChild(); } void AutoCookWindow::onEncoderRight() { - + focusNextChild(); } void AutoCookWindow::onEncoderClicked(QWidget *clicked) { - + QPushButton *b = qobject_cast(clicked); + if (b) + b->click(); } void AutoCookWindow::updateView() diff --git a/app/gui/oven_control/autocookwindow.ui b/app/gui/oven_control/autocookwindow.ui index 57a5ca8..6ebd48d 100644 --- a/app/gui/oven_control/autocookwindow.ui +++ b/app/gui/oven_control/autocookwindow.ui @@ -545,6 +545,9 @@ QPushButton::pressed, QPushButton:focus { border-image: url(:/images/button/152_ 290 + + Qt::NoFocus + border: #000000 @@ -791,6 +794,9 @@ QPushButton::pressed, QPushButton:focus { border-image: url(:/images/symbol/info 290 + + Qt::NoFocus + border: #000000 @@ -1398,6 +1404,22 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/button/152_o 1 + + selectCookButton + homeButton + configCookButton + showPrevStepButton + showNextStepButton + infoButton + processButton_1 + processButton_2 + processButton_3 + backButton + configButton + favoritesButton + washButton + helpButton + diff --git a/app/gui/oven_control/cookpanelbutton.cpp b/app/gui/oven_control/cookpanelbutton.cpp index b48fe7e..99fe76b 100644 --- a/app/gui/oven_control/cookpanelbutton.cpp +++ b/app/gui/oven_control/cookpanelbutton.cpp @@ -76,48 +76,58 @@ void CookPanelButton::setLongPressEnabled(bool enabled) longPressEnabled = enabled; } -void CookPanelButton::setEnabled(bool enabled) +QPushButton *CookPanelButton::bar() { - ui->pushButton->setEnabled(enabled); - ui->showInfoButton->setEnabled(enabled); - ui->deleteButton->setEnabled(enabled); + return ui->pushButton; } -void CookPanelButton::keyPressEvent(QKeyEvent *event) +QPushButton *CookPanelButton::deleteButton() { - switch (event->key()) - { - case 0x01000030: // Turn left - onEncoderLeft(); - break; - case 0x01000031: // Push - pushed = focusWidget(); - break; - case 0x01000032: // Turn right - onEncoderRight(); - break; - } + return ui->deleteButton; } -void CookPanelButton::keyReleaseEvent(QKeyEvent *event) +void CookPanelButton::setEnabled(bool enabled) { - switch (event->key()) - { - case 0x01000030: // Turn left - onEncoderLeft(); - break; - case 0x01000031: // Push - if (focusWidget() == pushed) - onEncoderClicked(pushed); - - pushed = NULL; - break; - case 0x01000032: // Turn right - onEncoderRight(); - break; - } + ui->pushButton->setEnabled(enabled); + ui->showInfoButton->setEnabled(enabled); + ui->deleteButton->setEnabled(enabled); } +//void CookPanelButton::keyPressEvent(QKeyEvent *event) +//{ +// switch (event->key()) +// { +// case 0x01000030: // Turn left +// onEncoderLeft(); +// break; +// case 0x01000031: // Push +// pushed = focusWidget(); +// break; +// case 0x01000032: // Turn right +// onEncoderRight(); +// break; +// } +//} + +//void CookPanelButton::keyReleaseEvent(QKeyEvent *event) +//{ +// switch (event->key()) +// { +// case 0x01000030: // Turn left +// onEncoderLeft(); +// break; +// case 0x01000031: // Push +// if (focusWidget() == pushed) +// onEncoderClicked(pushed); + +// pushed = NULL; +// break; +// case 0x01000032: // Turn right +// onEncoderRight(); +// break; +// } +//} + void CookPanelButton::emitLongPressed() { emitted = true; diff --git a/app/gui/oven_control/cookpanelbutton.h b/app/gui/oven_control/cookpanelbutton.h index 1acad8f..cad621b 100644 --- a/app/gui/oven_control/cookpanelbutton.h +++ b/app/gui/oven_control/cookpanelbutton.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "cookhistory.h" @@ -37,14 +38,17 @@ public: void setLongPressEnabled(bool enabled); + QPushButton *bar(); + QPushButton *deleteButton(); + CookRecord record; public slots: void setEnabled(bool enabled = true); protected: - void keyPressEvent(QKeyEvent *event); - void keyReleaseEvent(QKeyEvent *event); +// void keyPressEvent(QKeyEvent *event); +// void keyReleaseEvent(QKeyEvent *event); private slots: void emitLongPressed(); diff --git a/app/gui/oven_control/primewindow.cpp b/app/gui/oven_control/primewindow.cpp index f1f1926..e1fee28 100644 --- a/app/gui/oven_control/primewindow.cpp +++ b/app/gui/oven_control/primewindow.cpp @@ -28,6 +28,8 @@ PrimeWindow::PrimeWindow(QWidget *parent) : foreach (QPushButton *button, findChildren()) connect(button, &QPushButton::pressed, SoundPlayer::playClick); + + setFocus(); } PrimeWindow::~PrimeWindow() @@ -44,6 +46,12 @@ void PrimeWindow::listMostCooked() ui->mostCookedButton->blockSignals(false); } + if (ui->recentsButton->isChecked()) + ui->recentsButton->setChecked(false); + + if (ui->favoritesButton->isChecked()) + ui->favoritesButton->setChecked(false); + listButtons(CookHistory::listMostCooked()); } @@ -56,6 +64,12 @@ void PrimeWindow::listRecents() ui->recentsButton->blockSignals(false); } + if (ui->mostCookedButton->isChecked()) + ui->mostCookedButton->setChecked(false); + + if (ui->favoritesButton->isChecked()) + ui->favoritesButton->setChecked(false); + listButtons(CookHistory::listRecents()); } @@ -68,6 +82,12 @@ void PrimeWindow::listFavorites() ui->favoritesButton->blockSignals(false); } + if (ui->mostCookedButton->isChecked()) + ui->mostCookedButton->setChecked(false); + + if (ui->recentsButton->isChecked()) + ui->recentsButton->setChecked(false); + listButtons(CookHistory::listFavorites()); } @@ -123,7 +143,8 @@ void PrimeWindow::on_mostCookedButton_toggled(bool checked) if (!checked) return; - listButtons(CookHistory::listMostCooked()); +// listButtons(CookHistory::listMostCooked()); + listMostCooked(); } void PrimeWindow::on_recentsButton_toggled(bool checked) @@ -131,7 +152,8 @@ void PrimeWindow::on_recentsButton_toggled(bool checked) if (!checked) return; - listButtons(CookHistory::listRecents()); +// listButtons(CookHistory::listRecents()); + listRecents(); } void PrimeWindow::on_favoritesButton_toggled(bool checked) @@ -139,7 +161,8 @@ void PrimeWindow::on_favoritesButton_toggled(bool checked) if (!checked) return; - listButtons(CookHistory::listFavorites()); +// listButtons(CookHistory::listFavorites()); + listFavorites(); } void PrimeWindow::listButtons(QList records) @@ -251,12 +274,46 @@ void PrimeWindow::on_helpButton_clicked() void PrimeWindow::onEncoderLeft() { - focusPreviousChild(); + QWidget *focused = focusWidget(); + if (focused == this || focused == NULL) + ui->helpButton->setFocus(); + else if (list.size() > 0) + { + if (focused == ui->backButton) + list.last()->focusDeleteButton(); + else if (focused == list.first()->bar()) + ui->favoritesButton->setFocus(); + else if (focused == ui->mostCookedButton) + ui->helpButton->setFocus(); + else + focusPreviousChild(); + + ui->scrollArea->ensureWidgetVisible(focusWidget()); + } + else + focusPreviousChild(); } void PrimeWindow::onEncoderRight() { - focusNextChild(); + QWidget *focused = focusWidget(); + if (focused == this || focused == NULL) + ui->mostCookedButton->setFocus(); + else if (list.size() > 0) + { + if (focused == ui->favoritesButton) + list.first()->focusBar(); + else if (focused == list.last()->deleteButton()) + ui->backButton->setFocus(); + else if (focused == ui->helpButton) + ui->mostCookedButton->setFocus(); + else + focusNextChild(); + + ui->scrollArea->ensureWidgetVisible(focusWidget()); + } + else + focusNextChild(); } void PrimeWindow::onEncoderClicked(QWidget *clicked) diff --git a/app/gui/oven_control/primewindow.ui b/app/gui/oven_control/primewindow.ui index 2fd22c2..3c23833 100644 --- a/app/gui/oven_control/primewindow.ui +++ b/app/gui/oven_control/primewindow.ui @@ -59,99 +59,6 @@ background: none; } - - - - 0 - 426 - 900 - 221 - - - - - 0 - - - - - - 0 - 0 - - - - QPushButton { background-image: url(:/images/etc/main_btn_04.png); } -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_04_ov.png); } - - - 선호 요리 - - - true - - - true - - - mode - - - - - - - - 0 - 0 - - - - QPushButton { background-image: url(:/images/etc/main_btn_03.png); } -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_03_ov.png); } - - - 최근 요리 - - - true - - - true - - - mode - - - - - - - - 0 - 0 - - - - QPushButton { background-image: url(:/images/etc/main_btn_05.png); } -QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_05_ov.png); } - - - 즐겨찾기 - - - true - - - true - - - mode - - - - - @@ -174,9 +81,6 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main QPushButton { border-image: url(:/images/bottom_bar/back.png); } QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/back_ov.png); } - - - @@ -191,9 +95,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/b QPushButton { border-image: url(:/images/bottom_bar/wash.png); } QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/wash_ov.png); } - - - @@ -208,9 +109,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/w QPushButton { border-image: url(:/images/bottom_bar/help.png); } QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/help_ov.png); } - - - @@ -231,9 +129,6 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/h QPushButton { border-image: url(:/images/bottom_bar/config.png); } QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/config_ov.png); } - - - @@ -281,6 +176,9 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c 803 + + Qt::NoFocus + true @@ -309,6 +207,93 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c + + + + 1 + 427 + 299 + 219 + + + + + 0 + 0 + + + + QPushButton { background-image: url(:/images/etc/main_btn_04.png); } +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_04_ov.png); } + + + 선호 요리 + + + true + + + mode + + + + + + 600 + 427 + 299 + 219 + + + + + 0 + 0 + + + + QPushButton { background-image: url(:/images/etc/main_btn_05.png); } +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_05_ov.png); } + + + 즐겨찾기 + + + true + + + mode + + + + + + 300 + 427 + 299 + 219 + + + + + 0 + 0 + + + + QPushButton { background-image: url(:/images/etc/main_btn_03.png); } +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/etc/main_btn_03_ov.png); } + + + 최근 요리 + + + true + + + mode + + @@ -324,6 +309,15 @@ QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/c
washwarnicon.h
+ + mostCookedButton + recentsButton + favoritesButton + backButton + configButton + washButton + helpButton + -- 2.1.4