diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-05-16 23:09:00 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2010-05-16 23:09:00 (GMT) |
commit | 8c216aee5d2e52b6fa36e256615374b9435bb4c9 (patch) | |
tree | c65554b66874dae21a0876f804926254073aedd0 /src/gui/kernel/qapplication.cpp | |
parent | 3340b23699f0286876f1e237a66bdc85076fe191 (diff) | |
parent | 3849cd0cca618fac88a54861a3ec30780711ce75 (diff) | |
download | Qt-8c216aee5d2e52b6fa36e256615374b9435bb4c9.zip Qt-8c216aee5d2e52b6fa36e256615374b9435bb4c9.tar.gz Qt-8c216aee5d2e52b6fa36e256615374b9435bb4c9.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'src/gui/kernel/qapplication.cpp')
-rw-r--r-- | src/gui/kernel/qapplication.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index ec635d4..7b62de1 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -788,6 +788,10 @@ void QApplicationPrivate::construct( qt_gui_eval_init(application_type); #endif +#if defined(Q_OS_SYMBIAN) && !defined(QT_NO_SYSTEMLOCALE) + symbianInit(); +#endif + #ifndef QT_NO_LIBRARY if(load_testability) { QLibrary testLib(QLatin1String("qttestability")); @@ -2364,6 +2368,19 @@ bool QApplication::event(QEvent *e) if (!(w->windowType() == Qt::Desktop)) postEvent(w, new QEvent(QEvent::LanguageChange)); } +#ifndef Q_OS_WIN + } else if (e->type() == QEvent::LocaleChange) { + // on Windows the event propagation is taken care by the + // WM_SETTINGCHANGE event handler. + QWidgetList list = topLevelWidgets(); + for (int i = 0; i < list.size(); ++i) { + QWidget *w = list.at(i); + if (!(w->windowType() == Qt::Desktop)) { + if (!w->testAttribute(Qt::WA_SetLocale)) + w->d_func()->setLocale_helper(QLocale(), true); + } + } +#endif } else if (e->type() == QEvent::Timer) { QTimerEvent *te = static_cast<QTimerEvent*>(e); Q_ASSERT(te != 0); |