diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-05-13 14:44:05 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-08-28 13:10:32 +0200 |
commit | 666c3fcc69b9b25caa9b68b988e0004489653171 (patch) | |
tree | 00613a3861b5fb73978b1fd01e7e2f97f29de28d | |
parent | 5f3918b8046c461929daf62689da2cc75f7a988d (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.qml | 27 | ||||
-rw-r--r-- | examples/wayland/pure-qml/qml/main.qml | 4 | ||||
-rw-r--r-- | examples/wayland/qml-compositor/main.cpp | 2 | ||||
-rw-r--r-- | examples/wayland/qwindow-compositor/qwindowcompositor.cpp | 2 | ||||
-rw-r--r-- | examples/wayland/server-buffer/compositor/main.cpp | 2 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.h | 1 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickcompositor.cpp | 21 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickcompositor.h | 5 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandview.cpp | 8 | ||||
-rw-r--r-- | src/compositor/wayland_wrapper/qwlcompositor.cpp | 2 | ||||
-rw-r--r-- | src/imports/compositor/WaylandCursorItem.qml | 2 | ||||
-rw-r--r-- | src/imports/compositor/WaylandSurfaceChrome.qml | 87 | ||||
-rw-r--r-- | src/imports/compositor/compositor.pro | 1 | ||||
-rw-r--r-- | src/imports/compositor/qwaylandquickcompositorplugin.cpp | 5 |
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")); |