xref: /OK3568_Linux_fs/app/qsetting/qtkeyboard.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef QKEYBOARD_H
2*4882a593Smuzhiyun #define QKEYBOARD_H
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun //#include "basewidget.h"
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun #include <QLabel>
7*4882a593Smuzhiyun #include <QLineEdit>
8*4882a593Smuzhiyun #include <QMouseEvent>
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun namespace Ui
11*4882a593Smuzhiyun {
12*4882a593Smuzhiyun class QKeyBoard;
13*4882a593Smuzhiyun }
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun class QKeyBoard : public QWidget
16*4882a593Smuzhiyun {
17*4882a593Smuzhiyun     Q_OBJECT
18*4882a593Smuzhiyun public:
19*4882a593Smuzhiyun     explicit QKeyBoard(QWidget *parent = nullptr);
20*4882a593Smuzhiyun     ~QKeyBoard();
21*4882a593Smuzhiyun 
getInstance()22*4882a593Smuzhiyun     static QKeyBoard* getInstance()
23*4882a593Smuzhiyun     {
24*4882a593Smuzhiyun         if (!_instance) {
25*4882a593Smuzhiyun             _instance = new QKeyBoard;
26*4882a593Smuzhiyun         }
27*4882a593Smuzhiyun         return _instance;
28*4882a593Smuzhiyun     }
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun private:
31*4882a593Smuzhiyun     Ui::QKeyBoard *ui;
32*4882a593Smuzhiyun     static QKeyBoard* _instance;
33*4882a593Smuzhiyun     bool isShiftOn;
34*4882a593Smuzhiyun     QLineEdit *lineEdit;
35*4882a593Smuzhiyun     QPoint mousePoint;
36*4882a593Smuzhiyun     bool mousePressed;
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun     void changeInputType(bool caps);
39*4882a593Smuzhiyun     void showPanel();
40*4882a593Smuzhiyun     void hidePanel();
41*4882a593Smuzhiyun     void insertValue(const QString &value);
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun protected:
44*4882a593Smuzhiyun     void mouseMoveEvent(QMouseEvent *event);
45*4882a593Smuzhiyun     void mouseReleaseEvent(QMouseEvent *event);
46*4882a593Smuzhiyun     void mousePressEvent(QMouseEvent *event);
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun private slots:
49*4882a593Smuzhiyun     void slot_onApplicationFocusChanged(QWidget *, QWidget *);
50*4882a593Smuzhiyun     void btn_clicked();
51*4882a593Smuzhiyun };
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #endif // QKEYBOARD_H
54