summaryrefslogtreecommitdiff
path: root/src/compositor/compositor_api/qwaylandkeymap.h
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-07-08 14:28:54 +0200
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-08-20 09:57:06 +0200
commitf3d40b02558f5eca54ddb33b132d350b958cac1e (patch)
treeca6fdbdd8525b75810feaccf62aa0d1c1de05002 /src/compositor/compositor_api/qwaylandkeymap.h
parenteca2eb2c19fdbb4ed5003d636d935fbf83968d70 (diff)
downloadqtwayland-f3d40b02558f5eca54ddb33b132d350b958cac1e.tar.gz
Port QtWayland.Compositor to new QML extension API
In order to add new properties and types in Qt 6, we need to port everything over to the new extension API in QML. This is generally more type safe and needs less manual maintenance, but there is some work involved in porting. The previous version exposed some types from the QtWaylandCompositor C++ library, extended a few of them with Qt Quick-specific subclass, added one additional C++-implemented type (QWaylandMouseTracker) and two additional QML-implemented types. We need all types to be defined in the same place for the automatic generation of plugins.qmltypes to work. Therefore all the additional types are moved from the plugin into the library, but still not exposed through public API. The plugin still exposes the types, so for the user this change will be transparent. Fixes: QTBUG-85512 Change-Id: I46e9e80424c9299c3eaee92773d233b1ec29cf2c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandkeymap.h')
-rw-r--r--src/compositor/compositor_api/qwaylandkeymap.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandkeymap.h b/src/compositor/compositor_api/qwaylandkeymap.h
index 30034e66..01fcfbdf 100644
--- a/src/compositor/compositor_api/qwaylandkeymap.h
+++ b/src/compositor/compositor_api/qwaylandkeymap.h
@@ -31,6 +31,7 @@
#define QWAYLANDKEYMAP_H
#include <QtCore/QObject>
+#include <QtQml/qqml.h>
#include <QtWaylandCompositor/qtwaylandcompositorglobal.h>
#include <QtWaylandCompositor/qwaylandquickchildren.h>
@@ -48,6 +49,8 @@ class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandKeymap : public QObject
Q_PROPERTY(QString options READ options WRITE setOptions NOTIFY optionsChanged)
Q_PROPERTY(QString rules READ rules WRITE setRules NOTIFY rulesChanged)
Q_PROPERTY(QString model READ model WRITE setModel NOTIFY modelChanged)
+ QML_NAMED_ELEMENT(WaylandKeymap)
+ QML_ADDED_IN_VERSION(1, 0)
public:
QWaylandKeymap(const QString &layout = QString(), const QString &variant = QString(), const QString &options = QString(),
const QString &model = QString(), const QString &rules = QString(), QObject *parent = nullptr);