summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-05-13 14:44:05 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:10:32 +0200
commit666c3fcc69b9b25caa9b68b988e0004489653171 (patch)
tree00613a3861b5fb73978b1fd01e7e2f97f29de28d
parent5f3918b8046c461929daf62689da2cc75f7a988d (diff)
Remove the default shell functionality
This will be readded in a different way. Also, remove the WaylandSurfaceChrome since it is no longer needed, and just use WaylandView directly Change-Id: I8d4a7b2135d9fdaea7dd3fcd729e55cceebf48fb
-rw-r--r--examples/wayland/pure-qml/qml/Chrome.qml27
-rw-r--r--examples/wayland/pure-qml/qml/main.qml4
-rw-r--r--examples/wayland/qml-compositor/main.cpp2
-rw-r--r--examples/wayland/qwindow-compositor/qwindowcompositor.cpp2
-rw-r--r--examples/wayland/server-buffer/compositor/main.cpp2
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor.h1
-rw-r--r--src/compositor/compositor_api/qwaylandquickcompositor.cpp21
-rw-r--r--src/compositor/compositor_api/qwaylandquickcompositor.h5
-rw-r--r--src/compositor/compositor_api/qwaylandview.cpp8
-rw-r--r--src/compositor/wayland_wrapper/qwlcompositor.cpp2
-rw-r--r--src/imports/compositor/WaylandCursorItem.qml2
-rw-r--r--src/imports/compositor/WaylandSurfaceChrome.qml87
-rw-r--r--src/imports/compositor/compositor.pro1
-rw-r--r--src/imports/compositor/qwaylandquickcompositorplugin.cpp5
14 files changed, 22 insertions, 147 deletions
diff --git a/examples/wayland/pure-qml/qml/Chrome.qml b/examples/wayland/pure-qml/qml/Chrome.qml
index 0ecb99b53..8e3ae454f 100644
--- a/examples/wayland/pure-qml/qml/Chrome.qml
+++ b/examples/wayland/pure-qml/qml/Chrome.qml
@@ -41,27 +41,16 @@
import QtQuick 2.0
import QtWayland.Compositor 1.0
-Item {
+WaylandView {
id: rootChrome
x: clampXPos()
y: clampYPos()
width: childrenRect.width
height: childrenRect.height
- property alias surface: chrome.surface
-
- WaylandSurfaceChrome {
- id: chrome
- automaticUseShellView: true
- automaticDestroyOnSurfaceDestroy: false
-
- onSurfaceDestroyed: {
- destroyAnimation.start();
- if (view) {
- view.lockedBuffer = true;
- }
- }
-
+ onSurfaceDestroyed: {
+ lockedBuffer = true;
+ destroyAnimation.start();
}
SequentialAnimation {
@@ -84,13 +73,13 @@ Item {
]
function clampXPos() {
if (!parent)
- return chrome.requestedXPosition;
- return Math.max(Math.min(chrome.requestedXPosition, parent.width - 10), 0)
+ return requestedXPosition;
+ return Math.max(Math.min(requestedXPosition, parent.width - 10), 0)
}
function clampYPos() {
if (!parent)
- return chrome.requestedYPosition;
- return Math.max(Math.min(chrome.requestedYPosition, parent.height - 30), 0)
+ return requestedYPosition;
+ return Math.max(Math.min(requestedYPosition, parent.height - 30), 0)
}
}
diff --git a/examples/wayland/pure-qml/qml/main.qml b/examples/wayland/pure-qml/qml/main.qml
index abd0d2981..e80c6a5ee 100644
--- a/examples/wayland/pure-qml/qml/main.qml
+++ b/examples/wayland/pure-qml/qml/main.qml
@@ -54,8 +54,6 @@ WaylandCompositor {
Chrome { }
}
- exposeDefaultShell: true
-
Component.onCompleted: {
addScreen();
}
@@ -67,6 +65,6 @@ WaylandCompositor {
}
onSurfaceCreated: {
- var chrome = chromeComponent.createObject(surface.primaryOutputWindow.surfacesArea, { "surface" : surface } );
+ var chrome = chromeComponent.createObject(surface.primaryOutputWindow.surfacesArea, { "surface" : surface } );
}
}
diff --git a/examples/wayland/qml-compositor/main.cpp b/examples/wayland/qml-compositor/main.cpp
index 5078cef46..7c11286dc 100644
--- a/examples/wayland/qml-compositor/main.cpp
+++ b/examples/wayland/qml-compositor/main.cpp
@@ -66,7 +66,7 @@ public:
: m_fullscreenSurface(0)
, m_output(0)
{
- m_compositor.setExtensionFlags(QWaylandCompositor::DefaultExtensions | QWaylandCompositor::SubSurfaceExtension | QWaylandCompositor::DefaultShellExtension);
+ m_compositor.setExtensionFlags(QWaylandCompositor::DefaultExtensions | QWaylandCompositor::SubSurfaceExtension);
m_compositor.create();
setSource(QUrl("main.qml"));
diff --git a/examples/wayland/qwindow-compositor/qwindowcompositor.cpp b/examples/wayland/qwindow-compositor/qwindowcompositor.cpp
index 8cfea2ae2..bba560341 100644
--- a/examples/wayland/qwindow-compositor/qwindowcompositor.cpp
+++ b/examples/wayland/qwindow-compositor/qwindowcompositor.cpp
@@ -125,7 +125,7 @@ QWindowCompositor::~QWindowCompositor()
void QWindowCompositor::create()
{
- setExtensionFlags(extensionFlags() | QWaylandCompositor::DefaultShellExtension);
+ setExtensionFlags(extensionFlags());
QWaylandCompositor::create();
diff --git a/examples/wayland/server-buffer/compositor/main.cpp b/examples/wayland/server-buffer/compositor/main.cpp
index fab0ff8e8..4e4dae3ec 100644
--- a/examples/wayland/server-buffer/compositor/main.cpp
+++ b/examples/wayland/server-buffer/compositor/main.cpp
@@ -79,7 +79,7 @@ public:
, m_server_buffer_8_bit(0)
, m_server_buffer_item_8_bit(0)
{
- setExtensionFlags(extensionFlags() | QWaylandCompositor::DefaultShellExtension);
+ setExtensionFlags(extensionFlags());
create();
m_view.setSource(QUrl("qrc:/qml/main.qml"));
diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h
index d21659013..c8b95bbd7 100644
--- a/src/compositor/compositor_api/qwaylandcompositor.h
+++ b/src/compositor/compositor_api/qwaylandcompositor.h
@@ -88,7 +88,6 @@ public:
SubSurfaceExtension = 0x10,
TextInputExtension = 0x20,
HardwareIntegrationExtension = 0x40,
- DefaultShellExtension = 0x80,
DefaultExtensions = WindowManagerExtension | SurfaceExtension | QtKeyExtension | TouchExtension | HardwareIntegrationExtension
};
diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.cpp b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
index 983c390f5..e8ff9c927 100644
--- a/src/compositor/compositor_api/qwaylandquickcompositor.cpp
+++ b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
@@ -51,7 +51,6 @@ QT_BEGIN_NAMESPACE
QWaylandQuickCompositor::QWaylandQuickCompositor(QObject *parent)
: QWaylandCompositor(parent)
, m_initializeLegazyQmlNames(true)
- , m_exposeDefaultShell(false)
{
}
@@ -60,11 +59,6 @@ void QWaylandQuickCompositor::create()
if (m_initializeLegazyQmlNames)
registerLegacyQmlNames();
- if (m_exposeDefaultShell)
- setExtensionFlags(extensionFlags() | QWaylandCompositor::DefaultShellExtension);
- else
- setExtensionFlags(extensionFlags() & !QWaylandCompositor::DefaultShellExtension);
-
QWaylandCompositor::create();
}
@@ -92,18 +86,6 @@ void QWaylandQuickCompositor::setInitializeLegazyQmlNames(bool init)
m_initializeLegazyQmlNames = init;
}
-bool QWaylandQuickCompositor::exposeDefaultShell() const
-{
- return m_exposeDefaultShell;
-}
-
-void QWaylandQuickCompositor::setExposeDefaultShell(bool defaultShell)
-{
- if (isCreated())
- qWarning() << Q_FUNC_INFO << "modifying exposeDefaultShell after the compositor is created is not supported";
- m_exposeDefaultShell = defaultShell;
-}
-
QWaylandOutput *QWaylandQuickCompositor::createOutput(QWaylandOutputSpace *outputSpace,
QWindow *window,
const QString &manufacturer,
@@ -131,9 +113,6 @@ void QWaylandQuickCompositor::classBegin()
void QWaylandQuickCompositor::componentComplete()
{
- //if (m_exposeDefaultShell)
- //addDefaultShell();
-
}
QT_END_NAMESPACE
diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.h b/src/compositor/compositor_api/qwaylandquickcompositor.h
index c415a4b84..60bf0de97 100644
--- a/src/compositor/compositor_api/qwaylandquickcompositor.h
+++ b/src/compositor/compositor_api/qwaylandquickcompositor.h
@@ -51,7 +51,6 @@ class Q_COMPOSITOR_EXPORT QWaylandQuickCompositor : public QWaylandCompositor, p
Q_INTERFACES(QQmlParserStatus)
Q_OBJECT
Q_PROPERTY(bool initializeLegazyQmlNames READ initializeLegazyQmlNames WRITE setInitializeLegazyQmlNames)
- Q_PROPERTY(bool exposeDefaultShell READ exposeDefaultShell WRITE setExposeDefaultShell)
public:
QWaylandQuickCompositor(QObject *parent = 0);
void create() Q_DECL_OVERRIDE;
@@ -60,9 +59,6 @@ public:
bool initializeLegazyQmlNames() const;
void setInitializeLegazyQmlNames(bool init);
- bool exposeDefaultShell() const;
- void setExposeDefaultShell(bool defaultShell);
-
QWaylandOutput *createOutput(QWaylandOutputSpace *outputSpace,
QWindow *window,
const QString &manufacturer,
@@ -75,7 +71,6 @@ protected:
private:
bool m_initializeLegazyQmlNames;
- bool m_exposeDefaultShell;
};
QT_END_NAMESPACE
diff --git a/src/compositor/compositor_api/qwaylandview.cpp b/src/compositor/compositor_api/qwaylandview.cpp
index 4970de26f..f83948302 100644
--- a/src/compositor/compositor_api/qwaylandview.cpp
+++ b/src/compositor/compositor_api/qwaylandview.cpp
@@ -53,8 +53,8 @@ void QWaylandViewPrivate::markSurfaceAsDestroyed(QWaylandSurface *surface)
Q_Q(QWaylandView);
Q_ASSERT(surface == this->surface);
- q->waylandSurfaceDestroyed();
q->setSurface(Q_NULLPTR);
+ q->waylandSurfaceDestroyed();
}
QWaylandView::QWaylandView()
@@ -86,6 +86,12 @@ QWaylandSurface *QWaylandView::surface() const
void QWaylandView::setSurface(QWaylandSurface *newSurface)
{
Q_D(QWaylandView);
+ if (d->surface == newSurface)
+ return;
+
+ if (!d->output && newSurface && !d->surface)
+ setOutput(newSurface->primaryOutput());
+
QWaylandSurface *oldSurface = d->surface;
d->surface = newSurface;
diff --git a/src/compositor/wayland_wrapper/qwlcompositor.cpp b/src/compositor/wayland_wrapper/qwlcompositor.cpp
index 5ae77d882..aea4154e0 100644
--- a/src/compositor/wayland_wrapper/qwlcompositor.cpp
+++ b/src/compositor/wayland_wrapper/qwlcompositor.cpp
@@ -388,8 +388,6 @@ void Compositor::initializeExtensions()
}
if (m_extensions & QWaylandCompositor::WindowManagerExtension)
new QWaylandWindowManagerExtension(waylandCompositor());
- if (m_extensions & QWaylandCompositor::DefaultShellExtension)
- new Shell(waylandCompositor());
}
void Compositor::initializeDefaultInputDevice()
diff --git a/src/imports/compositor/WaylandCursorItem.qml b/src/imports/compositor/WaylandCursorItem.qml
index 609cad7ad..4938ff94b 100644
--- a/src/imports/compositor/WaylandCursorItem.qml
+++ b/src/imports/compositor/WaylandCursorItem.qml
@@ -34,7 +34,7 @@
import QtQuick 2.0
import QtWayland.Compositor 1.0
-WaylandSurfaceView {
+WaylandView {
id: cursorItem
property QtObject compositor
property int hotspotX: 0
diff --git a/src/imports/compositor/WaylandSurfaceChrome.qml b/src/imports/compositor/WaylandSurfaceChrome.qml
deleted file mode 100644
index 7f9ae8025..000000000
--- a/src/imports/compositor/WaylandSurfaceChrome.qml
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-Item {
- id: chrome
-
- width: childrenRect.width
- height: childrenRect.height
-
- property QtObject surface
- property Item view
-
- property bool automaticUseShellView: false
- property bool automaticDestroyOnSurfaceDestroy: true
-
- property bool followRequestedPosition: false
- property real requestedXPosition
- property real requestedYPosition
-
- signal surfaceDestroyed
-
- Connections {
- target: surface
-
- onShellViewCreated: {
- if (chrome.automaticUseShellView)
- view = surface.shellView;
- }
-
- onSurfaceDestroyed: {
- if (automaticDestroyOnSurfaceDestroy)
- chrome.destroy();
- }
- }
-
- Component.onCompleted: {
- if (chrome.automaticUseShellView && !view && surface.shellView)
- view = surface.shellView;
- }
-
- onViewChanged: {
- if (view) {
- view.parent = chrome;
- view.followRequestedPosition = Qt.binding(function() { return chrome.followRequestedPosition; });
- chrome.visible = Qt.binding(function() { return view.visible; });
- chrome.requestedXPosition = Qt.binding(function() { return view.requestedXPosition; });
- chrome.requestedYPosition = Qt.binding(function() { return view.requestedYPosition; });
- view.surfaceDestroyed.connect(function() { chrome.surfaceDestroyed(); });
- } else {
- chrome.visible = false;
- }
- }
-
- Component.onDestruction: { if (view) view.destroy(); }
-}
diff --git a/src/imports/compositor/compositor.pro b/src/imports/compositor/compositor.pro
index 1f930d870..80bda74b1 100644
--- a/src/imports/compositor/compositor.pro
+++ b/src/imports/compositor/compositor.pro
@@ -11,7 +11,6 @@ SOURCES += \
qwaylandmousetracker.cpp
COMPOSITOR_QML_FILES += \
- WaylandSurfaceChrome.qml \
WaylandOutputWindow.qml \
WaylandCursorItem.qml \
qmldir
diff --git a/src/imports/compositor/qwaylandquickcompositorplugin.cpp b/src/imports/compositor/qwaylandquickcompositorplugin.cpp
index 1b78ce8ae..8af03a790 100644
--- a/src/imports/compositor/qwaylandquickcompositorplugin.cpp
+++ b/src/imports/compositor/qwaylandquickcompositorplugin.cpp
@@ -136,12 +136,11 @@ public:
bool useResource = true;
QDir qmlDir(baseUrl().toLocalFile());
- if (qmlDir.exists(QStringLiteral("WaylandSurfaceChrome.qml")))
+ if (qmlDir.exists(QStringLiteral("WaylandCursorItem.qml")))
useResource = false;
QmlUrlResolver resolver(useResource, qmlDir, QStringLiteral("qrc:/QtWayland/Compositor/"));
- qmlRegisterType(resolver.get(QStringLiteral("WaylandSurfaceChrome.qml")), uri, 1, 0, "WaylandSurfaceChrome");
qmlRegisterType(resolver.get(QStringLiteral("WaylandOutputWindow.qml")), uri, 1, 0, "WaylandOutputWindow");
qmlRegisterType(resolver.get(QStringLiteral("WaylandCursorItem.qml")), uri, 1, 0, "WaylandCursorItem");
}
@@ -151,7 +150,7 @@ public:
qmlRegisterType<QWaylandQuickCompositorImpl>(uri, 1, 0, "WaylandCompositor");
qmlRegisterType<QWaylandQuickItem>(uri, 1, 0, "WaylandView");
qmlRegisterType<QWaylandMouseTracker>(uri, 1, 0, "WaylandMouseTracker");
- qmlRegisterUncreatableType<QWaylandQuickSurface>(uri, 1, 0, "WaylandQuickSurface", QObject::tr("Cannot create instance of WaylandQuickSurface"));
+ qmlRegisterUncreatableType<QWaylandQuickSurface>(uri, 1, 0, "WaylandSurface", QObject::tr("Cannot create instance of WaylandQuickSurface"));
qmlRegisterUncreatableType<QWaylandClient>(uri, 1, 0, "WaylandClient", QObject::tr("Cannot create instance of WaylandClient"));
qmlRegisterUncreatableType<QWaylandOutput>(uri, 1, 0, "WaylandOutput", QObject::tr("Cannot create instance of WaylandOutput"));
qmlRegisterUncreatableType<QWaylandOutputSpace>(uri, 1, 0, "WaylandOutputSpace", QObject::tr("Cannot create instance of WaylandOutputSpace"));