QDateTime::toString(const QString & format) uses system locale
for month and day names.

In order to get localized month and day names for user-choosen locale
use QLocale::toString(const QDateTime & datetime, const QString & format)
instead.

Signed-off-by: Sergey Starosek <[email protected]>
---
 qt-gui.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/qt-gui.cpp b/qt-gui.cpp
index eeb43b8..23dc8b7 100644
--- a/qt-gui.cpp
+++ b/qt-gui.cpp
@@ -50,6 +50,7 @@ const char *existing_filename;
 static QString shortDateFormat;
 static QString dateFormat;
 static QString timeFormat;
+static QLocale loc;
 
 #if defined(Q_OS_WIN) && QT_VERSION < 0x050000
 static QByteArray encodeUtf8(const QString &fname)
@@ -72,10 +73,11 @@ QString uiLanguage(QLocale *callerLoc)
 {
        QSettings s;
        s.beginGroup("Language");
-       QLocale loc;
 
        if (!s.value("UseSystemLanguage", true).toBool()) {
                loc = QLocale(s.value("UiLanguage", 
QLocale().uiLanguages().first()).toString());
+       } else {
+               loc = QLocale(QLocale().uiLanguages().first());
        }
 
        QString uiLang = loc.uiLanguages().first();
@@ -392,14 +394,14 @@ QString get_dive_date_string(timestamp_t when)
 {
        QDateTime ts;
        ts.setMSecsSinceEpoch(when * 1000);
-       return ts.toUTC().toString(dateFormat + " " + timeFormat);
+       return loc.toString(ts.toUTC(), dateFormat + " " + timeFormat);
 }
 
 QString get_short_dive_date_string(timestamp_t when)
 {
        QDateTime ts;
        ts.setMSecsSinceEpoch(when * 1000);
-       return ts.toUTC().toString(shortDateFormat + " " + timeFormat);
+       return loc.toString(ts.toUTC(), shortDateFormat + " " + timeFormat);
 }
 
 QString get_trip_date_string(timestamp_t when, int nr)
-- 
1.8.5.5

_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to