diff options
author | Pierre Rossi <pierre.rossi@digia.com> | 2014-02-12 19:25:57 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-02 00:07:52 +0200 |
commit | c5431da0b11b2b73abee62751565a7d20757040f (patch) | |
tree | e4caffcc91a361d937f6dfa2720f4979e0cee33b /src/webengine/render_widget_host_view_qt_delegate_quick.cpp | |
parent | d13d953feceb2e72959f7b9aaf45720dcae49e8a (diff) |
Make WebUI popups work with QtQuick
This is used by popups for select elements and date pickers among
other things. We can keep using the same RenderWidgetHostViewQtDelegate
implementations for that purpose, and query QPA to decide if they
should be wrapped into their own QQuickWindow.
Longer term, we might want to optionally delegate that functionality
to QML.
Change-Id: I88540ca32a9a707d380dfbf486b7f7806b5b65ff
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 3aea86378..693b12e07 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -41,8 +41,8 @@ #include "render_widget_host_view_qt_delegate_quick.h" -RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderWidgetHostViewQtDelegateClient *client, QQuickItem *parent) - : RenderWidgetHostViewQtDelegateQuickBase<QQuickItem>(client, parent) +RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderWidgetHostViewQtDelegateClient *client, bool isPopup) + : RenderWidgetHostViewQtDelegateQuickBase<QQuickItem>(client, isPopup) { setFlag(ItemHasContents); } @@ -60,7 +60,7 @@ bool RenderWidgetHostViewQtDelegateQuick::supportsHardwareAcceleration() const void RenderWidgetHostViewQtDelegateQuick::itemChange(ItemChange change, const ItemChangeData &value) { QQuickItem::itemChange(change, value); - if (change == QQuickItem::ItemSceneChange) + if (m_initialized && change == QQuickItem::ItemSceneChange) m_client->windowChanged(); } @@ -69,8 +69,8 @@ QSGNode *RenderWidgetHostViewQtDelegateQuick::updatePaintNode(QSGNode *oldNode, return m_client->updatePaintNode(oldNode, QQuickItem::window()); } -RenderWidgetHostViewQtDelegateQuickPainted::RenderWidgetHostViewQtDelegateQuickPainted(RenderWidgetHostViewQtDelegateClient *client, QQuickItem *parent) - : RenderWidgetHostViewQtDelegateQuickBase<QQuickPaintedItem>(client, parent) +RenderWidgetHostViewQtDelegateQuickPainted::RenderWidgetHostViewQtDelegateQuickPainted(RenderWidgetHostViewQtDelegateClient *client, bool isPopup) + : RenderWidgetHostViewQtDelegateQuickBase<QQuickPaintedItem>(client, isPopup) { } |