Example #1
0
bool EditorCompletion::eventFilter( QObject *obj, QEvent *ev )
{
    if ( obj == d->completionPopup || obj == d->completionListBox )
    {

        if ( ev->type() == QEvent::KeyPress )
        {
            QKeyEvent *ke = (QKeyEvent*)ev;
            if ( ke->key() == Key_Enter || ke->key() == Key_Return  )
            {
    doneCompletion();
    return true;
            }
            else if ( ke->key() == Key_Left || ke->key() == Key_Right ||
            ke->key() == Key_Up || ke->key() == Key_Down ||
            ke->key() == Key_Home || ke->key() == Key_End ||
            ke->key() == Key_Prior || ke->key() == Key_Next )
    return false;

            d->completionPopup->close();
            d->editor->setFocus();
            QApplication::sendEvent( d->editor, ev );
            return true;
        }

        if ( ev->type() == QEvent::MouseButtonDblClick )
        {
            doneCompletion();
            return true;
        }

    }

    return false;
}
Example #2
0
bool AutoComplete::eventFilter(QObject *obj, QEvent *ev) {
    if (obj != popup)
        return false;

    if (ev->type() == QEvent::MouseButtonPress) {
        popup->hide();
        editor->setFocus();
        editor->setText(originalText);
        return true;
    }

    if (ev->type() == QEvent::KeyPress) {

        bool consumed = false;

        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(ev);
        int key = keyEvent->key();
        // qDebug() << keyEvent->text();
        switch (key) {
        case Qt::Key_Enter:
        case Qt::Key_Return:
            if (popup->currentItem()) {
                doneCompletion();
                consumed = true;
            } else {
                editor->setFocus();
                editor->event(ev);
                popup->hide();
            }
            break;

        case Qt::Key_Escape:
            editor->setFocus();
            editor->setText(originalText);
            popup->hide();
            consumed = true;
            break;

        case Qt::Key_Up:
        case Qt::Key_Down:
        case Qt::Key_Home:
        case Qt::Key_End:
        case Qt::Key_PageUp:
        case Qt::Key_PageDown:
            break;

        default:
            // qDebug() << keyEvent->text();
            editor->setFocus();
            editor->event(ev);
            popup->hide();
            break;
        }

        return consumed;
    }

    return false;
}
Example #3
0
int GSuggestCompletion::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: doneCompletion(); break;
        case 1: preventSuggest(); break;
        case 2: autoSuggest(); break;
        case 3: handleNetworkData((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        }
        _id -= 4;
    }
    return _id;
}
//! [4]
bool GSuggestCompletion::eventFilter(QObject *obj, QEvent *ev)
{
    if (obj != popup)
        return false;

    if (ev->type() == QEvent::MouseButtonPress) {
        popup->hide();
        editor->setFocus();
        return true;
    }

    if (ev->type() == QEvent::KeyPress) {

        bool consumed = false;
        int key = static_cast<QKeyEvent*>(ev)->key();
        switch (key) {
        case Qt::Key_Enter:
        case Qt::Key_Return:
            doneCompletion();
            consumed = true;

        case Qt::Key_Escape:
            editor->setFocus();
            popup->hide();
            consumed = true;

        case Qt::Key_Up:
        case Qt::Key_Down:
        case Qt::Key_Home:
        case Qt::Key_End:
        case Qt::Key_PageUp:
        case Qt::Key_PageDown:
            break;

        default:
            editor->setFocus();
            editor->event(ev);
            popup->hide();
            break;
        }

        return consumed;
    }

    return false;
}
Example #5
0
bool EditorCompletion::eventFilter(QObject* object, QEvent* event)
{
    if (object != m_popup)
        return false;

    if (event->type() == QEvent::KeyPress) {
        int key = static_cast<QKeyEvent*>(event)->key();

        switch (key) {
        case Qt::Key_Enter:
        case Qt::Key_Return:
        case Qt::Key_Tab:
            doneCompletion();
            return true;

        case Qt::Key_Up:
        case Qt::Key_Down:
        case Qt::Key_Home:
        case Qt::Key_End:
        case Qt::Key_PageUp:
        case Qt::Key_PageDown:
            return false;

        default:
            m_popup->hide();
            m_editor->setFocus();
            if (key != Qt::Key_Escape)
                QApplication::sendEvent(m_editor, event);
            return true;
        }
    }

    if (event->type() == QEvent::MouseButtonPress) {
        m_popup->hide();
        m_editor->setFocus();
        return true;
    }

    return false;
}
Example #6
0
bool ConstantCompletion::eventFilter(QObject* object, QEvent* event)
{
    if (event->type() == QEvent::Hide) {
        emit canceledCompletion();
        return true;
    }

    if (object == m_constantWidget) {

        if (event->type() == QEvent::KeyPress) {
            int key = static_cast<QKeyEvent*>(event)->key();

            switch (key) {
            case Qt::Key_Enter:
            case Qt::Key_Return:
            case Qt::Key_Tab:
                doneCompletion();
                return true;

            case Qt::Key_Left:
                showCategory();
                return true;

            case Qt::Key_Right:
            case Qt::Key_Up:
            case Qt::Key_Down:
            case Qt::Key_Home:
            case Qt::Key_End:
            case Qt::Key_PageUp:
            case Qt::Key_PageDown:
                return false;
            }

            if (key != Qt::Key_Escape)
                QApplication::sendEvent(m_editor, event);
            emit canceledCompletion();
            return true;
        }
    }

    if (object == m_categoryWidget) {

        if (event->type() == QEvent::KeyPress) {
            int key = static_cast<QKeyEvent*>(event)->key();

            switch (key) {
            case Qt::Key_Enter:
            case Qt::Key_Return:
            case Qt::Key_Right:
                showConstants();
                return true;

            case Qt::Key_Up:
            case Qt::Key_Down:
            case Qt::Key_Home:
            case Qt::Key_End:
            case Qt::Key_PageUp:
            case Qt::Key_PageDown:
                return false;
            }

            if (key != Qt::Key_Escape)
                QApplication::sendEvent(m_editor, event);
            emit canceledCompletion();
            return true;
        }
    }

    return false;
}