示例#1
0
QWidget* PredictiveKeyboard::widget(QWidget*)
{
    if(!mKeyboard) {
        mKeyboard = new KeyboardWidget(createKeyboardConfig(), 0);
        //TODO: load layouts from config
        mKeyboard->addBoard("russian", QStringList() << "ЙЦУКЕНГШЩЗХЪ" << "ФЫВАПРОЛДЖЭ" << "ЯЧСМИТЬБЮ,", KeyboardWidget::UpperCase);
        mKeyboard->addBoard("russian", QStringList() << "йцукенгшщзхъ" << "фывапролджэ" << (QString("ячсмитьбю.") + QChar(0x21b5)), KeyboardWidget::LowerCase);

        mKeyboard->addBoard("english", QStringList() << "QWERTYUIOP" << "ASDFGHJKL" << "ZXCVBNM", KeyboardWidget::UpperCase);
        mKeyboard->addBoard("english", QStringList() << "qwertyuiop" << "asdfghjkl" << "zxcvbnm", KeyboardWidget::LowerCase);

        mKeyboard->addBoard("numeric", QStringList() << "12345" << "67890", KeyboardWidget::Numeric);
        mKeyboard->addBoard("symbol",  QStringList() << "^#@!$()*&%" << "|,.;:'?\\`" << (QString("[]+=-/~\"_") + QChar(0x21b5)), KeyboardWidget::NonAlphabet);

        mKeyboard->setDefaultLayout("russian");

        QObject::connect(mKeyboard, SIGNAL(preedit(QString)), this, SLOT(preedit(QString)));
        QObject::connect(mKeyboard, SIGNAL(commit(QString)), this, SLOT(submitWord(QString)));
        QObject::connect(mKeyboard, SIGNAL(commit(QString)), this, SLOT(checkMicroFocus()));
        QObject::connect(mKeyboard, SIGNAL(backspace()), this, SLOT(erase()));
        KeyboardWidget::instantiatePopupScreen();
    }

    return mKeyboard;
};
示例#2
0
Keyboard::Keyboard(QWidget* parent, Qt::WFlags f) : QWSInputMethod()
{
    // The keyboard frame is meaningless after the Keyboard IM is destroyed,
    // so keep control of it by never parenting KeyboardFrame;
    // This should also help keep the keyboard on top of other widgets.
    Q_UNUSED(parent);
    keyboardFrame = new KeyboardFrame(0, f);
    connect(keyboardFrame, SIGNAL(needsPositionConfirmation()), this, SLOT(checkMicroFocus()));
};