Skip to content

Commit

Permalink
make embed labels selectable, let chat textview take focus
Browse files Browse the repository at this point in the history
  • Loading branch information
ouwou committed Jan 29, 2023
1 parent dfb0062 commit ff47134
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
1 change: 0 additions & 1 deletion src/components/chatlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
ChatList::ChatList() {
m_list.get_style_context()->add_class("messages");

set_can_focus(false);
set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS);

get_vadjustment()->signal_value_changed().connect(sigc::mem_fun(*this, &ChatList::OnVAdjustmentValueChanged));
Expand Down
11 changes: 8 additions & 3 deletions src/components/chatmessage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,8 @@ Gtk::TextView *ChatMessageItemContainer::CreateTextComponent(const Message &data
if (data.IsPending)
tv->get_style_context()->add_class("pending");
tv->get_style_context()->add_class("message-text");
tv->set_can_focus(false);
tv->set_can_focus(true);
tv->set_cursor_visible(false);
tv->set_editable(false);
tv->set_wrap_mode(Gtk::WRAP_WORD_CHAR);
tv->set_halign(Gtk::ALIGN_FILL);
Expand Down Expand Up @@ -335,6 +336,7 @@ Gtk::Widget *ChatMessageItemContainer::CreateEmbedComponent(const EmbedData &emb
author_lbl->set_hexpand(false);
author_lbl->set_text(*embed.Author->Name);
author_lbl->get_style_context()->add_class("embed-author");
author_lbl->set_selectable(true);
author_box->add(*author_lbl);
}
}
Expand All @@ -351,6 +353,7 @@ Gtk::Widget *ChatMessageItemContainer::CreateEmbedComponent(const EmbedData &emb
title_label->set_line_wrap(true);
title_label->set_line_wrap_mode(Pango::WRAP_WORD_CHAR);
title_label->set_max_width_chars(50);
title_label->set_selectable(true);
title_ev->add(*title_label);
content->pack_start(*title_ev);

Expand Down Expand Up @@ -380,6 +383,7 @@ Gtk::Widget *ChatMessageItemContainer::CreateEmbedComponent(const EmbedData &emb
desc_label->set_halign(Gtk::ALIGN_START);
desc_label->set_hexpand(false);
desc_label->get_style_context()->add_class("embed-description");
desc_label->set_selectable(true);
content->pack_start(*desc_label);
}
}
Expand Down Expand Up @@ -422,6 +426,8 @@ Gtk::Widget *ChatMessageItemContainer::CreateEmbedComponent(const EmbedData &emb
field_box->pack_start(*field_val);
field_lbl->get_style_context()->add_class("embed-field-title");
field_val->get_style_context()->add_class("embed-field-value");
field_lbl->set_selectable(true);
field_val->set_selectable(true);
flow->insert(*field_box, -1);
}
}
Expand All @@ -445,6 +451,7 @@ Gtk::Widget *ChatMessageItemContainer::CreateEmbedComponent(const EmbedData &emb
footer_lbl->set_hexpand(false);
footer_lbl->set_text(embed.Footer->Text);
footer_lbl->get_style_context()->add_class("embed-footer");
footer_lbl->set_selectable(true);
content->pack_start(*footer_lbl);
}

Expand Down Expand Up @@ -1170,8 +1177,6 @@ ChatMessageHeader::ChatMessageHeader(const Message &data)
m_meta_box.set_hexpand(true);
m_meta_box.set_can_focus(false);

m_content_box.set_can_focus(false);

const auto on_enter_cb = [this](const GdkEventCrossing *event) -> bool {
if (m_anim_avatar)
m_avatar.property_pixbuf_animation() = m_anim_avatar;
Expand Down

0 comments on commit ff47134

Please sign in to comment.