From 67a2a8cf08ed6e4340b250da0c28e1c134c4637e Mon Sep 17 00:00:00 2001 From: David Szabo Date: Tue, 17 Apr 2018 02:07:30 +0200 Subject: [PATCH] datetime display fixed for OSs with non-English localization (#3204) --- cockatrice/src/logger.cpp | 9 +++++++++ cockatrice/src/logger.h | 1 + cockatrice/src/main.cpp | 4 ++++ cockatrice/src/spoilerbackgroundupdater.cpp | 5 +++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/logger.cpp b/cockatrice/src/logger.cpp index 1ca0d5266..1a575cbdd 100644 --- a/cockatrice/src/logger.cpp +++ b/cockatrice/src/logger.cpp @@ -1,6 +1,7 @@ #include "logger.h" #include "version_string.h" #include +#include #include #define LOGGER_MAX_ENTRIES 128 @@ -14,6 +15,7 @@ Logger::Logger() : logToFileEnabled(false) { logBuffer.append(getClientVersion()); logBuffer.append(getSystemArchitecture()); + logBuffer.append(getSystemLocale()); std::cerr << getClientVersion().toStdString() << std::endl; std::cerr << getSystemArchitecture().toStdString() << std::endl; } @@ -106,3 +108,10 @@ QString Logger::getClientOperatingSystem() return {}; } + +QString Logger::getSystemLocale() +{ + QString result; + result.append(tr("System Locale") + ": " + QLocale().name()); + return result; +} diff --git a/cockatrice/src/logger.h b/cockatrice/src/logger.h index 8a257738c..1fcdd6d38 100644 --- a/cockatrice/src/logger.h +++ b/cockatrice/src/logger.h @@ -32,6 +32,7 @@ public: QString getClientVersion(); QString getClientOperatingSystem(); QString getSystemArchitecture(); + QString getSystemLocale(); QList getLogBuffer() { return logBuffer; diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 8612780e3..7368d8fea 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +70,7 @@ void installNewTranslator() qApp->installTranslator(qtTranslator); translator->load(translationPrefix + "_" + lang, translationPath); qApp->installTranslator(translator); + qDebug() << "Language changed:" << lang; } QString const generateClientID() @@ -121,6 +123,8 @@ int main(int argc, char *argv[]) translator = new QTranslator; installNewTranslator(); + QLocale::setDefault(QLocale::English); + qsrand(QDateTime::currentDateTime().toTime_t()); qDebug("main(): starting main program"); diff --git a/cockatrice/src/spoilerbackgroundupdater.cpp b/cockatrice/src/spoilerbackgroundupdater.cpp index 495c1fb59..6c6003c6e 100644 --- a/cockatrice/src/spoilerbackgroundupdater.cpp +++ b/cockatrice/src/spoilerbackgroundupdater.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -165,11 +166,11 @@ bool SpoilerBackgroundUpdater::saveDownloadedFile(QByteArray data) QList lines = data.split('\n'); foreach (QByteArray line, lines) { - if (line.indexOf("created:") > -1) { + if (line.contains("created:")) { QString timeStamp = QString(line).replace("created:", "").trimmed(); timeStamp.chop(6); // Remove " (UTC)" - auto utcTime = QDateTime::fromString(timeStamp, QString("ddd, MMM dd yyyy, hh:mm:ss")); + auto utcTime = QLocale().toDateTime(timeStamp, "ddd, MMM dd yyyy, hh:mm:ss"); utcTime.setTimeSpec(Qt::UTC); QString localTime = utcTime.toLocalTime().toString("MMM d, hh:mm");