add QAD::VirtualKeyboard library, vkbd for widgets with JSON-based description

This commit is contained in:
2024-05-29 21:42:16 +03:00
parent 85adc666ef
commit ac0f5bc325
18 changed files with 871 additions and 3 deletions

View File

@@ -0,0 +1,39 @@
#ifndef virtual_keyboard_layout_h
#define virtual_keyboard_layout_h
#include <QWidget>
#include "virtual_keyboard_layout_page.h"
class VirtualKeyboardLayout: public QObject {
Q_OBJECT
public:
VirtualKeyboardLayout(QJsonObject root);
~VirtualKeyboardLayout();
QVector<VirtualKeyboardLayoutPage * > getPages() const {return pages;}
VirtualKeyboardLayoutPage * getPageByName(QString name) const;
void setDefaultPage();
void setCurrentPage(VirtualKeyboardLayoutPage * p);
void applyHints(Qt::InputMethodHints hints);
protected:
void setGotoEnabled(bool yes);
void setCapitalEnabled(bool yes);
void setCapital(bool yes);
QVector<VirtualKeyboardLayoutPage * > pages;
VirtualKeyboardLayoutPage * current_page = nullptr;
QString default_page;
private slots:
signals:
void gotoPageRequest(QString);
void hideRequest();
};
#endif