add more css selectors

This commit is contained in:
ouwou
2020-09-09 18:32:45 -04:00
parent 397702b6c9
commit 76cbaa377d
6 changed files with 83 additions and 1 deletions

View File

@@ -8,6 +8,8 @@ ChannelList::ChannelList() {
m_main = Gtk::manage(new Gtk::ScrolledWindow);
m_list = Gtk::manage(new Gtk::ListBox);
m_list->get_style_context()->add_class("channel-list");
m_guild_menu_up = Gtk::manage(new Gtk::MenuItem("Move _Up", true));
m_guild_menu_up->signal_activate().connect(sigc::mem_fun(*this, &ChannelList::on_menu_move_up));
m_guild_menu.append(*m_guild_menu_up);
@@ -96,6 +98,8 @@ void ChannelList::AddPrivateChannels() {
parent_ev->add(*parent_box);
parent_row->add(*parent_ev);
parent_row->show_all();
parent_row->get_style_context()->add_class("channel-row");
parent_label->get_style_context()->add_class("channel-row-label");
m_list->add(*parent_row);
ListItemInfo parent_info;
@@ -110,6 +114,10 @@ void ChannelList::AddPrivateChannels() {
auto *dm_ev = Gtk::manage(new Gtk::EventBox);
auto *dm_box = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL));
auto *dm_label = Gtk::manage(new Gtk::Label);
dm_row->get_style_context()->add_class("channel-row");
dm_label->get_style_context()->add_class("channel-row-label");
if (data->Type == ChannelType::DM)
dm_label->set_text(data->Recipients[0].Username);
else
@@ -184,6 +192,11 @@ void ChannelList::SetListingFromGuildsInternal() {
auto *channel_ev = Gtk::manage(new Gtk::EventBox);
auto *channel_box = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL));
auto *channel_label = Gtk::manage(new Gtk::Label);
channel_row->get_style_context()->add_class("channel-row");
channel_row->get_style_context()->add_class("channel-row-channel");
channel_label->get_style_context()->add_class("channel-row-label");
channel_label->set_text("#" + channel.Name);
channel_box->set_halign(Gtk::ALIGN_START);
channel_box->pack_start(*channel_label);
@@ -208,6 +221,11 @@ void ChannelList::SetListingFromGuildsInternal() {
auto *category_box = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL));
auto *category_label = Gtk::manage(new Gtk::Label);
auto *category_arrow = Gtk::manage(new Gtk::Arrow(Gtk::ARROW_DOWN, Gtk::SHADOW_NONE));
category_row->get_style_context()->add_class("channel-row");
category_row->get_style_context()->add_class("channel-row-category");
category_label->get_style_context()->add_class("channel-row-label");
category_label->set_text(channel.Name);
category_box->set_halign(Gtk::ALIGN_START);
category_box->pack_start(*category_arrow);
@@ -247,6 +265,11 @@ void ChannelList::SetListingFromGuildsInternal() {
auto *guild_ev = Gtk::manage(new Gtk::EventBox);
auto *guild_box = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL));
auto *guild_label = Gtk::manage(new Gtk::Label);
guild_row->get_style_context()->add_class("channel-row");
guild_row->get_style_context()->add_class("channel-row-guild");
guild_label->get_style_context()->add_class("channel-row-label");
guild_label->set_markup("<b>" + Glib::Markup::escape_text(guild.Name) + "</b>");
guild_box->set_halign(Gtk::ALIGN_START);
guild_box->pack_start(*guild_label);

View File

