Fix roomlist "jumping around".

Remove custom DPI code from main.cpp.
Hide redacted event in roomlist.
This commit is contained in:
Black Hat
2019-05-23 09:57:42 +08:00
parent 77da41c2ec
commit 0f156ea98b
4 changed files with 23 additions and 20 deletions

View File

@@ -107,12 +107,26 @@ void SpectralRoom::sendTypingNotification(bool isTyping) {
}
QString SpectralRoom::lastEvent() {
if (timelineSize() == 0)
return "";
const RoomEvent* lastEvent = messageEvents().rbegin()->get();
return user(lastEvent->senderId())->displayname() +
(lastEvent->isStateEvent() ? " " : ": ") +
utils::removeReply(eventToString(*lastEvent));
for (auto i = messageEvents().rbegin(); i < messageEvents().rend(); i++) {
const RoomEvent* evt = i->get();
if (is<RedactionEvent>(*evt))
continue;
if (evt->isRedacted())
continue;
if (evt->isStateEvent() &&
static_cast<const StateEventBase*>(evt)->repeatsState())
continue;
if (connection()->isIgnored(user(evt->senderId())))
continue;
return user(evt->senderId())->displayname() +
(evt->isStateEvent() ? " " : ": ") +
utils::removeReply(eventToString(*evt));
}
return "";
}
bool SpectralRoom::isEventHighlighted(const RoomEvent* e) const {