forked from qt-creator/qt-creator
debugger: speed up QDate, QTime, QDateTime dumpers
Change-Id: I9ed3961d047738bd3add87b1f00d548df1fb01d8 Reviewed-on: http://codereview.qt.nokia.com/3609 Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -55,12 +55,13 @@
|
||||
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QTime>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QCoreApplication>
|
||||
#include <QtCore/QTextStream>
|
||||
#include <QtCore/QDateTime>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QHash>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QTextStream>
|
||||
#include <QtCore/QTime>
|
||||
|
||||
#include <QtGui/QTextCursor>
|
||||
#include <QtGui/QPlainTextEdit>
|
||||
@@ -518,6 +519,16 @@ QString quoteUnprintableLatin1(const QByteArray &ba)
|
||||
return res;
|
||||
}
|
||||
|
||||
static QDate dateFromData(int jd)
|
||||
{
|
||||
return jd ? QDate::fromJulianDay(jd) : QDate();
|
||||
}
|
||||
|
||||
static QTime timeFromData(int ms)
|
||||
{
|
||||
return ms == -1 ? QTime() : QTime(0, 0, 0, 0).addMSecs(ms);
|
||||
}
|
||||
|
||||
QString decodeData(const QByteArray &ba, int encoding)
|
||||
{
|
||||
switch (encoding) {
|
||||
@@ -613,6 +624,20 @@ QString decodeData(const QByteArray &ba, int encoding)
|
||||
const QByteArray decodedBa = QByteArray::fromHex(ba);
|
||||
return doubleQuote + QString::fromLocal8Bit(decodedBa) + doubleQuote;
|
||||
}
|
||||
case JulianDate: { // 14, an integer count
|
||||
const QDate date = dateFromData(ba.toInt());
|
||||
return date.toString(Qt::TextDate);
|
||||
}
|
||||
case MillisecondsSinceMidnight: {
|
||||
const QTime time = timeFromData(ba.toInt());
|
||||
return time.toString(Qt::TextDate);
|
||||
}
|
||||
case JulianDateAndMillisecondsSinceMidnight: {
|
||||
const int p = ba.indexOf('/');
|
||||
const QDate date = dateFromData(ba.left(p).toInt());
|
||||
const QTime time = timeFromData(ba.mid(p + 1 ).toInt());
|
||||
return QDateTime(date, time).toString(Qt::TextDate);
|
||||
}
|
||||
}
|
||||
qDebug() << "ENCODING ERROR: " << encoding;
|
||||
return QCoreApplication::translate("Debugger", "<Encoding error>");
|
||||
|
||||
Reference in New Issue
Block a user