diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-09-13 01:44:43 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-09-13 01:44:43 -0400 |
commit | af85d5c89582176b75d43f3f92cce6aa55d19367 (patch) | |
tree | 44febc0f5dc026572fab9d7a9776bfc202c7b675 /windows/mainwindow.cpp | |
parent | b01234083001e5b1f5383d6cd4e909e6ca7e58cf (diff) | |
parent | 002004cb5f01d22601047433cc868359cf022842 (diff) | |
download | abaddon-portaudio-af85d5c89582176b75d43f3f92cce6aa55d19367.tar.gz abaddon-portaudio-af85d5c89582176b75d43f3f92cce6aa55d19367.zip |
Merge branch 'threads'
Diffstat (limited to 'windows/mainwindow.cpp')
-rw-r--r-- | windows/mainwindow.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp index 8750afd..77a936f 100644 --- a/windows/mainwindow.cpp +++ b/windows/mainwindow.cpp @@ -41,8 +41,10 @@ MainWindow::MainWindow() 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_threads.set_label("Threads"); m_menu_view_sub.append(m_menu_view_friends); m_menu_view_sub.append(m_menu_view_pins); + m_menu_view_sub.append(m_menu_view_threads); 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_signal_action_view_pins.emit(GetChatActiveChannel()); }); + m_menu_view_threads.signal_activate().connect([this] { + m_signal_action_view_threads.emit(GetChatActiveChannel()); + }); + m_content_box.set_hexpand(true); m_content_box.set_vexpand(true); m_content_box.show(); @@ -243,8 +249,11 @@ void MainWindow::OnViewSubmenuPopup(const Gdk::Rectangle *flipped_rect, const Gd 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 || channel->Type == ChannelType::DM || channel->Type == ChannelType::GROUP_DM); + m_menu_view_threads.set_sensitive(false); + if (channel.has_value()) { + m_menu_view_threads.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->IsThread()); + m_menu_view_pins.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->Type == ChannelType::DM || channel->Type == ChannelType::GROUP_DM || channel->IsThread()); + } } ChannelList *MainWindow::GetChannelList() { @@ -290,3 +299,7 @@ MainWindow::type_signal_action_add_recipient MainWindow::signal_action_add_recip MainWindow::type_signal_action_view_pins MainWindow::signal_action_view_pins() { return m_signal_action_view_pins; } + +MainWindow::type_signal_action_view_threads MainWindow::signal_action_view_threads() { + return m_signal_action_view_threads; +} |