#include "keyboard_num.h"
|
#include "ui_keyboard_num.h"
|
#include <QPropertyAnimation>
|
|
#include <QTimer>
|
#include "Driver/buzzerdrv.h"
|
|
KeyBoard_Num::KeyBoard_Num(QWidget *parent, const quint8 type, const QString &text) :
|
custom_dialog(parent),
|
ui(new Ui::keyboard_num)
|
{
|
ui->setupUi(this);
|
|
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
|
|
//this->setGeometry(250,150,512,322);
|
this->setGeometry(156,120,512,322);
|
|
ui->lineEdit_show->setText(text);
|
|
EditString.clear();
|
data_kb.If_OK = false;
|
data_kb.set_text.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_INT == 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::num_key_released()
|
{
|
QPushButton *pb = dynamic_cast<QPushButton*>(sender());
|
EditString.append(pb->text());
|
ui->lineEdit->setText(EditString);
|
}
|
|
void KeyBoard_Num::function_key_released()
|
{
|
QPushButton *pb = dynamic_cast<QPushButton*>(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();
|
}
|
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();
|
}
|
}
|
|
//---------------------------------------------------------
|
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()
|
{
|
/*
|
QPropertyAnimation *animation = new QPropertyAnimation(ui->widget, "geometry");
|
animation->stop();
|
if(accepted)
|
QTimer::singleShot(100, this, SLOT(accept()));
|
else
|
QTimer::singleShot(100, this, SLOT(reject()));
|
*/
|
|
this->close();
|
}
|
|
DATA_KB_RTN KeyBoard_Num::get_kb_data()
|
{
|
return data_kb;
|
}
|