summaryrefslogtreecommitdiffstats
path: root/src/compositor/wayland_wrapper
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-30 15:20:30 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:42 +0200
commit85b1d4e6524504321fa769457eea5fb3b7e62e7e (patch)
treed584ff5cd14e48ee792c9471b8b078163f787486 /src/compositor/wayland_wrapper
parentfb84a2bfd5ac4d4574df63d0f29d7904e043f123 (diff)
Remove transient(inactive|parent|offset) from QWaylandSurface
Diffstat (limited to 'src/compositor/wayland_wrapper')
-rw-r--r--src/compositor/wayland_wrapper/qwlinputdevice.cpp6
-rw-r--r--src/compositor/wayland_wrapper/qwlkeyboard.cpp8
-rw-r--r--src/compositor/wayland_wrapper/qwlkeyboard_p.h2
-rw-r--r--src/compositor/wayland_wrapper/qwlsurface.cpp10
-rw-r--r--src/compositor/wayland_wrapper/qwlsurface_p.h12
5 files changed, 10 insertions, 28 deletions
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 <QtCompositor/QWaylandClient>
@@ -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 <QFile>
#include <QStandardPaths>
@@ -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<Surface *>(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;