summaryrefslogtreecommitdiffstats
path: root/src/compositor
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-31 10:25:12 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:10:32 +0200
commitb4f037cff4fc8ece612d8dca034ba784d86b816f (patch)
tree8f29d668534df0fb8c72b4e69f019fbb27f40957 /src/compositor
parent760471c5404509aa02df4a39f89eb24199d58a7c (diff)
Remove excess definition of QWaylandKeymap
Also remove QWaylandUnmapLock Change-Id: I0b481224fd03032603084142f36be279351f6611
Diffstat (limited to 'src/compositor')
-rw-r--r--src/compositor/compositor_api/qwaylandbufferref.cpp2
-rw-r--r--src/compositor/compositor_api/qwaylandinput.h20
-rw-r--r--src/compositor/compositor_api/qwaylandkeyboard.h4
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp1
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface.cpp7
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.cpp27
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.h11
-rw-r--r--src/compositor/compositor_api/qwaylandview.cpp6
-rw-r--r--src/compositor/extensions/qwlshellsurface.cpp6
-rw-r--r--src/compositor/wayland_wrapper/qwlcompositor.cpp2
-rw-r--r--src/compositor/wayland_wrapper/qwlkeyboard.cpp15
-rw-r--r--src/compositor/wayland_wrapper/qwlkeyboard_p.h5
-rw-r--r--src/compositor/wayland_wrapper/qwlsurface.cpp17
-rw-r--r--src/compositor/wayland_wrapper/qwlsurface_p.h6
14 files changed, 24 insertions, 105 deletions
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 <QtCompositor/qwaylandbufferref.h>
+#include <QtCompositor/QWaylandView>
#include <QtCompositor/private/qwaylandsurface_p.h>
#include <QtCompositor/private/qwayland-server-surface-extension.h>
@@ -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 <QtCompositor/QWaylandInputDevice>
+#include <QtCompositor/QWaylandCompositor>
+#include <QtCompositor/private/qwaylandoutputspace_p.h>
#include <QtCore/QMutex>
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<QWindowSystemInterfacePrivate::KeyEvent *>(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<QWaylandUnmapLock *> m_unmapLocks;
struct {
SurfaceBuffer *buffer;