From: Shane Synan Date: Tue, 29 May 2018 18:36:31 +0000 (-0500) Subject: core: Include timezone for CTCP TIME replies X-Git-Tag: travis-deploy-test~80 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=60364a507b6408a21c749b00a71ea3f63f118db0;hp=1a3cdccd4c4465bdb684a4e0927c8431e306c7cc 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 --- 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 }