990e88ac1a
Summary: This change introduces support for text input. Text input allows to compose text on the server (e.g. through a virtual keyboard) and sent the composed text to the client. There are multiple interfaces for text input. QtWayland 5.6 uses wl_text_input, QtWayland 5.7 uses zwp_text_input_v2. wl_text_input is from pre Wayland-Protocols times and considered as UnstableV0 in this implementation. The other interface is UnstableV2. Unfortunately the V2 variant is not yet part of Wayland-Protocols, but used in Qt. The implementation hides the different interfaces as good as possible. The general idea is the same, the differences are rather minor. This means changes to how interfaces are wrapped normally. On client side in the Registry a manager is factored which represent either of the two interfaces. Similar on the server side Display's factory method takes an argument to decide which interface should be factored. This way a user of the library can expose both interfaces and thus be compatible with Qt 5.6 and Qt 5.7 onwards. Reviewers: #plasma Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D1631
310 lines
13 KiB
CMake
310 lines
13 KiB
CMake
########################################################
|
|
# Test WaylandConnectionThread
|
|
########################################################
|
|
set( testWaylandConnectionThread_SRCS
|
|
test_wayland_connection_thread.cpp
|
|
)
|
|
add_executable(testWaylandConnectionThread ${testWaylandConnectionThread_SRCS})
|
|
target_link_libraries( testWaylandConnectionThread Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandConnectionThread testWaylandConnectionThread)
|
|
ecm_mark_as_test(testWaylandConnectionThread)
|
|
|
|
########################################################
|
|
# Test WaylandRegistry
|
|
########################################################
|
|
set( testWaylandRegistry_SRCS
|
|
test_wayland_registry.cpp
|
|
)
|
|
add_executable(testWaylandRegistry ${testWaylandRegistry_SRCS})
|
|
target_link_libraries( testWaylandRegistry Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandRegistry testWaylandRegistry)
|
|
ecm_mark_as_test(testWaylandRegistry)
|
|
|
|
########################################################
|
|
# Test WaylandFullscreenShell
|
|
########################################################
|
|
if(Wayland_VERSION VERSION_GREATER "1.4.0")
|
|
set( testWaylandFullscreenShell_SRCS
|
|
test_wayland_fullscreen_shell.cpp
|
|
)
|
|
add_executable(testWaylandFullscreenShell ${testWaylandFullscreenShell_SRCS})
|
|
target_link_libraries( testWaylandFullscreenShell Qt5::Test KF5::WaylandClient Wayland::Client)
|
|
add_test(kwayland-testWaylandFullscreenShell testWaylandFullscreenShell)
|
|
ecm_mark_as_test(testWaylandFullscreenShell)
|
|
endif()
|
|
|
|
########################################################
|
|
# Test WaylandOutput
|
|
########################################################
|
|
set( testWaylandOutput_SRCS
|
|
test_wayland_output.cpp
|
|
)
|
|
add_executable(testWaylandOutput ${testWaylandOutput_SRCS})
|
|
target_link_libraries( testWaylandOutput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandOutput testWaylandOutput)
|
|
ecm_mark_as_test(testWaylandOutput)
|
|
|
|
########################################################
|
|
# Test WaylandShell
|
|
########################################################
|
|
set( testWaylandShell_SRCS
|
|
test_wayland_shell.cpp
|
|
)
|
|
add_executable(testWaylandShell ${testWaylandShell_SRCS})
|
|
target_link_libraries( testWaylandShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandShell testWaylandShell)
|
|
ecm_mark_as_test(testWaylandShell)
|
|
|
|
########################################################
|
|
# Test WaylandSurface
|
|
########################################################
|
|
set( testWaylandSurface_SRCS
|
|
test_wayland_surface.cpp
|
|
)
|
|
add_executable(testWaylandSurface ${testWaylandSurface_SRCS})
|
|
target_link_libraries( testWaylandSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandSurface testWaylandSurface)
|
|
ecm_mark_as_test(testWaylandSurface)
|
|
|
|
########################################################
|
|
# Test WaylandSeat
|
|
########################################################
|
|
set( testWaylandSeat_SRCS
|
|
test_wayland_seat.cpp
|
|
)
|
|
add_executable(testWaylandSeat ${testWaylandSeat_SRCS})
|
|
target_link_libraries( testWaylandSeat Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client Wayland::Server)
|
|
add_test(kwayland-testWaylandSeat testWaylandSeat)
|
|
ecm_mark_as_test(testWaylandSeat)
|
|
|
|
########################################################
|
|
# Test ShmPool
|
|
########################################################
|
|
set( testShmPool_SRCS
|
|
test_shm_pool.cpp
|
|
)
|
|
add_executable(testShmPool ${testShmPool_SRCS})
|
|
target_link_libraries( testShmPool Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testShmPool testShmPool)
|
|
ecm_mark_as_test(testShmPool)
|
|
|
|
########################################################
|
|
# Test KWin OutputManagement
|
|
########################################################
|
|
set( test_wayland_outputmanagement_SRCS
|
|
test_wayland_outputmanagement.cpp
|
|
)
|
|
add_executable(testWaylandOutputManagement ${test_wayland_outputmanagement_SRCS})
|
|
target_link_libraries( testWaylandOutputManagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testWaylandOutputManagement testWaylandOutputManagement)
|
|
ecm_mark_as_test(testWaylandOutputManagement)
|
|
|
|
########################################################
|
|
# Test KWin OutputDevice
|
|
########################################################
|
|
set( test_wayland_outputdevice_SRCS
|
|
test_wayland_outputdevice.cpp
|
|
)
|
|
add_executable(testWaylandOutputDevice ${test_wayland_outputdevice_SRCS})
|
|
target_link_libraries( testWaylandOutputDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testWaylandOutputDevice testWaylandOutputDevice)
|
|
ecm_mark_as_test(testWaylandOutputDevice)
|
|
|
|
########################################################
|
|
# Test Compositor
|
|
########################################################
|
|
set( testCompositor_SRCS
|
|
test_compositor.cpp
|
|
)
|
|
add_executable(testCompositor ${testCompositor_SRCS})
|
|
target_link_libraries( testCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testCompositor testCompositor)
|
|
ecm_mark_as_test(testCompositor)
|
|
|
|
########################################################
|
|
# Test SubCompositor
|
|
########################################################
|
|
set( testSubCompositor_SRCS
|
|
test_wayland_subcompositor.cpp
|
|
)
|
|
add_executable(testSubCompositor ${testSubCompositor_SRCS})
|
|
target_link_libraries( testSubCompositor Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testSubCompositor testSubCompositor)
|
|
ecm_mark_as_test(testSubCompositor)
|
|
|
|
|
|
########################################################
|
|
# Test SubSurface
|
|
########################################################
|
|
set( testSubSurface_SRCS
|
|
test_wayland_subsurface.cpp
|
|
)
|
|
add_executable(testSubSurface ${testSubSurface_SRCS})
|
|
target_link_libraries( testSubSurface Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testSubSurface testSubSurface)
|
|
ecm_mark_as_test(testSubSurface)
|
|
|
|
########################################################
|
|
# Test Region
|
|
########################################################
|
|
set( testRegion_SRCS
|
|
test_wayland_region.cpp
|
|
)
|
|
add_executable(testRegion ${testRegion_SRCS})
|
|
target_link_libraries( testRegion Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testRegion testRegion)
|
|
ecm_mark_as_test(testRegion)
|
|
|
|
########################################################
|
|
# Test Blur
|
|
########################################################
|
|
set( testBlur_SRCS
|
|
test_wayland_blur.cpp
|
|
)
|
|
add_executable(testBlur ${testBlur_SRCS})
|
|
target_link_libraries( testBlur Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testBlur testBlur)
|
|
ecm_mark_as_test(testBlur)
|
|
|
|
########################################################
|
|
# Test Contrast
|
|
########################################################
|
|
set( testContrast_SRCS
|
|
test_wayland_contrast.cpp
|
|
)
|
|
add_executable(testContrast ${testContrast_SRCS})
|
|
target_link_libraries( testContrast Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testContrast testContrast)
|
|
ecm_mark_as_test(testContrast)
|
|
|
|
########################################################
|
|
# Test Slide
|
|
########################################################
|
|
set( testSlide_SRCS
|
|
test_wayland_slide.cpp
|
|
)
|
|
add_executable(testSlide ${testSlide_SRCS})
|
|
target_link_libraries( testSlide Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testSlide testSlide)
|
|
ecm_mark_as_test(testSlide)
|
|
|
|
########################################################
|
|
# Test Window Management
|
|
########################################################
|
|
set( testWindowmanagement_SRCS
|
|
test_wayland_windowmanagement.cpp
|
|
)
|
|
add_executable(testWindowmanagement ${testWindowmanagement_SRCS})
|
|
target_link_libraries( testWindowmanagement Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testWindowmanagement testWindowmanagement)
|
|
ecm_mark_as_test(testWindowmanagement)
|
|
|
|
########################################################
|
|
# Test DataSource
|
|
########################################################
|
|
set( testDataSource_SRCS
|
|
test_datasource.cpp
|
|
)
|
|
add_executable(testDataSource ${testDataSource_SRCS})
|
|
target_link_libraries( testDataSource Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testDataSource testDataSource)
|
|
ecm_mark_as_test(testDataSource)
|
|
|
|
########################################################
|
|
# Test DataDevice
|
|
########################################################
|
|
set( testDataDevice_SRCS
|
|
test_datadevice.cpp
|
|
)
|
|
add_executable(testDataDevice ${testDataDevice_SRCS})
|
|
target_link_libraries( testDataDevice Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testDataDevice testDataDevice)
|
|
ecm_mark_as_test(testDataDevice)
|
|
|
|
########################################################
|
|
# Test ServerSideDecoration
|
|
########################################################
|
|
set( testServerSideDecoration_SRCS
|
|
test_server_side_decoration.cpp
|
|
)
|
|
add_executable(testServerSideDecoration ${testServerSideDecoration_SRCS})
|
|
target_link_libraries( testServerSideDecoration Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testServerSideDecoration testServerSideDecoration)
|
|
ecm_mark_as_test(testServerSideDecoration)
|
|
|
|
########################################################
|
|
# Test Drag'N'Drop
|
|
########################################################
|
|
set( testDragAndDrop_SRCS
|
|
test_drag_drop.cpp
|
|
)
|
|
add_executable(testDragAndDrop ${testDragAndDrop_SRCS})
|
|
target_link_libraries( testDragAndDrop Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testDragAndDrop testDragAndDrop)
|
|
ecm_mark_as_test(testDragAndDrop)
|
|
|
|
########################################################
|
|
# Test PlasmaShell
|
|
########################################################
|
|
set( testPlasmaShell_SRCS
|
|
test_plasmashell.cpp
|
|
)
|
|
add_executable(testPlasmaShell ${testPlasmaShell_SRCS})
|
|
target_link_libraries( testPlasmaShell Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer Wayland::Client)
|
|
add_test(kwayland-testPlasmaShell testPlasmaShell)
|
|
ecm_mark_as_test(testPlasmaShell)
|
|
|
|
########################################################
|
|
# Test Idle
|
|
########################################################
|
|
set( testIdle_SRCS
|
|
test_idle.cpp
|
|
)
|
|
add_executable(testIdle ${testIdle_SRCS})
|
|
target_link_libraries( testIdle Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testIdle testIdle)
|
|
ecm_mark_as_test(testIdle)
|
|
|
|
########################################################
|
|
# Test Shadow
|
|
########################################################
|
|
set( testShadow_SRCS
|
|
test_shadow.cpp
|
|
)
|
|
add_executable(testShadow ${testShadow_SRCS})
|
|
target_link_libraries( testShadow Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testShadow testShadow)
|
|
ecm_mark_as_test(testShadow)
|
|
|
|
########################################################
|
|
# Test FakeInput
|
|
########################################################
|
|
set( testFakeInput_SRCS
|
|
test_fake_input.cpp
|
|
)
|
|
add_executable(testFakeInput ${testFakeInput_SRCS})
|
|
target_link_libraries( testFakeInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testFakeInput testFakeInput)
|
|
ecm_mark_as_test(testFakeInput)
|
|
|
|
########################################################
|
|
# Test PlasmaWindowModel
|
|
########################################################
|
|
set( testPlasmaWindowModel_SRCS
|
|
test_plasma_window_model.cpp
|
|
)
|
|
add_executable(testPlasmaWindowModel ${testPlasmaWindowModel_SRCS})
|
|
target_link_libraries( testPlasmaWindowModel Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testPlasmaWindowModel testPlasmaWindowModel)
|
|
ecm_mark_as_test(testPlasmaWindowModel)
|
|
|
|
########################################################
|
|
# Test TextInput
|
|
########################################################
|
|
set( testTextInput_SRCS
|
|
test_text_input.cpp
|
|
)
|
|
add_executable(testTextInput ${testTextInput_SRCS})
|
|
target_link_libraries( testTextInput Qt5::Test Qt5::Gui KF5::WaylandClient KF5::WaylandServer)
|
|
add_test(kwayland-testTextInput testTextInput)
|
|
ecm_mark_as_test(testTextInput)
|