summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication.cpp
diff options
context:
space:
mode:
authorJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-05-20 10:04:34 (GMT)
committerJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-05-20 10:04:34 (GMT)
commit6fb92f77f6d6b5b685b8748a1a35ffbd7df8b76b (patch)
treeba9ec7bc61be5ae87bd93fa055c6fb628b3d8404 /src/gui/kernel/qapplication.cpp
parent98972c1b271de1292b4e46484fe689d62a8b8e62 (diff)
parente6557220bccbdbbc218dc9eab0eb426ba774435e (diff)
downloadQt-6fb92f77f6d6b5b685b8748a1a35ffbd7df8b76b.zip
Qt-6fb92f77f6d6b5b685b8748a1a35ffbd7df8b76b.tar.gz
Qt-6fb92f77f6d6b5b685b8748a1a35ffbd7df8b76b.tar.bz2
Merge branch '4.7' of scm.dev.troll.no:qt/qt-s60-public into 4.7
Diffstat (limited to 'src/gui/kernel/qapplication.cpp')
-rw-r--r--src/gui/kernel/qapplication.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 590b000..e60a5f2 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -792,6 +792,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"));
@@ -2375,6 +2379,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);