diff options
author | Tomasz Olszak <olszak.tomasz@gmail.com> | 2014-01-08 21:58:16 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-09 10:45:15 +0200 |
commit | 041c4d9c0bbb19dfa18ec304b5111259b0a48023 (patch) | |
tree | 4e050541710dc645a6f505b1d462f8b5b877e015 | |
parent | 7d012552b03cd71a44591adf1e148b7b5eab0431 (diff) |
Forward "_q_platform_*" QWidgets's properties to QWindow.
This way we can customize QPlatformWindow by using
dynamic "_q_platform_" properties in corresponding
QWindow.
Change-Id: I987b7a17d252541fe766af6aa37a6cffb67f1807
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 2 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget_qpa.cpp | 5 |
2 files changed, 7 insertions, 0 deletions
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) |