summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-01-15 12:41:32 +0100
committerMichal Klocek <michal.klocek@qt.io>2021-01-18 19:22:13 +0100
commitae6df88523856ecd89ebcc3a05da6bd34a9e40f4 (patch)
treedc28f71d8c156951170347410b57d8745c779b33
parent49e338ba73e467656624aedef73dbeda481b293e (diff)
Fix position of popup on qml
In case there is no window system with qml simply use screen rect. This will also work well with rotated view (for non windowing system). Task-number: QTBUG-86034 Task-number: QTBUG-89358 Change-Id: Ic042d766d661c8322422b194c08b58609992961b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.cpp11
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp3
2 files changed, 6 insertions, 8 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 6a5bef16d..e1ae8863e 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp
@@ -88,14 +88,13 @@ RenderWidgetHostViewQtDelegateQuick::~RenderWidgetHostViewQtDelegateQuick()
QQuickWebEngineViewPrivate::bindViewAndWidget(nullptr, this);
}
-void RenderWidgetHostViewQtDelegateQuick::initAsPopup(const QRect &r)
+void RenderWidgetHostViewQtDelegateQuick::initAsPopup(const QRect &screenRect)
{
+ //note this is called when there is no windowing system
+ //otherwsie see RenderWidgetHostViewQtDelegateQuickWindow
Q_ASSERT(m_isPopup && parentItem());
- QRectF rect(parentItem()->mapRectFromScene(r));
- setX(rect.x());
- setY(rect.y());
- setWidth(rect.width());
- setHeight(rect.height());
+ setPosition(screenRect.topLeft());
+ setSize(screenRect.size());
setVisible(true);
}
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
index 1de4d8835..01a5b1299 100644
--- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
+++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp
@@ -81,8 +81,7 @@ void RenderWidgetHostViewQtDelegateQuickWindow::initAsPopup(const QRect &screenR
popupRect = mapRectFromGlobal(m_virtualParent, popupRect);
popupRect = m_virtualParent->mapRectToScene(popupRect);
popupRect = mapRectToGlobal(m_virtualParent, popupRect);
-
- m_realDelegate->initAsPopup(QRect(QPoint(0, 0), popupRect.size().toSize()));
+ m_realDelegate->setSize(popupRect.size());
popupRect.setSize(screenRect.size());
setGeometry(popupRect.toAlignedRect());
raise();