#include #include "keyboard_num.h" #include "ui_keyboard_num.h" KeyBoard_Num::KeyBoard_Num(QWidget *parent, const quint8 type, Work_Thread *thread) : customDialog(parent), ui(new Ui::keyboard_num) { ui->setupUi(this); work_thread = thread; connect(work_thread,SIGNAL(SentInterface(int)),this,SLOT(UpdateInterface(int))); data_kb.If_OK = false; setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint); EditString.clear(); if(INPUT_DATA == type) { ui->pushButton_to->setEnabled(false); ui->pushButton_time->setEnabled(false); } if(INPUT_TIME == type) { ui->pushButton_point->setEnabled(false); ui->pushButton_to->setEnabled(false); } else if(INPUT_DATE == type) { ui->pushButton_point->setEnabled(false); ui->pushButton_time->setEnabled(false); } else if(INPUT_ALLNO == type || INPUT_PW == type) { ui->pushButton_point->setEnabled(false); ui->pushButton_time->setEnabled(false); ui->pushButton_to->setEnabled(false); } if(INPUT_PW == type) { ui->lineEdit->setEchoMode(QLineEdit::Password); ui->lineEdit->setMaxLength(6); } set_btn_beep(ui->pushButton_00,SIGNAL(pressed())); set_btn_beep(ui->pushButton_01,SIGNAL(pressed())); set_btn_beep(ui->pushButton_02,SIGNAL(pressed())); set_btn_beep(ui->pushButton_03,SIGNAL(pressed())); set_btn_beep(ui->pushButton_04,SIGNAL(pressed())); set_btn_beep(ui->pushButton_05,SIGNAL(pressed())); set_btn_beep(ui->pushButton_06,SIGNAL(pressed())); set_btn_beep(ui->pushButton_07,SIGNAL(pressed())); set_btn_beep(ui->pushButton_08,SIGNAL(pressed())); set_btn_beep(ui->pushButton_09,SIGNAL(pressed())); set_btn_beep(ui->pushButton_point,SIGNAL(pressed())); set_btn_beep(ui->pushButton_to,SIGNAL(pressed())); set_btn_beep(ui->pushButton_time,SIGNAL(pressed())); set_btn_beep(ui->pushButton_back,SIGNAL(pressed())); set_btn_beep(ui->pushButton_return,SIGNAL(pressed())); set_btn_beep(ui->pushButton_OK,SIGNAL(pressed())); connect(ui->pushButton_00,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_01,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_02,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_03,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_04,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_05,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_06,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_07,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_08,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_09,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_point,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_to,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_time,SIGNAL(released()),this,SLOT(num_key_released())); connect(ui->pushButton_back,SIGNAL(released()),this,SLOT(function_key_released())); connect(ui->pushButton_return,SIGNAL(released()),this,SLOT(function_key_released())); connect(ui->pushButton_OK,SIGNAL(released()),this,SLOT(function_key_released())); } KeyBoard_Num::~KeyBoard_Num() { delete ui; } void KeyBoard_Num::UpdateInterface(int interface) { this->closeCustom(false); } void KeyBoard_Num::num_key_released() { QPushButton *pb = dynamic_cast(sender()); EditString.append(pb->text()); ui->lineEdit->setText(EditString); } void KeyBoard_Num::function_key_released() { QPushButton *pb = dynamic_cast(sender()); if(ui->pushButton_back == pb) { if(EditString.length()>0) { EditString = EditString.left(EditString.length()-1); ui->lineEdit->setText(EditString); } } else if(ui->pushButton_return == pb) { data_kb.If_OK = false; closeKeyboard(true); } else if(ui->pushButton_OK == pb) { if(ui->lineEdit->text() == "") { data_kb.If_OK = false; } else { data_kb.If_OK = true; data_kb.set_text = ui->lineEdit->text(); } closeKeyboard(true); } } //--------------------------------------------------------- bool KeyBoard_Num::execKeyboard() { /* QPropertyAnimation *animation = new QPropertyAnimation(ui->widget, "geometry"); animation->setDuration(50); animation->setStartValue(QRect(0,480,800,480)); animation->setEndValue(QRect(0,0,300,350)); animation->start(); */ return(this->exec()); } void KeyBoard_Num::closeKeyboard(bool accepted) { QPropertyAnimation *animation = new QPropertyAnimation(ui->widget, "geometry"); animation->stop(); if(accepted) QTimer::singleShot(100, this, SLOT(accept())); else QTimer::singleShot(100, this, SLOT(reject())); } DATA_KB_RTN KeyBoard_Num::get_kb_data() { return data_kb; }