Blame view

app/gui/oven_control/servicepassinputdlg.cpp 2.09 KB
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
1
2
  #include "servicepassinputdlg.h"
  #include "ui_servicepassinputdlg.h"
d66410abd   고영탁   에러 팝업 형태 변경
3
4
  #include "engineermenuwindow.h"
  #include <QDebug>
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
5
  #include "soundplayer.h"
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
6
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
7
8
9
10
11
12
13
14
15
16
  
  ServicePassInputDlg::ServicePassInputDlg(QWidget *parent) :
      QDialog(parent),
      ui(new Ui::ServicePassInputDlg)
  {
      ui->setupUi(this);
      setWindowFlags(Qt::FramelessWindowHint);
      setAttribute(Qt::WA_NoSystemBackground);
      setAttribute(Qt::WA_TranslucentBackground);
      setAttribute(Qt::WA_DeleteOnClose);
d66410abd   고영탁   에러 팝업 형태 변경
17
      this->setResult(QDialog::Accepted);
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
18
19
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
be2756ef5   고영탁   패스워드 입력 디자인 변경 외 1건
20
21
22
23
      ui->ctrProgressBar->setMaxProgress(0,4);
      m_nCurInputCount = 0;
      this->setFocus();
      memset(m_strInputPass, 0x00, MAX_PASSWORD+1);
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
24
25
26
27
28
29
30
31
32
  }
  
  ServicePassInputDlg::~ServicePassInputDlg()
  {
      delete ui;
  }
  
  void ServicePassInputDlg::on_ctrBtnOk_clicked()
  {
be2756ef5   고영탁   패스워드 입력 디자인 변경 외 1건
33
      if( QString(m_strInputPass) == QString(PASS_WORD)){
d66410abd   고영탁   에러 팝업 형태 변경
34
35
36
37
38
          qDebug() << this->parentWidget() <<this->parent();
          EngineerMenuWindow *w = new EngineerMenuWindow(this->parentWidget());
          connect(w,SIGNAL(destroyed(QObject*)),this,SLOT(close()));
          w->setWindowModality(Qt::WindowModal);
          w->show();
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
39
          this->hide();
d66410abd   고영탁   에러 팝업 형태 변경
40
41
      }
      else {
d66410abd   고영탁   에러 팝업 형태 변경
42
          reject();
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
43
      }
d0ee3ccc8   고영탁   버그 수정 및 비밀 번호 입력창 개발
44
45
46
47
48
49
  }
  
  void ServicePassInputDlg::on_ctrBtnCancel_clicked()
  {
      reject();
  }
be2756ef5   고영탁   패스워드 입력 디자인 변경 외 1건
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  
  void ServicePassInputDlg::keyPressEvent(QKeyEvent *event){
      if(event->key() == Qt::Key_Backspace){
          if(m_nCurInputCount>0) m_nCurInputCount--;
          m_strInputPass[m_nCurInputCount] = 0;
          qDebug() <<"back space input" << QString(m_strInputPass);
           ui->ctrProgressBar->setCurrentProgress(m_nCurInputCount);
      }
  }
  
  void ServicePassInputDlg::inputMethodEvent(QInputMethodEvent *event){
      if(m_nCurInputCount < MAX_PASSWORD){
          if(!event->commitString().isEmpty()){
              const QChar* in = event->commitString().constData();
              m_strInputPass[m_nCurInputCount++] = in[0];
              qDebug() <<"input event" << QString(m_strInputPass);
              ui->ctrProgressBar->setCurrentProgress(m_nCurInputCount);
          }
      }
  }