From 9a73873125e9caebc8810b7d331e220890ceb4af Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Tue, 4 Feb 2020 16:32:58 +0100 Subject: Compositor: Deprecate XdgShell unstable v5 A stable version of XdgShell has been released. Since xdg-shell v5 is quite different from both the stable version and wl-shell with regards to how configure events work, it would be a maintenance burden to keep supporting it in Qt 6. [ChangeLog][Compositor] XdgShellV5 has been deprecated, use XdgShell instead. Task-number: QTBUG-81853 Change-Id: I06ffc676cb8c9c1a46de30eef59ceef8bb0ff7a3 Reviewed-by: Pier Luigi Fiorini --- src/compositor/extensions/qwaylandxdgshellv5.cpp | 10 ++++++++++ src/compositor/extensions/qwaylandxdgshellv5.h | 4 ++++ src/compositor/extensions/qwaylandxdgshellv5_p.h | 4 ++++ src/compositor/extensions/qwaylandxdgshellv5integration.cpp | 4 ++++ src/compositor/extensions/qwaylandxdgshellv5integration_p.h | 4 ++++ src/imports/compositor/qwaylandquickcompositorplugin.cpp | 2 ++ 6 files changed, 28 insertions(+) diff --git a/src/compositor/extensions/qwaylandxdgshellv5.cpp b/src/compositor/extensions/qwaylandxdgshellv5.cpp index 337540fc3..c6ef34e7b 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5.cpp +++ b/src/compositor/extensions/qwaylandxdgshellv5.cpp @@ -47,6 +47,8 @@ QT_BEGIN_NAMESPACE +#if QT_DEPRECATED_SINCE(5, 15) + QWaylandSurfaceRole QWaylandXdgSurfaceV5Private::s_role("xdg_surface"); QWaylandSurfaceRole QWaylandXdgPopupV5Private::s_role("xdg_popup"); @@ -493,6 +495,7 @@ void QWaylandXdgPopupV5Private::xdg_popup_destroy(Resource *resource) * \qmltype XdgShellV5 * \inqmlmodule QtWayland.Compositor * \since 5.8 + * \obsolete * \brief Provides an extension for desktop-style user interfaces. * * The XdgShellV5 extension provides a way to associate an XdgSurfaceV5 @@ -522,6 +525,7 @@ void QWaylandXdgPopupV5Private::xdg_popup_destroy(Resource *resource) * \class QWaylandXdgShellV5 * \inmodule QtWaylandCompositor * \since 5.8 + * \obsolete * \brief The QWaylandXdgShellV5 class is an extension for desktop-style user interfaces. * * The QWaylandXdgShellV5 extension provides a way to associate a QWaylandXdgSurfaceV5 with @@ -756,6 +760,7 @@ void QWaylandXdgShellV5::handleFocusChanged(QWaylandSurface *newSurface, QWaylan * \qmltype XdgSurfaceV5 * \inqmlmodule QtWayland.Compositor * \since 5.8 + * \obsolete * \brief Provides a \c xdg_surface that offers desktop-style compositor-specific features to a surface. * * This type is part of the \l{XdgShellV5} extension and provides a way to extend @@ -771,6 +776,7 @@ void QWaylandXdgShellV5::handleFocusChanged(QWaylandSurface *newSurface, QWaylan * \class QWaylandXdgSurfaceV5 * \inmodule QtWaylandCompositor * \since 5.8 + * \obsolete * \brief The QWaylandXdgSurfaceV5 class provides desktop-style compositor-specific features to an xdg surface. * * This class is part of the QWaylandXdgShellV5 extension and provides a way to @@ -1355,6 +1361,7 @@ QWaylandQuickShellIntegration *QWaylandXdgSurfaceV5::createIntegration(QWaylandQ * \qmltype XdgPopupV5 * \inqmlmodule QtWayland.Compositor * \since 5.8 + * \obsolete * \brief Provides a \c xdg_popup interface that implements popup features for the xdg-shell protocol. * * This type is part of the \l{XdgShellV5} extension and provides a way to extend @@ -1370,6 +1377,7 @@ QWaylandQuickShellIntegration *QWaylandXdgSurfaceV5::createIntegration(QWaylandQ * \class QWaylandXdgPopupV5 * \inmodule QtWaylandCompositor * \since 5.8 + * \obsolete * \brief The QWaylandXdgPopupV5 class provides menus for an xdg surface. * * This class is part of the QWaylandXdgShellV5 extension and provides a way to @@ -1551,4 +1559,6 @@ QWaylandQuickShellIntegration *QWaylandXdgPopupV5::createIntegration(QWaylandQui } #endif +#endif // QT_DEPRECATED_SINCE(5, 15) + QT_END_NAMESPACE diff --git a/src/compositor/extensions/qwaylandxdgshellv5.h b/src/compositor/extensions/qwaylandxdgshellv5.h index d0fba5f69..c0df767b1 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5.h +++ b/src/compositor/extensions/qwaylandxdgshellv5.h @@ -42,6 +42,8 @@ struct wl_resource; QT_BEGIN_NAMESPACE +#if QT_DEPRECATED_SINCE(5, 15) + class QWaylandXdgShellV5Private; class QWaylandXdgSurfaceV5; class QWaylandXdgSurfaceV5Private; @@ -247,6 +249,8 @@ private: void initialize() override; }; +#endif // QT_DEPRECATED_SINCE(5, 15) + QT_END_NAMESPACE #endif /*QWAYLANDXDGSHELLV5_H*/ diff --git a/src/compositor/extensions/qwaylandxdgshellv5_p.h b/src/compositor/extensions/qwaylandxdgshellv5_p.h index 9aaad65b5..5356d979c 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5_p.h +++ b/src/compositor/extensions/qwaylandxdgshellv5_p.h @@ -51,6 +51,8 @@ QT_BEGIN_NAMESPACE +#if QT_DEPRECATED_SINCE(5, 15) + class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandXdgShellV5Private : public QWaylandShellPrivate , public QtWaylandServer::xdg_shell_v5 @@ -168,6 +170,8 @@ public: static QWaylandSurfaceRole s_role; }; +#endif // QT_DEPRECATED_SINCE(5, 15) + QT_END_NAMESPACE #endif // QWAYLANDXDGSHELLV5_P_H diff --git a/src/compositor/extensions/qwaylandxdgshellv5integration.cpp b/src/compositor/extensions/qwaylandxdgshellv5integration.cpp index cbb61d3bd..2f11130fe 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5integration.cpp +++ b/src/compositor/extensions/qwaylandxdgshellv5integration.cpp @@ -38,6 +38,8 @@ QT_BEGIN_NAMESPACE +#if QT_DEPRECATED_SINCE(5, 15) + namespace QtWayland { static void handlePopupCreated(QWaylandQuickShellSurfaceItem *parentItem, QWaylandXdgPopupV5 *popup) @@ -246,4 +248,6 @@ void XdgPopupV5Integration::handlePopupDestroyed() } +#endif // QT_DEPRECATED_SINCE(5, 15) + QT_END_NAMESPACE diff --git a/src/compositor/extensions/qwaylandxdgshellv5integration_p.h b/src/compositor/extensions/qwaylandxdgshellv5integration_p.h index ea4477ba0..4a0c3d213 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5integration_p.h +++ b/src/compositor/extensions/qwaylandxdgshellv5integration_p.h @@ -35,6 +35,8 @@ QT_BEGIN_NAMESPACE +#if QT_DEPRECATED_SINCE(5, 15) + // // W A R N I N G // ------------- @@ -122,6 +124,8 @@ private: } +#endif // QT_DEPRECATED_SINCE(5, 15) + QT_END_NAMESPACE #endif // QWAYLANDXDGSHELLV5INTEGRATION_H diff --git a/src/imports/compositor/qwaylandquickcompositorplugin.cpp b/src/imports/compositor/qwaylandquickcompositorplugin.cpp index 73e21eb93..287ae07df 100644 --- a/src/imports/compositor/qwaylandquickcompositorplugin.cpp +++ b/src/imports/compositor/qwaylandquickcompositorplugin.cpp @@ -162,10 +162,12 @@ public: qmlRegisterType(uri, 1, 0, "WlShell"); qmlRegisterType(uri, 1, 0, "WlShellSurface"); qmlRegisterType(uri, 1, 0, "ShellSurfaceItem"); +#if QT_DEPRECATED_SINCE(5, 15) qmlRegisterUncreatableType(uri, 1, 0, "XdgShellV5Base", QObject::tr("Cannot create instance of XdgShellV5Base")); qmlRegisterType(uri, 1, 0, "XdgShellV5"); qmlRegisterType(uri, 1, 0, "XdgSurfaceV5"); qmlRegisterType(uri, 1, 0, "XdgPopupV5"); +#endif qmlRegisterType(uri, 1, 0, "TextInputManager"); qmlRegisterType(uri, 1, 1, "XdgShellV6"); -- cgit v1.2.3