Fix date and time l10n

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 <sergey.starosek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Sergey Starosek 2014-06-28 14:56:40 +04:00 committed by Dirk Hohndel
parent 22d56889bb
commit 2a8f32b87e

View file

@ -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)