diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-06-11 01:24:23 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-06-11 01:24:23 -0400 |
commit | e166c83d33bbf5aebe172111c8a7614c1dece48c (patch) | |
tree | deb06cefbda7fe9f08aae54daaa2eeb9ec659807 /windows/mainwindow.cpp | |
parent | efc97aa2b0d7a4d63a2e6219070919559a0cf64d (diff) | |
download | abaddon-portaudio-e166c83d33bbf5aebe172111c8a7614c1dece48c.tar.gz abaddon-portaudio-e166c83d33bbf5aebe172111c8a7614c1dece48c.zip |
basic pins window
Diffstat (limited to 'windows/mainwindow.cpp')
-rw-r--r-- | windows/mainwindow.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp index cbf91d9..4d6a1dc 100644 --- a/windows/mainwindow.cpp +++ b/windows/mainwindow.cpp @@ -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; +} |