Commit 0ce283850eaeba1c59803c9ba388757ef3dee25f

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

로터리 엔코더 임시 구현

app/gui/oven_control/mainwindow.cpp
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 3
4 #include <QtDebug> 4 #include <QtDebug>
5 #include <QSignalMapper> 5 #include <QSignalMapper>
  6 +#include <QKeyEvent>
6 7
7 #include "abstractoveninterface.h" 8 #include "abstractoveninterface.h"
8 #include "manualcookwindow.h" 9 #include "manualcookwindow.h"
@@ -20,6 +21,8 @@ MainWindow::MainWindow(QWidget *parent) : @@ -20,6 +21,8 @@ MainWindow::MainWindow(QWidget *parent) :
20 ui(new Ui::MainWindow) 21 ui(new Ui::MainWindow)
21 { 22 {
22 ui->setupUi(this); 23 ui->setupUi(this);
  24 +
  25 + setFocus();
23 } 26 }
24 27
25 MainWindow::~MainWindow() 28 MainWindow::~MainWindow()
@@ -27,6 +30,45 @@ MainWindow::~MainWindow() @@ -27,6 +30,45 @@ MainWindow::~MainWindow()
27 delete ui; 30 delete ui;
28 } 31 }
29 32
  33 +static QPushButton *pushedChild = NULL;
  34 +
  35 +void MainWindow::keyPressEvent(QKeyEvent *event)
  36 +{
  37 + switch (event->key())
  38 + {
  39 + case 0x01000030: // Turn left
  40 + focusPreviousChild();
  41 + break;
  42 + case 0x01000031: // Push
  43 + if (focusWidget() != this)
  44 + pushedChild = static_cast<QPushButton *>(focusWidget());
  45 + break;
  46 + case 0x01000032: // Turn right
  47 + focusNextChild();
  48 + break;
  49 + }
  50 +}
  51 +
  52 +void MainWindow::keyReleaseEvent(QKeyEvent *event)
  53 +{
  54 + switch (event->key())
  55 + {
  56 + case 0x01000030: // Turn left
  57 + focusPreviousChild();
  58 + break;
  59 + case 0x01000031: // Push
  60 + if (focusWidget() == pushedChild)
  61 + pushedChild->click();
  62 +
  63 + setFocus();
  64 + pushedChild = NULL;
  65 + break;
  66 + case 0x01000032: // Turn right
  67 + focusNextChild();
  68 + break;
  69 + }
  70 +}
  71 +
