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
This commit is contained in:
Jarek Kobus
2010-01-06 11:10:14 +01:00
parent 7a0313ed9e
commit 738a950b75

View File

@@ -91,6 +91,18 @@ bool FormEditorPlugin::initialize(const QStringList &arguments, QString *error)
addAutoReleasedObject(new FormEditorFactory); 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")) { if (qgetenv("KDE_SESSION_VERSION") == QByteArray("4")) {
// KDE 4, possibly dangerous... // KDE 4, possibly dangerous...
// KDE 4.2.0 had a nasty bug, which resulted in the File/Open Dialog crashing // 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); 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(); error->clear();
return true; return true;
} }