From 041c4d9c0bbb19dfa18ec304b5111259b0a48023 Mon Sep 17 00:00:00 2001 From: Tomasz Olszak Date: Wed, 8 Jan 2014 21:58:16 +0100 Subject: Forward "_q_platform_*" QWidgets's properties to QWindow. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This way we can customize QPlatformWindow by using dynamic "_q_platform_" properties in corresponding QWindow. Change-Id: I987b7a17d252541fe766af6aa37a6cffb67f1807 Reviewed-by: Gabriel de Dietrich Reviewed-by: Morten Johan Sørvig Reviewed-by: Andy Shaw --- src/widgets/kernel/qwidget.cpp | 2 ++ src/widgets/kernel/qwidget_qpa.cpp | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'src/widgets') diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 5bcec13238..7eecd3d84d 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -8358,6 +8358,8 @@ bool QWidget::event(QEvent *event) d->extra->customDpiY = value; d->updateFont(d->data.fnt); } + if (windowHandle() && !qstrncmp(propName, "_q_platform_", 12)) + windowHandle()->setProperty(propName, property(propName)); // fall through } #endif diff --git a/src/widgets/kernel/qwidget_qpa.cpp b/src/widgets/kernel/qwidget_qpa.cpp index c22320e8d2..5ba0a90d3d 100644 --- a/src/widgets/kernel/qwidget_qpa.cpp +++ b/src/widgets/kernel/qwidget_qpa.cpp @@ -110,6 +110,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO win = topData()->window; } + foreach (const QByteArray &propertyName, q->dynamicPropertyNames()) { + if (!qstrncmp(propertyName, "_q_platform_", 12)) + win->setProperty(propertyName, q->property(propertyName)); + } + win->setFlags(data.window_flags); fixPosIncludesFrame(); if (q->testAttribute(Qt::WA_Moved) -- cgit v1.2.3