From 1460d891409b019de2a8702b9036c8d2ed602765 Mon Sep 17 00:00:00 2001
From: ouwou <26526779+ouwou@users.noreply.github.com>
Date: Sat, 26 Sep 2020 00:49:25 -0400
Subject: bring back user joined/message pinned
---
components/chatmessage.cpp | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
(limited to 'components/chatmessage.cpp')
diff --git a/components/chatmessage.cpp b/components/chatmessage.cpp
index 74e9fb4..599f64d 100644
--- a/components/chatmessage.cpp
+++ b/components/chatmessage.cpp
@@ -29,7 +29,7 @@ ChatMessageItemContainer *ChatMessageItemContainer::FromMessage(Snowflake id) {
container->ID = data->ID;
container->ChannelID = data->ChannelID;
- if (data->Content.size() > 0) {
+ if (data->Content.size() > 0 || data->Type != MessageType::DEFAULT) {
container->m_text_component = CreateTextComponent(data);
container->AttachMenuHandler(container->m_text_component);
container->m_main->add(*container->m_text_component);
@@ -95,7 +95,22 @@ Gtk::TextView *ChatMessageItemContainer::CreateTextComponent(const Message *data
tv->set_wrap_mode(Gtk::WRAP_WORD_CHAR);
tv->set_halign(Gtk::ALIGN_FILL);
tv->set_hexpand(true);
- tv->get_buffer()->set_text(data->Content);
+
+ auto b = tv->get_buffer();
+ Gtk::TextBuffer::iterator s, e; // lame
+ b->get_bounds(s, e);
+ switch (data->Type) {
+ case MessageType::DEFAULT:
+ b->set_text(data->Content);
+ break;
+ case MessageType::GUILD_MEMBER_JOIN:
+ b->insert_markup(s, "[user joined]");
+ break;
+ case MessageType::CHANNEL_PINNED_MESSAGE:
+ b->insert_markup(s, "[message pinned]");
+ break;
+ default: break;
+ }
return tv;
}
--
cgit v1.2.3