From 85b1d4e6524504321fa769457eea5fb3b7e62e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Thu, 30 Jul 2015 15:20:30 +0200 Subject: Remove transient(inactive|parent|offset) from QWaylandSurface Change-Id: I0fad382c0baa13ec72ff5e45cc1eba0bd4d5c70a --- src/compositor/wayland_wrapper/qwlinputdevice.cpp | 6 +++--- src/compositor/wayland_wrapper/qwlkeyboard.cpp | 8 ++++++-- src/compositor/wayland_wrapper/qwlkeyboard_p.h | 2 +- src/compositor/wayland_wrapper/qwlsurface.cpp | 10 ---------- src/compositor/wayland_wrapper/qwlsurface_p.h | 12 ------------ 5 files changed, 10 insertions(+), 28 deletions(-) (limited to 'src/compositor/wayland_wrapper') diff --git a/src/compositor/wayland_wrapper/qwlinputdevice.cpp b/src/compositor/wayland_wrapper/qwlinputdevice.cpp index 2f972425f..52060f194 100644 --- a/src/compositor/wayland_wrapper/qwlinputdevice.cpp +++ b/src/compositor/wayland_wrapper/qwlinputdevice.cpp @@ -47,6 +47,7 @@ #include "qwlpointer_p.h" #include "qwlkeyboard_p.h" #include "qwltouch_p.h" +#include "qwlshellsurface_p.h" #include "qwaylandsurfaceview.h" #include @@ -244,11 +245,10 @@ QWaylandSurface *QWaylandInputDevicePrivate::keyboardFocus() const */ bool QWaylandInputDevicePrivate::setKeyboardFocus(QWaylandSurface *surface) { - if (surface && (surface->transientInactive() || surface->handle()->isDestroyed())) + if (surface && surface->handle()->isDestroyed()) return false; - if (!m_keyboard.isNull()) { - m_keyboard->setFocus(surface); + if (!m_keyboard.isNull() && m_keyboard->setFocus(surface)) { if (m_data_device) m_data_device->setFocus(m_keyboard->focusClient()); return true; diff --git a/src/compositor/wayland_wrapper/qwlkeyboard.cpp b/src/compositor/wayland_wrapper/qwlkeyboard.cpp index 9811f918a..2a0f857ea 100644 --- a/src/compositor/wayland_wrapper/qwlkeyboard.cpp +++ b/src/compositor/wayland_wrapper/qwlkeyboard.cpp @@ -36,7 +36,7 @@ ****************************************************************************/ #include "qwlkeyboard_p.h" - +#include "qwlshellsurface_p.h" #include #include @@ -133,9 +133,13 @@ void QWaylandKeyboardPrivate::focused(QWaylandSurface *surface) Q_EMIT q_func()->focusChanged(m_focus); } -void QWaylandKeyboardPrivate::setFocus(QWaylandSurface* surface) +bool QWaylandKeyboardPrivate::setFocus(QWaylandSurface* surface) { + QtWayland::ShellSurface *shellsurface = QtWayland::ShellSurface::get(surface); + if (shellsurface && shellsurface->isTransientInactive()) + return false; m_grab->focused(surface); + return true; } void QWaylandKeyboardPrivate::setKeymap(const QWaylandKeymap &keymap) diff --git a/src/compositor/wayland_wrapper/qwlkeyboard_p.h b/src/compositor/wayland_wrapper/qwlkeyboard_p.h index 2579c2da1..c97021abd 100644 --- a/src/compositor/wayland_wrapper/qwlkeyboard_p.h +++ b/src/compositor/wayland_wrapper/qwlkeyboard_p.h @@ -75,7 +75,7 @@ public: ~QWaylandKeyboardPrivate(); QWaylandCompositor *compositor() const { return m_seat->compositor(); } - void setFocus(QWaylandSurface *surface); + bool setFocus(QWaylandSurface *surface); void setKeymap(const QWaylandKeymap &keymap); void sendKeyModifiers(Resource *resource, uint32_t serial); diff --git a/src/compositor/wayland_wrapper/qwlsurface.cpp b/src/compositor/wayland_wrapper/qwlsurface.cpp index d5eed707a..dd2e8aafb 100644 --- a/src/compositor/wayland_wrapper/qwlsurface.cpp +++ b/src/compositor/wayland_wrapper/qwlsurface.cpp @@ -46,7 +46,6 @@ #include "qwlregion_p.h" #include "qwlsubsurface_p.h" #include "qwlsurfacebuffer_p.h" -#include "qwlshellsurface_p.h" #include "qwaylandsurfaceview.h" #include "qwaylandoutput.h" @@ -122,9 +121,6 @@ Surface::Surface(struct wl_client *client, uint32_t id, int version, QWaylandCom , m_subSurface(0) , m_inputPanelSurface(0) , m_inputRegion(infiniteRegion()) - , m_transientParent(0) - , m_transientInactive(false) - , m_transientOffset(QPointF(0, 0)) , m_isCursorSurface(false) , m_destroyed(false) , m_contentOrientation(Qt::PrimaryOrientation) @@ -164,12 +160,6 @@ bool Surface::setRole(const SurfaceRole *role, wl_resource *errorResource, uint3 return true; } -void Surface::setTransientOffset(qreal x, qreal y) -{ - m_transientOffset.setX(x); - m_transientOffset.setY(y); -} - Surface *Surface::fromResource(struct ::wl_resource *resource) { return static_cast(Resource::fromResource(resource)->surface_object); diff --git a/src/compositor/wayland_wrapper/qwlsurface_p.h b/src/compositor/wayland_wrapper/qwlsurface_p.h index e896c48a9..7ebad2c0a 100644 --- a/src/compositor/wayland_wrapper/qwlsurface_p.h +++ b/src/compositor/wayland_wrapper/qwlsurface_p.h @@ -67,7 +67,6 @@ namespace QtWayland { class Compositor; class Buffer; -class ShellSurface; class ExtendedSurface; class InputPanelSurface; class SubSurface; @@ -123,14 +122,6 @@ public: QString title() const { return m_title; } void setTitle(const QString &title); - Surface *transientParent() const { return m_transientParent; } - void setTransientParent(Surface *parent) { m_transientParent = parent; } - - bool transientInactive() const { return m_transientInactive; } - void setTransientInactive(bool v) { m_transientInactive = v; } - - void setTransientOffset(qreal x, qreal y); - bool isCursorSurface() const { return m_isCursorSurface; } void setCursorSurface(bool isCursor) { m_isCursorSurface = isCursor; } @@ -205,9 +196,6 @@ protected: QSize m_size; QString m_className; QString m_title; - Surface *m_transientParent; - bool m_transientInactive; - QPointF m_transientOffset; bool m_isCursorSurface; bool m_destroyed; Qt::ScreenOrientation m_contentOrientation; -- cgit v1.2.3