whyclwt
2022-05-18 ab72c6e114d7c4e83564194367ba623ca23bf09d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#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;
}