Commit ad1b69c7 authored by Laszlo Agocs's avatar Laszlo Agocs
Browse files

Fix tooltip positioning


The previous fix worked only properly when the QQuickWidget was located in
the top-left corner of the window. With bigger offsets the tooltips were off.

Task-number: QTBUG-39878
Change-Id: Ia25194175aa9f9daa9c7132fc776d4b2fa874c26
Reviewed-by: default avatarPaul Olav Tvete <paul.tvete@digia.com>
Showing with 4 additions and 2 deletions
......@@ -66,9 +66,11 @@ void QQuickTooltip::showText(QQuickItem *item, const QPointF &pos, const QString
if (QGuiApplicationPrivate::platformIntegration()->
hasCapability(QPlatformIntegration::MultipleWindows) &&
QCoreApplication::instance()->inherits("QApplication")) {
QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window());
QPoint quickWidgetOffsetInTlw;
QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window(), &quickWidgetOffsetInTlw);
QWindow *window = renderWindow ? renderWindow : item->window();
QPoint mappedPos = window->mapToGlobal(item->mapToScene(pos).toPoint());
const QPoint offsetInQuickWidget = item->mapToScene(pos).toPoint();
const QPoint mappedPos = window->mapToGlobal(offsetInQuickWidget + quickWidgetOffsetInTlw);
QToolTip::showText(mappedPos, str);
}
#else
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment