예제 #1
0
    bool hasClipboardText()
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return false;

        return env.jniEnv->CallStaticBooleanMethod(applicationClass(), m_hasClipboardTextMethodID);
    }
예제 #2
0
    void setClipboardListener(QAndroidPlatformClipboard *listener)
    {
        Q_UNUSED(listener);

        AttachedJNIEnv env;
        if (!env.jniEnv)
            return;

        env.jniEnv->CallStaticVoidMethod(applicationClass(), m_registerClipboardManagerMethodID);
    }
    void resetSoftwareKeyboard()
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return;

        env.jniEnv->CallStaticVoidMethod(applicationClass(), m_resetSoftwareKeyboardMethodID);
#ifdef QT_DEBUG_ANDROID_IM_PROTOCOL
        qDebug() << "@@@ RESETSOFTWAREKEYBOARD";
#endif
    }
예제 #4
0
    void setClipboardText(const QString &text)
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return;

        jstring jtext = env.jniEnv->NewString(reinterpret_cast<const jchar *>(text.data()),
                                              text.length());
        env.jniEnv->CallStaticVoidMethod(applicationClass(), m_setClipboardTextMethodID, jtext);
        env.jniEnv->DeleteLocalRef(jtext);
    }
    void updateSelection(int selStart, int selEnd, int candidatesStart, int candidatesEnd)
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return;

#ifdef QT_DEBUG_ANDROID_IM_PROTOCOL
        qDebug() << ">>> UPDATESELECTION" << selStart << selEnd << candidatesStart << candidatesEnd;
#endif
        env.jniEnv->CallStaticVoidMethod(applicationClass(), m_updateSelectionMethodID,
                                         selStart, selEnd, candidatesStart, candidatesEnd);
    }
    bool isSoftwareKeyboardVisible()
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return false;

        bool visibility = env.jniEnv->CallStaticBooleanMethod(applicationClass(), m_isSoftwareKeyboardVisibleMethodID);
#ifdef QT_DEBUG_ANDROID_IM_PROTOCOL
        qDebug() << "@@@ ISSOFTWAREKEYBOARDVISIBLE" << visibility;
#endif
        return visibility;
    }
예제 #7
0
    QString clipboardText()
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return QString();

        jstring text = reinterpret_cast<jstring>(env.jniEnv->CallStaticObjectMethod(applicationClass(),
                                                                                    m_getClipboardTextMethodID));
        const jchar *jstr = env.jniEnv->GetStringChars(text, 0);
        QString str(reinterpret_cast<const QChar *>(jstr), env.jniEnv->GetStringLength(text));
        env.jniEnv->ReleaseStringChars(text, jstr);
        return str;
    }
    void showSoftwareKeyboard(int left, int top, int width, int height, int inputHints)
    {
        AttachedJNIEnv env;
        if (!env.jniEnv)
            return;

        env.jniEnv->CallStaticVoidMethod(applicationClass(),
                                         m_showSoftwareKeyboardMethodID,
                                         left,
                                         top,
                                         width,
                                         height,
                                         inputHints);
#ifdef QT_DEBUG_ANDROID_IM_PROTOCOL
        qDebug() << "@@@ SHOWSOFTWAREKEYBOARD" << left << top << width << height << inputHints;
#endif
    }