Author: pascalek Date: Tue Nov 28 19:02:09 2006 GMT Module: SOURCES Tag: HEAD ---- Log message: - new, a little bit better locale patch
---- Files affected: SOURCES: qt4-locale.patch (1.9 -> 1.10) ---- Diffs: ================================================================ Index: SOURCES/qt4-locale.patch diff -u SOURCES/qt4-locale.patch:1.9 SOURCES/qt4-locale.patch:1.10 --- SOURCES/qt4-locale.patch:1.9 Wed Oct 4 23:17:38 2006 +++ SOURCES/qt4-locale.patch Tue Nov 28 20:02:04 2006 @@ -1,17 +1,156 @@ ---- qt-copy/tools/assistant/main.cpp.niedakh 2005-05-13 16:39:06.000000000 +0200 -+++ qt-copy/tools/assistant/main.cpp 2005-05-14 14:34:40.000000000 +0200 -@@ -272,11 +272,12 @@ +diff -Nur qt-x11-opensource-src-4.2.1.orig/src/corelib/kernel/qtranslator.cpp qt-x11-opensource-src-4.2.1.chng/src/corelib/kernel/qtranslator.cpp +--- qt-x11-opensource-src-4.2.1.orig/src/corelib/kernel/qtranslator.cpp 2006-10-20 17:35:15.000000000 +0200 ++++ qt-x11-opensource-src-4.2.1.chng/src/corelib/kernel/qtranslator.cpp 2006-11-28 14:17:12.000000000 +0100 +@@ -37,6 +37,7 @@ + #include "qalgorithms.h" + #include "qhash.h" + #include "qtranslator_p.h" ++#include <qlibraryinfo.h> + + #if defined(Q_OS_UNIX) + #define QT_USE_MMAP +@@ -377,33 +378,72 @@ + QString delims; + delims = search_delimiters.isNull() ? QString::fromLatin1("_.") : search_delimiters; + +- for (;;) { +- QFileInfo fi; +- +- realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix); +- fi.setFile(realname); +- if (fi.isReadable()) +- break; +- +- realname = prefix + fname; +- fi.setFile(realname); +- if (fi.isReadable()) +- break; ++ if (directory == QLibraryInfo::location(QLibraryInfo::TranslationsPath)) { ++ QString locale; ++ int idelim = 0, leftmost; ++ ++ for (;;) { ++ leftmost = filename.size(); ++ for (int i = 0; i < (int)delims.length(); i++) { ++ int k = filename.indexOf(delims[i], idelim); ++ if ((k > 0)&&(k < leftmost)) ++ leftmost = k; ++ } ++ ++ if (leftmost == filename.size()) ++ return false; ++ ++ idelim = leftmost + 1; ++ fname = filename.left(leftmost); ++ locale = filename.mid(leftmost+1); ++ ++ while (!locale.isEmpty()) { ++ QFileInfo fi; ++ realname = prefix + locale + QString::fromLatin1("/LC_MESSAGES/") + fname + QString::fromLatin1(".qm"); ++ ++ fi.setFile(realname); ++ if (fi.isReadable()) ++ break; ++ ++ int rightmost = 0; ++ for (int i = 0; i < (int)delims.length(); i++) { ++ int k = locale.lastIndexOf(delims[i]); ++ if (k > rightmost) ++ rightmost = k; ++ } ++ locale.truncate(rightmost); ++ } ++ if (!locale.isEmpty()) ++ break; ++ } ++ } else { ++ for (;;) { ++ QFileInfo fi; ++ ++ realname = prefix + fname + (suffix.isNull() ? QString::fromLatin1(".qm") : suffix); ++ fi.setFile(realname); ++ if (fi.isReadable()) ++ break; ++ ++ realname = prefix + fname; ++ fi.setFile(realname); ++ if (fi.isReadable()) ++ break; ++ ++ int rightmost = 0; ++ for (int i = 0; i < (int)delims.length(); i++) { ++ int k = fname.lastIndexOf(delims[i]); ++ if (k > rightmost) ++ rightmost = k; ++ } ++ ++ // no truncations? fail ++ if (rightmost == 0) ++ return false; + +- int rightmost = 0; +- for (int i = 0; i < (int)delims.length(); i++) { +- int k = fname.lastIndexOf(delims[i]); +- if (k > rightmost) +- rightmost = k; ++ fname.truncate(rightmost); + } +- +- // no truncations? fail +- if (rightmost == 0) +- return false; +- +- fname.truncate(rightmost); + } +- + // realname is now the fully qualified name of a readable file. + + bool ok = false; +diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/assistant/main.cpp qt-x11-opensource-src-4.2.1.chng/tools/assistant/main.cpp +--- qt-x11-opensource-src-4.2.1.orig/tools/assistant/main.cpp 2006-10-20 17:35:28.000000000 +0200 ++++ qt-x11-opensource-src-4.2.1.chng/tools/assistant/main.cpp 2006-11-28 14:23:03.000000000 +0100 +@@ -310,11 +310,11 @@ resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); QTranslator translator( 0 ); - translator.load( QLatin1String("assistant_") + QLocale::system().name(), resourceDir ); -+ QLocale locale = QLocale::system(); -+ translator.load( QLatin1String("assistant"), resourceDir + QLatin1String("/") + QLocale::languageToString(locale.language()) + QLatin1String("/LC_MESSAGES") ); ++ translator.load( QLatin1String("qt4-assistant_") + QLocale::system().name(), resourceDir ); a.installTranslator( &translator ); QTranslator qtTranslator( 0 ); - qtTranslator.load( QLatin1String("qt_") + QLocale::system().name(), resourceDir ); -+ qtTranslator.load( QLatin1String("qt4"), resourceDir + QLatin1String("/") + QLocale::languageToString(locale.language()) + QLatin1String("/LC_MESSAGES") ); ++ qtTranslator.load( QLatin1String("qt4_") + QLocale::system().name(), resourceDir ); a.installTranslator( &qtTranslator ); Config *conf = Config::loadConfig( profileName ); +diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/designer/src/designer/qdesigner.cpp qt-x11-opensource-src-4.2.1.chng/tools/designer/src/designer/qdesigner.cpp +--- qt-x11-opensource-src-4.2.1.orig/tools/designer/src/designer/qdesigner.cpp 2006-10-20 17:35:40.000000000 +0200 ++++ qt-x11-opensource-src-4.2.1.chng/tools/designer/src/designer/qdesigner.cpp 2006-11-28 14:22:20.000000000 +0100 +@@ -112,8 +112,8 @@ + + QTranslator *translator = new QTranslator; + QTranslator *qtTranslator = new QTranslator; +- translator->load(QLatin1String("designer_") + QLocale::system().name().toLower(), resourceDir); +- qtTranslator->load(QLatin1String("qt_") + QLocale::system().name().toLower(), resourceDir); ++ translator->load(QLatin1String("qt4-designer_") + QLocale::system().name(), resourceDir); ++ qtTranslator->load(QLatin1String("qt4_") + QLocale::system().name(), resourceDir); + installTranslator(translator); + installTranslator(qtTranslator); + +diff -Nur qt-x11-opensource-src-4.2.1.orig/tools/linguist/linguist/main.cpp qt-x11-opensource-src-4.2.1.chng/tools/linguist/linguist/main.cpp +--- qt-x11-opensource-src-4.2.1.orig/tools/linguist/linguist/main.cpp 2006-10-20 17:35:26.000000000 +0200 ++++ qt-x11-opensource-src-4.2.1.chng/tools/linguist/linguist/main.cpp 2006-11-28 14:21:19.000000000 +0100 +@@ -41,11 +41,11 @@ + QApplication::setOverrideCursor(Qt::WaitCursor); + + QTranslator translator(0); +- translator.load(QLatin1String("linguist_") + QLocale::system().name(), "."); ++ translator.load(QLatin1String("qt4-linguist_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + app.installTranslator(&translator); + + QTranslator qtTranslator(0); +- qtTranslator.load(QLatin1String("qt_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); ++ qtTranslator.load(QLatin1String("qt4_") + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + app.installTranslator(&qtTranslator); + + app.setOrganizationName("Trolltech"); ================================================================ ---- CVS-web: http://cvs.pld-linux.org/SOURCES/qt4-locale.patch?r1=1.9&r2=1.10&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit