basic pins window

This commit is contained in:
ouwou
2021-06-11 01:24:23 -04:00
parent efc97aa2b0
commit e166c83d33
8 changed files with 96 additions and 0 deletions

View File

@@ -42,7 +42,9 @@ MainWindow::MainWindow()
m_menu_view.set_label("View");
m_menu_view.set_submenu(m_menu_view_sub);
m_menu_view_friends.set_label("Friends");
m_menu_view_pins.set_label("Pins");
m_menu_view_sub.append(m_menu_view_friends);
m_menu_view_sub.append(m_menu_view_pins);
m_menu_view_sub.signal_popped_up().connect(sigc::mem_fun(*this, &MainWindow::OnViewSubmenuPopup));
m_menu_bar.append(m_menu_file);
@@ -92,6 +94,10 @@ MainWindow::MainWindow()
m_content_stack.set_visible_child("friends");
});
m_menu_view_pins.signal_activate().connect([this] {
m_signal_action_view_pins.emit(GetChatActiveChannel());
});
m_content_box.set_hexpand(true);
m_content_box.set_vexpand(true);
m_content_box.show();
@@ -263,6 +269,11 @@ void MainWindow::OnDiscordSubmenuPopup(const Gdk::Rectangle *flipped_rect, const
void MainWindow::OnViewSubmenuPopup(const Gdk::Rectangle *flipped_rect, const Gdk::Rectangle *final_rect, bool flipped_x, bool flipped_y) {
m_menu_view_friends.set_sensitive(Abaddon::Get().GetDiscordClient().IsStarted());
auto channel_id = GetChatActiveChannel();
auto channel = Abaddon::Get().GetDiscordClient().GetChannel(channel_id);
m_menu_view_pins.set_sensitive(false);
if (channel.has_value())
m_menu_view_pins.set_sensitive(channel->Type == ChannelType::GUILD_TEXT);
}
ChannelList *MainWindow::GetChannelList() {
@@ -308,3 +319,7 @@ MainWindow::type_signal_action_reload_settings MainWindow::signal_action_reload_
MainWindow::type_signal_action_add_recipient MainWindow::signal_action_add_recipient() {
return m_signal_action_add_recipient;
}
MainWindow::type_signal_action_view_pins MainWindow::signal_action_view_pins() {
return m_signal_action_view_pins;
}