From 738a950b754d1197d686acb1b04a5fdc883a02e5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus <jkobus@trolltech.com> Date: Wed, 6 Jan 2010 11:10:14 +0100 Subject: [PATCH] Load designer translations before instantiating any designer object In this way all tr calls are done after translations are loaded. Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@trolltech.com> Task-number: QTCREATORBUG-470 --- src/plugins/designer/formeditorplugin.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/plugins/designer/formeditorplugin.cpp b/src/plugins/designer/formeditorplugin.cpp index 97bb7201c0e..2875ba92d1d 100644 --- a/src/plugins/designer/formeditorplugin.cpp +++ b/src/plugins/designer/formeditorplugin.cpp @@ -91,6 +91,18 @@ bool FormEditorPlugin::initialize(const QStringList &arguments, QString *error) addAutoReleasedObject(new FormEditorFactory); + // Ensure that loading designer translations is done before FormEditorW is instantiated + const QString locale = qApp->property("qtc_locale").toString(); + if (!locale.isEmpty()) { + QTranslator *qtr = new QTranslator(this); + const QString &creatorTrPath = + Core::ICore::instance()->resourcePath() + QLatin1String("/translations"); + const QString &qtTrPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + const QString &trFile = QLatin1String("designer_") + locale; + if (qtr->load(trFile, qtTrPath) || qtr->load(trFile, creatorTrPath)) + qApp->installTranslator(qtr); + } + if (qgetenv("KDE_SESSION_VERSION") == QByteArray("4")) { // KDE 4, possibly dangerous... // KDE 4.2.0 had a nasty bug, which resulted in the File/Open Dialog crashing @@ -105,17 +117,6 @@ bool FormEditorPlugin::initialize(const QStringList &arguments, QString *error) FormEditorW::ensureInitStage(FormEditorW::RegisterPlugins); } - const QString locale = qApp->property("qtc_locale").toString(); - if (!locale.isEmpty()) { - QTranslator *qtr = new QTranslator(this); - const QString &creatorTrPath = - Core::ICore::instance()->resourcePath() + QLatin1String("/translations"); - const QString &qtTrPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - const QString &trFile = QLatin1String("designer_") + locale; - if (qtr->load(trFile, qtTrPath) || qtr->load(trFile, creatorTrPath)) - qApp->installTranslator(qtr); - } - error->clear(); return true; } -- GitLab