Fix wrong time bug and change QVariantHashes to QVariantMap for JS conversion
This commit is contained in:
parent
aed3fca0bf
commit
b3b9f43ffa
2 changed files with 24 additions and 20 deletions
|
@ -185,12 +185,12 @@ QDateTime WeeChatProtocolHandler::handleTime(QDataStream* data)
|
|||
// It's the same format as a Long so we will read it that way
|
||||
QDateTime ret;
|
||||
quint64 timestamp = static_cast<quint64>(handleLong(data));
|
||||
return ret.fromMSecsSinceEpoch(timestamp);
|
||||
return ret.fromMSecsSinceEpoch(timestamp * 1000);
|
||||
}
|
||||
|
||||
QVariantHash WeeChatProtocolHandler::handleHashTable(QDataStream* data)
|
||||
QVariantMap WeeChatProtocolHandler::handleHashTable(QDataStream* data)
|
||||
{
|
||||
QVariantHash ret;
|
||||
QVariantMap ret;
|
||||
|
||||
// The hashtable first contains the types for the key and value
|
||||
Type keyType = readType(data);
|
||||
|
@ -214,7 +214,7 @@ QVariantHash WeeChatProtocolHandler::handleHashTable(QDataStream* data)
|
|||
return ret;
|
||||
}
|
||||
|
||||
QVariantHash WeeChatProtocolHandler::handleHdata(QDataStream* data)
|
||||
QVariantMap WeeChatProtocolHandler::handleHdata(QDataStream* data)
|
||||
{
|
||||
/*
|
||||
* A Hdata consists of:
|
||||
|
@ -227,9 +227,9 @@ QVariantHash WeeChatProtocolHandler::handleHdata(QDataStream* data)
|
|||
* * List of objects, with the same keys and types as defined in Keys
|
||||
*/
|
||||
|
||||
QVariantHash hdata;
|
||||
QVariantMap hdata;
|
||||
QVariantList objectSets;
|
||||
QVariantHash keys;
|
||||
QVariantMap keys;
|
||||
|
||||
QString hPath = handleString(data);
|
||||
qDebug() << "H-path: " << hPath;
|
||||
|
@ -252,7 +252,7 @@ QVariantHash WeeChatProtocolHandler::handleHdata(QDataStream* data)
|
|||
|
||||
for (qint32 i = 0; i < objectSetCount; ++i)
|
||||
{
|
||||
QVariantHash objectSet;
|
||||
QVariantMap objectSet;
|
||||
|
||||
// The amount of pointers is the amount of parts in H-path,
|
||||
// separated by /
|
||||
|
@ -282,21 +282,23 @@ QVariantHash WeeChatProtocolHandler::handleHdata(QDataStream* data)
|
|||
return hdata;
|
||||
}
|
||||
|
||||
QPair<QString, QString> WeeChatProtocolHandler::handleInfo(QDataStream* data)
|
||||
QVariantMap WeeChatProtocolHandler::handleInfo(QDataStream* data)
|
||||
{
|
||||
// Info consists of a string key and a string value
|
||||
QString key = handleString(data);
|
||||
QString value = handleString(data);
|
||||
return QPair<QString, QString>(key, value);
|
||||
QVariantMap ret;
|
||||
ret.insert("key", handleString(data));
|
||||
ret.insert("value", handleString(data));
|
||||
return ret;
|
||||
}
|
||||
|
||||
QPair<QString, QVariantHash> WeeChatProtocolHandler::handleInfoList(QDataStream* data)
|
||||
QVariantMap WeeChatProtocolHandler::handleInfoList(QDataStream* data)
|
||||
{
|
||||
// Infolist consists of name, count and then name, type and value for each element
|
||||
QString name = handleString(data);
|
||||
QVariantMap ret;
|
||||
ret.insert("name", handleString(data));
|
||||
qint32 length = handleInt(data);
|
||||
|
||||
QVariantHash values;
|
||||
QVariantMap values;
|
||||
for (qint32 i = 0; i < length; ++i)
|
||||
{
|
||||
QString key = handleString(data);
|
||||
|
@ -305,7 +307,9 @@ QPair<QString, QVariantHash> WeeChatProtocolHandler::handleInfoList(QDataStream*
|
|||
values.insert(key, value);
|
||||
}
|
||||
|
||||
return QPair<QString, QVariantHash>(name, values);
|
||||
ret.insert("values", values);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
QVariantList WeeChatProtocolHandler::handleArray(QDataStream* data)
|
||||
|
@ -463,7 +467,7 @@ void WeeChatProtocolHandler::handleBody(QDataStream* data)
|
|||
void WeeChatProtocolHandler::handleDefaultEvent(QString id, QDataStream* data)
|
||||
{
|
||||
qDebug() << "Making hdata!";
|
||||
QVariantHash hdata = handleHdata(data);
|
||||
QVariantMap hdata = handleHdata(data);
|
||||
qDebug() << "Got hdata made!";
|
||||
emit newEvent(id, hdata);
|
||||
}
|
||||
|
|
|
@ -53,10 +53,10 @@ public:
|
|||
static QByteArray handleBuffer(QDataStream* data);
|
||||
static QString handlePointer(QDataStream* data);
|
||||
static QDateTime handleTime(QDataStream* data);
|
||||
static QVariantHash handleHashTable(QDataStream* data);
|
||||
static QVariantHash handleHdata(QDataStream* data);
|
||||
static QPair<QString, QString> handleInfo(QDataStream* data);
|
||||
static QPair<QString, QVariantHash> handleInfoList(QDataStream* data);
|
||||
static QVariantMap handleHashTable(QDataStream* data);
|
||||
static QVariantMap handleHdata(QDataStream* data);
|
||||
static QVariantMap handleInfo(QDataStream* data);
|
||||
static QVariantMap handleInfoList(QDataStream* data);
|
||||
static QVariantList handleArray(QDataStream* data);
|
||||
|
||||
static Type readType(QDataStream* data);
|
||||
|
|
Loading…
Reference in a new issue