forked from qt-creator/qt-creator
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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user