Georg Baum wrote:
> Does it work if you always use exit instead of lyx_gui::exit in lyx_exit
> (lyx_main.C)?
No, still the same.
$ svn diff
Index: lyx_main.C
===================================================================
--- lyx_main.C (revision 14038)
+++ lyx_main.C (working copy)
@@ -112,8 +112,8 @@
// FIXME: We should not directly call exit(), since it only
// guarantees a return to the system, no application cleanup.
// This may cause troubles with not executed destructors.
- if (lyx_gui::use_gui)
- lyx_gui::exit(status);
+ //if (lyx_gui::use_gui)
+ //lyx_gui::exit(status);
exit(status);
}
Index: frontends/qt4/lyx_gui.C
===================================================================
--- frontends/qt4/lyx_gui.C (revision 14038)
+++ frontends/qt4/lyx_gui.C (working copy)
@@ -55,6 +55,8 @@
#include <QEventLoop>
#include <QTranslator>
#include <QTextCodec>
+#include <QLocale>
+#include <QLibraryInfo>
using lyx::support::ltrim;
using lyx::support::package;
@@ -167,19 +169,23 @@
// install translation file for Qt built-in dialogs
// These are only installed since Qt 3.2.x
- QTranslator qt_trans(0);
- if (qt_trans.load(QString("qt_") + QTextCodec::locale(),
- qInstallPathTranslations())) {
+ static QTranslator qt_trans;
+ QString language_name = QString("qt_") + QLocale::system().name();
+ language_name.truncate(5);
+ if (qt_trans.load(language_name,
+ QLibraryInfo::location(QLibraryInfo::TranslationsPath))
+ )
+ {
qApp->installTranslator(&qt_trans);
// even if the language calls for RtL, don't do that
- qApp->setReverseLayout(false);
+ qApp->setLayoutDirection(Qt::LeftToRight);
lyxerr[Debug::GUI]
<< "Successfully installed Qt translations for locale "
- << QTextCodec::locale() << std::endl;
+ << language_name.toStdString().c_str() << std::endl;
} else
lyxerr[Debug::GUI]
<< "Could not find Qt translations for locale "
- << QTextCodec::locale() << std::endl;
+ << language_name.toStdString().c_str() << std::endl;
/*#ifdef Q_WS_MACX
// These translations are meant to break Qt/Mac menu merging