summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2023-07-11 13:13:47 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-12-13 10:13:52 +0000
commit186d1bfdee113a955b64c86c51f999562acd4217 (patch)
treea60fbf1ba7d31c624fbb13a5cc29d618ecfaefba
parent31f85500789f9c7f584460b41e8ec3aac2abda94 (diff)
Support TextInput V3 over v4-wip
Support for v4-wip was not added into any desktop linux compositors, nor was it ever enabled into the default Qt client builds for clients or compositor. TextInputV3 has become the most widely deployed. Whilst changes are needed, they do not need to be breaking changes. A second iteration of V3 can add the features we need. This is now in motion upstream. For cases where QtWaylandCompositor is used, the custom Qt text input method is preferred to work with the Qt virtual keyboard. Change-Id: I01e2686c67846804c0069f1495952b530547f91c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 59ae054ded4d74db53281d8087576cd05b979cd9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/3rdparty/protocol/qt_attribution.json13
-rw-r--r--src/3rdparty/protocol/text-input-unstable-v3.xml (renamed from src/3rdparty/protocol/text-input-unstable-v4-wip.xml)90
-rw-r--r--src/client/CMakeLists.txt10
-rw-r--r--src/client/qwaylanddisplay.cpp47
-rw-r--r--src/client/qwaylanddisplay_p.h10
-rw-r--r--src/client/qwaylandinputcontext.cpp6
-rw-r--r--src/client/qwaylandinputdevice.cpp10
-rw-r--r--src/client/qwaylandintegration.cpp6
-rw-r--r--src/client/qwaylandtextinputv3.cpp (renamed from src/client/qwaylandtextinputv4.cpp)68
-rw-r--r--src/client/qwaylandtextinputv3_p.h (renamed from src/client/qwaylandtextinputv4_p.h)26
-rw-r--r--src/compositor/CMakeLists.txt12
-rw-r--r--src/compositor/compositor_api/qwaylandclient.h2
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.cpp2
-rw-r--r--src/compositor/compositor_api/qwaylandcompositorquickextensions_p.h8
-rw-r--r--src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp64
-rw-r--r--src/compositor/compositor_api/qwaylandinputmethodcontrol_p.h8
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp14
-rw-r--r--src/compositor/compositor_api/qwaylandseat.cpp28
-rw-r--r--src/compositor/extensions/qwaylandtextinputmanagerv3.cpp (renamed from src/compositor/extensions/qwaylandtextinputmanagerv4.cpp)56
-rw-r--r--src/compositor/extensions/qwaylandtextinputmanagerv3.h (renamed from src/compositor/extensions/qwaylandtextinputmanagerv4.h)18
-rw-r--r--src/compositor/extensions/qwaylandtextinputmanagerv3_p.h (renamed from src/compositor/extensions/qwaylandtextinputmanagerv4_p.h)16
-rw-r--r--src/compositor/extensions/qwaylandtextinputv3.cpp (renamed from src/compositor/extensions/qwaylandtextinputv4.cpp)112
-rw-r--r--src/compositor/extensions/qwaylandtextinputv3.h (renamed from src/compositor/extensions/qwaylandtextinputv4.h)16
-rw-r--r--src/compositor/extensions/qwaylandtextinputv3_p.h (renamed from src/compositor/extensions/qwaylandtextinputv4_p.h)48
-rw-r--r--src/configure.cmake8
-rw-r--r--src/shared/qwaylandinputmethodeventbuilder.cpp50
-rw-r--r--src/shared/qwaylandinputmethodeventbuilder_p.h2
27 files changed, 325 insertions, 425 deletions
diff --git a/src/3rdparty/protocol/qt_attribution.json b/src/3rdparty/protocol/qt_attribution.json
index e30cb1b69..33a4f17c4 100644
--- a/src/3rdparty/protocol/qt_attribution.json
+++ b/src/3rdparty/protocol/qt_attribution.json
@@ -119,17 +119,18 @@
},
{
- "Id": "wayland-text-input-unstable-v4-wip",
+ "Id": "wayland-text-input-unstable-v3",
"Name": "Wayland Text Input Protocol",
"QDocModule": "qtwaylandcompositor",
"QtUsage": "Used in the Qt Wayland Compositor, and the Qt Wayland platform plugin.",
- "Files": "text-input-unstable-v4-wip.xml",
+ "Files": "text-input-unstable-v3.xml",
"Description": "Adds support for compositors to act as input methods and send text to applications.",
"Homepage": "https://wayland.freedesktop.org",
- "Version": "unstable v4, WIP",
- "LicenseId": "HPND",
- "License": "HPND License",
- "LicenseFile": "HPND_LICENSE.txt",
+ "Version": "unstable v3",
+ "DownloadLocation": "https://cgit.freedesktop.org/wayland/wayland-protocols/plain/unstable/text-input/text-input-unstable-v3.xml",
+ "LicenseId": "MIT",
+ "License": "MIT License",
+ "LicenseFile": "MIT_LICENSE.txt",
"Copyright": "Copyright © 2012, 2013 Intel Corporation\nCopyright © 2015, 2016 Jan Arne Petersen\nCopyright © 2017, 2018 Red Hat, Inc.\nCopyright © 2018 Purism SPC"
},
diff --git a/src/3rdparty/protocol/text-input-unstable-v4-wip.xml b/src/3rdparty/protocol/text-input-unstable-v3.xml
index 1041e6f74..1fae54d7b 100644
--- a/src/3rdparty/protocol/text-input-unstable-v4-wip.xml
+++ b/src/3rdparty/protocol/text-input-unstable-v3.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<protocol name="text_input_unstable_v4_wip">
+<protocol name="text_input_unstable_v3">
<copyright>
Copyright © 2012, 2013 Intel Corporation
Copyright © 2015, 2016 Jan Arne Petersen
@@ -47,9 +47,9 @@
interface version number is reset.
</description>
- <interface name="zwp_text_input_v4" version="1">
+ <interface name="zwp_text_input_v3" version="1">
<description summary="text input">
- The zwp_text_input_v4 interface represents text input and input methods
+ The zwp_text_input_v3 interface represents text input and input methods
associated with a seat. It provides enter/leave events to follow the
text input focus for a seat.
@@ -64,9 +64,9 @@
Lengths must be measured between two valid indices.
Focus moving throughout surfaces will result in the emission of
- zwp_text_input_v4.enter and zwp_text_input_v4.leave events. The focused
- surface must commit zwp_text_input_v4.enable and
- zwp_text_input_v4.disable requests as the keyboard focus moves across
+ zwp_text_input_v3.enter and zwp_text_input_v3.leave events. The focused
+ surface must commit zwp_text_input_v3.enable and
+ zwp_text_input_v3.disable requests as the keyboard focus moves across
editable and non-editable elements of the UI. Those two requests are not
expected to be paired with each other, the compositor must be able to
handle consecutive series of the same request.
@@ -91,9 +91,15 @@
This request must be issued every time the active text input changes
to a new one, including within the current surface. Use
- zwp_text_input_v4.disable when there is no longer any input focus on
+ zwp_text_input_v3.disable when there is no longer any input focus on
the current surface.
+ Clients must not enable more than one text input on the single seat
+ and should disable the current text input before enabling the new one.
+ At most one instance of text input may be in enabled state per instance,
+ Requests to enable the another text input when some text input is active
+ must be ignored by compositor.
+
This request resets all state associated with previous enable, disable,
set_surrounding_text, set_text_change_cause, set_content_type, and
set_cursor_rectangle requests, as well as the state associated with
@@ -104,11 +110,11 @@
functionality.
State set with this request is double-buffered. It will get applied on
- the next zwp_text_input_v4.commit request, and stay valid until the
+ the next zwp_text_input_v3.commit request, and stay valid until the
next committed enable or disable request.
The changes must be applied by the compositor after issuing a
- zwp_text_input_v4.commit request.
+ zwp_text_input_v3.commit request.
</description>
</request>
@@ -118,7 +124,7 @@
there is no focus on any text entry inside the surface).
State set with this request is double-buffered. It will get applied on
- the next zwp_text_input_v4.commit request.
+ the next zwp_text_input_v3.commit request.
</description>
</request>
@@ -149,7 +155,7 @@
purpose of this event.
Values set with this request are double-buffered. They will get applied
- on the next zwp_text_input_v4.commit request, and stay valid until the
+ on the next zwp_text_input_v3.commit request, and stay valid until the
next committed enable or disable request.
The initial state for affected fields is empty, meaning that the text
@@ -182,7 +188,7 @@
cause describes the source of the change.
The value set with this request is double-buffered. It must be applied
- and reset to initial at the next zwp_text_input_v4.commit request.
+ and reset to initial at the next zwp_text_input_v3.commit request.
The initial value of cause is input_method.
</description>
@@ -238,7 +244,7 @@
the behavior.
Values set with this request are double-buffered. They will get applied
- on the next zwp_text_input_v4.commit request.
+ on the next zwp_text_input_v3.commit request.
Subsequent attempts to update them may have no effect. The values
remain valid until the next committed enable or disable request.
@@ -261,7 +267,7 @@
issue this request, to signify lack of support to the compositor.
Values set with this request are double-buffered. They will get applied
- on the next zwp_text_input_v4.commit request, and stay valid until the
+ on the next zwp_text_input_v3.commit request, and stay valid until the
next committed enable or disable request.
The initial values describing a cursor rectangle are empty. That means
@@ -298,7 +304,7 @@
Neither current nor pending state are modified unless noted otherwise.
The compositor must count the number of commit requests coming from
- each zwp_text_input_v4 object and use the count as the serial in done
+ each zwp_text_input_v3 object and use the count as the serial in done
events.
</description>
</request>
@@ -307,6 +313,9 @@
<description summary="enter event">
Notification that this seat's text-input focus is on a certain surface.
+ If client has created multiple text input objects, compositor must send
+ this event to all of them.
+
When the seat has the keyboard capability the text-input focus follows
the keyboard focus. This event sets the current surface for the
text-input object.
@@ -321,7 +330,9 @@
set.
The leave notification clears the current surface. It is sent before
- the enter notification for the new focus.
+ the enter notification for the new focus. After leave event, compositor
+ must ignore requests from any text input instances until next enter
+ event.
When the seat has the keyboard capability the text-input focus follows
the keyboard focus.
@@ -345,7 +356,7 @@
the same, or as a text highlight otherwise.
Values set with this event are double-buffered. They must be applied
- and reset to initial on the next zwp_text_input_v4.done event.
+ and reset to initial on the next zwp_text_input_v3.done event.
The initial value of text is an empty string, and cursor_begin,
cursor_end and cursor_hidden are all 0.
@@ -362,7 +373,7 @@
result of some composing (pre-edit).
Values set with this event are double-buffered. They must be applied
- and reset to initial on the next zwp_text_input_v4.done event.
+ and reset to initial on the next zwp_text_input_v3.done event.
The initial value of text is an empty string.
</description>
@@ -382,7 +393,7 @@
sequence).
Values set with this event are double-buffered. They must be applied
- and reset to initial on the next zwp_text_input_v4.done event.
+ and reset to initial on the next zwp_text_input_v3.done event.
The initial values of both before_length and after_length are 0.
</description>
@@ -408,44 +419,23 @@
5. Insert new preedit text in cursor position.
6. Place cursor inside preedit text.
- The serial number reflects the last state of the zwp_text_input_v4
+ The serial number reflects the last state of the zwp_text_input_v3
object known to the compositor. The value of the serial argument must
be equal to the number of commit requests already issued on that object.
+
When the client receives a done event with a serial different than the
- number of past commit requests, it must proceed as normal, except it
- should not change the current state of the zwp_text_input_v4 object.
+ number of past commit requests, it must proceed with evaluating and
+ applying the changes as normal, except it should not change the current
+ state of the zwp_text_input_v3 object. All pending state requests
+ (set_surrounding_text, set_content_type and set_cursor_rectangle) on
+ the zwp_text_input_v3 object should be sent and committed after
+ receiving a zwp_text_input_v3.done event with a matching serial.
</description>
<arg name="serial" type="uint"/>
</event>
-
- <enum name="commit_mode">
- <description summary="focus commit mode">
- Pre-edit commit mode when the focus widget or the cursor position
- is changed.
- </description>
- <entry name="clear" value="0" summary="pre-edit text is cleared"/>
- <entry name="commit" value="1" summary="pre-edit text is committed"/>
- </enum>
-
- <event name="preedit_commit_mode">
- <description summary="pre-edit commit mode">
- Specify how the visible preedit should be handled
- when switching the focus widget or changing the cursor position,
- whether to commit the preedit text or clear the preedit text.
-
- This is usually used together with the preedit_string event.
-
- The commit behavior is the same for focus switch and
- cursor position change.
-
- The parameter mode selects the desired behavior and
- its value is one from the commit mode enum.
- </description>
- <arg name="mode" type="uint" enum="commit_mode"/>
- </event>
</interface>
- <interface name="zwp_text_input_manager_v4" version="1">
+ <interface name="zwp_text_input_manager_v3" version="1">
<description summary="text input manager">
A factory for text-input objects. This object is a global singleton.
</description>
@@ -460,7 +450,7 @@
<description summary="create a new text input object">
Creates a new text-input object for a given seat.
</description>
- <arg name="id" type="new_id" interface="zwp_text_input_v4"/>
+ <arg name="id" type="new_id" interface="zwp_text_input_v3"/>
<arg name="seat" type="object" interface="wl_seat"/>
</request>
</interface>
diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt
index 4fab5b319..67ee5c865 100644
--- a/src/client/CMakeLists.txt
+++ b/src/client/CMakeLists.txt
@@ -36,6 +36,7 @@ qt_internal_add_module(WaylandClient
qwaylandinputcontext.cpp qwaylandinputcontext_p.h
qwaylandtextinputv1.cpp qwaylandtextinputv1_p.h
qwaylandtextinputv2.cpp qwaylandtextinputv2_p.h
+ qwaylandtextinputv3.cpp qwaylandtextinputv3_p.h
qwaylandtextinputinterface.cpp qwaylandtextinputinterface_p.h
qwaylandinputdevice.cpp qwaylandinputdevice_p.h
qwaylandinputmethodcontext.cpp qwaylandinputmethodcontext_p.h
@@ -87,7 +88,7 @@ qt6_generate_wayland_protocol_client_sources(WaylandClient
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/tablet-unstable-v2.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v2.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v4-wip.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v3.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wp-primary-selection-unstable-v1.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml
@@ -126,13 +127,6 @@ qt_internal_extend_target(WaylandClient CONDITION QT_FEATURE_tabletevent
qwaylandtabletv2.cpp qwaylandtabletv2_p.h
)
-qt_internal_extend_target(WaylandClient CONDITION QT_FEATURE_wayland_text_input_v4_wip
- SOURCES
- qwaylandtextinputv4.cpp qwaylandtextinputv4_p.h
- DEFINES
- QT_WAYLAND_TEXT_INPUT_V4_WIP=1
-)
-
qt_internal_extend_target(WaylandClient CONDITION QT_FEATURE_clipboard
SOURCES
qwaylandclipboard.cpp qwaylandclipboard_p.h
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
index c9de99828..0c73fdc37 100644
--- a/src/client/qwaylanddisplay.cpp
+++ b/src/client/qwaylanddisplay.cpp
@@ -26,9 +26,7 @@
#include "qwaylandhardwareintegration_p.h"
#include "qwaylandtextinputv1_p.h"
#include "qwaylandtextinputv2_p.h"
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include "qwaylandtextinputv4_p.h"
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+#include "qwaylandtextinputv3_p.h"
#include "qwaylandinputcontext_p.h"
#include "qwaylandinputmethodcontext_p.h"
@@ -47,7 +45,7 @@
#include <QtWaylandClient/private/qwayland-text-input-unstable-v1.h>
#include <QtWaylandClient/private/qwayland-text-input-unstable-v2.h>
-#include <QtWaylandClient/private/qwayland-text-input-unstable-v4-wip.h>
+#include <QtWaylandClient/private/qwayland-text-input-unstable-v3.h>
#include <QtWaylandClient/private/qwayland-wp-primary-selection-unstable-v1.h>
#include <QtWaylandClient/private/qwayland-qt-text-input-method-unstable-v1.h>
#include <QtWaylandClient/private/qwayland-fractional-scale-v1.h>
@@ -556,15 +554,13 @@ void QWaylandDisplay::checkTextInputProtocol()
{
QStringList tips, timps; // for text input protocols and text input manager protocols
tips << QLatin1String(QtWayland::qt_text_input_method_v1::interface()->name)
+ << QLatin1String(QtWayland::zwp_text_input_v3::interface()->name)
<< QLatin1String(QtWayland::zwp_text_input_v2::interface()->name)
<< QLatin1String(QtWayland::zwp_text_input_v1::interface()->name);
timps << QLatin1String(QtWayland::qt_text_input_method_manager_v1::interface()->name)
+ << QLatin1String(QtWayland::zwp_text_input_manager_v3::interface()->name)
<< QLatin1String(QtWayland::zwp_text_input_manager_v2::interface()->name)
<< QLatin1String(QtWayland::zwp_text_input_manager_v1::interface()->name);
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- tips << QLatin1String(QtWayland::zwp_text_input_v4::interface()->name);
- timps << QLatin1String(QtWayland::zwp_text_input_manager_v4::interface()->name);
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
QString tiProtocols = QString::fromLocal8Bit(qgetenv("QT_WAYLAND_TEXT_INPUT_PROTOCOL"));
qCDebug(lcQpaWayland) << "QT_WAYLAND_TEXT_INPUT_PROTOCOL=" << tiProtocols;
@@ -656,9 +652,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
if (mTextInputManagerIndex < INT_MAX) {
mGlobals.textInputManagerv1.reset();
mGlobals.textInputManagerv2.reset();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- mGlobals.textInputManagerv4.reset();
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ mGlobals.textInputManagerv3.reset();
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
}
@@ -678,9 +672,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
if (mTextInputManagerIndex < INT_MAX) {
mGlobals.textInputMethodManager.reset();
mGlobals.textInputManagerv2.reset();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- mGlobals.textInputManagerv4.reset();
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ mGlobals.textInputManagerv3.reset();
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
}
@@ -702,9 +694,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
if (mTextInputManagerIndex < INT_MAX) {
mGlobals.textInputMethodManager.reset();
mGlobals.textInputManagerv1.reset();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- mGlobals.textInputManagerv4.reset();
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ mGlobals.textInputManagerv3.reset();
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
}
@@ -716,10 +706,9 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
this, mGlobals.textInputManagerv2->get_text_input(inputDevice->wl_seat())));
mWaylandIntegration->reconfigureInputContext();
mTextInputManagerIndex = mTextInputManagerList.indexOf(interface);
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- } else if (interface == QLatin1String(QtWayland::zwp_text_input_manager_v4::interface()->name)
+ } else if (interface == QLatin1String(QtWayland::zwp_text_input_manager_v3::interface()->name)
&& (mTextInputManagerList.contains(interface) && mTextInputManagerList.indexOf(interface) < mTextInputManagerIndex)) {
- qCDebug(lcQpaWayland) << "text input: register zwp_text_input_v4";
+ qCDebug(lcQpaWayland) << "text input: register zwp_text_input_v3";
if (mTextInputManagerIndex < INT_MAX) {
mGlobals.textInputMethodManager.reset();
mGlobals.textInputManagerv2.reset();
@@ -727,15 +716,15 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
inputDevice->setTextInputMethod(nullptr);
}
- mGlobals.textInputManagerv4.reset(
- new QtWayland::zwp_text_input_manager_v4(registry, id, 1));
+ mGlobals.textInputManagerv3.reset(
+ new QtWayland::zwp_text_input_manager_v3(registry, id, 1));
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
- inputDevice->setTextInput(new QWaylandTextInputv4(
- this, mGlobals.textInputManagerv4->get_text_input(inputDevice->wl_seat())));
+ inputDevice->setTextInput(new QWaylandTextInputv3(
+ this, mGlobals.textInputManagerv3->get_text_input(inputDevice->wl_seat())));
+
mWaylandIntegration->reconfigureInputContext();
mTextInputManagerIndex = mTextInputManagerList.indexOf(interface);
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
- } else if (interface == QLatin1String(QWaylandHardwareIntegration::interface()->name)) {
+ }else if (interface == QLatin1String(QWaylandHardwareIntegration::interface()->name)) {
bool disableHardwareIntegration = qEnvironmentVariableIntValue("QT_WAYLAND_DISABLE_HW_INTEGRATION");
if (!disableHardwareIntegration) {
mGlobals.hardwareIntegration.reset(new QWaylandHardwareIntegration(registry, id));
@@ -805,14 +794,12 @@ void QWaylandDisplay::registry_global_remove(uint32_t id)
inputDevice->setTextInput(nullptr);
mWaylandIntegration->reconfigureInputContext();
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (global.interface == QLatin1String(QtWayland::zwp_text_input_manager_v4::interface()->name)) {
- mGlobals.textInputManagerv4.reset();
+ if (global.interface == QLatin1String(QtWayland::zwp_text_input_manager_v3::interface()->name)) {
+ mGlobals.textInputManagerv3.reset();
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
mWaylandIntegration->reconfigureInputContext();
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
if (global.interface == QLatin1String(QtWayland::qt_text_input_method_manager_v1::interface()->name)) {
mGlobals.textInputMethodManager.reset();
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
index 62ef71bd0..74c9aede4 100644
--- a/src/client/qwaylanddisplay_p.h
+++ b/src/client/qwaylanddisplay_p.h
@@ -49,7 +49,7 @@ namespace QtWayland {
class qt_surface_extension;
class zwp_text_input_manager_v1;
class zwp_text_input_manager_v2;
- class zwp_text_input_manager_v4;
+ class zwp_text_input_manager_v3;
class qt_text_input_method_manager_v1;
class wp_cursor_shape_manager_v1;
class wp_fractional_scale_manager_v1;
@@ -176,9 +176,9 @@ public:
{
return mGlobals.textInputManagerv2.get();
}
- QtWayland::zwp_text_input_manager_v4 *textInputManagerv4() const
+ QtWayland::zwp_text_input_manager_v3 *textInputManagerv3() const
{
- return mGlobals.textInputManagerv4.get();
+ return mGlobals.textInputManagerv3.get();
}
QWaylandHardwareIntegration *hardwareIntegration() const
{
@@ -205,6 +205,7 @@ public:
return mGlobals.xdgToplevelDragManager.get();
}
+
struct RegistryGlobal {
uint32_t id;
QString interface;
@@ -329,7 +330,7 @@ private:
std::unique_ptr<QtWayland::qt_text_input_method_manager_v1> textInputMethodManager;
std::unique_ptr<QtWayland::zwp_text_input_manager_v1> textInputManagerv1;
std::unique_ptr<QtWayland::zwp_text_input_manager_v2> textInputManagerv2;
- std::unique_ptr<QtWayland::zwp_text_input_manager_v4> textInputManagerv4;
+ std::unique_ptr<QtWayland::zwp_text_input_manager_v3> textInputManagerv3;
std::unique_ptr<QWaylandHardwareIntegration> hardwareIntegration;
std::unique_ptr<QWaylandXdgOutputManagerV1> xdgOutputManager;
std::unique_ptr<QtWayland::wp_viewporter> viewporter;
@@ -337,7 +338,6 @@ private:
std::unique_ptr<QtWayland::wp_cursor_shape_manager_v1> cursorShapeManager;
std::unique_ptr<QtWayland::qt_toplevel_drag_manager_v1> xdgToplevelDragManager;
} mGlobals;
-
int mFd = -1;
int mWritableNotificationFd = -1;
QList<RegistryGlobal> mRegistryGlobals;
diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp
index 369a4e5c2..4b6a34c6b 100644
--- a/src/client/qwaylandinputcontext.cpp
+++ b/src/client/qwaylandinputcontext.cpp
@@ -35,11 +35,7 @@ QWaylandInputContext::~QWaylandInputContext()
bool QWaylandInputContext::isValid() const
{
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- return mDisplay->textInputManagerv2() != nullptr || mDisplay->textInputManagerv1() != nullptr || mDisplay->textInputManagerv4() != nullptr;
-#else // QT_WAYLAND_TEXT_INPUT_V4_WIP
- return mDisplay->textInputManagerv2() != nullptr || mDisplay->textInputManagerv1() != nullptr;
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ return mDisplay->textInputManagerv2() != nullptr || mDisplay->textInputManagerv1() != nullptr || mDisplay->textInputManagerv3() != nullptr;
}
void QWaylandInputContext::reset()
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 0446dff49..f52789fdc 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -4,6 +4,7 @@
#include "qwaylandinputdevice_p.h"
#include "qwaylandintegration_p.h"
+#include "qwaylandtextinputv3_p.h"
#include "qwaylandwindow_p.h"
#include "qwaylandsurface_p.h"
#include "qwaylandbuffer_p.h"
@@ -25,9 +26,6 @@
#include "qwaylandshmbackingstore_p.h"
#include "qwaylandtextinputv1_p.h"
#include "qwaylandtextinputv2_p.h"
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include "qwaylandtextinputv4_p.h"
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
#include "qwaylandtextinputinterface_p.h"
#include "qwaylandinputcontext_p.h"
#include "qwaylandinputmethodcontext_p.h"
@@ -408,10 +406,8 @@ QWaylandInputDevice::QWaylandInputDevice(QWaylandDisplay *display, int version,
if (mQDisplay->textInputManagerv2())
mTextInput.reset(new QWaylandTextInputv2(mQDisplay, mQDisplay->textInputManagerv2()->get_text_input(wl_seat())));
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (mQDisplay->textInputManagerv4())
- mTextInput.reset(new QWaylandTextInputv4(mQDisplay, mQDisplay->textInputManagerv4()->get_text_input(wl_seat())));
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ if (mQDisplay->textInputManagerv3())
+ mTextInput.reset(new QWaylandTextInputv3(mQDisplay, mQDisplay->textInputManagerv3()->get_text_input(wl_seat())));
if (mQDisplay->textInputMethodManager())
mTextInputMethod.reset(new QWaylandTextInputMethod(mQDisplay, mQDisplay->textInputMethodManager()->get_text_input_method(wl_seat())));
diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp
index 88a2fa7e1..846556d4e 100644
--- a/src/client/qwaylandintegration.cpp
+++ b/src/client/qwaylandintegration.cpp
@@ -470,11 +470,7 @@ void QWaylandIntegration::reconfigureInputContext()
if (!mDisplay->isClientSideInputContextRequested()) {
if (mDisplay->textInputMethodManager() != nullptr)
mInputContext.reset(new QWaylandInputMethodContext(mDisplay.data()));
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- else if (mDisplay->textInputManagerv1() != nullptr || mDisplay->textInputManagerv2() != nullptr || mDisplay->textInputManagerv4() != nullptr)
-#else // QT_WAYLAND_TEXT_INPUT_V4_WIP
- else if (mDisplay->textInputManagerv1() != nullptr || mDisplay->textInputManagerv2() != nullptr)
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ else if (mDisplay->textInputManagerv1() != nullptr || mDisplay->textInputManagerv2() != nullptr || mDisplay->textInputManagerv3() != nullptr)
mInputContext.reset(new QWaylandInputContext(mDisplay.data()));
} else {
mInputContext.reset(QPlatformInputContextFactory::create(requested));
diff --git a/src/client/qwaylandtextinputv4.cpp b/src/client/qwaylandtextinputv3.cpp
index 6cf01613f..a369cac67 100644
--- a/src/client/qwaylandtextinputv4.cpp
+++ b/src/client/qwaylandtextinputv3.cpp
@@ -1,7 +1,7 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#include "qwaylandtextinputv4_p.h"
+#include "qwaylandtextinputv3_p.h"
#include "qwaylandwindow_p.h"
#include "qwaylandinputmethodeventbuilder_p.h"
@@ -18,20 +18,20 @@ Q_LOGGING_CATEGORY(qLcQpaWaylandTextInput, "qt.qpa.wayland.textinput")
namespace QtWaylandClient {
-QWaylandTextInputv4::QWaylandTextInputv4(QWaylandDisplay *display,
- struct ::zwp_text_input_v4 *text_input)
- : QtWayland::zwp_text_input_v4(text_input)
+QWaylandTextInputv3::QWaylandTextInputv3(QWaylandDisplay *display,
+ struct ::zwp_text_input_v3 *text_input)
+ : QtWayland::zwp_text_input_v3(text_input)
, m_display(display)
{
}
-QWaylandTextInputv4::~QWaylandTextInputv4()
+QWaylandTextInputv3::~QWaylandTextInputv3()
{
}
namespace {
-const Qt::InputMethodQueries supportedQueries4 = Qt::ImEnabled |
+const Qt::InputMethodQueries supportedQueries3 = Qt::ImEnabled |
Qt::ImSurroundingText |
Qt::ImCursorPosition |
Qt::ImAnchorPosition |
@@ -39,7 +39,7 @@ const Qt::InputMethodQueries supportedQueries4 = Qt::ImEnabled |
Qt::ImCursorRectangle;
}
-void QWaylandTextInputv4::zwp_text_input_v4_enter(struct ::wl_surface *surface)
+void QWaylandTextInputv3::zwp_text_input_v3_enter(struct ::wl_surface *surface)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
@@ -51,10 +51,10 @@ void QWaylandTextInputv4::zwp_text_input_v4_enter(struct ::wl_surface *surface)
m_pendingDeleteAfterText = 0;
enable();
- updateState(supportedQueries4, update_state_enter);
+ updateState(supportedQueries3, update_state_enter);
}
-void QWaylandTextInputv4::zwp_text_input_v4_leave(struct ::wl_surface *surface)
+void QWaylandTextInputv3::zwp_text_input_v3_leave(struct ::wl_surface *surface)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
@@ -63,10 +63,6 @@ void QWaylandTextInputv4::zwp_text_input_v4_leave(struct ::wl_surface *surface)
return;
}
- // QTBUG-97248: check commit_mode
- // Currently text-input-unstable-v4-wip is implemented with preedit_commit_mode
- // 'commit'
-
m_currentPreeditString.clear();
m_surface = nullptr;
@@ -76,7 +72,7 @@ void QWaylandTextInputv4::zwp_text_input_v4_leave(struct ::wl_surface *surface)
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << "Done";
}
-void QWaylandTextInputv4::zwp_text_input_v4_preedit_string(const QString &text, int32_t cursorBegin, int32_t cursorEnd)
+void QWaylandTextInputv3::zwp_text_input_v3_preedit_string(const QString &text, int32_t cursorBegin, int32_t cursorEnd)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << text << cursorBegin << cursorEnd;
@@ -88,7 +84,7 @@ void QWaylandTextInputv4::zwp_text_input_v4_preedit_string(const QString &text,
m_pendingPreeditString.cursorEnd = cursorEnd;
}
-void QWaylandTextInputv4::zwp_text_input_v4_commit_string(const QString &text)
+void QWaylandTextInputv3::zwp_text_input_v3_commit_string(const QString &text)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << text;
@@ -98,7 +94,7 @@ void QWaylandTextInputv4::zwp_text_input_v4_commit_string(const QString &text)
m_pendingCommitString = text;
}
-void QWaylandTextInputv4::zwp_text_input_v4_delete_surrounding_text(uint32_t beforeText, uint32_t afterText)
+void QWaylandTextInputv3::zwp_text_input_v3_delete_surrounding_text(uint32_t beforeText, uint32_t afterText)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << beforeText << afterText;
@@ -109,12 +105,12 @@ void QWaylandTextInputv4::zwp_text_input_v4_delete_surrounding_text(uint32_t bef
m_pendingDeleteAfterText = QWaylandInputMethodEventBuilder::indexFromWayland(m_surroundingText, afterText);
}
-void QWaylandTextInputv4::zwp_text_input_v4_done(uint32_t serial)
+void QWaylandTextInputv3::zwp_text_input_v3_done(uint32_t serial)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << "with serial" << serial << m_currentSerial;
// This is a case of double click.
- // text_input_v4 will ignore this done signal and just keep the selection of the clicked word.
+ // text_input_v3 will ignore this done signal and just keep the selection of the clicked word.
if (m_cursorPos != m_anchorPos && (m_pendingDeleteBeforeText != 0 || m_pendingDeleteAfterText != 0)) {
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << "Ignore done";
m_pendingDeleteBeforeText = 0;
@@ -177,22 +173,22 @@ void QWaylandTextInputv4::zwp_text_input_v4_done(uint32_t serial)
QCoreApplication::sendEvent(focusObject, &event);
if (serial == m_currentSerial)
- updateState(supportedQueries4, update_state_full);
+ updateState(supportedQueries3, update_state_full);
}
-void QWaylandTextInputv4::reset()
+void QWaylandTextInputv3::reset()
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
m_pendingPreeditString.clear();
}
-void QWaylandTextInputv4::enableSurface(::wl_surface *)
+void QWaylandTextInputv3::enableSurface(::wl_surface *)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
}
-void QWaylandTextInputv4::disableSurface(::wl_surface *surface)
+void QWaylandTextInputv3::disableSurface(::wl_surface *surface)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
@@ -202,15 +198,15 @@ void QWaylandTextInputv4::disableSurface(::wl_surface *surface)
}
}
-void QWaylandTextInputv4::commit()
+void QWaylandTextInputv3::commit()
{
m_currentSerial = (m_currentSerial < UINT_MAX) ? m_currentSerial + 1U: 0U;
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << "with serial" << m_currentSerial;
- QtWayland::zwp_text_input_v4::commit();
+ QtWayland::zwp_text_input_v3::commit();
}
-void QWaylandTextInputv4::updateState(Qt::InputMethodQueries queries, uint32_t flags)
+void QWaylandTextInputv3::updateState(Qt::InputMethodQueries queries, uint32_t flags)
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO << queries << flags;
@@ -225,7 +221,7 @@ void QWaylandTextInputv4::updateState(Qt::InputMethodQueries queries, uint32_t f
if (!surface || (surface != m_surface))
return;
- queries &= supportedQueries4;
+ queries &= supportedQueries3;
bool needsCommit = false;
QInputMethodQueryEvent event(queries);
@@ -319,7 +315,7 @@ void QWaylandTextInputv4::updateState(Qt::InputMethodQueries queries, uint32_t f
}
if (queries & Qt::ImHints) {
- QWaylandInputMethodContentType contentType = QWaylandInputMethodContentType::convertV4(static_cast<Qt::InputMethodHints>(event.value(Qt::ImHints).toInt()));
+ QWaylandInputMethodContentType contentType = QWaylandInputMethodContentType::convertV3(static_cast<Qt::InputMethodHints>(event.value(Qt::ImHints).toInt()));
qCDebug(qLcQpaWaylandTextInput) << m_contentHint << contentType.hint;
qCDebug(qLcQpaWaylandTextInput) << m_contentPurpose << contentType.purpose;
@@ -338,33 +334,33 @@ void QWaylandTextInputv4::updateState(Qt::InputMethodQueries queries, uint32_t f
commit();
}
-void QWaylandTextInputv4::setCursorInsidePreedit(int cursor)
+void QWaylandTextInputv3::setCursorInsidePreedit(int cursor)
{
Q_UNUSED(cursor);
- qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV4: Input protocol \"text-input-unstable-v4-wip\" does not support setting cursor inside preedit. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
+ qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV3: Input protocol \"text-input-unstable-v3\" does not support setting cursor inside preedit. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
}
-bool QWaylandTextInputv4::isInputPanelVisible() const
+bool QWaylandTextInputv3::isInputPanelVisible() const
{
- qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV4: Input protocol \"text-input-unstable-v4-wip\" does not support querying input method visibility. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
+ qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV3: Input protocol \"text-input-unstable-v3\" does not support querying input method visibility. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
return false;
}
-QRectF QWaylandTextInputv4::keyboardRect() const
+QRectF QWaylandTextInputv3::keyboardRect() const
{
qCDebug(qLcQpaWaylandTextInput) << Q_FUNC_INFO;
return m_cursorRect;
}
-QLocale QWaylandTextInputv4::locale() const
+QLocale QWaylandTextInputv3::locale() const
{
- qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV4: Input protocol \"text-input-unstable-v4-wip\" does not support querying input language. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
+ qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV3: Input protocol \"text-input-unstable-v3\" does not support querying input language. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
return QLocale();
}
-Qt::LayoutDirection QWaylandTextInputv4::inputDirection() const
+Qt::LayoutDirection QWaylandTextInputv3::inputDirection() const
{
- qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV4: Input protocol \"text-input-unstable-v4-wip\" does not support querying input direction. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
+ qCWarning(qLcQpaWaylandTextInput) << "QWaylandTextInputV3: Input protocol \"text-input-unstable-v3\" does not support querying input direction. Use qt-text-input-method-unstable-v1 instead for full support of Qt input method events.";
return Qt::LeftToRight;
}
diff --git a/src/client/qwaylandtextinputv4_p.h b/src/client/qwaylandtextinputv3_p.h
index 2f4263eba..8c5b93b9b 100644
--- a/src/client/qwaylandtextinputv4_p.h
+++ b/src/client/qwaylandtextinputv3_p.h
@@ -1,8 +1,8 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#ifndef QWAYLANDTEXTINPUTV4_P_H
-#define QWAYLANDTEXTINPUTV4_P_H
+#ifndef QWAYLANDTEXTINPUTV3_P_H
+#define QWAYLANDTEXTINPUTV3_P_H
//
// W A R N I N G
@@ -16,7 +16,7 @@
//
#include "qwaylandtextinputinterface_p.h"
-#include <QtWaylandClient/private/qwayland-text-input-unstable-v4-wip.h>
+#include <QtWaylandClient/private/qwayland-text-input-unstable-v3.h>
#include <qwaylandinputmethodeventbuilder_p.h>
#include <QLoggingCategory>
@@ -31,11 +31,11 @@ namespace QtWaylandClient {
class QWaylandDisplay;
-class QWaylandTextInputv4 : public QtWayland::zwp_text_input_v4, public QWaylandTextInputInterface
+class QWaylandTextInputv3 : public QtWayland::zwp_text_input_v3, public QWaylandTextInputInterface
{
public:
- QWaylandTextInputv4(QWaylandDisplay *display, struct ::zwp_text_input_v4 *text_input);
- ~QWaylandTextInputv4() override;
+ QWaylandTextInputv3(QWaylandDisplay *display, struct ::zwp_text_input_v3 *text_input);
+ ~QWaylandTextInputv3() override;
void reset() override;
void commit() override;
@@ -53,12 +53,12 @@ public:
void disableSurface(::wl_surface *surface) override;
protected:
- void zwp_text_input_v4_enter(struct ::wl_surface *surface) override;
- void zwp_text_input_v4_leave(struct ::wl_surface *surface) override;
- void zwp_text_input_v4_preedit_string(const QString &text, int32_t cursor_begin, int32_t cursor_end) override;
- void zwp_text_input_v4_commit_string(const QString &text) override;
- void zwp_text_input_v4_delete_surrounding_text(uint32_t before_length, uint32_t after_length) override;
- void zwp_text_input_v4_done(uint32_t serial) override;
+ void zwp_text_input_v3_enter(struct ::wl_surface *surface) override;
+ void zwp_text_input_v3_leave(struct ::wl_surface *surface) override;
+ void zwp_text_input_v3_preedit_string(const QString &text, int32_t cursor_begin, int32_t cursor_end) override;
+ void zwp_text_input_v3_commit_string(const QString &text) override;
+ void zwp_text_input_v3_delete_surrounding_text(uint32_t before_length, uint32_t after_length) override;
+ void zwp_text_input_v3_done(uint32_t serial) override;
private:
QWaylandDisplay *m_display;
@@ -101,4 +101,4 @@ private:
QT_END_NAMESPACE
-#endif // QWAYLANDTEXTINPUTV4_P_H
+#endif // QWAYLANDTEXTINPUTV3_P_H
diff --git a/src/compositor/CMakeLists.txt b/src/compositor/CMakeLists.txt
index 434411d0e..525644381 100644
--- a/src/compositor/CMakeLists.txt
+++ b/src/compositor/CMakeLists.txt
@@ -39,6 +39,8 @@ qt_internal_add_module(WaylandCompositor
extensions/qwaylandshellsurface.cpp extensions/qwaylandshellsurface.h
extensions/qwaylandtextinput.cpp extensions/qwaylandtextinput.h extensions/qwaylandtextinput_p.h
extensions/qwaylandtextinputmanager.cpp extensions/qwaylandtextinputmanager.h extensions/qwaylandtextinputmanager_p.h
+ extensions/qwaylandtextinputv3.cpp extensions/qwaylandtextinputv3.h extensions/qwaylandtextinputv3_p.h
+ extensions/qwaylandtextinputmanagerv3.cpp extensions/qwaylandtextinputmanagerv3.h extensions/qwaylandtextinputmanagerv3_p.h
extensions/qwaylandviewporter.cpp extensions/qwaylandviewporter.h extensions/qwaylandviewporter_p.h
extensions/qwaylandwlshell.cpp extensions/qwaylandwlshell.h extensions/qwaylandwlshell_p.h
extensions/qwaylandxdgdecorationv1.cpp extensions/qwaylandxdgdecorationv1.h extensions/qwaylandxdgdecorationv1_p.h
@@ -110,7 +112,7 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/presentation-time.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/scaler.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v2.xml
- ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v4-wip.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v3.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/viewporter.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wayland.xml
${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-decoration-unstable-v1.xml
@@ -131,14 +133,6 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor
## Scopes:
#####################################################################
-qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_wayland_text_input_v4_wip
- SOURCES
- extensions/qwaylandtextinputv4.cpp extensions/qwaylandtextinputv4.h extensions/qwaylandtextinputv4_p.h
- extensions/qwaylandtextinputmanagerv4.cpp extensions/qwaylandtextinputmanagerv4.h extensions/qwaylandtextinputmanagerv4_p.h
- DEFINES
- QT_WAYLAND_TEXT_INPUT_V4_WIP=1
-)
-
qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl
SOURCES
hardware_integration/qwlclientbufferintegrationfactory.cpp hardware_integration/qwlclientbufferintegrationfactory_p.h
diff --git a/src/compositor/compositor_api/qwaylandclient.h b/src/compositor/compositor_api/qwaylandclient.h
index 3dae70693..22898eb3d 100644
--- a/src/compositor/compositor_api/qwaylandclient.h
+++ b/src/compositor/compositor_api/qwaylandclient.h
@@ -39,7 +39,7 @@ public:
NoProtocol = 0,
QtTextInputMethodV1 = 1,
TextInputV2 = 2,
- TextInputV4 = 4,
+ TextInputV3 = 4,
QtTextInputMethod = QtTextInputMethodV1,
TextInput = TextInputV2
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp
index c8d4d80eb..28809f1c2 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandcompositor.cpp
@@ -62,9 +62,7 @@ QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(qLcWaylandCompositor, "qt.waylandcompositor")
Q_LOGGING_CATEGORY(qLcWaylandCompositorHardwareIntegration, "qt.waylandcompositor.hardwareintegration")
Q_LOGGING_CATEGORY(qLcWaylandCompositorInputMethods, "qt.waylandcompositor.inputmethods")
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
Q_LOGGING_CATEGORY(qLcWaylandCompositorTextInput, "qt.waylandcompositor.textinput")
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
namespace QtWayland {
diff --git a/src/compositor/compositor_api/qwaylandcompositorquickextensions_p.h b/src/compositor/compositor_api/qwaylandcompositorquickextensions_p.h
index fe400d3f9..3150f90ae 100644
--- a/src/compositor/compositor_api/qwaylandcompositorquickextensions_p.h
+++ b/src/compositor/compositor_api/qwaylandcompositorquickextensions_p.h
@@ -24,9 +24,7 @@
#include <QtWaylandCompositor/qwaylandqtwindowmanager.h>
#include <QtWaylandCompositor/qwaylandtextinputmanager.h>
#include <QtCore/private/qglobal_p.h>
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include <QtWaylandCompositor/qwaylandtextinputmanagerv4.h>
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+#include <QtWaylandCompositor/qwaylandtextinputmanagerv3.h>
#include <QtWaylandCompositor/qwaylandqttextinputmethodmanager.h>
#include <QtWaylandCompositor/qwaylandidleinhibitv1.h>
@@ -85,9 +83,7 @@ private:
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandQtWindowManager, QtWindowManager)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandIdleInhibitManagerV1, IdleInhibitManagerV1)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandTextInputManager, TextInputManager)
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandTextInputManagerV4, TextInputManagerV4)
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandTextInputManagerV3, TextInputManagerV3)
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_CLASS(QWaylandQtTextInputMethodManager, QtTextInputMethodManager)
QT_END_NAMESPACE
diff --git a/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp b/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
index 1070faa2f..e9a962d28 100644
--- a/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
+++ b/src/compositor/compositor_api/qwaylandinputmethodcontrol.cpp
@@ -9,9 +9,7 @@
#include "qwaylandsurface.h"
#include "qwaylandview.h"
#include "qwaylandtextinput.h"
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include "qwaylandtextinputv4.h"
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+#include "qwaylandtextinputv3.h"
#include "qwaylandqttextinputmethod.h"
#include <QtGui/QInputMethodEvent>
@@ -24,14 +22,12 @@ QWaylandInputMethodControl::QWaylandInputMethodControl(QWaylandSurface *surface)
updateTextInput();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- QWaylandTextInputV4 *textInputV4 = d_func()->textInputV4();
- if (textInputV4) {
- connect(textInputV4, &QWaylandTextInputV4::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
- connect(textInputV4, &QWaylandTextInputV4::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
- connect(textInputV4, &QWaylandTextInputV4::updateInputMethod, this, &QWaylandInputMethodControl::updateInputMethod);
+ QWaylandTextInputV3 *textInputV3 = d_func()->textInputV3();
+ if (textInputV3) {
+ connect(textInputV3, &QWaylandTextInputV3::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
+ connect(textInputV3, &QWaylandTextInputV3::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
+ connect(textInputV3, &QWaylandTextInputV3::updateInputMethod, this, &QWaylandInputMethodControl::updateInputMethod);
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
QWaylandQtTextInputMethod *textInputMethod = d_func()->textInputMethod();
if (textInputMethod) {
@@ -49,11 +45,9 @@ QVariant QWaylandInputMethodControl::inputMethodQuery(Qt::InputMethodQuery query
if (textInput != nullptr && textInput->focus() == d->surface)
return textInput->inputMethodQuery(query, argument);
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- QWaylandTextInputV4 *textInputV4 = d->textInputV4();
- if (textInputV4 != nullptr && textInputV4->focus() == d->surface)
- return textInputV4->inputMethodQuery(query, argument);
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ QWaylandTextInputV3 *textInputV3 = d->textInputV3();
+ if (textInputV3 != nullptr && textInputV3->focus() == d->surface)
+ return textInputV3->inputMethodQuery(query, argument);
QWaylandQtTextInputMethod *textInputMethod = d_func()->textInputMethod();
if (textInputMethod && textInputMethod->focusedSurface() == d->surface)
@@ -68,10 +62,8 @@ void QWaylandInputMethodControl::inputMethodEvent(QInputMethodEvent *event)
if (QWaylandTextInput *textInput = d->textInput()) {
textInput->sendInputMethodEvent(event);
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- } else if (QWaylandTextInputV4 *textInputV4 = d->textInputV4()) {
- textInputV4->sendInputMethodEvent(event);
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ } else if (QWaylandTextInputV3 *textInputV3 = d->textInputV3()) {
+ textInputV3->sendInputMethodEvent(event);
} else if (QWaylandQtTextInputMethod *textInputMethod = d->textInputMethod()) {
textInputMethod->sendInputMethodEvent(event);
} else {
@@ -124,14 +116,10 @@ void QWaylandInputMethodControl::setSurface(QWaylandSurface *surface)
d->surface = surface;
QWaylandTextInput *textInput = d->textInput();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- QWaylandTextInputV4 *textInputV4 = d->textInputV4();
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ QWaylandTextInputV3 *textInputV3 = d->textInputV3();
QWaylandQtTextInputMethod *textInputMethod = d->textInputMethod();
setEnabled((textInput && textInput->isSurfaceEnabled(d->surface))
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- || (textInputV4 && textInputV4->isSurfaceEnabled(d->surface))
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ || (textInputV3 && textInputV3->isSurfaceEnabled(d->surface))
|| (textInputMethod && textInputMethod->isSurfaceEnabled(d->surface)));
}
@@ -151,16 +139,12 @@ void QWaylandInputMethodControl::defaultSeatChanged()
Q_D(QWaylandInputMethodControl);
disconnect(d->textInput(), nullptr, this, nullptr);
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- disconnect(d->textInputV4(), nullptr, this, nullptr);
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ disconnect(d->textInputV3(), nullptr, this, nullptr);
disconnect(d->textInputMethod(), nullptr, this, nullptr);
d->seat = d->compositor->defaultSeat();
QWaylandTextInput *textInput = d->textInput();
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- QWaylandTextInputV4 *textInputV4 = d->textInputV4();
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ QWaylandTextInputV3 *textInputV3 = d->textInputV3();
QWaylandQtTextInputMethod *textInputMethod = d->textInputMethod();
if (textInput) {
@@ -168,12 +152,10 @@ void QWaylandInputMethodControl::defaultSeatChanged()
connect(textInput, &QWaylandTextInput::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (textInputV4) {
- connect(textInputV4, &QWaylandTextInputV4::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
- connect(textInputV4, &QWaylandTextInputV4::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
+ if (textInputV3) {
+ connect(textInputV3, &QWaylandTextInputV3::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
+ connect(textInputV3, &QWaylandTextInputV3::surfaceDisabled, this, &QWaylandInputMethodControl::surfaceDisabled);
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
if (textInputMethod) {
connect(textInputMethod, &QWaylandQtTextInputMethod::surfaceEnabled, this, &QWaylandInputMethodControl::surfaceEnabled);
@@ -181,9 +163,7 @@ void QWaylandInputMethodControl::defaultSeatChanged()
}
setEnabled((textInput && textInput->isSurfaceEnabled(d->surface))
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- || (textInputV4 && textInputV4->isSurfaceEnabled(d->surface))
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ || (textInputV3 && textInputV3->isSurfaceEnabled(d->surface))
|| (textInputMethod && textInputMethod->isSurfaceEnabled(d->surface)));
}
@@ -208,11 +188,9 @@ QWaylandTextInput *QWaylandInputMethodControlPrivate::textInput() const
return QWaylandTextInput::findIn(seat);
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-QWaylandTextInputV4 *QWaylandInputMethodControlPrivate::textInputV4() const
+QWaylandTextInputV3 *QWaylandInputMethodControlPrivate::textInputV3() const
{
- return QWaylandTextInputV4::findIn(seat);
+ return QWaylandTextInputV3::findIn(seat);
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
#include "moc_qwaylandinputmethodcontrol.cpp"
diff --git a/src/compositor/compositor_api/qwaylandinputmethodcontrol_p.h b/src/compositor/compositor_api/qwaylandinputmethodcontrol_p.h
index 9f9fc3949..36a0db0c4 100644
--- a/src/compositor/compositor_api/qwaylandinputmethodcontrol_p.h
+++ b/src/compositor/compositor_api/qwaylandinputmethodcontrol_p.h
@@ -26,9 +26,7 @@ class QWaylandCompositor;
class QWaylandSeat;
class QWaylandSurface;
class QWaylandTextInput;
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-class QWaylandTextInputV4;
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+class QWaylandTextInputV3;
class QWaylandQtTextInputMethod;
class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandInputMethodControlPrivate : public QObjectPrivate
@@ -39,9 +37,7 @@ public:
explicit QWaylandInputMethodControlPrivate(QWaylandSurface *surface);
QWaylandTextInput *textInput() const;
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- QWaylandTextInputV4 *textInputV4() const;
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+ QWaylandTextInputV3 *textInputV3() const;
QWaylandQtTextInputMethod *textInputMethod() const;
QWaylandCompositor *compositor = nullptr;
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp
index 58db89139..348260fed 100644
--- a/src/compositor/compositor_api/qwaylandquickitem.cpp
+++ b/src/compositor/compositor_api/qwaylandquickitem.cpp
@@ -6,9 +6,7 @@
#include "qwaylandquicksurface.h"
#include "qwaylandinputmethodcontrol.h"
#include "qwaylandtextinput.h"
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include "qwaylandtextinputv4.h"
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+#include "qwaylandtextinputv3.h"
#include "qwaylandqttextinputmethod.h"
#include "qwaylandquickoutput.h"
#include <QtWaylandCompositor/qwaylandcompositor.h>
@@ -1119,13 +1117,11 @@ void QWaylandQuickItem::takeFocus(QWaylandSeat *device)
textInput->setFocus(surface());
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (surface()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV4)) {
- QWaylandTextInputV4 *textInputV4 = QWaylandTextInputV4::findIn(target);
- if (textInputV4)
- textInputV4->setFocus(surface());
+ if (surface()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV3)) {
+ QWaylandTextInputV3 *textInputV3 = QWaylandTextInputV3::findIn(target);
+ if (textInputV3)
+ textInputV3->setFocus(surface());
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
if (surface()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::QtTextInputMethodV1)) {
QWaylandQtTextInputMethod *textInputMethod = QWaylandQtTextInputMethod::findIn(target);
diff --git a/src/compositor/compositor_api/qwaylandseat.cpp b/src/compositor/compositor_api/qwaylandseat.cpp
index b366a12c2..6468a2b1f 100644
--- a/src/compositor/compositor_api/qwaylandseat.cpp
+++ b/src/compositor/compositor_api/qwaylandseat.cpp
@@ -23,9 +23,7 @@
#include "extensions/qwlqtkey_p.h"
#include "extensions/qwaylandtextinput.h"
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
-#include "extensions/qwaylandtextinputv4.h"
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
+#include "extensions/qwaylandtextinputv3.h"
#include "extensions/qwaylandqttextinputmethod.h"
QT_BEGIN_NAMESPACE
@@ -468,17 +466,15 @@ void QWaylandSeat::sendFullKeyEvent(QKeyEvent *event)
}
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (keyboardFocus()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV4)) {
- QWaylandTextInputV4 *textInputV4 = QWaylandTextInputV4::findIn(this);
- if (textInputV4 && !event->text().isEmpty()) {
- // it will just commit the text for text-input-unstable-v4-wip when keyPress
+ if (keyboardFocus()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV3)) {
+ QWaylandTextInputV3 *textInputV3 = QWaylandTextInputV3::findIn(this);
+ if (textInputV3 && !event->text().isEmpty()) {
+ // it will just commit the text for text-input-unstable-v3 when keyPress
if (event->type() == QEvent::KeyPress)
- textInputV4->sendKeyEvent(event);
+ textInputV3->sendKeyEvent(event);
return;
}
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
}
#endif
@@ -592,17 +588,15 @@ void QWaylandSeat::sendUnicodeKeyEvent(uint unicode, bool pressed)
}
}
-#if QT_WAYLAND_TEXT_INPUT_V4_WIP
- if (keyboardFocus()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV4)) {
- QWaylandTextInputV4 *textInputV4 = QWaylandTextInputV4::findIn(this);
- if (textInputV4 && !text.isEmpty()) {
- // it will just commit the text for text-input-unstable-v4-wip when keyPress
+ if (keyboardFocus()->client()->textInputProtocols().testFlag(QWaylandClient::TextInputProtocol::TextInputV3)) {
+ QWaylandTextInputV3 *textInputV3 = QWaylandTextInputV3::findIn(this);
+ if (textInputV3 && !text.isEmpty()) {
+ // it will just commit the text for text-input-unstable-v3 when keyPress
if (eventType == QEvent::KeyPress)
- textInputV4->sendKeyEvent(&event);
+ textInputV3->sendKeyEvent(&event);
return;
}
}
-#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
#else
Q_UNUSED(keysym);
Q_UNUSED(pressed);
diff --git a/src/compositor/extensions/qwaylandtextinputmanagerv4.cpp b/src/compositor/extensions/qwaylandtextinputmanagerv3.cpp
index d77cae220..5dbc78459 100644
--- a/src/compositor/extensions/qwaylandtextinputmanagerv4.cpp
+++ b/src/compositor/extensions/qwaylandtextinputmanagerv3.cpp
@@ -1,35 +1,35 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#include "qwaylandtextinputmanagerv4.h"
-#include "qwaylandtextinputmanagerv4_p.h"
+#include "qwaylandtextinputmanagerv3.h"
+#include "qwaylandtextinputmanagerv3_p.h"
#include <QtWaylandCompositor/QWaylandCompositor>
#include <QtWaylandCompositor/QWaylandSeat>
-#include "qwaylandtextinputv4.h"
+#include "qwaylandtextinputv3.h"
QT_BEGIN_NAMESPACE
-QWaylandTextInputManagerV4Private::QWaylandTextInputManagerV4Private()
+QWaylandTextInputManagerV3Private::QWaylandTextInputManagerV3Private()
{
}
-void QWaylandTextInputManagerV4Private::zwp_text_input_manager_v4_get_text_input(Resource *resource, uint32_t id, struct ::wl_resource *seatResource)
+void QWaylandTextInputManagerV3Private::zwp_text_input_manager_v3_get_text_input(Resource *resource, uint32_t id, struct ::wl_resource *seatResource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputManagerV4);
+ Q_Q(QWaylandTextInputManagerV3);
QWaylandCompositor *compositor = static_cast<QWaylandCompositor *>(q->extensionContainer());
QWaylandSeat *seat = QWaylandSeat::fromSeatResource(seatResource);
- QWaylandTextInputV4 *textInput = QWaylandTextInputV4::findIn(seat);
+ QWaylandTextInputV3 *textInput = QWaylandTextInputV3::findIn(seat);
if (!textInput) {
- textInput = new QWaylandTextInputV4(seat, compositor);
+ textInput = new QWaylandTextInputV3(seat, compositor);
}
textInput->add(resource->client(), id, wl_resource_get_version(resource->handle));
QWaylandClient *client = QWaylandClient::fromWlClient(compositor, resource->client());
QWaylandClient::TextInputProtocols p = client->textInputProtocols();
- client->setTextInputProtocols(p.setFlag(QWaylandClient::TextInputProtocol::TextInputV4));
+ client->setTextInputProtocols(p.setFlag(QWaylandClient::TextInputProtocol::TextInputV3));
if (!textInput->isInitialized())
textInput->initialize();
}
@@ -38,13 +38,13 @@ void QWaylandTextInputManagerV4Private::zwp_text_input_manager_v4_get_text_input
\internal
\preliminary
- \qmltype TextInputManagerV4
- \instantiates QWaylandTextInputManagerV4
+ \qmltype TextInputManagerV3
+ \instantiates QWaylandTextInputManagerV3
\inqmlmodule QtWayland.Compositor
\brief Provides access to input methods in the compositor.
- The \c TextInputManagerV4 corresponds to the \c zwp_text_input_manager_v4 interface
- in the \c text_input_unstable_v4 extension protocol.
+ The \c TextInputManagerV3 corresponds to the \c zwp_text_input_manager_v3 interface
+ in the \c text_input_unstable_v3 extension protocol.
Instantiating this as child of a \l WaylandCompositor adds it to the list of interfaces available
to the client. If a client binds to it, then it will be used to communciate text input to
@@ -56,12 +56,12 @@ void QWaylandTextInputManagerV4Private::zwp_text_input_manager_v4_get_text_input
/*!
\internal
\preliminary
- \class QWaylandTextInputManagerV4
+ \class QWaylandTextInputManagerV3
\inmodule QtWaylandCompositor
\brief Provides access to input methods in the compositor.
- The \c QWaylandTextInputManagerV4 corresponds to the \c zwp_text_input_manager_v4 interface
- in the \c text_input_unstable_v4 extension protocol.
+ The \c QWaylandTextInputManagerV3 corresponds to the \c zwp_text_input_manager_v3 interface
+ in the \c text_input_unstable_v3 extension protocol.
Instantiating this as child of a \l WaylandCompositor adds it to the list of interfaces available
to the client. If a client binds to it, then it will be used to communciate text input to
@@ -69,43 +69,43 @@ void QWaylandTextInputManagerV4Private::zwp_text_input_manager_v4_get_text_input
\note This protocol is currently a work-in-progress and only exists in Qt for validation purposes. It may change at any time.
*/
-QWaylandTextInputManagerV4::QWaylandTextInputManagerV4()
- : QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV4>(*new QWaylandTextInputManagerV4Private)
+QWaylandTextInputManagerV3::QWaylandTextInputManagerV3()
+ : QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV3>(*new QWaylandTextInputManagerV3Private)
{
}
-QWaylandTextInputManagerV4::QWaylandTextInputManagerV4(QWaylandCompositor *compositor)
- : QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV4>(compositor, *new QWaylandTextInputManagerV4Private)
+QWaylandTextInputManagerV3::QWaylandTextInputManagerV3(QWaylandCompositor *compositor)
+ : QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV3>(compositor, *new QWaylandTextInputManagerV3Private)
{
}
-QWaylandTextInputManagerV4::~QWaylandTextInputManagerV4()
+QWaylandTextInputManagerV3::~QWaylandTextInputManagerV3()
{
}
-void QWaylandTextInputManagerV4::initialize()
+void QWaylandTextInputManagerV3::initialize()
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_D(QWaylandTextInputManagerV4);
+ Q_D(QWaylandTextInputManagerV3);
QWaylandCompositorExtensionTemplate::initialize();
QWaylandCompositor *compositor = static_cast<QWaylandCompositor *>(extensionContainer());
if (!compositor) {
- qWarning() << "Failed to find QWaylandCompositor when initializing QWaylandTextInputManagerV4";
+ qWarning() << "Failed to find QWaylandCompositor when initializing QWaylandTextInputManagerV3";
return;
}
d->init(compositor->display(), 1);
}
-const wl_interface *QWaylandTextInputManagerV4::interface()
+const wl_interface *QWaylandTextInputManagerV3::interface()
{
- return QWaylandTextInputManagerV4Private::interface();
+ return QWaylandTextInputManagerV3Private::interface();
}
-QByteArray QWaylandTextInputManagerV4::interfaceName()
+QByteArray QWaylandTextInputManagerV3::interfaceName()
{
- return QWaylandTextInputManagerV4Private::interfaceName();
+ return QWaylandTextInputManagerV3Private::interfaceName();
}
QT_END_NAMESPACE
diff --git a/src/compositor/extensions/qwaylandtextinputmanagerv4.h b/src/compositor/extensions/qwaylandtextinputmanagerv3.h
index 6ad0b0900..1f3051446 100644
--- a/src/compositor/extensions/qwaylandtextinputmanagerv4.h
+++ b/src/compositor/extensions/qwaylandtextinputmanagerv3.h
@@ -1,8 +1,8 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#ifndef QWAYLANDTEXTINPUTMANAGERV4_H
-#define QWAYLANDTEXTINPUTMANAGERV4_H
+#ifndef QWAYLANDTEXTINPUTMANAGERV3_H
+#define QWAYLANDTEXTINPUTMANAGERV3_H
#include <QtWaylandCompositor/QWaylandCompositorExtension>
@@ -10,16 +10,16 @@
QT_BEGIN_NAMESPACE
-class QWaylandTextInputManagerV4Private;
+class QWaylandTextInputManagerV3Private;
-class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputManagerV4 : public QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV4>
+class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputManagerV3 : public QWaylandCompositorExtensionTemplate<QWaylandTextInputManagerV3>
{
Q_OBJECT
- Q_DECLARE_PRIVATE(QWaylandTextInputManagerV4)
+ Q_DECLARE_PRIVATE(QWaylandTextInputManagerV3)
public:
- QWaylandTextInputManagerV4();
- explicit QWaylandTextInputManagerV4(QWaylandCompositor *compositor);
- ~QWaylandTextInputManagerV4() override;
+ QWaylandTextInputManagerV3();
+ explicit QWaylandTextInputManagerV3(QWaylandCompositor *compositor);
+ ~QWaylandTextInputManagerV3() override;
void initialize() override;
@@ -29,4 +29,4 @@ public:
QT_END_NAMESPACE
-#endif // QWAYLANDTEXTINPUTMANAGERV4_H
+#endif // QWAYLANDTEXTINPUTMANAGERV3_H
diff --git a/src/compositor/extensions/qwaylandtextinputmanagerv4_p.h b/src/compositor/extensions/qwaylandtextinputmanagerv3_p.h
index 00aa150c7..c35b19b90 100644
--- a/src/compositor/extensions/qwaylandtextinputmanagerv4_p.h
+++ b/src/compositor/extensions/qwaylandtextinputmanagerv3_p.h
@@ -1,12 +1,12 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#ifndef QWAYLANDTEXTINPUTMANAGERV4_P_H
-#define QWAYLANDTEXTINPUTMANAGERV4_P_H
+#ifndef QWAYLANDTEXTINPUTMANAGERV3_P_H
+#define QWAYLANDTEXTINPUTMANAGERV3_P_H
#include <QtWaylandCompositor/private/qwaylandcompositorextension_p.h>
-#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v4-wip.h>
+#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v3.h>
//
// W A R N I N G
@@ -21,16 +21,16 @@
QT_BEGIN_NAMESPACE
-class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputManagerV4Private : public QWaylandCompositorExtensionPrivate, public QtWaylandServer::zwp_text_input_manager_v4
+class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputManagerV3Private : public QWaylandCompositorExtensionPrivate, public QtWaylandServer::zwp_text_input_manager_v3
{
- Q_DECLARE_PUBLIC(QWaylandTextInputManagerV4)
+ Q_DECLARE_PUBLIC(QWaylandTextInputManagerV3)
public:
- QWaylandTextInputManagerV4Private();
+ QWaylandTextInputManagerV3Private();
protected:
- void zwp_text_input_manager_v4_get_text_input(Resource *resource, uint32_t id, struct ::wl_resource *seatResource) override;
+ void zwp_text_input_manager_v3_get_text_input(Resource *resource, uint32_t id, struct ::wl_resource *seatResource) override;
};
QT_END_NAMESPACE
-#endif // QWAYLANDTEXTINPUTMANAGERV4_P_H
+#endif // QWAYLANDTEXTINPUTMANAGERV3_P_H
diff --git a/src/compositor/extensions/qwaylandtextinputv4.cpp b/src/compositor/extensions/qwaylandtextinputv3.cpp
index d7e19360b..74ec57954 100644
--- a/src/compositor/extensions/qwaylandtextinputv4.cpp
+++ b/src/compositor/extensions/qwaylandtextinputv3.cpp
@@ -1,8 +1,8 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#include "qwaylandtextinputv4.h"
-#include "qwaylandtextinputv4_p.h"
+#include "qwaylandtextinputv3.h"
+#include "qwaylandtextinputv3_p.h"
#include <QtWaylandCompositor/QWaylandCompositor>
#include <QtWaylandCompositor/private/qwaylandseat_p.h>
@@ -23,11 +23,11 @@ QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(qLcWaylandCompositorTextInput)
-QWaylandTextInputV4ClientState::QWaylandTextInputV4ClientState()
+QWaylandTextInputV3ClientState::QWaylandTextInputV3ClientState()
{
}
-Qt::InputMethodQueries QWaylandTextInputV4ClientState::updatedQueries(const QWaylandTextInputV4ClientState &other) const
+Qt::InputMethodQueries QWaylandTextInputV3ClientState::updatedQueries(const QWaylandTextInputV3ClientState &other) const
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
@@ -47,7 +47,7 @@ Qt::InputMethodQueries QWaylandTextInputV4ClientState::updatedQueries(const QWay
return queries;
}
-Qt::InputMethodQueries QWaylandTextInputV4ClientState::mergeChanged(const QWaylandTextInputV4ClientState &other) {
+Qt::InputMethodQueries QWaylandTextInputV3ClientState::mergeChanged(const QWaylandTextInputV3ClientState &other) {
Qt::InputMethodQueries queries;
@@ -79,16 +79,16 @@ Qt::InputMethodQueries QWaylandTextInputV4ClientState::mergeChanged(const QWayla
return queries;
}
-QWaylandTextInputV4Private::QWaylandTextInputV4Private(QWaylandCompositor *compositor)
+QWaylandTextInputV3Private::QWaylandTextInputV3Private(QWaylandCompositor *compositor)
: compositor(compositor)
- , currentState(new QWaylandTextInputV4ClientState)
- , pendingState(new QWaylandTextInputV4ClientState)
+ , currentState(new QWaylandTextInputV3ClientState)
+ , pendingState(new QWaylandTextInputV3ClientState)
{
}
-void QWaylandTextInputV4Private::sendInputMethodEvent(QInputMethodEvent *event)
+void QWaylandTextInputV3Private::sendInputMethodEvent(QInputMethodEvent *event)
{
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
if (!focusResource || !focusResource->handle)
@@ -131,11 +131,11 @@ void QWaylandTextInputV4Private::sendInputMethodEvent(QInputMethodEvent *event)
}
-void QWaylandTextInputV4Private::sendKeyEvent(QKeyEvent *event)
+void QWaylandTextInputV3Private::sendKeyEvent(QKeyEvent *event)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
if (!focusResource || !focusResource->handle)
return;
@@ -145,7 +145,7 @@ void QWaylandTextInputV4Private::sendKeyEvent(QKeyEvent *event)
send_done(focusResource->handle, serial);
}
-QVariant QWaylandTextInputV4Private::inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const
+QVariant QWaylandTextInputV3Private::inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO << property;
@@ -189,10 +189,10 @@ QVariant QWaylandTextInputV4Private::inputMethodQuery(Qt::InputMethodQuery prope
}
}
-void QWaylandTextInputV4Private::setFocus(QWaylandSurface *surface)
+void QWaylandTextInputV3Private::setFocus(QWaylandSurface *surface)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
if (focusResource && focus) {
// sync before leave
@@ -225,14 +225,14 @@ void QWaylandTextInputV4Private::setFocus(QWaylandSurface *surface)
focusResource = resource;
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_bind_resource(Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_bind_resource(Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
Q_UNUSED(resource);
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_destroy_resource(Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_destroy_resource(Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
@@ -240,20 +240,20 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_destroy_resource(Resource *re
focusResource = nullptr;
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_destroy(Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_destroy(Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
wl_resource_destroy(resource->handle);
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_enable(Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_enable(Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
- pendingState.reset(new QWaylandTextInputV4ClientState);
+ pendingState.reset(new QWaylandTextInputV3ClientState);
enabledSurfaces.insert(resource, focus);
emit q->surfaceEnabled(focus);
@@ -263,11 +263,11 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_enable(Resource *resource)
qApp->inputMethod()->show();
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_disable(QtWaylandServer::zwp_text_input_v4::Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_disable(QtWaylandServer::zwp_text_input_v3::Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
QWaylandSurface *s = enabledSurfaces.take(resource);
emit q->surfaceDisabled(s);
@@ -278,14 +278,14 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_disable(QtWaylandServer::zwp_
qApp->inputMethod()->commit();
}
qApp->inputMethod()->reset();
- pendingState.reset(new QWaylandTextInputV4ClientState);
+ pendingState.reset(new QWaylandTextInputV3ClientState);
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height)
+void QWaylandTextInputV3Private::zwp_text_input_v3_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO << x << y << width << height;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
if (resource != focusResource)
return;
@@ -295,11 +295,11 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_set_cursor_rectangle(Resource
pendingState->changedState |= Qt::ImCursorRectangle;
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_commit(Resource *resource)
+void QWaylandTextInputV3Private::zwp_text_input_v3_commit(Resource *resource)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_Q(QWaylandTextInputV4);
+ Q_Q(QWaylandTextInputV3);
if (resource != focusResource) {
qCDebug(qLcWaylandCompositorTextInput) << "OBS: Disabled surface!!";
@@ -327,7 +327,7 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_commit(Resource *resource)
qApp->inputMethod()->invokeAction(QInputMethod::Click, pendingState->cursorPosition);
Qt::InputMethodQueries queries = currentState->mergeChanged(*pendingState.data());
- pendingState.reset(new QWaylandTextInputV4ClientState);
+ pendingState.reset(new QWaylandTextInputV3ClientState);
if (queries) {
qCDebug(qLcWaylandCompositorTextInput) << "QInputMethod::update() after commit with" << queries;
@@ -336,7 +336,7 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_commit(Resource *resource)
}
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose)
+void QWaylandTextInputV3Private::zwp_text_input_v3_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO << hint << purpose;
@@ -405,7 +405,7 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_set_content_type(Resource *re
pendingState->changedState |= Qt::ImHints;
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_set_surrounding_text(Resource *resource, const QString &text, int32_t cursor, int32_t anchor)
+void QWaylandTextInputV3Private::zwp_text_input_v3_set_surrounding_text(Resource *resource, const QString &text, int32_t cursor, int32_t anchor)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO << text << cursor << anchor;
@@ -419,7 +419,7 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_set_surrounding_text(Resource
pendingState->changedState |= Qt::ImSurroundingText | Qt::ImCursorPosition | Qt::ImAnchorPosition;
}
-void QWaylandTextInputV4Private::zwp_text_input_v4_set_text_change_cause(Resource *resource, uint32_t cause)
+void QWaylandTextInputV3Private::zwp_text_input_v3_set_text_change_cause(Resource *resource, uint32_t cause)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
@@ -427,57 +427,57 @@ void QWaylandTextInputV4Private::zwp_text_input_v4_set_text_change_cause(Resourc
Q_UNUSED(cause);
}
-QWaylandTextInputV4::QWaylandTextInputV4(QWaylandObject *container, QWaylandCompositor *compositor)
- : QWaylandCompositorExtensionTemplate(container, *new QWaylandTextInputV4Private(compositor))
+QWaylandTextInputV3::QWaylandTextInputV3(QWaylandObject *container, QWaylandCompositor *compositor)
+ : QWaylandCompositorExtensionTemplate(container, *new QWaylandTextInputV3Private(compositor))
{
connect(&d_func()->focusDestroyListener, &QWaylandDestroyListener::fired,
- this, &QWaylandTextInputV4::focusSurfaceDestroyed);
+ this, &QWaylandTextInputV3::focusSurfaceDestroyed);
}
-QWaylandTextInputV4::~QWaylandTextInputV4()
+QWaylandTextInputV3::~QWaylandTextInputV3()
{
}
-void QWaylandTextInputV4::sendInputMethodEvent(QInputMethodEvent *event)
+void QWaylandTextInputV3::sendInputMethodEvent(QInputMethodEvent *event)
{
- Q_D(QWaylandTextInputV4);
+ Q_D(QWaylandTextInputV3);
d->sendInputMethodEvent(event);
}
-void QWaylandTextInputV4::sendKeyEvent(QKeyEvent *event)
+void QWaylandTextInputV3::sendKeyEvent(QKeyEvent *event)
{
- Q_D(QWaylandTextInputV4);
+ Q_D(QWaylandTextInputV3);
d->sendKeyEvent(event);
}
-QVariant QWaylandTextInputV4::inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const
+QVariant QWaylandTextInputV3::inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const
{
- const Q_D(QWaylandTextInputV4);
+ const Q_D(QWaylandTextInputV3);
return d->inputMethodQuery(property, argument);
}
-QWaylandSurface *QWaylandTextInputV4::focus() const
+QWaylandSurface *QWaylandTextInputV3::focus() const
{
- const Q_D(QWaylandTextInputV4);
+ const Q_D(QWaylandTextInputV3);
return d->focus;
}
-void QWaylandTextInputV4::setFocus(QWaylandSurface *surface)
+void QWaylandTextInputV3::setFocus(QWaylandSurface *surface)
{
- Q_D(QWaylandTextInputV4);
+ Q_D(QWaylandTextInputV3);
d->setFocus(surface);
}
-void QWaylandTextInputV4::focusSurfaceDestroyed(void *)
+void QWaylandTextInputV3::focusSurfaceDestroyed(void *)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_D(QWaylandTextInputV4);
+ Q_D(QWaylandTextInputV3);
d->focusDestroyListener.reset();
@@ -485,32 +485,32 @@ void QWaylandTextInputV4::focusSurfaceDestroyed(void *)
d->focusResource = nullptr;
}
-bool QWaylandTextInputV4::isSurfaceEnabled(QWaylandSurface *surface) const
+bool QWaylandTextInputV3::isSurfaceEnabled(QWaylandSurface *surface) const
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- const Q_D(QWaylandTextInputV4);
+ const Q_D(QWaylandTextInputV3);
return d->enabledSurfaces.values().contains(surface);
}
-void QWaylandTextInputV4::add(::wl_client *client, uint32_t id, int version)
+void QWaylandTextInputV3::add(::wl_client *client, uint32_t id, int version)
{
qCDebug(qLcWaylandCompositorTextInput) << Q_FUNC_INFO;
- Q_D(QWaylandTextInputV4);
+ Q_D(QWaylandTextInputV3);
d->add(client, id, version);
}
-const wl_interface *QWaylandTextInputV4::interface()
+const wl_interface *QWaylandTextInputV3::interface()
{
- return QWaylandTextInputV4Private::interface();
+ return QWaylandTextInputV3Private::interface();
}
-QByteArray QWaylandTextInputV4::interfaceName()
+QByteArray QWaylandTextInputV3::interfaceName()
{
- return QWaylandTextInputV4Private::interfaceName();
+ return QWaylandTextInputV3Private::interfaceName();
}
QT_END_NAMESPACE
diff --git a/src/compositor/extensions/qwaylandtextinputv4.h b/src/compositor/extensions/qwaylandtextinputv3.h
index 4b4d8fa4d..1305bddfb 100644
--- a/src/compositor/extensions/qwaylandtextinputv4.h
+++ b/src/compositor/extensions/qwaylandtextinputv3.h
@@ -1,8 +1,8 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#ifndef QWAYLANDTEXTINPUTV4_H
-#define QWAYLANDTEXTINPUTV4_H
+#ifndef QWAYLANDTEXTINPUTV3_H
+#define QWAYLANDTEXTINPUTV3_H
#include <QtWaylandCompositor/QWaylandCompositorExtension>
@@ -10,19 +10,19 @@ struct wl_client;
QT_BEGIN_NAMESPACE
-class QWaylandTextInputV4Private;
+class QWaylandTextInputV3Private;
class QInputMethodEvent;
class QKeyEvent;
class QWaylandSurface;
-class QWaylandTextInputV4 : public QWaylandCompositorExtensionTemplate<QWaylandTextInputV4>
+class QWaylandTextInputV3 : public QWaylandCompositorExtensionTemplate<QWaylandTextInputV3>
{
Q_OBJECT
- Q_DECLARE_PRIVATE(QWaylandTextInputV4)
+ Q_DECLARE_PRIVATE(QWaylandTextInputV3)
public:
- explicit QWaylandTextInputV4(QWaylandObject *container, QWaylandCompositor *compositor);
- ~QWaylandTextInputV4() override;
+ explicit QWaylandTextInputV3(QWaylandObject *container, QWaylandCompositor *compositor);
+ ~QWaylandTextInputV3() override;
void sendInputMethodEvent(QInputMethodEvent *event);
void sendKeyEvent(QKeyEvent *event);
@@ -49,4 +49,4 @@ private:
QT_END_NAMESPACE
-#endif // QWAYLANDTEXTINPUTV4_H
+#endif // QWAYLANDTEXTINPUTV3_H
diff --git a/src/compositor/extensions/qwaylandtextinputv4_p.h b/src/compositor/extensions/qwaylandtextinputv3_p.h
index 0e29e62c1..ff03c82d5 100644
--- a/src/compositor/extensions/qwaylandtextinputv4_p.h
+++ b/src/compositor/extensions/qwaylandtextinputv3_p.h
@@ -1,11 +1,11 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#ifndef QWAYLANDTEXTINPUTV4_P_H
-#define QWAYLANDTEXTINPUTV4_P_H
+#ifndef QWAYLANDTEXTINPUTV3_P_H
+#define QWAYLANDTEXTINPUTV3_P_H
#include <QtWaylandCompositor/private/qwaylandcompositorextension_p.h>
-#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v4-wip.h>
+#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v3.h>
#include <QtWaylandCompositor/QWaylandDestroyListener>
#include <QtCore/QObject>
@@ -31,12 +31,12 @@ class QKeyEvent;
class QWaylandCompositor;
class QWaylandView;
-class QWaylandTextInputV4ClientState {
+class QWaylandTextInputV3ClientState {
public:
- QWaylandTextInputV4ClientState();
+ QWaylandTextInputV3ClientState();
- Qt::InputMethodQueries updatedQueries(const QWaylandTextInputV4ClientState &other) const;
- Qt::InputMethodQueries mergeChanged(const QWaylandTextInputV4ClientState &other);
+ Qt::InputMethodQueries updatedQueries(const QWaylandTextInputV3ClientState &other) const;
+ Qt::InputMethodQueries mergeChanged(const QWaylandTextInputV3ClientState &other);
Qt::InputMethodHints hints = Qt::ImhNone;
QRect cursorRectangle;
@@ -47,11 +47,11 @@ public:
Qt::InputMethodQueries changedState;
};
-class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputV4Private : public QWaylandCompositorExtensionPrivate, public QtWaylandServer::zwp_text_input_v4
+class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandTextInputV3Private : public QWaylandCompositorExtensionPrivate, public QtWaylandServer::zwp_text_input_v3
{
- Q_DECLARE_PUBLIC(QWaylandTextInputV4)
+ Q_DECLARE_PUBLIC(QWaylandTextInputV3)
public:
- explicit QWaylandTextInputV4Private(QWaylandCompositor *compositor);
+ explicit QWaylandTextInputV3Private(QWaylandCompositor *compositor);
void sendInputMethodEvent(QInputMethodEvent *event);
void sendKeyEvent(QKeyEvent *event);
@@ -70,27 +70,27 @@ public:
QString currentPreeditString;
- QScopedPointer<QWaylandTextInputV4ClientState> currentState;
- QScopedPointer<QWaylandTextInputV4ClientState> pendingState;
+ QScopedPointer<QWaylandTextInputV3ClientState> currentState;
+ QScopedPointer<QWaylandTextInputV3ClientState> pendingState;
uint32_t serial = 0;
QHash<Resource *, QWaylandSurface*> enabledSurfaces;
protected:
- void zwp_text_input_v4_bind_resource(Resource *resource) override;
- void zwp_text_input_v4_destroy_resource(Resource *resource) override;
-
- void zwp_text_input_v4_destroy(Resource *resource) override;
- void zwp_text_input_v4_enable(Resource *resource) override;
- void zwp_text_input_v4_disable(Resource *resource) override;
- void zwp_text_input_v4_set_surrounding_text(Resource *resource, const QString &text, int32_t cursor, int32_t anchor) override;
- void zwp_text_input_v4_set_text_change_cause(Resource *resource, uint32_t cause) override;
- void zwp_text_input_v4_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose) override;
- void zwp_text_input_v4_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override;
- void zwp_text_input_v4_commit(Resource *resource) override;
+ void zwp_text_input_v3_bind_resource(Resource *resource) override;
+ void zwp_text_input_v3_destroy_resource(Resource *resource) override;
+
+ void zwp_text_input_v3_destroy(Resource *resource) override;
+ void zwp_text_input_v3_enable(Resource *resource) override;
+ void zwp_text_input_v3_disable(Resource *resource) override;
+ void zwp_text_input_v3_set_surrounding_text(Resource *resource, const QString &text, int32_t cursor, int32_t anchor) override;
+ void zwp_text_input_v3_set_text_change_cause(Resource *resource, uint32_t cause) override;
+ void zwp_text_input_v3_set_content_type(Resource *resource, uint32_t hint, uint32_t purpose) override;
+ void zwp_text_input_v3_set_cursor_rectangle(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override;
+ void zwp_text_input_v3_commit(Resource *resource) override;
};
QT_END_NAMESPACE
-#endif // QWAYLANDTEXTINPUTV4_P_H
+#endif // QWAYLANDTEXTINPUTV3_P_H
diff --git a/src/configure.cmake b/src/configure.cmake
index 4769441e5..eda1f0850 100644
--- a/src/configure.cmake
+++ b/src/configure.cmake
@@ -4,9 +4,6 @@
# configure.cmake for the QtWaylandGlobalPrivate module
#### Inputs
-set(INPUT_wayland_text_input_v4_wip OFF CACHE BOOL "")
-
-
#### Libraries
@@ -248,12 +245,7 @@ qt_feature("wayland-vulkan-server-buffer" PRIVATE
qt_feature("wayland-datadevice" PRIVATE
CONDITION QT_FEATURE_draganddrop OR QT_FEATURE_clipboard
)
-qt_feature("wayland-text-input-v4-wip" PRIVATE
- LABEL "Qt Wayland TextInput Protocol V4(WIP)"
- PURPOSE "Enables wayland_text_input_unstable_v4(wip)"
-)
-qt_configure_add_summary_entry(ARGS "wayland-text-input-v4-wip")
qt_configure_add_summary_entry(ARGS "wayland-client")
qt_configure_add_summary_entry(ARGS "wayland-server")
qt_configure_add_summary_section(NAME "Qt Wayland Drivers")
diff --git a/src/shared/qwaylandinputmethodeventbuilder.cpp b/src/shared/qwaylandinputmethodeventbuilder.cpp
index f0758bf70..0f07a6958 100644
--- a/src/shared/qwaylandinputmethodeventbuilder.cpp
+++ b/src/shared/qwaylandinputmethodeventbuilder.cpp
@@ -11,10 +11,10 @@
#ifdef QT_BUILD_WAYLANDCOMPOSITOR_LIB
#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v2.h>
-#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v4-wip.h>
+#include <QtWaylandCompositor/private/qwayland-server-text-input-unstable-v3.h>
#else
#include <QtWaylandClient/private/qwayland-text-input-unstable-v2.h>
-#include <QtWaylandClient/private/qwayland-text-input-unstable-v4-wip.h>
+#include <QtWaylandClient/private/qwayland-text-input-unstable-v3.h>
#endif
QT_BEGIN_NAMESPACE
@@ -218,55 +218,55 @@ QWaylandInputMethodContentType QWaylandInputMethodContentType::convert(Qt::Input
return QWaylandInputMethodContentType{hint, purpose};
}
-QWaylandInputMethodContentType QWaylandInputMethodContentType::convertV4(Qt::InputMethodHints hints)
+QWaylandInputMethodContentType QWaylandInputMethodContentType::convertV3(Qt::InputMethodHints hints)
{
- uint32_t hint = ZWP_TEXT_INPUT_V4_CONTENT_HINT_NONE;
- uint32_t purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_NORMAL;
+ uint32_t hint = ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE;
+ uint32_t purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL;
if (hints & Qt::ImhHiddenText)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_HIDDEN_TEXT;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_HIDDEN_TEXT;
if (hints & Qt::ImhSensitiveData)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_SENSITIVE_DATA;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_SENSITIVE_DATA;
if ((hints & Qt::ImhNoAutoUppercase) == 0)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_AUTO_CAPITALIZATION;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_AUTO_CAPITALIZATION;
if (hints & Qt::ImhPreferNumbers) {
// Nothing yet
}
if (hints & Qt::ImhPreferUppercase)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_UPPERCASE;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_UPPERCASE;
if (hints & Qt::ImhPreferLowercase)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_LOWERCASE;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_LOWERCASE;
if ((hints & Qt::ImhNoPredictiveText) == 0) {
- hint |= (ZWP_TEXT_INPUT_V4_CONTENT_HINT_COMPLETION
- | ZWP_TEXT_INPUT_V4_CONTENT_HINT_SPELLCHECK);
+ hint |= (ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION
+ | ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK);
}
if ((hints & Qt::ImhDate) && (hints & Qt::ImhTime) == 0)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_DATE;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATE;
else if ((hints & Qt::ImhDate) && (hints & Qt::ImhTime))
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_DATETIME;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATETIME;
else if ((hints & Qt::ImhDate) == 0 && (hints & Qt::ImhTime))
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_TIME;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TIME;
if (hints & Qt::ImhPreferLatin)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_LATIN;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_LATIN;
if (hints & Qt::ImhMultiLine)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_MULTILINE;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_MULTILINE;
if (hints & Qt::ImhDigitsOnly)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_DIGITS;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DIGITS;
if (hints & Qt::ImhFormattedNumbersOnly)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_NUMBER;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NUMBER;
if (hints & Qt::ImhUppercaseOnly)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_UPPERCASE;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_UPPERCASE;
if (hints & Qt::ImhLowercaseOnly)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_LOWERCASE;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_LOWERCASE;
if (hints & Qt::ImhDialableCharactersOnly)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_PHONE;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PHONE;
if (hints & Qt::ImhEmailCharactersOnly)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_EMAIL;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_EMAIL;
if (hints & Qt::ImhUrlCharactersOnly)
- purpose = ZWP_TEXT_INPUT_V4_CONTENT_PURPOSE_URL;
+ purpose = ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_URL;
if (hints & Qt::ImhLatinOnly)
- hint |= ZWP_TEXT_INPUT_V4_CONTENT_HINT_LATIN;
+ hint |= ZWP_TEXT_INPUT_V3_CONTENT_HINT_LATIN;
return QWaylandInputMethodContentType{hint, purpose};
}
diff --git a/src/shared/qwaylandinputmethodeventbuilder_p.h b/src/shared/qwaylandinputmethodeventbuilder_p.h
index 1ccfa11a2..6926dac56 100644
--- a/src/shared/qwaylandinputmethodeventbuilder_p.h
+++ b/src/shared/qwaylandinputmethodeventbuilder_p.h
@@ -47,7 +47,7 @@ struct QWaylandInputMethodContentType {
uint32_t purpose = 0;
static QWaylandInputMethodContentType convert(Qt::InputMethodHints hints);
- static QWaylandInputMethodContentType convertV4(Qt::InputMethodHints hints);
+ static QWaylandInputMethodContentType convertV3(Qt::InputMethodHints hints);
};