summaryrefslogtreecommitdiff
path: root/components/chatwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'components/chatwindow.cpp')
-rw-r--r--components/chatwindow.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/components/chatwindow.cpp b/components/chatwindow.cpp
index 57b412b..c2bd688 100644
--- a/components/chatwindow.cpp
+++ b/components/chatwindow.cpp
@@ -31,6 +31,11 @@ ChatWindow::ChatWindow() {
m_main->set_hexpand(true);
m_main->set_vexpand(true);
+ m_topic.get_style_context()->add_class("channel-topic");
+ m_topic.add(m_topic_text);
+ m_topic_text.set_halign(Gtk::ALIGN_START);
+ m_topic_text.show();
+
m_input->signal_submit().connect(sigc::mem_fun(*this, &ChatWindow::OnInputSubmit));
m_input->signal_escape().connect([this]() {
if (m_is_replying)
@@ -84,6 +89,7 @@ ChatWindow::ChatWindow() {
m_meta->add(*m_input_indicator);
m_meta->add(*m_rate_limit_indicator);
//m_scroll->add(*m_list);
+ m_main->add(m_topic);
m_main->add(*m_chat);
m_main->add(m_completer);
m_main->add(*m_input);
@@ -140,6 +146,11 @@ void ChatWindow::UpdateReactions(Snowflake id) {
m_chat->UpdateMessageReactions(id);
}
+void ChatWindow::SetTopic(const std::string &text) {
+ m_topic_text.set_text(text);
+ m_topic.set_visible(text.length() > 0);
+}
+
Snowflake ChatWindow::GetActiveChannel() const {
return m_active_channel;
}