Blame view

app/gui/oven_control/reservedtimepopup.cpp 1.63 KB
0e279295f   김태훈   수동 요리 구현
1
2
3
4
  #include "reservedtimepopup.h"
  #include "ui_reservedtimepopup.h"
  
  #include <QDebug>
f5634ecc7   김태훈   엔코더 구현
5
  #include <QKeyEvent>
0e279295f   김태훈   수동 요리 구현
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  
  #include "stringer.h"
  
  ReservedTimePopup::ReservedTimePopup(QWidget *parent, QDateTime target) :
      QWidget(parent),
      ui(new Ui::ReservedTimePopup),
      target(target)
  {
      ui->setupUi(this);
  
      setAttribute(Qt::WA_DeleteOnClose);
  
      connect(&checkTimeTimer, SIGNAL(timeout()), SLOT(checkTime()));
      checkTimeTimer.start(100);
  
      checkTime();
f5634ecc7   김태훈   엔코더 구현
22
23
  
      setFocus();
0e279295f   김태훈   수동 요리 구현
24
25
26
27
28
29
  }
  
  ReservedTimePopup::~ReservedTimePopup()
  {
      delete ui;
  }
f5634ecc7   김태훈   엔코더 구현
30
31
32
33
  void ReservedTimePopup::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
34
      case 0x01000032:    // Turn left
f5634ecc7   김태훈   엔코더 구현
35
36
37
38
          ui->cancelButton->setFocus();
          break;
      case 0x01000031:    // Push
          break;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
39
      case 0x01000030:    // Turn right
f5634ecc7   김태훈   엔코더 구현
40
41
42
43
44
45
46
47
48
          ui->cancelButton->setFocus();
          break;
      }
  }
  
  void ReservedTimePopup::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
49
      case 0x01000032:    // Turn left
f5634ecc7   김태훈   엔코더 구현
50
51
52
53
54
          ui->cancelButton->setFocus();
          break;
      case 0x01000031:    // Push
          ui->cancelButton->click();
          break;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
55
      case 0x01000030:    // Turn right
f5634ecc7   김태훈   엔코더 구현
56
57
58
59
          ui->cancelButton->setFocus();
          break;
      }
  }
0e279295f   김태훈   수동 요리 구현
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  void ReservedTimePopup::checkTime()
  {
      qint64 remaining = QDateTime::currentDateTime().msecsTo(target);
      if (remaining > 0)
          ui->timeLabel->setText(Stringer::remainingTime(remaining));
      else
      {
          emit timeout();
          close();
      }
  }
  
  void ReservedTimePopup::on_cancelButton_clicked()
  {
f5634ecc7   김태훈   엔코더 구현
74
75
76
      QWidget *focused = focusWidget();
      if (focused)
          focused->clearFocus();
0e279295f   김태훈   수동 요리 구현
77
78
79
      emit canceled();
      close();
  }