IBus: Support a property ClientCommitPreedit
IBus added the ClientCommitPreedit property to handle preedit in case. If this writable property is set, ibus_engine tells the client whether current preeditText should be committed or not in the client side when focusOutEvent. (Qt's old behavior is always committing in the client side.) Fixes: QTBUG-109576 Fixes: QTBUG-58005 Pick-to: 6.6 6.5 Change-Id: I6bb78921ce04cdd3197cba9e2fb00376d5e0ac8b Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 84cf0e2be54d9ad183db063fd429b792c67edd18) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
023dd3adb1
commit
c4dfea83b6
@ -2,6 +2,12 @@
|
|||||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||||
<node>
|
<node>
|
||||||
<interface name="org.freedesktop.IBus.InputContext">
|
<interface name="org.freedesktop.IBus.InputContext">
|
||||||
|
<property name="ClientCommitPreedit" type="(b)" access="readwrite">
|
||||||
|
<annotation name="org.qtproject.QtDBus.QtTypeName" value="QIBusPropTypeClientCommitPreedit"/>
|
||||||
|
</property>
|
||||||
|
<property name='ContentType' type='(uu)' access='readwrite'>
|
||||||
|
<annotation name="org.qtproject.QtDBus.QtTypeName" value="QIBusPropTypeContentType"/>
|
||||||
|
</property>
|
||||||
<method name="ProcessKeyEvent">
|
<method name="ProcessKeyEvent">
|
||||||
<arg name="keyval" direction="in" type="u"/>
|
<arg name="keyval" direction="in" type="u"/>
|
||||||
<arg name="keycode" direction="in" type="u"/>
|
<arg name="keycode" direction="in" type="u"/>
|
||||||
@ -62,6 +68,12 @@
|
|||||||
<arg name="cursor_pos" type="u"/>
|
<arg name="cursor_pos" type="u"/>
|
||||||
<arg name="visible" type="b"/>
|
<arg name="visible" type="b"/>
|
||||||
</signal>
|
</signal>
|
||||||
|
<signal name="UpdatePreeditTextWithMode">
|
||||||
|
<arg name="text" type="v"/>
|
||||||
|
<arg name="cursor_pos" type="u"/>
|
||||||
|
<arg name="visible" type="b"/>
|
||||||
|
<arg name="mode" type="u"/>
|
||||||
|
</signal>
|
||||||
<signal name="ShowPreeditText"/>
|
<signal name="ShowPreeditText"/>
|
||||||
<signal name="HidePreeditText"/>
|
<signal name="HidePreeditText"/>
|
||||||
<signal name="UpdateAuxiliaryText">
|
<signal name="UpdateAuxiliaryText">
|
||||||
|
@ -28,6 +28,8 @@ QIBusPlatformInputContext *QIbusPlatformInputContextPlugin::create(const QString
|
|||||||
qDBusRegisterMetaType<QIBusAttribute>();
|
qDBusRegisterMetaType<QIBusAttribute>();
|
||||||
qDBusRegisterMetaType<QIBusAttributeList>();
|
qDBusRegisterMetaType<QIBusAttributeList>();
|
||||||
qDBusRegisterMetaType<QIBusText>();
|
qDBusRegisterMetaType<QIBusText>();
|
||||||
|
qDBusRegisterMetaType<QIBusPropTypeClientCommitPreedit>();
|
||||||
|
qDBusRegisterMetaType<QIBusPropTypeContentType>();
|
||||||
return new QIBusPlatformInputContext;
|
return new QIBusPlatformInputContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* This file was generated by qdbusxml2cpp version 0.8
|
* This file was generated by qdbusxml2cpp version 0.8
|
||||||
* Command line was: qdbusxml2cpp -N -p qibusinputcontextproxy -c QIBusInputContextProxy interfaces/org.freedesktop.IBus.InputContext.xml
|
* Command line was: qdbusxml2cpp -N -p qibusinputcontextproxy -c QIBusInputContextProxy interfaces/org.freedesktop.IBus.InputContext.xml
|
||||||
*
|
*
|
||||||
* qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
|
* qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd and other contributors.
|
||||||
*
|
*
|
||||||
* This is an auto-generated file.
|
* This is an auto-generated file.
|
||||||
* This file may have been hand-edited. Look for HAND-EDIT comments
|
* This file may have been hand-edited. Look for HAND-EDIT comments
|
||||||
@ -24,4 +24,3 @@ QIBusInputContextProxy::~QIBusInputContextProxy()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "moc_qibusinputcontextproxy.cpp"
|
|
||||||
|
@ -2,25 +2,26 @@
|
|||||||
* This file was generated by qdbusxml2cpp version 0.8
|
* This file was generated by qdbusxml2cpp version 0.8
|
||||||
* Command line was: qdbusxml2cpp -N -p qibusinputcontextproxy -c QIBusInputContextProxy interfaces/org.freedesktop.IBus.InputContext.xml
|
* Command line was: qdbusxml2cpp -N -p qibusinputcontextproxy -c QIBusInputContextProxy interfaces/org.freedesktop.IBus.InputContext.xml
|
||||||
*
|
*
|
||||||
* qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
|
* qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd and other contributors.
|
||||||
*
|
*
|
||||||
* This is an auto-generated file.
|
* This is an auto-generated file.
|
||||||
* Do not edit! All changes made to it will be lost.
|
* Do not edit! All changes made to it will be lost.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef QIBUSINPUTCONTEXTPROXY_H_1394889529
|
#ifndef QIBUSINPUTCONTEXTPROXY_H
|
||||||
#define QIBUSINPUTCONTEXTPROXY_H_1394889529
|
#define QIBUSINPUTCONTEXTPROXY_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QtCore/QObject>
|
||||||
#include <QByteArray>
|
#include <QtCore/QByteArray>
|
||||||
#include <QList>
|
#include <QtCore/QList>
|
||||||
#include <QMap>
|
#include <QtCore/QMap>
|
||||||
#include <QString>
|
#include <QtCore/QString>
|
||||||
#include <QStringList>
|
#include <QtCore/QStringList>
|
||||||
#include <QVariant>
|
#include <QtCore/QVariant>
|
||||||
#include <QDBusAbstractInterface>
|
#include <QtDBus/QtDBus>
|
||||||
#include <QDBusPendingReply>
|
|
||||||
|
|
||||||
|
// Added for QIBusPropTypeClientCommitPreedit and QIBusPropTypeContentType
|
||||||
|
#include "qibustypes.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Proxy class for interface org.freedesktop.IBus.InputContext
|
* Proxy class for interface org.freedesktop.IBus.InputContext
|
||||||
@ -37,102 +38,114 @@ public:
|
|||||||
|
|
||||||
~QIBusInputContextProxy();
|
~QIBusInputContextProxy();
|
||||||
|
|
||||||
|
Q_PROPERTY(QIBusPropTypeClientCommitPreedit ClientCommitPreedit READ clientCommitPreedit WRITE setClientCommitPreedit)
|
||||||
|
inline QIBusPropTypeClientCommitPreedit clientCommitPreedit() const
|
||||||
|
{ return qvariant_cast< QIBusPropTypeClientCommitPreedit >(property("ClientCommitPreedit")); }
|
||||||
|
inline void setClientCommitPreedit(const QIBusPropTypeClientCommitPreedit &value)
|
||||||
|
{ setProperty("ClientCommitPreedit", QVariant::fromValue(value)); }
|
||||||
|
|
||||||
|
Q_PROPERTY(QIBusPropTypeContentType ContentType READ contentType WRITE setContentType)
|
||||||
|
inline QIBusPropTypeContentType contentType() const
|
||||||
|
{ return qvariant_cast< QIBusPropTypeContentType >(property("ContentType")); }
|
||||||
|
inline void setContentType(const QIBusPropTypeContentType &value)
|
||||||
|
{ setProperty("ContentType", QVariant::fromValue(value)); }
|
||||||
|
|
||||||
public Q_SLOTS: // METHODS
|
public Q_SLOTS: // METHODS
|
||||||
inline QDBusPendingReply<> Destroy()
|
inline QDBusPendingReply<> Destroy()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("Destroy"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("Destroy"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> Disable()
|
inline QDBusPendingReply<> Disable()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("Disable"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("Disable"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> Enable()
|
inline QDBusPendingReply<> Enable()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("Enable"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("Enable"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> FocusIn()
|
inline QDBusPendingReply<> FocusIn()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("FocusIn"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("FocusIn"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> FocusOut()
|
inline QDBusPendingReply<> FocusOut()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("FocusOut"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("FocusOut"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<QDBusVariant> GetEngine()
|
inline QDBusPendingReply<QDBusVariant> GetEngine()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("GetEngine"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("GetEngine"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> IsEnabled()
|
inline QDBusPendingReply<bool> IsEnabled()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("IsEnabled"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("IsEnabled"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<bool> ProcessKeyEvent(uint keyval, uint keycode, uint state)
|
inline QDBusPendingReply<bool> ProcessKeyEvent(uint keyval, uint keycode, uint state)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(keyval) << QVariant::fromValue(keycode) << QVariant::fromValue(state);
|
argumentList << QVariant::fromValue(keyval) << QVariant::fromValue(keycode) << QVariant::fromValue(state);
|
||||||
return asyncCallWithArgumentList(QLatin1String("ProcessKeyEvent"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("ProcessKeyEvent"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> PropertyActivate(const QString &name, int state)
|
inline QDBusPendingReply<> PropertyActivate(const QString &name, int state)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(name) << QVariant::fromValue(state);
|
argumentList << QVariant::fromValue(name) << QVariant::fromValue(state);
|
||||||
return asyncCallWithArgumentList(QLatin1String("PropertyActivate"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("PropertyActivate"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> Reset()
|
inline QDBusPendingReply<> Reset()
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
return asyncCallWithArgumentList(QLatin1String("Reset"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("Reset"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetCapabilities(uint caps)
|
inline QDBusPendingReply<> SetCapabilities(uint caps)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(caps);
|
argumentList << QVariant::fromValue(caps);
|
||||||
return asyncCallWithArgumentList(QLatin1String("SetCapabilities"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("SetCapabilities"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetCursorLocation(int x, int y, int w, int h)
|
inline QDBusPendingReply<> SetCursorLocation(int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(x) << QVariant::fromValue(y) << QVariant::fromValue(w) << QVariant::fromValue(h);
|
argumentList << QVariant::fromValue(x) << QVariant::fromValue(y) << QVariant::fromValue(w) << QVariant::fromValue(h);
|
||||||
return asyncCallWithArgumentList(QLatin1String("SetCursorLocation"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("SetCursorLocation"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetCursorLocationRelative(int x, int y, int w, int h)
|
inline QDBusPendingReply<> SetCursorLocationRelative(int x, int y, int w, int h)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(x) << QVariant::fromValue(y) << QVariant::fromValue(w) << QVariant::fromValue(h);
|
argumentList << QVariant::fromValue(x) << QVariant::fromValue(y) << QVariant::fromValue(w) << QVariant::fromValue(h);
|
||||||
return asyncCallWithArgumentList(QLatin1String("SetCursorLocationRelative"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("SetCursorLocationRelative"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetEngine(const QString &name)
|
inline QDBusPendingReply<> SetEngine(const QString &name)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(name);
|
argumentList << QVariant::fromValue(name);
|
||||||
return asyncCallWithArgumentList(QLatin1String("SetEngine"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("SetEngine"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QDBusPendingReply<> SetSurroundingText(const QDBusVariant &text, uint cursor_pos, uint anchor_pos)
|
inline QDBusPendingReply<> SetSurroundingText(const QDBusVariant &text, uint cursor_pos, uint anchor_pos)
|
||||||
{
|
{
|
||||||
QList<QVariant> argumentList;
|
QList<QVariant> argumentList;
|
||||||
argumentList << QVariant::fromValue(text) << QVariant::fromValue(cursor_pos) << QVariant::fromValue(anchor_pos);
|
argumentList << QVariant::fromValue(text) << QVariant::fromValue(cursor_pos) << QVariant::fromValue(anchor_pos);
|
||||||
return asyncCallWithArgumentList(QLatin1String("SetSurroundingText"), argumentList);
|
return asyncCallWithArgumentList(QStringLiteral("SetSurroundingText"), argumentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_SIGNALS: // SIGNALS
|
Q_SIGNALS: // SIGNALS
|
||||||
@ -156,6 +169,7 @@ Q_SIGNALS: // SIGNALS
|
|||||||
void UpdateAuxiliaryText(const QDBusVariant &text, bool visible);
|
void UpdateAuxiliaryText(const QDBusVariant &text, bool visible);
|
||||||
void UpdateLookupTable(const QDBusVariant &table, bool visible);
|
void UpdateLookupTable(const QDBusVariant &table, bool visible);
|
||||||
void UpdatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible);
|
void UpdatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible);
|
||||||
|
void UpdatePreeditTextWithMode(const QDBusVariant &text, uint cursor_pos, bool visible, uint mode);
|
||||||
void UpdateProperty(const QDBusVariant &prop);
|
void UpdateProperty(const QDBusVariant &prop);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -51,6 +51,13 @@ class QIBusPlatformInputContextPrivate
|
|||||||
{
|
{
|
||||||
Q_DISABLE_COPY_MOVE(QIBusPlatformInputContextPrivate)
|
Q_DISABLE_COPY_MOVE(QIBusPlatformInputContextPrivate)
|
||||||
public:
|
public:
|
||||||
|
// This enum might be synced with IBusPreeditFocusMode
|
||||||
|
// in ibustypes.h of IBUS project
|
||||||
|
enum PreeditFocusMode {
|
||||||
|
PREEDIT_CLEAR = 0,
|
||||||
|
PREEDIT_COMMIT = 1,
|
||||||
|
};
|
||||||
|
|
||||||
QIBusPlatformInputContextPrivate();
|
QIBusPlatformInputContextPrivate();
|
||||||
~QIBusPlatformInputContextPrivate()
|
~QIBusPlatformInputContextPrivate()
|
||||||
{
|
{
|
||||||
@ -80,6 +87,7 @@ public:
|
|||||||
QList<QInputMethodEvent::Attribute> attributes;
|
QList<QInputMethodEvent::Attribute> attributes;
|
||||||
bool needsSurroundingText;
|
bool needsSurroundingText;
|
||||||
QLocale locale;
|
QLocale locale;
|
||||||
|
PreeditFocusMode preeditFocusMode = PREEDIT_COMMIT; // for backward compatibility
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -117,6 +125,7 @@ QIBusPlatformInputContext::QIBusPlatformInputContext ()
|
|||||||
if (ok && enableSync == 1)
|
if (ok && enableSync == 1)
|
||||||
m_eventFilterUseSynchronousMode = true;
|
m_eventFilterUseSynchronousMode = true;
|
||||||
}
|
}
|
||||||
|
d->context->setClientCommitPreedit(QIBusPropTypeClientCommitPreedit(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
QIBusPlatformInputContext::~QIBusPlatformInputContext (void)
|
QIBusPlatformInputContext::~QIBusPlatformInputContext (void)
|
||||||
@ -171,10 +180,18 @@ void QIBusPlatformInputContext::commit()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!d->predit.isEmpty()) {
|
if (d->preeditFocusMode == QIBusPlatformInputContextPrivate::PREEDIT_COMMIT) {
|
||||||
QInputMethodEvent event;
|
if (!d->predit.isEmpty()) {
|
||||||
event.setCommitString(d->predit);
|
QInputMethodEvent event;
|
||||||
QCoreApplication::sendEvent(input, &event);
|
event.setCommitString(d->predit);
|
||||||
|
QCoreApplication::sendEvent(input, &event);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!d->predit.isEmpty()) {
|
||||||
|
// Clear the existing preedit
|
||||||
|
QInputMethodEvent event;
|
||||||
|
QCoreApplication::sendEvent(input, &event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
d->context->Reset();
|
d->context->Reset();
|
||||||
@ -318,6 +335,15 @@ void QIBusPlatformInputContext::updatePreeditText(const QDBusVariant &text, uint
|
|||||||
d->predit = t.text;
|
d->predit = t.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QIBusPlatformInputContext::updatePreeditTextWithMode(const QDBusVariant &text, uint cursorPos, bool visible, uint mode)
|
||||||
|
{
|
||||||
|
updatePreeditText(text, cursorPos, visible);
|
||||||
|
if (mode > 0)
|
||||||
|
d->preeditFocusMode = QIBusPlatformInputContextPrivate::PreeditFocusMode::PREEDIT_COMMIT;
|
||||||
|
else
|
||||||
|
d->preeditFocusMode = QIBusPlatformInputContextPrivate::PreeditFocusMode::PREEDIT_CLEAR;
|
||||||
|
}
|
||||||
|
|
||||||
void QIBusPlatformInputContext::forwardKeyEvent(uint keyval, uint keycode, uint state)
|
void QIBusPlatformInputContext::forwardKeyEvent(uint keyval, uint keycode, uint state)
|
||||||
{
|
{
|
||||||
if (!qApp)
|
if (!qApp)
|
||||||
@ -587,6 +613,7 @@ void QIBusPlatformInputContext::connectToContextSignals()
|
|||||||
if (d->context) {
|
if (d->context) {
|
||||||
connect(d->context.get(), SIGNAL(CommitText(QDBusVariant)), SLOT(commitText(QDBusVariant)));
|
connect(d->context.get(), SIGNAL(CommitText(QDBusVariant)), SLOT(commitText(QDBusVariant)));
|
||||||
connect(d->context.get(), SIGNAL(UpdatePreeditText(QDBusVariant,uint,bool)), this, SLOT(updatePreeditText(QDBusVariant,uint,bool)));
|
connect(d->context.get(), SIGNAL(UpdatePreeditText(QDBusVariant,uint,bool)), this, SLOT(updatePreeditText(QDBusVariant,uint,bool)));
|
||||||
|
connect(d->context.get(), SIGNAL(UpdatePreeditTextWithMode(QDBusVariant,uint,bool,uint)), this, SLOT(updatePreeditTextWithMode(QDBusVariant,uint,bool,uint)));
|
||||||
connect(d->context.get(), SIGNAL(ForwardKeyEvent(uint,uint,uint)), this, SLOT(forwardKeyEvent(uint,uint,uint)));
|
connect(d->context.get(), SIGNAL(ForwardKeyEvent(uint,uint,uint)), this, SLOT(forwardKeyEvent(uint,uint,uint)));
|
||||||
connect(d->context.get(), SIGNAL(DeleteSurroundingText(int,uint)), this, SLOT(deleteSurroundingText(int,uint)));
|
connect(d->context.get(), SIGNAL(DeleteSurroundingText(int,uint)), this, SLOT(deleteSurroundingText(int,uint)));
|
||||||
connect(d->context.get(), SIGNAL(RequireSurroundingText()), this, SLOT(surroundingTextRequired()));
|
connect(d->context.get(), SIGNAL(RequireSurroundingText()), this, SLOT(surroundingTextRequired()));
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QWindow>
|
#include <QWindow>
|
||||||
|
|
||||||
|
#include "qibustypes.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
class QIBusPlatformInputContextPrivate;
|
class QIBusPlatformInputContextPrivate;
|
||||||
@ -66,6 +68,7 @@ public:
|
|||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void commitText(const QDBusVariant &text);
|
void commitText(const QDBusVariant &text);
|
||||||
void updatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible);
|
void updatePreeditText(const QDBusVariant &text, uint cursor_pos, bool visible);
|
||||||
|
void updatePreeditTextWithMode(const QDBusVariant &text, uint cursor_pos, bool visible, uint mode);
|
||||||
void forwardKeyEvent(uint keyval, uint keycode, uint state);
|
void forwardKeyEvent(uint keyval, uint keycode, uint state);
|
||||||
void cursorRectChanged();
|
void cursorRectChanged();
|
||||||
void deleteSurroundingText(int offset, uint n_chars);
|
void deleteSurroundingText(int offset, uint n_chars);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* This file was generated by qdbusxml2cpp version 0.8
|
* This file was generated by qdbusxml2cpp version 0.8
|
||||||
* Command line was: qdbusxml2cpp -N -p qibusproxyportal -c QIBusProxyPortal interfaces/org.freedesktop.IBus.Portal.xml
|
* Command line was: qdbusxml2cpp -N -p qibusproxyportal -c QIBusProxyPortal interfaces/org.freedesktop.IBus.Portal.xml
|
||||||
*
|
*
|
||||||
* qdbusxml2cpp is Copyright (C) 2017 The Qt Company Ltd.
|
* qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd and other contributors.
|
||||||
*
|
*
|
||||||
* This is an auto-generated file.
|
* This is an auto-generated file.
|
||||||
* This file may have been hand-edited. Look for HAND-EDIT comments
|
* This file may have been hand-edited. Look for HAND-EDIT comments
|
||||||
@ -24,4 +24,3 @@ QIBusProxyPortal::~QIBusProxyPortal()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "moc_qibusproxyportal.cpp"
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* This file was generated by qdbusxml2cpp version 0.8
|
* This file was generated by qdbusxml2cpp version 0.8
|
||||||
* Command line was: qdbusxml2cpp -N -p qibusproxyportal -c QIBusProxyPortal interfaces/org.freedesktop.IBus.Portal.xml
|
* Command line was: qdbusxml2cpp -N -p qibusproxyportal -c QIBusProxyPortal interfaces/org.freedesktop.IBus.Portal.xml
|
||||||
*
|
*
|
||||||
* qdbusxml2cpp is Copyright (C) 2017 The Qt Company Ltd.
|
* qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd and other contributors.
|
||||||
*
|
*
|
||||||
* This is an auto-generated file.
|
* This is an auto-generated file.
|
||||||
* Do not edit! All changes made to it will be lost.
|
* Do not edit! All changes made to it will be lost.
|
||||||
@ -11,15 +11,14 @@
|
|||||||
#ifndef QIBUSPROXYPORTAL_H
|
#ifndef QIBUSPROXYPORTAL_H
|
||||||
#define QIBUSPROXYPORTAL_H
|
#define QIBUSPROXYPORTAL_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QtCore/QObject>
|
||||||
#include <QByteArray>
|
#include <QtCore/QByteArray>
|
||||||
#include <QList>
|
#include <QtCore/QList>
|
||||||
#include <QMap>
|
#include <QtCore/QMap>
|
||||||
#include <QString>
|
#include <QtCore/QString>
|
||||||
#include <QStringList>
|
#include <QtCore/QStringList>
|
||||||
#include <QVariant>
|
#include <QtCore/QVariant>
|
||||||
#include <QDBusAbstractInterface>
|
#include <QtDBus/QtDBus>
|
||||||
#include <QDBusPendingReply>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Proxy class for interface org.freedesktop.IBus.Portal
|
* Proxy class for interface org.freedesktop.IBus.Portal
|
||||||
|
@ -322,4 +322,44 @@ newest:
|
|||||||
argument.endStructure();
|
argument.endStructure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QIBusPropTypeClientCommitPreedit::QIBusPropTypeClientCommitPreedit(bool inClientCommitPreedit)
|
||||||
|
: clientCommitPreedit(inClientCommitPreedit)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void QIBusPropTypeClientCommitPreedit::serializeTo(QDBusArgument &argument) const
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument << clientCommitPreedit;
|
||||||
|
argument.endStructure();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QIBusPropTypeClientCommitPreedit::deserializeFrom(const QDBusArgument &argument)
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument >> clientCommitPreedit;
|
||||||
|
argument.endStructure();
|
||||||
|
}
|
||||||
|
|
||||||
|
QIBusPropTypeContentType::QIBusPropTypeContentType(unsigned int inPurpose, unsigned int inHints)
|
||||||
|
: purpose(inPurpose)
|
||||||
|
, hints(inHints)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void QIBusPropTypeContentType::serializeTo(QDBusArgument &argument) const
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument << purpose << hints;
|
||||||
|
argument.endStructure();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QIBusPropTypeContentType::deserializeFrom(const QDBusArgument &argument)
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument >> purpose;
|
||||||
|
argument >> hints;
|
||||||
|
argument.endStructure();
|
||||||
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -133,6 +133,44 @@ inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusEngineDesc
|
|||||||
inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc)
|
inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc)
|
||||||
{ desc.deserializeFrom(argument); return argument; }
|
{ desc.deserializeFrom(argument); return argument; }
|
||||||
|
|
||||||
|
class QIBusPropTypeClientCommitPreedit
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QIBusPropTypeClientCommitPreedit() {};
|
||||||
|
|
||||||
|
QIBusPropTypeClientCommitPreedit(bool inClientCommitPreedit);
|
||||||
|
|
||||||
|
void serializeTo(QDBusArgument &argument) const;
|
||||||
|
void deserializeFrom(const QDBusArgument &argument);
|
||||||
|
|
||||||
|
bool clientCommitPreedit;
|
||||||
|
};
|
||||||
|
inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusPropTypeClientCommitPreedit &data)
|
||||||
|
{ data.serializeTo(argument); return argument; }
|
||||||
|
inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusPropTypeClientCommitPreedit &data)
|
||||||
|
{ data.deserializeFrom(argument); return argument; }
|
||||||
|
|
||||||
|
class QIBusPropTypeContentType
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QIBusPropTypeContentType() {};
|
||||||
|
|
||||||
|
QIBusPropTypeContentType(unsigned int inPurpose, unsigned int inHint);
|
||||||
|
|
||||||
|
void serializeTo(QDBusArgument &argument) const;
|
||||||
|
void deserializeFrom(const QDBusArgument &argument);
|
||||||
|
|
||||||
|
unsigned int purpose;
|
||||||
|
unsigned int hints;
|
||||||
|
};
|
||||||
|
inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusPropTypeContentType &data)
|
||||||
|
{ data.serializeTo(argument); return argument; }
|
||||||
|
inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusPropTypeContentType &data)
|
||||||
|
{ data.deserializeFrom(argument); return argument; }
|
||||||
|
|
||||||
|
Q_DECLARE_TYPEINFO(QIBusPropTypeClientCommitPreedit, Q_RELOCATABLE_TYPE);
|
||||||
|
Q_DECLARE_TYPEINFO(QIBusPropTypeContentType, Q_RELOCATABLE_TYPE);
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QIBusAttribute)
|
Q_DECLARE_METATYPE(QIBusAttribute)
|
||||||
@ -140,4 +178,6 @@ Q_DECLARE_METATYPE(QIBusAttributeList)
|
|||||||
Q_DECLARE_METATYPE(QIBusText)
|
Q_DECLARE_METATYPE(QIBusText)
|
||||||
Q_DECLARE_METATYPE(QIBusEngineDesc)
|
Q_DECLARE_METATYPE(QIBusEngineDesc)
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(QIBusPropTypeClientCommitPreedit)
|
||||||
|
Q_DECLARE_METATYPE(QIBusPropTypeContentType)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user