30 void MainWindow::showManualCookWindow(Define::Mode mode) 72 void MainWindow::showManualCookWindow(Define::Mode mode)
31 { 73 {
32 ManualCookWindow *w = new ManualCookWindow(this, mode); 74 ManualCookWindow *w = new ManualCookWindow(this, mode);
app/gui/oven_control/mainwindow.h
@@ -18,6 +18,10 @@ public: @@ -18,6 +18,10 @@ public:
18 explicit MainWindow(QWidget *parent = 0); 18 explicit MainWindow(QWidget *parent = 0);
19 ~MainWindow(); 19 ~MainWindow();
20 20
  21 +protected:
  22 + void keyPressEvent(QKeyEvent *event);
  23 + void keyReleaseEvent(QKeyEvent *event);
  24 +
21 private slots: 25 private slots:
22 void showManualCookWindow(Define::Mode mode); 26 void showManualCookWindow(Define::Mode mode);
23 void showAutoCookSelectionWindow(Define::CookType type); 27 void showAutoCookSelectionWindow(Define::CookType type);
app/gui/oven_control/mainwindow.ui
@@ -117,7 +117,7 @@ font-size: 30px; @@ -117,7 +117,7 @@ font-size: 30px;
117 </property> 117 </property>
118 <property name="styleSheet"> 118 <property name="styleSheet">
119 <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/config.png); } 119 <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/config.png); }
120 -QPushButton:pressed { border-image: url(:/images/bottom_bar/config_ov.png); }</string> 120 +QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/config_ov.png); }</string>
121 </property> 121 </property>
122 <property name="text"> 122 <property name="text">
123 <string/> 123 <string/>
@@ -146,7 +146,7 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/config_ov.png); }&lt;/s @@ -146,7 +146,7 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/config_ov.png); }&lt;/s
146 </property> 146 </property>
147 <property name="styleSheet"> 147 <property name="styleSheet">
148 <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/help.png); } 148 <string notr="true">QPushButton { border-image: url(:/images/bottom_bar/help.png); }
149 -QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }</string> 149 +QPushButton:pressed, QPushButton:focus { border-image: url(:/images/bottom_bar/help_ov.png); }</string>
150 </property> 150 </property>
151 <property name="text"> 151 <property name="text">
152 <string/> 152 <string/>
@@ -170,7 +170,7 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }&lt;/str @@ -170,7 +170,7 @@ QPushButton:pressed { border-image: url(:/images/bottom_bar/help_ov.png); }&lt;/str
170 </property> 170 </property>
171 <property name="styleSheet"> 171 <property name="styleSheet">
172 <string notr="true">QPushButton { background-image: url(:/images/main_button/multi.png); } 172 <string notr="true">QPushButton { background-image: url(:/images/main_button/multi.png); }
173 -QPushButton:pressed { background-image: url(:/images/main_button/multi_ov.png); }</string> 173 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/main_button/multi_ov.png); }</string>
174 </property> 174 </property>
175 <property name="text"> 175 <property name="text">
176 <string>다중요리</string> 176 <string>다중요리</string>
@@ -196,7 +196,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/multi_ov.png); @@ -196,7 +196,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/multi_ov.png);
196 </property> 196 </property>
197 <property name="styleSheet"> 197 <property name="styleSheet">
198 <string notr="true">QPushButton { background-image: url(:/images/main_button/custom.png); } 198 <string notr="true">QPushButton { background-image: url(:/images/main_button/custom.png); }
199 -QPushButton:pressed { background-image: url(:/images/main_button/custom_ov.png); }</string> 199 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/main_button/custom_ov.png); }</string>
200 </property> 200 </property>
201 <property name="text"> 201 <property name="text">
202 <string>프로그래밍모드</string> 202 <string>프로그래밍모드</string>
@@ -222,7 +222,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/custom_ov.png); @@ -222,7 +222,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/custom_ov.png);
222 </property> 222 </property>
223 <property name="styleSheet"> 223 <property name="styleSheet">
224 <string notr="true">QPushButton { background-image: url(:/images/main_button/wash.png); } 224 <string notr="true">QPushButton { background-image: url(:/images/main_button/wash.png); }
225 -QPushButton:pressed { background-image: url(:/images/main_button/wash_ov.png); }</string> 225 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/main_button/wash_ov.png); }</string>
226 </property> 226 </property>
227 <property name="text"> 227 <property name="text">
228 <string>세척모드</string> 228 <string>세척모드</string>
@@ -320,7 +320,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/wash_ov.png); } @@ -320,7 +320,7 @@ QPushButton:pressed { background-image: url(:/images/main_button/wash_ov.png); }
320 </property> 320 </property>
321 <property name="styleSheet"> 321 <property name="styleSheet">
322 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_dryheat.png); } 322 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_dryheat.png); }
323 -QPushButton:pressed { background-image: url(:/images/cook_mode/big_dryheat_ov.png); }</string> 323 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_mode/big_dryheat_ov.png); }</string>
324 </property> 324 </property>
325 <property name="text"> 325 <property name="text">
326 <string>건열</string> 326 <string>건열</string>
@@ -340,7 +340,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_dryheat_ov.pn @@ -340,7 +340,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_dryheat_ov.pn
340 </property> 340 </property>
341 <property name="styleSheet"> 341 <property name="styleSheet">
342 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_combi.png); } 342 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_combi.png); }
343 -QPushButton:pressed { background-image: url(:/images/cook_mode/big_combi_ov.png); }</string> 343 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_mode/big_combi_ov.png); }</string>
344 </property> 344 </property>
345 <property name="text"> 345 <property name="text">
346 <string>콤비</string> 346 <string>콤비</string>
@@ -360,7 +360,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_combi_ov.png) @@ -360,7 +360,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_combi_ov.png)
360 </property> 360 </property>
361 <property name="styleSheet"> 361 <property name="styleSheet">
362 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_steam.png); } 362 <string notr="true">QPushButton { background-image: url(:/images/cook_mode/big_steam.png); }
363 -QPushButton:pressed { background-image: url(:/images/cook_mode/big_steam_ov.png); }</string> 363 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_mode/big_steam_ov.png); }</string>
364 </property> 364 </property>
365 <property name="text"> 365 <property name="text">
366 <string>스팀</string> 366 <string>스팀</string>
@@ -386,7 +386,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_steam_ov.png) @@ -386,7 +386,7 @@ QPushButton:pressed { background-image: url(:/images/cook_mode/big_steam_ov.png)
386 </property> 386 </property>
387 <property name="styleSheet"> 387 <property name="styleSheet">
388 <string notr="true">QPushButton { background-image: url(:/images/cook_type/meat.png); } 388 <string notr="true">QPushButton { background-image: url(:/images/cook_type/meat.png); }
389 -QPushButton:pressed { background-image: url(:/images/cook_type/meat_ov.png); }</string> 389 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/meat_ov.png); }</string>
390 </property> 390 </property>
391 <property name="text"> 391 <property name="text">
392 <string>육류</string> 392 <string>육류</string>
@@ -412,7 +412,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/meat_ov.png); }&lt;/ @@ -412,7 +412,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/meat_ov.png); }&lt;/
412 </property> 412 </property>
413 <property name="styleSheet"> 413 <property name="styleSheet">
414 <string notr="true">QPushButton { background-image: url(:/images/cook_type/desert.png); } 414 <string notr="true">QPushButton { background-image: url(:/images/cook_type/desert.png); }
415 -QPushButton:pressed { background-image: url(:/images/cook_type/desert_ov.png); }</string> 415 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/desert_ov.png); }</string>
416 </property> 416 </property>
417 <property name="text"> 417 <property name="text">
418 <string>디저트류</string> 418 <string>디저트류</string>
@@ -438,7 +438,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/desert_ov.png); } @@ -438,7 +438,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/desert_ov.png); }
438 </property> 438 </property>
439 <property name="styleSheet"> 439 <property name="styleSheet">
440 <string notr="true">QPushButton { background-image: url(:/images/cook_type/etc.png); } 440 <string notr="true">QPushButton { background-image: url(:/images/cook_type/etc.png); }
441 -QPushButton:pressed { background-image: url(:/images/cook_type/etc_ov.png); }</string> 441 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/etc_ov.png); }</string>
442 </property> 442 </property>
443 <property name="text"> 443 <property name="text">
444 <string>기타요리</string> 444 <string>기타요리</string>
@@ -464,7 +464,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/etc_ov.png); }&lt;/s @@ -464,7 +464,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/etc_ov.png); }&lt;/s
464 </property> 464 </property>
465 <property name="styleSheet"> 465 <property name="styleSheet">
466 <string notr="true">QPushButton { background-image: url(:/images/cook_type/vegetable.png); } 466 <string notr="true">QPushButton { background-image: url(:/images/cook_type/vegetable.png); }
467 -QPushButton:pressed { background-image: url(:/images/cook_type/vegetable_ov.png); }</string> 467 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/vegetable_ov.png); }</string>
468 </property> 468 </property>
469 <property name="text"> 469 <property name="text">
470 <string>채소및곡류</string> 470 <string>채소및곡류</string>
@@ -490,7 +490,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/vegetable_ov.png) @@ -490,7 +490,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/vegetable_ov.png)
490 </property> 490 </property>
491 <property name="styleSheet"> 491 <property name="styleSheet">
492 <string notr="true">QPushButton { background-image: url(:/images/cook_type/poultry.png); } 492 <string notr="true">QPushButton { background-image: url(:/images/cook_type/poultry.png); }
493 -QPushButton:pressed { background-image: url(:/images/cook_type/poultry_ov.png); }</string> 493 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/poultry_ov.png); }</string>
494 </property> 494 </property>
495 <property name="text"> 495 <property name="text">
496 <string>가금류</string> 496 <string>가금류</string>
@@ -516,7 +516,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/poultry_ov.png); @@ -516,7 +516,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/poultry_ov.png);
516 </property> 516 </property>
517 <property name="styleSheet"> 517 <property name="styleSheet">
518 <string notr="true">QPushButton { background-image: url(:/images/cook_type/fish.png); } 518 <string notr="true">QPushButton { background-image: url(:/images/cook_type/fish.png); }
519 -QPushButton:pressed { background-image: url(:/images/cook_type/fish_ov.png); }</string> 519 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/fish_ov.png); }</string>
520 </property> 520 </property>
521 <property name="text"> 521 <property name="text">
522 <string>생선류</string> 522 <string>생선류</string>
@@ -542,7 +542,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/fish_ov.png); }&lt;/ @@ -542,7 +542,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/fish_ov.png); }&lt;/
542 </property> 542 </property>
543 <property name="styleSheet"> 543 <property name="styleSheet">
544 <string notr="true">QPushButton { background-image: url(:/images/cook_type/bread.png); } 544 <string notr="true">QPushButton { background-image: url(:/images/cook_type/bread.png); }
545 -QPushButton:pressed { background-image: url(:/images/cook_type/bread_ov.png); }</string> 545 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/bread_ov.png); }</string>
546 </property> 546 </property>
547 <property name="text"> 547 <property name="text">
548 <string>제과제빵류</string> 548 <string>제과제빵류</string>
@@ -568,7 +568,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/bread_ov.png); }&lt; @@ -568,7 +568,7 @@ QPushButton:pressed { background-image: url(:/images/cook_type/bread_ov.png); }&lt;
568 </property> 568 </property>
569 <property name="styleSheet"> 569 <property name="styleSheet">
570 <string notr="true">QPushButton { background-image: url(:/images/cook_type/additional.png); } 570 <string notr="true">QPushButton { background-image: url(:/images/cook_type/additional.png); }
571 -QPushButton:pressed { background-image: url(:/images/cook_type/additional_ov.png); }</string> 571 +QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_type/additional_ov.png); }</string>
572 </property> 572 </property>
573 <property name="text"> 573 <property name="text">
574 <string>부가기능</string> 574 <string>부가기능</string>
@@ -689,6 +689,24 @@ QPushButton:pressed { background-image: url(:/images/cook_type/additional_ov.png @@ -689,6 +689,24 @@ QPushButton:pressed { background-image: url(:/images/cook_type/additional_ov.png
689 <container>1</container> 689 <container>1</container>
690 </customwidget> 690 </customwidget>
691 </customwidgets> 691 </customwidgets>
  692 + <tabstops>
  693 + <tabstop>steamButton</tabstop>
  694 + <tabstop>combiButton</tabstop>
  695 + <tabstop>dryheatButton</tabstop>
  696 + <tabstop>poultryButton</tabstop>
  697 + <tabstop>meatButton</tabstop>
  698 + <tabstop>fishButton</tabstop>
  699 + <tabstop>dessertButton</tabstop>
  700 + <tabstop>grainButton</tabstop>
  701 + <tabstop>breadButton</tabstop>
  702 + <tabstop>etcButton</tabstop>
  703 + <tabstop>primeButton</tabstop>
  704 + <tabstop>multiButton</tabstop>
  705 + <tabstop>programmingButton</tabstop>
  706 + <tabstop>washButton</tabstop>
  707 + <tabstop>configButton</tabstop>
  708 + <tabstop>helpButton</tabstop>
  709 + </tabstops>
692 <resources/> 710 <resources/>
693 <connections/> 711 <connections/>
694 </ui> 712 </ui>