From 60364a507b6408a21c749b00a71ea3f63f118db0 Mon Sep 17 00:00:00 2001 From: Shane Synan Date: Tue, 29 May 2018 13:36:31 -0500 Subject: [PATCH 1/1] core: Include timezone for CTCP TIME replies Explicitly specify the default Qt::TextDate date/time format to allow modifying it. On Qt 5, include the timezone data. This doesn't reduce privacy as timezone data could be figured out before by manually comparing with UTC, this just makes it easier for those who want that information shared. See https://doc.qt.io/qt-5/qdatetime.html#toString And https://doc.qt.io/qt-5/qt.html#DateFormat-enum --- src/core/coresessioneventprocessor.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/core/coresessioneventprocessor.cpp b/src/core/coresessioneventprocessor.cpp index 57d836d9..0e9bb019 100644 --- a/src/core/coresessioneventprocessor.cpp +++ b/src/core/coresessioneventprocessor.cpp @@ -1556,7 +1556,22 @@ void CoreSessionEventProcessor::handleCtcpPing(CtcpEvent *e) void CoreSessionEventProcessor::handleCtcpTime(CtcpEvent *e) { - e->setReply(QDateTime::currentDateTime().toString()); + // Explicitly specify the Qt default DateTime format string to allow for modification + // Qt::TextDate default roughly corresponds to... + // > ddd MMM d yyyy HH:mm:ss + // + // See https://doc.qt.io/qt-5/qdatetime.html#toString + // And https://doc.qt.io/qt-5/qt.html#DateFormat-enum +#if QT_VERSION > 0x050000 + // Append the timezone identifier "t", so other other IRC users have a frame of reference for + // the current timezone. This could be figured out before by manually comparing to UTC, so this + // is just convenience. + + // Alas, "t" was only added in Qt 5 + e->setReply(QDateTime::currentDateTime().toString("ddd MMM d yyyy HH:mm:ss t")); +#else + e->setReply(QDateTime::currentDateTime().toString("ddd MMM d yyyy HH:mm:ss")); +#endif } -- 2.20.1