diff options
Diffstat (limited to 'src/imports')
-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 |
11 files changed, 378 insertions, 248 deletions
diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt index 96fd5616..bb767b60 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 00000000..cc822ffe --- /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 00000000..cc3eaa41 --- /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 00000000..6928b837 --- /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 00000000..b5bf435a --- /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 00000000..9880a20a --- /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 00000000..9ea8a115 --- /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 00000000..0afcb76c --- /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 90f5457a..be201d51 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 2977af8c..7451ea19 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 7452a928..4fd2fe77 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 += \ |