@@ -14,6 +14,10 @@ ChatMessageContainer::ChatMessageContainer(const MessageData *data) {
m_author = Gtk::manage(new Gtk::Label);
m_timestamp = Gtk::manage(new Gtk::Label);
get_style_context()->add_class("message-container");
m_author->get_style_context()->add_class("message-container-author");
m_timestamp->get_style_context()->add_class("message-container-timestamp");
m_author->set_markup("<span weight=\"bold\">" + Glib::Markup::escape_text(data->Author.Username) + "</span>");
m_author->set_single_line_mode(true);
m_author->set_line_wrap(false);
@@ -140,6 +144,8 @@ void ChatMessageItem::AddMenuItem(Gtk::MenuItem *item) {
ChatMessageTextItem::ChatMessageTextItem(const MessageData *data) {
m_content = data->Content;
get_style_context()->add_class("message-text");
set_can_focus(false);
set_editable(false);
set_wrap_mode(Gtk::WRAP_WORD_CHAR);
@@ -225,6 +231,7 @@ void ChatMessageEmbedItem::DoLayout() {
title_label->set_markup("<b>" + Glib::Markup::escape_text(m_embed.Title) + "</b>");
title_label->set_halign(Gtk::ALIGN_CENTER);
title_label->set_hexpand(false);
title_label->get_style_context()->add_class("embed-title");
m_main->pack_start(*title_label);
}
@@ -236,6 +243,7 @@ void ChatMessageEmbedItem::DoLayout() {
desc_label->set_max_width_chars(50);
desc_label->set_halign(Gtk::ALIGN_START);
desc_label->set_hexpand(false);
desc_label->get_style_context()->add_class("embed-description");
m_main->pack_start(*desc_label);
}
@@ -274,6 +282,8 @@ void ChatMessageEmbedItem::DoLayout() {
field_val->set_line_wrap_mode(Pango::WRAP_WORD_CHAR);
field_box->pack_start(*field_lbl);
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");
flow->insert(*field_box, -1);
}
}

View File

@@ -16,6 +16,9 @@ ChatWindow::ChatWindow() {
m_input = Gtk::manage(new Gtk::TextView);
m_entry_scroll = Gtk::manage(new Gtk::ScrolledWindow);
m_listbox->get_style_context()->add_class("messages");
m_input->get_style_context()->add_class("message-input");
m_input->signal_key_press_event().connect(sigc::mem_fun(*this, &ChatWindow::on_key_press_event), false);
m_main->set_hexpand(true);

View File

@@ -8,6 +8,8 @@ MemberList::MemberList() {
m_main = Gtk::manage(new Gtk::ScrolledWindow);
m_listbox = Gtk::manage(new Gtk::ListBox);
m_listbox->get_style_context()->add_class("members");
m_listbox->set_selection_mode(Gtk::SELECTION_NONE);
m_menu_copy_id = Gtk::manage(new Gtk::MenuItem("_Copy ID", true));
@@ -109,6 +111,11 @@ void MemberList::UpdateMemberListInternal() {
user_row->ID = data->ID;
auto *user_ev = Gtk::manage(new Gtk::EventBox);
auto *user_lbl = Gtk::manage(new Gtk::Label);
user_row->get_style_context()->add_class("members-row");
user_row->get_style_context()->add_class("members-row-member");
user_lbl->get_style_context()->add_class("members-row-label");
user_lbl->set_single_line_mode(true);
user_lbl->set_ellipsize(Pango::ELLIPSIZE_END);
if (data != nullptr) {
@@ -121,6 +128,8 @@ void MemberList::UpdateMemberListInternal() {
} else {
user_lbl->set_text(display);
}
AttachUserMenuHandler(user_row, data->ID);
} else {
user_lbl->set_use_markup(true);
user_lbl->set_markup("<i>[unknown user]</i>");
@@ -130,12 +139,16 @@ void MemberList::UpdateMemberListInternal() {
user_row->add(*user_ev);
user_row->show_all();
m_listbox->add(*user_row);
AttachUserMenuHandler(user_row, data->ID);
};
auto add_role = [this](std::string name) {
auto *role_row = Gtk::manage(new Gtk::ListBoxRow);
auto *role_lbl = Gtk::manage(new Gtk::Label);
role_row->get_style_context()->add_class("members-row");
role_row->get_style_context()->add_class("members-row-role");
role_lbl->get_style_context()->add_class("members-row-label");
role_lbl->set_single_line_mode(true);
role_lbl->set_ellipsize(Pango::ELLIPSIZE_END);
role_lbl->set_use_markup(true);