diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-07-06 09:01:50 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-07-09 13:00:15 +0200 |
commit | 6af7bcc1deae525871fb116003112edf3d8f0006 (patch) | |
tree | e3b4271afb7529ea067733c4b2ce165eddd31e65 /src | |
parent | 4f422bcb445123562c8b07e69b07b474cba58254 (diff) |
Move XdgShell types into their own import
We want extensions to be accessible from submodules to
QtWayland.Compositor, since this makes it easier to
deprecate and remove things as they become outdated.
[ChangeLog][XdgShell] Moved XdgShell types from QML
import QtWayland.Compositor to QtWayland.Compositor.XdgShell.
Task-number: QTBUG-68840
Change-Id: I74bf6e31dad1a05151f547ea5e5ff043128512cd
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/compositor/extensions/qwaylandxdgdecorationv1.cpp | 2 | ||||
-rw-r--r-- | src/compositor/extensions/qwaylandxdgoutputv1.cpp | 2 | ||||
-rw-r--r-- | src/compositor/extensions/qwaylandxdgshell.cpp | 10 | ||||
-rw-r--r-- | src/imports/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/imports/compositor-extensions/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/imports/compositor-extensions/compositor-extensions.pro | 2 | ||||
-rw-r--r-- | src/imports/compositor-extensions/xdgshell/CMakeLists.txt | 23 | ||||
-rw-r--r-- | src/imports/compositor-extensions/xdgshell/plugins.qmltypes | 260 | ||||
-rw-r--r-- | src/imports/compositor-extensions/xdgshell/qmldir | 3 | ||||
-rw-r--r-- | src/imports/compositor-extensions/xdgshell/qwaylandcompositorxdgshellplugin.cpp | 72 | ||||
-rw-r--r-- | src/imports/compositor-extensions/xdgshell/xdgshell.pro | 11 | ||||
-rw-r--r-- | src/imports/compositor/plugins.qmltypes | 232 | ||||
-rw-r--r-- | src/imports/compositor/qwaylandquickcompositorplugin.cpp | 16 | ||||
-rw-r--r-- | src/imports/imports.pro | 3 |
14 files changed, 385 insertions, 255 deletions
diff --git a/src/compositor/extensions/qwaylandxdgdecorationv1.cpp b/src/compositor/extensions/qwaylandxdgdecorationv1.cpp index a58601cd4..420ff533c 100644 --- a/src/compositor/extensions/qwaylandxdgdecorationv1.cpp +++ b/src/compositor/extensions/qwaylandxdgdecorationv1.cpp @@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE /*! \qmltype XdgDecorationManagerV1 - \inqmlmodule QtWayland.Compositor + \inqmlmodule QtWayland.Compositor.XdgShell \since 5.12 \brief Provides an extension for negotiation of server-side and client-side window decorations. diff --git a/src/compositor/extensions/qwaylandxdgoutputv1.cpp b/src/compositor/extensions/qwaylandxdgoutputv1.cpp index 817cb2e4a..4a59928a3 100644 --- a/src/compositor/extensions/qwaylandxdgoutputv1.cpp +++ b/src/compositor/extensions/qwaylandxdgoutputv1.cpp @@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE /*! * \qmltype XdgOutputManagerV1 - * \inqmlmodule QtWayland.Compositor + * \inqmlmodule QtWayland.Compositor.XdgShell * \since 5.14 * \brief Provides an extension for describing outputs in a desktop oriented fashion. * diff --git a/src/compositor/extensions/qwaylandxdgshell.cpp b/src/compositor/extensions/qwaylandxdgshell.cpp index 895d00c87..f3d347757 100644 --- a/src/compositor/extensions/qwaylandxdgshell.cpp +++ b/src/compositor/extensions/qwaylandxdgshell.cpp @@ -141,7 +141,7 @@ void QWaylandXdgShellPrivate::xdg_wm_base_pong(Resource *resource, uint32_t seri /*! * \qmltype XdgShell - * \inqmlmodule QtWayland.Compositor + * \inqmlmodule QtWayland.Compositor.XdgShell * \since 5.12 * \brief Provides an extension for desktop-style user interfaces. * @@ -156,7 +156,7 @@ void QWaylandXdgShellPrivate::xdg_wm_base_pong(Resource *resource, uint32_t seri * supported by the compositor: * * \qml \QtMinorVersion - * import QtWayland.Compositor 1.\1 + * import QtWayland.Compositor.XdgShell * * WaylandCompositor { * XdgShell { @@ -461,7 +461,7 @@ void QWaylandXdgSurfacePrivate::xdg_surface_set_window_geometry(QtWaylandServer: /*! * \qmltype XdgSurface - * \inqmlmodule QtWayland.Compositor + * \inqmlmodule QtWayland.Compositor.XdgShell * \since 5.12 * \brief XdgSurface provides desktop-style compositor-specific features to an xdg surface. * @@ -710,7 +710,7 @@ QWaylandQuickShellIntegration *QWaylandXdgSurface::createIntegration(QWaylandQui /*! * \qmltype XdgToplevel - * \inqmlmodule QtWayland.Compositor + * \inqmlmodule QtWayland.Compositor.XdgShell * \since 5.12 * \brief XdgToplevel represents the toplevel window specific parts of an xdg surface. * @@ -1547,7 +1547,7 @@ void QWaylandXdgToplevelPrivate::xdg_toplevel_set_minimized(QtWaylandServer::xdg /*! * \qmltype XdgPopup - * \inqmlmodule QtWayland.Compositor + * \inqmlmodule QtWayland.Compositor.XdgShell * \since 5.12 * \brief XdgPopup represents the popup specific parts of and xdg surface. * diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt index 96fd56168..bb767b60a 100644 --- a/src/imports/CMakeLists.txt +++ b/src/imports/CMakeLists.txt @@ -2,6 +2,7 @@ if(TARGET Qt::Quick AND TARGET Qt::WaylandCompositor) add_subdirectory(compositor) + add_subdirectory(compositor-extensions) endif() if(QT_FEATURE_opengl AND TARGET Qt::Quick AND TARGET Qt::WaylandClient AND TARGET Qt::WaylandCompositor) add_subdirectory(texture-sharing) diff --git a/src/imports/compositor-extensions/CMakeLists.txt b/src/imports/compositor-extensions/CMakeLists.txt new file mode 100644 index 000000000..cc822ffe5 --- /dev/null +++ b/src/imports/compositor-extensions/CMakeLists.txt @@ -0,0 +1,3 @@ +# Generated from compositor-extensions.pro. + +add_subdirectory(xdgshell) diff --git a/src/imports/compositor-extensions/compositor-extensions.pro b/src/imports/compositor-extensions/compositor-extensions.pro new file mode 100644 index 000000000..cc3eaa41e --- /dev/null +++ b/src/imports/compositor-extensions/compositor-extensions.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = xdgshell diff --git a/src/imports/compositor-extensions/xdgshell/CMakeLists.txt b/src/imports/compositor-extensions/xdgshell/CMakeLists.txt new file mode 100644 index 000000000..6928b8374 --- /dev/null +++ b/src/imports/compositor-extensions/xdgshell/CMakeLists.txt @@ -0,0 +1,23 @@ +# Generated from xdgshell.pro. + +##################################################################### +## qwaylandcompositorxdgshellplugin Plugin: +##################################################################### + +qt_add_qml_module(qwaylandcompositorxdgshellplugin + URI "QtWayland.Compositor.XdgShell" + VERSION "${CMAKE_PROJECT_VERSION}" + CLASSNAME QWaylandCompositorXdgShellPlugin + SKIP_TYPE_REGISTRATION + SOURCES + qwaylandcompositorxdgshellplugin.cpp + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +#### Keys ignored in scope 1:.:.:xdgshell.pro:<TRUE>: +# CXX_MODULE = "qml" +# QML_IMPORT_VERSION = "$$QT_VERSION" +# TARGETPATH = "QtWayland/Compositor/XdgShell" diff --git a/src/imports/compositor-extensions/xdgshell/plugins.qmltypes b/src/imports/compositor-extensions/xdgshell/plugins.qmltypes new file mode 100644 index 000000000..b5bf435a0 --- /dev/null +++ b/src/imports/compositor-extensions/xdgshell/plugins.qmltypes @@ -0,0 +1,260 @@ +import QtQuick.tooling 1.2 + +// This file describes the plugin-supplied types contained in the library. +// It is used for QML tooling purposes only. +// +// This file was auto-generated by: +// 'qmlplugindump -nonrelocatable QtWayland.Compositor.XdgShell 6.0' + +Module { + dependencies: ["QtQuick 2.0"] + Component { name: "QWaylandCompositorExtension"; prototype: "QWaylandObject" } + Component { name: "QWaylandObject"; prototype: "QObject" } + Component { + name: "QWaylandQuickXdgOutputV1" + defaultProperty: "data" + prototype: "QWaylandXdgOutputV1" + exports: ["QtWayland.Compositor.XdgShell/XdgOutputV1 1.14"] + exportMetaObjectRevisions: [0] + } + Component { + name: "QWaylandShell" + prototype: "QWaylandCompositorExtension" + Enum { + name: "FocusPolicy" + values: { + "AutomaticFocus": 0, + "ManualFocus": 1 + } + } + Property { name: "focusPolicy"; type: "FocusPolicy" } + } + Component { + name: "QWaylandShellSurface" + prototype: "QWaylandCompositorExtension" + Property { name: "windowType"; type: "Qt::WindowType"; isReadonly: true } + } + Component { + name: "QWaylandXdgDecorationManagerV1" + prototype: "QWaylandCompositorExtension" + Property { name: "preferredMode"; type: "QWaylandXdgToplevel::DecorationMode" } + } + Component { + name: "QWaylandXdgDecorationManagerV1QuickExtension" + defaultProperty: "data" + prototype: "QWaylandXdgDecorationManagerV1" + exports: ["QtWayland.Compositor.XdgShell/XdgDecorationManagerV1 1.3"] + exportMetaObjectRevisions: [0] + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + } + Component { name: "QWaylandXdgOutputManagerV1"; prototype: "QWaylandCompositorExtension" } + Component { + name: "QWaylandXdgOutputManagerV1QuickExtension" + defaultProperty: "data" + prototype: "QWaylandXdgOutputManagerV1" + exports: ["QtWayland.Compositor.XdgShell/XdgOutputManagerV1 1.14"] + exportMetaObjectRevisions: [0] + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + } + Component { + name: "QWaylandXdgOutputV1" + defaultProperty: "data" + prototype: "QObject" + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { + name: "manager" + type: "QWaylandXdgOutputManagerV1" + isReadonly: true + isPointer: true + } + Property { name: "output"; type: "QWaylandOutput"; isReadonly: true; isPointer: true } + Property { name: "name"; type: "string" } + Property { name: "description"; type: "string" } + Property { name: "logicalPosition"; type: "QPoint" } + Property { name: "logicalSize"; type: "QSize" } + Property { name: "logicalGeometry"; type: "QRect"; isReadonly: true } + } + Component { + name: "QWaylandXdgPopup" + prototype: "QObject" + exports: ["QtWayland.Compositor.XdgShell/XdgPopup 1.3"] + isCreatable: false + exportMetaObjectRevisions: [0] + Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true } + Property { + name: "parentXdgSurface" + type: "QWaylandXdgSurface" + isReadonly: true + isPointer: true + } + Property { name: "configuredGeometry"; type: "QRect"; isReadonly: true } + Property { name: "anchorRect"; type: "QRect"; isReadonly: true } + Property { name: "anchorEdges"; type: "Qt::Edges"; isReadonly: true } + Property { name: "gravityEdges"; type: "Qt::Edges"; isReadonly: true } + Property { name: "slideConstraints"; type: "Qt::Orientations"; isReadonly: true } + Property { name: "flipConstraints"; type: "Qt::Orientations"; isReadonly: true } + Property { name: "resizeConstraints"; type: "Qt::Orientations"; isReadonly: true } + Property { name: "offset"; type: "QPoint"; isReadonly: true } + Property { name: "positionerSize"; type: "QSize"; isReadonly: true } + Property { name: "unconstrainedPosition"; type: "QPoint"; isReadonly: true } + Method { + name: "sendConfigure" + type: "uint" + Parameter { name: "geometry"; type: "QRect" } + } + Method { name: "sendPopupDone"; revision: 270 } + } + Component { + name: "QWaylandXdgShell" + prototype: "QWaylandShell" + Signal { + name: "xdgSurfaceCreated" + Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } + } + Signal { + name: "toplevelCreated" + Parameter { name: "toplevel"; type: "QWaylandXdgToplevel"; isPointer: true } + Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } + } + Signal { + name: "popupCreated" + Parameter { name: "popup"; type: "QWaylandXdgPopup"; isPointer: true } + Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } + } + Signal { + name: "pong" + Parameter { name: "serial"; type: "uint" } + } + Method { + name: "ping" + type: "uint" + Parameter { name: "client"; type: "QWaylandClient"; isPointer: true } + } + } + Component { + name: "QWaylandXdgShellQuickExtension" + defaultProperty: "data" + prototype: "QWaylandXdgShell" + exports: ["QtWayland.Compositor.XdgShell/XdgShell 1.3"] + exportMetaObjectRevisions: [0] + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + } + Component { + name: "QWaylandXdgSurface" + defaultProperty: "data" + prototype: "QWaylandShellSurface" + exports: ["QtWayland.Compositor.XdgShell/XdgSurface 1.3"] + exportMetaObjectRevisions: [0] + Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } + Property { name: "shell"; type: "QWaylandXdgShell"; isReadonly: true; isPointer: true } + Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true } + Property { name: "toplevel"; type: "QWaylandXdgToplevel"; isReadonly: true; isPointer: true } + Property { name: "popup"; type: "QWaylandXdgPopup"; isReadonly: true; isPointer: true } + Property { name: "windowGeometry"; type: "QRect"; isReadonly: true } + Signal { name: "toplevelCreated" } + Signal { name: "popupCreated" } + Method { + name: "initialize" + Parameter { name: "xdgShell"; type: "QWaylandXdgShell"; isPointer: true } + Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true } + Parameter { name: "resource"; type: "QWaylandResource" } + } + } + Component { + name: "QWaylandXdgToplevel" + prototype: "QObject" + exports: ["QtWayland.Compositor.XdgShell/XdgToplevel 1.3"] + isCreatable: false + exportMetaObjectRevisions: [0] + Enum { + name: "State" + values: { + "MaximizedState": 1, + "FullscreenState": 2, + "ResizingState": 3, + "ActivatedState": 4 + } + } + Enum { + name: "DecorationMode" + values: { + "ClientSideDecoration": 1, + "ServerSideDecoration": 2 + } + } + Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true } + Property { + name: "parentToplevel" + type: "QWaylandXdgToplevel" + isReadonly: true + isPointer: true + } + Property { name: "title"; type: "string"; isReadonly: true } + Property { name: "appId"; type: "string"; isReadonly: true } + Property { name: "maxSize"; type: "QSize"; isReadonly: true } + Property { name: "minSize"; type: "QSize"; isReadonly: true } + Property { name: "states"; type: "QList<int>"; isReadonly: true } + Property { name: "maximized"; type: "bool"; isReadonly: true } + Property { name: "fullscreen"; type: "bool"; isReadonly: true } + Property { name: "resizing"; type: "bool"; isReadonly: true } + Property { name: "activated"; type: "bool"; isReadonly: true } + Property { name: "decorationMode"; type: "DecorationMode"; isReadonly: true } + Signal { + name: "startMove" + Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } + } + Signal { + name: "startResize" + Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } + Parameter { name: "edges"; type: "Qt::Edges" } + } + Signal { + name: "showWindowMenu" + Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } + Parameter { name: "localSurfacePosition"; type: "QPoint" } + } + Signal { name: "setMaximized" } + Signal { name: "unsetMaximized" } + Signal { + name: "setFullscreen" + Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true } + } + Signal { name: "unsetFullscreen" } + Signal { name: "setMinimized" } + Method { + name: "sizeForResize" + type: "QSize" + Parameter { name: "size"; type: "QSizeF" } + Parameter { name: "delta"; type: "QPointF" } + Parameter { name: "edges"; type: "Qt::Edges" } + } + Method { + name: "sendConfigure" + type: "uint" + Parameter { name: "size"; type: "QSize" } + Parameter { name: "states"; type: "QList<int>" } + } + Method { name: "sendClose" } + Method { + name: "sendMaximized" + type: "uint" + Parameter { name: "size"; type: "QSize" } + } + Method { + name: "sendUnmaximized" + type: "uint" + Parameter { name: "size"; type: "QSize" } + } + Method { name: "sendUnmaximized"; type: "uint" } + Method { + name: "sendFullscreen" + type: "uint" + Parameter { name: "size"; type: "QSize" } + } + Method { + name: "sendResizing" + type: "uint" + Parameter { name: "maxSize"; type: "QSize" } + } + } +} diff --git a/src/imports/compositor-extensions/xdgshell/qmldir b/src/imports/compositor-extensions/xdgshell/qmldir new file mode 100644 index 000000000..9880a20ab --- /dev/null +++ b/src/imports/compositor-extensions/xdgshell/qmldir @@ -0,0 +1,3 @@ +module QtWayland.Compositor.XdgShell +plugin qwaylandcompositorxdgshellplugin +classname QWaylandCompositorXdgShellPlugin diff --git a/src/imports/compositor-extensions/xdgshell/qwaylandcompositorxdgshellplugin.cpp b/src/imports/compositor-extensions/xdgshell/qwaylandcompositorxdgshellplugin.cpp new file mode 100644 index 000000000..9ea8a115b --- /dev/null +++ b/src/imports/compositor-extensions/xdgshell/qwaylandcompositorxdgshellplugin.cpp @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtWaylandCompositor module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtQml/qqmlextensionplugin.h> +#include <QtQml/qqml.h> + +#include <QtWaylandCompositor/QWaylandQuickExtension> +#include <QtWaylandCompositor/QWaylandXdgShell> +#include <QtWaylandCompositor/QWaylandXdgDecorationManagerV1> +#include <QtWaylandCompositor/QWaylandQuickXdgOutputV1> + +QT_BEGIN_NAMESPACE + +Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgShell) +Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgDecorationManagerV1) +Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgOutputManagerV1) + +class QWaylandCompositorXdgShellPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) +public: + void registerTypes(const char *uri) override + { + Q_ASSERT(QLatin1String(uri) == QLatin1String("QtWayland.Compositor.XdgShell")); + defineModule(uri); + } + + static void defineModule(const char *uri) + { + qmlRegisterModule(uri, QT_VERSION_MAJOR, QT_VERSION_MINOR); + + qmlRegisterType<QWaylandXdgShellQuickExtension>(uri, 1, 3, "XdgShell"); + qmlRegisterType<QWaylandXdgSurface>(uri, 1, 3, "XdgSurface"); + qmlRegisterUncreatableType<QWaylandXdgToplevel>(uri, 1, 3, "XdgToplevel", QObject::tr("Cannot create instance of XdgShellToplevel")); + qmlRegisterUncreatableType<QWaylandXdgPopup>(uri, 1, 3, "XdgPopup", QObject::tr("Cannot create instance of XdgShellPopup")); + + qmlRegisterType<QWaylandXdgDecorationManagerV1QuickExtension>(uri, 1, 3, "XdgDecorationManagerV1"); + qmlRegisterType<QWaylandXdgOutputManagerV1QuickExtension>(uri, 1, 14, "XdgOutputManagerV1"); + qmlRegisterType<QWaylandQuickXdgOutputV1>(uri, 1, 14, "XdgOutputV1"); + } +}; + +QT_END_NAMESPACE + +#include "qwaylandcompositorxdgshellplugin.moc" diff --git a/src/imports/compositor-extensions/xdgshell/xdgshell.pro b/src/imports/compositor-extensions/xdgshell/xdgshell.pro new file mode 100644 index 000000000..0afcb76cc --- /dev/null +++ b/src/imports/compositor-extensions/xdgshell/xdgshell.pro @@ -0,0 +1,11 @@ +CXX_MODULE = qml +TARGET = qwaylandcompositorxdgshellplugin +TARGETPATH = QtWayland/Compositor/XdgShell +QML_IMPORT_VERSION = $$QT_VERSION + +SOURCES += \ + qwaylandcompositorxdgshellplugin.cpp + +QT += waylandcompositor + +load(qml_plugin) diff --git a/src/imports/compositor/plugins.qmltypes b/src/imports/compositor/plugins.qmltypes index 90f5457a0..be201d517 100644 --- a/src/imports/compositor/plugins.qmltypes +++ b/src/imports/compositor/plugins.qmltypes @@ -4,7 +4,7 @@ import QtQuick.tooling 1.2 // It is used for QML tooling purposes only. // // This file was auto-generated by: -// 'qmlplugindump -nonrelocatable QtWayland.Compositor 1.14' +// 'qmlplugindump -nonrelocatable QtWayland.Compositor 6.0' Module { dependencies: [ @@ -386,13 +386,6 @@ Module { Property { name: "useTextureAlpha"; type: "bool" } } Component { - name: "QWaylandQuickXdgOutputV1" - defaultProperty: "data" - prototype: "QWaylandXdgOutputV1" - exports: ["QtWayland.Compositor/XdgOutputV1 1.14"] - exportMetaObjectRevisions: [0] - } - Component { name: "QWaylandResource" exports: ["QtWayland.Compositor/WaylandResource 1.0"] isCreatable: false @@ -688,229 +681,6 @@ Module { Method { name: "sendPopupDone" } } Component { - name: "QWaylandXdgDecorationManagerV1" - prototype: "QWaylandCompositorExtension" - Property { name: "preferredMode"; type: "QWaylandXdgToplevel::DecorationMode" } - } - Component { - name: "QWaylandXdgDecorationManagerV1QuickExtension" - defaultProperty: "data" - prototype: "QWaylandXdgDecorationManagerV1" - exports: ["QtWayland.Compositor/XdgDecorationManagerV1 1.3"] - exportMetaObjectRevisions: [0] - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - } - Component { name: "QWaylandXdgOutputManagerV1"; prototype: "QWaylandCompositorExtension" } - Component { - name: "QWaylandXdgOutputManagerV1QuickExtension" - defaultProperty: "data" - prototype: "QWaylandXdgOutputManagerV1" - exports: ["QtWayland.Compositor/XdgOutputManagerV1 1.14"] - exportMetaObjectRevisions: [0] - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - } - Component { - name: "QWaylandXdgOutputV1" - defaultProperty: "data" - prototype: "QObject" - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - Property { - name: "manager" - type: "QWaylandXdgOutputManagerV1" - isReadonly: true - isPointer: true - } - Property { name: "output"; type: "QWaylandOutput"; isReadonly: true; isPointer: true } - Property { name: "name"; type: "string" } - Property { name: "description"; type: "string" } - Property { name: "logicalPosition"; type: "QPoint" } - Property { name: "logicalSize"; type: "QSize" } - Property { name: "logicalGeometry"; type: "QRect"; isReadonly: true } - } - Component { - name: "QWaylandXdgPopup" - prototype: "QObject" - exports: ["QtWayland.Compositor/XdgPopup 1.3"] - isCreatable: false - exportMetaObjectRevisions: [0] - Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true } - Property { - name: "parentXdgSurface" - type: "QWaylandXdgSurface" - isReadonly: true - isPointer: true - } - Property { name: "configuredGeometry"; type: "QRect"; isReadonly: true } - Property { name: "anchorRect"; type: "QRect"; isReadonly: true } - Property { name: "anchorEdges"; type: "Qt::Edges"; isReadonly: true } - Property { name: "gravityEdges"; type: "Qt::Edges"; isReadonly: true } - Property { name: "slideConstraints"; type: "Qt::Orientations"; isReadonly: true } - Property { name: "flipConstraints"; type: "Qt::Orientations"; isReadonly: true } - Property { name: "resizeConstraints"; type: "Qt::Orientations"; isReadonly: true } - Property { name: "offset"; type: "QPoint"; isReadonly: true } - Property { name: "positionerSize"; type: "QSize"; isReadonly: true } - Property { name: "unconstrainedPosition"; type: "QPoint"; isReadonly: true } - Method { - name: "sendConfigure" - type: "uint" - Parameter { name: "geometry"; type: "QRect" } - } - Method { name: "sendPopupDone"; revision: 270 } - } - Component { - name: "QWaylandXdgShell" - prototype: "QWaylandShell" - Signal { - name: "xdgSurfaceCreated" - Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } - } - Signal { - name: "toplevelCreated" - Parameter { name: "toplevel"; type: "QWaylandXdgToplevel"; isPointer: true } - Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } - } - Signal { - name: "popupCreated" - Parameter { name: "popup"; type: "QWaylandXdgPopup"; isPointer: true } - Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true } - } - Signal { - name: "pong" - Parameter { name: "serial"; type: "uint" } - } - Method { - name: "ping" - type: "uint" - Parameter { name: "client"; type: "QWaylandClient"; isPointer: true } - } - } - Component { - name: "QWaylandXdgShellQuickExtension" - defaultProperty: "data" - prototype: "QWaylandXdgShell" - exports: ["QtWayland.Compositor/XdgShell 1.3"] - exportMetaObjectRevisions: [0] - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - } - Component { - name: "QWaylandXdgSurface" - defaultProperty: "data" - prototype: "QWaylandShellSurface" - exports: ["QtWayland.Compositor/XdgSurface 1.3"] - exportMetaObjectRevisions: [0] - Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } - Property { name: "shell"; type: "QWaylandXdgShell"; isReadonly: true; isPointer: true } - Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true } - Property { name: "toplevel"; type: "QWaylandXdgToplevel"; isReadonly: true; isPointer: true } - Property { name: "popup"; type: "QWaylandXdgPopup"; isReadonly: true; isPointer: true } - Property { name: "windowGeometry"; type: "QRect"; isReadonly: true } - Signal { name: "toplevelCreated" } - Signal { name: "popupCreated" } - Method { - name: "initialize" - Parameter { name: "xdgShell"; type: "QWaylandXdgShell"; isPointer: true } - Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true } - Parameter { name: "resource"; type: "QWaylandResource" } - } - } - Component { - name: "QWaylandXdgToplevel" - prototype: "QObject" - exports: ["QtWayland.Compositor/XdgToplevel 1.3"] - isCreatable: false - exportMetaObjectRevisions: [0] - Enum { - name: "State" - values: { - "MaximizedState": 1, - "FullscreenState": 2, - "ResizingState": 3, - "ActivatedState": 4 - } - } - Enum { - name: "DecorationMode" - values: { - "ClientSideDecoration": 1, - "ServerSideDecoration": 2 - } - } - Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true } - Property { - name: "parentToplevel" - type: "QWaylandXdgToplevel" - isReadonly: true - isPointer: true - } - Property { name: "title"; type: "string"; isReadonly: true } - Property { name: "appId"; type: "string"; isReadonly: true } - Property { name: "maxSize"; type: "QSize"; isReadonly: true } - Property { name: "minSize"; type: "QSize"; isReadonly: true } - Property { name: "states"; type: "QList<int>"; isReadonly: true } - Property { name: "maximized"; type: "bool"; isReadonly: true } - Property { name: "fullscreen"; type: "bool"; isReadonly: true } - Property { name: "resizing"; type: "bool"; isReadonly: true } - Property { name: "activated"; type: "bool"; isReadonly: true } - Property { name: "decorationMode"; type: "DecorationMode"; isReadonly: true } - Signal { - name: "startMove" - Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } - } - Signal { - name: "startResize" - Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } - Parameter { name: "edges"; type: "Qt::Edges" } - } - Signal { - name: "showWindowMenu" - Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true } - Parameter { name: "localSurfacePosition"; type: "QPoint" } - } - Signal { name: "setMaximized" } - Signal { name: "unsetMaximized" } - Signal { - name: "setFullscreen" - Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true } - } - Signal { name: "unsetFullscreen" } - Signal { name: "setMinimized" } - Method { - name: "sizeForResize" - type: "QSize" - Parameter { name: "size"; type: "QSizeF" } - Parameter { name: "delta"; type: "QPointF" } - Parameter { name: "edges"; type: "Qt::Edges" } - } - Method { - name: "sendConfigure" - type: "uint" - Parameter { name: "size"; type: "QSize" } - Parameter { name: "states"; type: "QList<int>" } - } - Method { name: "sendClose" } - Method { - name: "sendMaximized" - type: "uint" - Parameter { name: "size"; type: "QSize" } - } - Method { - name: "sendUnmaximized" - type: "uint" - Parameter { name: "size"; type: "QSize" } - } - Method { name: "sendUnmaximized"; type: "uint" } - Method { - name: "sendFullscreen" - type: "uint" - Parameter { name: "size"; type: "QSize" } - } - Method { - name: "sendResizing" - type: "uint" - Parameter { name: "maxSize"; type: "QSize" } - } - } - Component { prototype: "QWaylandQuickItem" name: "QtWayland.Compositor/WaylandCursorItem 1.0" exports: ["QtWayland.Compositor/WaylandCursorItem 1.0"] diff --git a/src/imports/compositor/qwaylandquickcompositorplugin.cpp b/src/imports/compositor/qwaylandquickcompositorplugin.cpp index 2977af8c2..7451ea199 100644 --- a/src/imports/compositor/qwaylandquickcompositorplugin.cpp +++ b/src/imports/compositor/qwaylandquickcompositorplugin.cpp @@ -51,10 +51,7 @@ #include <QtWaylandCompositor/QWaylandQtWindowManager> #include <QtWaylandCompositor/QWaylandWlShell> #include <QtWaylandCompositor/QWaylandTextInputManager> -#include <QtWaylandCompositor/QWaylandXdgShell> -#include <QtWaylandCompositor/QWaylandXdgDecorationManagerV1> #include <QtWaylandCompositor/QWaylandIdleInhibitManagerV1> -#include <QtWaylandCompositor/QWaylandQuickXdgOutputV1> #include <QtWaylandCompositor/QWaylandIviApplication> #include <QtWaylandCompositor/QWaylandIviSurface> @@ -68,9 +65,6 @@ Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandQtWindowManager) Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandIdleInhibitManagerV1) Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandIviApplication) Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandWlShell) -Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgShell) -Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgDecorationManagerV1) -Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandXdgOutputManagerV1) Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_CLASS(QWaylandTextInputManager) class QmlUrlResolver @@ -155,17 +149,7 @@ public: qmlRegisterType<QWaylandQuickShellSurfaceItem>(uri, 1, 0, "ShellSurfaceItem"); qmlRegisterType<QWaylandTextInputManagerQuickExtension>(uri, 1, 0, "TextInputManager"); - qmlRegisterType<QWaylandXdgShellQuickExtension>(uri, 1, 3, "XdgShell"); - qmlRegisterType<QWaylandXdgSurface>(uri, 1, 3, "XdgSurface"); - qmlRegisterUncreatableType<QWaylandXdgToplevel>(uri, 1, 3, "XdgToplevel", QObject::tr("Cannot create instance of XdgShellToplevel")); - qmlRegisterUncreatableType<QWaylandXdgPopup>(uri, 1, 3, "XdgPopup", QObject::tr("Cannot create instance of XdgShellPopup")); - - qmlRegisterType<QWaylandXdgDecorationManagerV1QuickExtension>(uri, 1, 3, "XdgDecorationManagerV1"); - qmlRegisterType<QWaylandIdleInhibitManagerV1QuickExtension>(uri, 1, 14, "IdleInhibitManagerV1"); - - qmlRegisterType<QWaylandXdgOutputManagerV1QuickExtension>(uri, 1, 14, "XdgOutputManagerV1"); - qmlRegisterType<QWaylandQuickXdgOutputV1>(uri, 1, 14, "XdgOutputV1"); } }; //![class decl] diff --git a/src/imports/imports.pro b/src/imports/imports.pro index 7452a9283..4fd2fe77f 100644 --- a/src/imports/imports.pro +++ b/src/imports/imports.pro @@ -2,7 +2,8 @@ TEMPLATE = subdirs qtHaveModule(quick):qtHaveModule(waylandcompositor) { SUBDIRS += \ - compositor + compositor \ + compositor-extensions qtConfig(opengl):qtHaveModule(waylandclient) { SUBDIRS += \ |