aboutsummaryrefslogtreecommitdiff
path: root/events/event.cpp
diff options
context:
space:
mode:
authorKitsune Ral <Kitsune-Ral@users.sf.net>2017-03-08 13:16:37 +0900
committerGitHub <noreply@github.com>2017-03-08 13:16:37 +0900
commitba5ca3c88a20926f2be06872f530d9da12d5a062 (patch)
tree1d8b69e433dacf51427b4e3dcab9545374c85116 /events/event.cpp
parent2cc1fc52baa28c4896080069a985c200517ad7cd (diff)
parent81b6d940218a212a37e3c600c66fbe9a7476f433 (diff)
downloadlibquotient-ba5ca3c88a20926f2be06872f530d9da12d5a062.tar.gz
libquotient-ba5ca3c88a20926f2be06872f530d9da12d5a062.zip
Merge pull request #53 from Fxrh/kitsune-fix-adding-events
Fix adding events to the timeline
Diffstat (limited to 'events/event.cpp')
-rw-r--r--events/event.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/events/event.cpp b/events/event.cpp
index 43604b23..8ad56f1b 100644
--- a/events/event.cpp
+++ b/events/event.cpp
@@ -23,7 +23,7 @@
#include <QtCore/QDateTime>
#include <QtCore/QDebug>
-#include "../logging_util.h"
+#include "util.h"
#include "roommessageevent.h"
#include "roomnameevent.h"
#include "roomaliasesevent.h"
@@ -114,31 +114,31 @@ Event* Event::fromJson(const QJsonObject& obj)
bool Event::parseJson(const QJsonObject& obj)
{
d->originalJson = QString::fromUtf8(QJsonDocument(obj).toJson());
+ d->id = obj.value("event_id").toString();
+ d->roomId = obj.value("room_id").toString();
+ d->senderId = obj.value("sender").toString();
bool correct = (d->type != EventType::Unknown);
- if ( d->type != EventType::Unknown &&
- d->type != EventType::Typing &&
+ if ( d->type != EventType::Typing &&
d->type != EventType::Receipt )
{
- if( obj.contains("event_id") )
+ if (d->id.isEmpty())
{
- d->id = obj.value("event_id").toString();
- } else {
correct = false;
- qDebug() << "Event: can't find event_id";
+ qDebug() << "Event: can't find event_id; event dump follows";
qDebug() << formatJson << obj;
}
if( obj.contains("origin_server_ts") )
{
- d->timestamp = QDateTime::fromMSecsSinceEpoch(
+ d->timestamp = QDateTime::fromMSecsSinceEpoch(
static_cast<qint64>(obj.value("origin_server_ts").toDouble()), Qt::UTC );
- } else {
+ }
+ else if (d->type != EventType::Unknown)
+ {
correct = false;
- qDebug() << "Event: can't find ts";
+ qDebug() << "Event: can't find ts; event dump follows";
qDebug() << formatJson << obj;
}
}
- d->roomId = obj.value("room_id").toString();
- d->senderId = obj.value("sender").toString();
return correct;
}