Clean up event to string related codes.

Working on #55.
This commit is contained in:
Black Hat
2018-10-24 21:15:26 +08:00
parent 47782f3198
commit e19e3b8ff9
6 changed files with 159 additions and 115 deletions

View File

@@ -1,6 +1,7 @@
#include "roomlistmodel.h"
#include "user.h"
#include "utils.h"
#include "events/roomevent.h"
@@ -79,13 +80,12 @@ void RoomListModel::connectRoomSignals(SpectralRoom* room) {
room, &Room::aboutToAddNewMessages, this,
[=](QMatrixClient::RoomEventsRange eventsRange) {
RoomEvent* event = (eventsRange.end() - 1)->get();
if (event->isStateEvent()) return;
User* sender = room->user(event->senderId());
if (sender == room->localUser()) return;
QUrl _url = room->avatarUrl();
emit newMessage(
room->id(), event->id(), room->displayName(), sender->displayname(),
event->contentJson().value("body").toString(), room->avatar(128),
utils::eventToString(*event), room->avatar(128),
QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) +
"/avatar/" + _url.authority() + '_' + _url.fileName() + ".png"));
});