[PATCH] Fix date and time l10n
Sergey Starosek
sergey.starosek at gmail.com
Sat Jun 28 03:56:40 PDT 2014
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 at gmail.com>
---
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
More information about the subsurface
mailing list