summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandnativeinterface.cpp
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-07-01 15:56:11 +0300
committerPier Luigi Fiorini <pierluigi.fiorini@gmail.com>2014-08-07 07:59:00 +0200
commitd107e2ba88e44590f77c608073eee6429f3d3a8c (patch)
tree5b96804a31b04c8f17fff03907815f9a90fc24ab /src/client/qwaylandnativeinterface.cpp
parent3419c5a868b6f528cfb17ee19261c937163ea7e0 (diff)
Add a way to have out of source shell integrations
Some platforms (especially non-desktop ones) may use a custom Wayland shell extension, more tailored to the form factor than the generic and desktoppy wl_shell or xdg_shell. Instead of stuffing N protocol implementations in the QPA plugin use a plugin architecture to allow them to live out of tree. When creating a shell surface the QT_WAYLAND_SHELL_INTEGRATION env variable will be checked, and if it points to a valid plugin that will be used to create the shell surface, falling back to wl_shell or xdg_shell if no plugin is specified. Change-Id: I05019174bb915199dd726f5fdcc0385ef846e8de Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Philippe Coval <rzr@gna.org> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Diffstat (limited to 'src/client/qwaylandnativeinterface.cpp')
-rw-r--r--src/client/qwaylandnativeinterface.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp
index e3d6fef4a..3d714c2fb 100644
--- a/src/client/qwaylandnativeinterface.cpp
+++ b/src/client/qwaylandnativeinterface.cpp
@@ -99,34 +99,25 @@ void *QWaylandNativeInterface::nativeResourceForScreen(const QByteArray &resourc
QVariantMap QWaylandNativeInterface::windowProperties(QPlatformWindow *window) const
{
QWaylandWindow *waylandWindow = static_cast<QWaylandWindow *>(window);
- if (QWaylandExtendedSurface *extendedWindow = waylandWindow->extendedWindow())
- return extendedWindow->properties();
- return QVariantMap();
+ return waylandWindow->properties();
}
-
QVariant QWaylandNativeInterface::windowProperty(QPlatformWindow *window, const QString &name) const
{
QWaylandWindow *waylandWindow = static_cast<QWaylandWindow *>(window);
- if (QWaylandExtendedSurface *extendedWindow = waylandWindow->extendedWindow())
- return extendedWindow->property(name);
- return QVariant();
+ return waylandWindow->property(name);
}
QVariant QWaylandNativeInterface::windowProperty(QPlatformWindow *window, const QString &name, const QVariant &defaultValue) const
{
QWaylandWindow *waylandWindow = static_cast<QWaylandWindow *>(window);
- if (QWaylandExtendedSurface *extendedWindow = waylandWindow->extendedWindow()) {
- return extendedWindow->property(name,defaultValue);
- }
- return defaultValue;
+ return waylandWindow->property(name, defaultValue);
}
void QWaylandNativeInterface::setWindowProperty(QPlatformWindow *window, const QString &name, const QVariant &value)
{
QWaylandWindow *wlWindow = static_cast<QWaylandWindow*>(window);
- if (QWaylandExtendedSurface *extendedWindow = wlWindow->extendedWindow())
- extendedWindow->updateGenericProperty(name,value);
+ wlWindow->sendProperty(name, value);
}
void QWaylandNativeInterface::emitWindowPropertyChanged(QPlatformWindow *window, const QString &name)