From b4f037cff4fc8ece612d8dca034ba784d86b816f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Fri, 31 Jul 2015 10:25:12 +0200 Subject: Remove excess definition of QWaylandKeymap Also remove QWaylandUnmapLock Change-Id: I0b481224fd03032603084142f36be279351f6611 --- .../compositor_api/qwaylandbufferref.cpp | 2 +- src/compositor/compositor_api/qwaylandinput.h | 20 ---------------- src/compositor/compositor_api/qwaylandkeyboard.h | 4 ++-- .../compositor_api/qwaylandquickitem.cpp | 1 + .../compositor_api/qwaylandquicksurface.cpp | 7 ++---- src/compositor/compositor_api/qwaylandsurface.cpp | 27 ---------------------- src/compositor/compositor_api/qwaylandsurface.h | 11 --------- src/compositor/compositor_api/qwaylandview.cpp | 6 +++-- src/compositor/extensions/qwlshellsurface.cpp | 6 ++--- src/compositor/wayland_wrapper/qwlcompositor.cpp | 2 +- src/compositor/wayland_wrapper/qwlkeyboard.cpp | 15 ++++-------- src/compositor/wayland_wrapper/qwlkeyboard_p.h | 5 ++++ src/compositor/wayland_wrapper/qwlsurface.cpp | 17 +------------- src/compositor/wayland_wrapper/qwlsurface_p.h | 6 ----- 14 files changed, 24 insertions(+), 105 deletions(-) (limited to 'src/compositor') diff --git a/src/compositor/compositor_api/qwaylandbufferref.cpp b/src/compositor/compositor_api/qwaylandbufferref.cpp index 2d073e5ee..4c020e603 100644 --- a/src/compositor/compositor_api/qwaylandbufferref.cpp +++ b/src/compositor/compositor_api/qwaylandbufferref.cpp @@ -166,7 +166,7 @@ void QWaylandBufferRef::bindToTexture() const void *QWaylandBufferRef::nativeBuffer() const { - return d->buffer->handle(); + return d->buffer->waylandBufferHandle(); } QT_END_NAMESPACE diff --git a/src/compositor/compositor_api/qwaylandinput.h b/src/compositor/compositor_api/qwaylandinput.h index e35724fd8..5cb32062a 100644 --- a/src/compositor/compositor_api/qwaylandinput.h +++ b/src/compositor/compositor_api/qwaylandinput.h @@ -64,26 +64,6 @@ namespace QtWayland { class InputDevice; } -class Q_COMPOSITOR_EXPORT QWaylandKeymap -{ -public: - QWaylandKeymap(const QString &layout = QString(), const QString &variant = QString(), const QString &options = QString(), - const QString &model = QString(), const QString &rules = QString()); - - inline QString layout() const { return m_layout; } - inline QString variant() const { return m_variant; } - inline QString options() const { return m_options; } - inline QString rules() const { return m_rules; } - inline QString model() const { return m_model; } - -private: - QString m_layout; - QString m_variant; - QString m_options; - QString m_rules; - QString m_model; -}; - class Q_COMPOSITOR_EXPORT QWaylandInputDevice : public QObject, public QWaylandExtensionContainer { Q_OBJECT diff --git a/src/compositor/compositor_api/qwaylandkeyboard.h b/src/compositor/compositor_api/qwaylandkeyboard.h index 3a7cd18da..c43c1851c 100644 --- a/src/compositor/compositor_api/qwaylandkeyboard.h +++ b/src/compositor/compositor_api/qwaylandkeyboard.h @@ -63,8 +63,8 @@ public: class Q_COMPOSITOR_EXPORT QWaylandKeymap { public: - QWaylandKeymap(const QString &layout = QLatin1String("us"), const QString &variant = QString(), const QString &options = QString(), - const QString &model = QLatin1String("pc105"), const QString &rules = QLatin1String("evdev")); + QWaylandKeymap(const QString &layout = QString(), const QString &variant = QString(), const QString &options = QString(), + const QString &model = QString(), const QString &rules = QString()); inline QString layout() const { return m_layout; } inline QString variant() const { return m_variant; } diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 9139d3fbc..ef62257ad 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -223,6 +223,7 @@ void QWaylandQuickItem::hoverEnterEvent(QHoverEvent *event) event->ignore(); return; } + } if (shouldSendInputEvents()) { QWaylandInputDevice *inputDevice = compositor()->inputDeviceFor(event); inputDevice->sendMouseMoveEvent(this, event->pos(), QPoint()); diff --git a/src/compositor/compositor_api/qwaylandquicksurface.cpp b/src/compositor/compositor_api/qwaylandquicksurface.cpp index c47736561..71bb6e3a6 100644 --- a/src/compositor/compositor_api/qwaylandquicksurface.cpp +++ b/src/compositor/compositor_api/qwaylandquicksurface.cpp @@ -44,6 +44,7 @@ #include "qwaylandoutput.h" #include "qwaylandquickitem.h" #include +#include #include #include @@ -70,7 +71,7 @@ public: { QWaylandSurfacePrivate::surface_commit(resource); - Q_FOREACH (QWaylandSurfaceView *view, views) { + Q_FOREACH (QWaylandView *view, views) { if (view->output()) view->output()->update(); } @@ -85,10 +86,6 @@ QWaylandQuickSurface::QWaylandQuickSurface(wl_client *client, quint32 id, int ve : QWaylandSurface(new QWaylandQuickSurfacePrivate(client, id, version, compositor, this)) { connect(this, &QWaylandSurface::primaryOutputChanged, this, &QWaylandQuickSurface::primaryOutputWindowChanged); - - connect(this, &QWaylandSurface::windowPropertyChanged, d->windowPropertyMap, &QQmlPropertyMap::insert); - connect(d->windowPropertyMap, &QQmlPropertyMap::valueChanged, this, &QWaylandSurface::setWindowProperty); - connect(this, &QWaylandSurface::shellViewCreated, this, &QWaylandQuickSurface::shellViewCreated); } QWaylandQuickSurface::~QWaylandQuickSurface() diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp index 6b1290acd..6fcf6ea56 100644 --- a/src/compositor/compositor_api/qwaylandsurface.cpp +++ b/src/compositor/compositor_api/qwaylandsurface.cpp @@ -67,7 +67,6 @@ QWaylandSurfacePrivate::QWaylandSurfacePrivate(wl_client *wlClient, quint32 id, : QtWayland::Surface(wlClient, id, version, compositor, surface) , closing(false) , refCount(1) - , client(QWaylandClient::fromWlClient(wlClient)) , client(QWaylandClient::fromWlClient(compositor, wlClient)) {} @@ -397,30 +396,4 @@ void QWaylandSurfacePrivate::derefView(QWaylandView *view) } } -class QWaylandUnmapLockPrivate -{ -public: - QWaylandSurface *surface; -}; - -/*! - Constructs a QWaylandUnmapLock object. - - The lock will act on the \a surface parameter, and will prevent the surface to - be unmapped, retaining the last valid buffer when the client attachs a NULL buffer. - The lock will be automatically released when deleted. -*/ -QWaylandUnmapLock::QWaylandUnmapLock(QWaylandSurface *surface) - : d(new QWaylandUnmapLockPrivate) -{ - d->surface = surface; - surface->handle()->addUnmapLock(this); -} - -QWaylandUnmapLock::~QWaylandUnmapLock() -{ - d->surface->handle()->removeUnmapLock(this); - delete d; -} - QT_END_NAMESPACE diff --git a/src/compositor/compositor_api/qwaylandsurface.h b/src/compositor/compositor_api/qwaylandsurface.h index df7a9f385..2295a3a34 100644 --- a/src/compositor/compositor_api/qwaylandsurface.h +++ b/src/compositor/compositor_api/qwaylandsurface.h @@ -199,17 +199,6 @@ Q_SIGNALS: friend class QtWayland::Surface; }; -class QWaylandUnmapLockPrivate; -class Q_COMPOSITOR_EXPORT QWaylandUnmapLock -{ -public: - QWaylandUnmapLock(QWaylandSurface *surface); - ~QWaylandUnmapLock(); - -private: - QWaylandUnmapLockPrivate *const d; -}; - QT_END_NAMESPACE #endif // QWAYLANDSURFACE_H diff --git a/src/compositor/compositor_api/qwaylandview.cpp b/src/compositor/compositor_api/qwaylandview.cpp index f83948302..81c199964 100644 --- a/src/compositor/compositor_api/qwaylandview.cpp +++ b/src/compositor/compositor_api/qwaylandview.cpp @@ -38,7 +38,9 @@ #include "qwaylandview_p.h" #include "qwaylandsurface.h" #include "qwaylandsurface_p.h" - +#include +#include +#include #include QT_BEGIN_NAMESPACE @@ -70,7 +72,7 @@ QWaylandView::~QWaylandView() if (d->surface) { QWaylandInputDevice *i = d->surface->compositor()->defaultInputDevice(); if (i->mouseFocus() == this) - i->setMouseFocus(Q_NULLPTR, QPointF()); + i->setMouseFocus(Q_NULLPTR); d->surface->deref(); } diff --git a/src/compositor/extensions/qwlshellsurface.cpp b/src/compositor/extensions/qwlshellsurface.cpp index b45087fdd..e2d92c5ed 100644 --- a/src/compositor/extensions/qwlshellsurface.cpp +++ b/src/compositor/extensions/qwlshellsurface.cpp @@ -263,7 +263,7 @@ void ShellSurface::shell_surface_set_toplevel(Resource *resource) setTransientParent(0); setTransientOffset(QPointF(0, 0)); - setSurfaceType(QWaylandSurface::Toplevel); + setSurfaceType(Toplevel); m_surface->setVisibility(QWindow::Windowed); } @@ -285,7 +285,7 @@ void ShellSurface::shell_surface_set_transient(Resource *resource, else m_transientInactive = false; - setSurfaceType(QWaylandSurface::Transient); + setSurfaceType(Transient); m_surface->setVisibility(QWindow::AutomaticVisibility); } @@ -336,7 +336,7 @@ void ShellSurface::shell_surface_set_popup(Resource *resource, wl_resource *inpu setTransientParent(QWaylandSurface::fromResource(parent)); setTransientOffset(QPointF(x, y)); - setSurfaceType(QWaylandSurface::Popup); + setSurfaceType(Popup); m_surface->setVisibility(QWindow::AutomaticVisibility); } diff --git a/src/compositor/wayland_wrapper/qwlcompositor.cpp b/src/compositor/wayland_wrapper/qwlcompositor.cpp index aea4154e0..722893bbf 100644 --- a/src/compositor/wayland_wrapper/qwlcompositor.cpp +++ b/src/compositor/wayland_wrapper/qwlcompositor.cpp @@ -110,7 +110,7 @@ public: { if (e->type == QWindowSystemInterfacePrivate::Key) { QWindowSystemInterfacePrivate::KeyEvent *ke = static_cast(e); - Keyboard *keyb = compositor->defaultInputDevice()->keyboardDevice(); + QWaylandKeyboardPrivate *keyb = QWaylandKeyboardPrivate::get(compositor->defaultInputDevice()->keyboard()); uint32_t code = ke->nativeScanCode; bool isDown = ke->keyType == QEvent::KeyPress; diff --git a/src/compositor/wayland_wrapper/qwlkeyboard.cpp b/src/compositor/wayland_wrapper/qwlkeyboard.cpp index 584bb90c3..7ee0e11cc 100644 --- a/src/compositor/wayland_wrapper/qwlkeyboard.cpp +++ b/src/compositor/wayland_wrapper/qwlkeyboard.cpp @@ -209,15 +209,8 @@ void QWaylandKeyboardPrivate::key(uint32_t serial, uint32_t time, uint32_t key, } } -void QWaylandKeyboardPrivate::sendKeyEvent(uint code, uint32_t state) +void QWaylandKeyboardPrivate::keyEvent(uint code, uint32_t state) { - // There must be no keys pressed when changing the keymap, - // see http://lists.freedesktop.org/archives/wayland-devel/2013-October/011395.html - if (m_pendingKeymap && m_keys.isEmpty()) - updateKeymap(); - - uint32_t time = compositor()->currentTimeMsecs(); - uint32_t serial = wl_display_next_serial(compositor()->waylandDisplay()); uint key = code - 8; if (state == WL_KEYBOARD_KEY_STATE_PRESSED) { m_keys << key; @@ -230,10 +223,10 @@ void QWaylandKeyboardPrivate::sendKeyEvent(uint code, uint32_t state) } } -void Keyboard::sendKeyEvent(uint code, uint32_t state) +void QWaylandKeyboardPrivate::sendKeyEvent(uint code, uint32_t state) { - uint32_t time = m_compositor->currentTimeMsecs(); - uint32_t serial = wl_display_next_serial(m_compositor->wl_display()); + uint32_t time = compositor()->currentTimeMsecs(); + uint32_t serial = wl_display_next_serial(compositor()->waylandDisplay()); uint key = code - 8; m_grab->key(serial, time, key, state); } diff --git a/src/compositor/wayland_wrapper/qwlkeyboard_p.h b/src/compositor/wayland_wrapper/qwlkeyboard_p.h index c97021abd..1c1651989 100644 --- a/src/compositor/wayland_wrapper/qwlkeyboard_p.h +++ b/src/compositor/wayland_wrapper/qwlkeyboard_p.h @@ -96,12 +96,17 @@ public: static QWaylandKeyboardPrivate *get(QWaylandKeyboard *keyboard); +#ifndef QT_NO_WAYLAND_XKB + struct xkb_state *xkbState() const { return m_state; } + uint32_t xkbModsMask() const { return m_modsDepressed | m_modsLatched | m_modsLocked; } +#endif protected: void keyboard_bind_resource(Resource *resource); void keyboard_destroy_resource(Resource *resource); void keyboard_release(Resource *resource) Q_DECL_OVERRIDE; private: + void keyEvent(uint code, uint32_t state); void sendKeyEvent(uint code, uint32_t state); void updateModifierState(uint code, uint32_t state); void updateKeymap(); diff --git a/src/compositor/wayland_wrapper/qwlsurface.cpp b/src/compositor/wayland_wrapper/qwlsurface.cpp index 10400fa74..95aa8c98b 100644 --- a/src/compositor/wayland_wrapper/qwlsurface.cpp +++ b/src/compositor/wayland_wrapper/qwlsurface.cpp @@ -134,7 +134,6 @@ Surface::Surface(struct wl_client *client, uint32_t id, int version, QWaylandCom Surface::~Surface() { - removeFromOutput(); delete m_subSurface; m_bufferRef = QWaylandBufferRef(); @@ -166,7 +165,7 @@ Surface *Surface::fromResource(struct ::wl_resource *resource) bool Surface::mapped() const { - return !m_unmapLocks.isEmpty() || (m_buffer && bool(m_buffer->waylandBufferHandle())); + return m_buffer && bool(m_buffer->waylandBufferHandle()); } QSize Surface::size() const @@ -306,20 +305,6 @@ void Surface::setMapped(bool mapped) } } -void Surface::addUnmapLock(QWaylandUnmapLock *l) -{ - m_unmapLocks << l; -} - -void Surface::removeUnmapLock(QWaylandUnmapLock *l) -{ - m_unmapLocks.removeOne(l); - if (!mapped() && m_attacher) { - setSize(QSize()); - m_attacher->unmap(); - } -} - SurfaceBuffer *Surface::createSurfaceBuffer(struct ::wl_resource *buffer) { SurfaceBuffer *newBuffer = 0; diff --git a/src/compositor/wayland_wrapper/qwlsurface_p.h b/src/compositor/wayland_wrapper/qwlsurface_p.h index 7ebad2c0a..6b8a92883 100644 --- a/src/compositor/wayland_wrapper/qwlsurface_p.h +++ b/src/compositor/wayland_wrapper/qwlsurface_p.h @@ -61,8 +61,6 @@ QT_BEGIN_NAMESPACE class QTouchEvent; -class QWaylandUnmapLock; - namespace QtWayland { class Compositor; @@ -127,9 +125,6 @@ public: void frameStarted(); - void addUnmapLock(QWaylandUnmapLock *l); - void removeUnmapLock(QWaylandUnmapLock *l); - void setMapped(bool mapped); void setVisibility(QWindow::Visibility visibility) { m_visibility = visibility; } @@ -169,7 +164,6 @@ protected: SurfaceBuffer *m_buffer; QWaylandBufferRef m_bufferRef; bool m_surfaceMapped; - QVector m_unmapLocks; struct { SurfaceBuffer *buffer; -- cgit v1.2.3