summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-05-10 16:57:41 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-10 22:59:25 +0200
commit78b9de746c9328cb56339d36598a67977360be2b (patch)
tree2a938a717c64c9c9458d7081a220d0dc476a5c0d /src/widgets
parentfe59f15a5be51772eda2287fa20321f192ff18af (diff)
Keep object name of QWidgetWindow in sync with the widget.
Use new objectNameChanged() signal. Change-Id: I247566bd51d23ec65ff74ba9ac7be0d18e8ff160 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/kernel/qwidget.cpp10
-rw-r--r--src/widgets/kernel/qwidgetwindow_qpa.cpp11
-rw-r--r--src/widgets/kernel/qwidgetwindow_qpa_p.h3
3 files changed, 14 insertions, 10 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 74612559f0..1b5b9ccf34 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -9074,16 +9074,6 @@ void QWidget::ensurePolished() const
QChildEvent e(QEvent::ChildPolished, const_cast<QWidget *>(this));
QCoreApplication::sendEvent(d->parent, &e);
}
- if (d->extra && d->extra->topextra && d->extra->topextra->window
- && d->extra->topextra->window->objectName().isEmpty()) {
- QString on = objectName();
- if (on.isEmpty()) {
- on = QString::fromUtf8(metaObject()->className());
- on += QStringLiteral("Class");
- }
- on += QStringLiteral("Window");
- d->extra->topextra->window->setObjectName(on);
- }
}
/*!
diff --git a/src/widgets/kernel/qwidgetwindow_qpa.cpp b/src/widgets/kernel/qwidgetwindow_qpa.cpp
index 5639bac3ff..ddda4c322b 100644
--- a/src/widgets/kernel/qwidgetwindow_qpa.cpp
+++ b/src/widgets/kernel/qwidgetwindow_qpa.cpp
@@ -60,6 +60,8 @@ extern bool qt_try_modal(QWidget *widget, QEvent::Type type);
QWidgetWindow::QWidgetWindow(QWidget *widget)
: m_widget(widget)
{
+ updateObjectName();
+ connect(m_widget, &QObject::objectNameChanged, this, &QWidgetWindow::updateObjectName);
}
#ifndef QT_NO_ACCESSIBILITY
@@ -507,4 +509,13 @@ bool QWidgetWindow::nativeEvent(const QByteArray &eventType, void *message, long
return m_widget->nativeEvent(eventType, message, result);
}
+void QWidgetWindow::updateObjectName()
+{
+ QString name = m_widget->objectName();
+ if (name.isEmpty())
+ name = QString::fromUtf8(m_widget->metaObject()->className()) + QStringLiteral("Class");
+ name += QStringLiteral("Window");
+ setObjectName(name);
+}
+
QT_END_NAMESPACE
diff --git a/src/widgets/kernel/qwidgetwindow_qpa_p.h b/src/widgets/kernel/qwidgetwindow_qpa_p.h
index e5c07a2d3a..80af5e6b77 100644
--- a/src/widgets/kernel/qwidgetwindow_qpa_p.h
+++ b/src/widgets/kernel/qwidgetwindow_qpa_p.h
@@ -83,6 +83,9 @@ protected:
void handleWindowStateChangedEvent(QWindowStateChangeEvent *event);
bool nativeEvent(const QByteArray &eventType, void *message, long *result);
+private slots:
+ void updateObjectName();
+
private:
void updateGeometry();