add open dm in new tab

This commit is contained in:
ouwou
2022-04-21 14:19:21 -04:00
parent a98967fccc
commit 2dab595476
3 changed files with 13 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ ChannelList::ChannelList()
, m_menu_channel_mark_as_read("Mark as _Read", true)
#ifdef WITH_LIBHANDY
, m_menu_channel_open_tab("Open in New _Tab", true)
, m_menu_dm_open_tab("Open in New _Tab", true)
#endif
, m_menu_dm_copy_id("_Copy ID", true)
, m_menu_dm_close("") // changes depending on if group or not
@@ -182,6 +183,13 @@ ChannelList::ChannelList()
else
discord.MuteChannel(id, NOOP_CALLBACK);
});
#ifdef WITH_LIBHANDY
m_menu_dm_open_tab.signal_activate().connect([this] {
const auto id = static_cast<Snowflake>((*m_model->get_iter(m_path_for_menu))[m_columns.m_id]);
m_signal_action_open_new_tab.emit(id);
});
m_menu_dm.append(m_menu_dm_open_tab);
#endif
m_menu_dm.append(m_menu_dm_toggle_mute);
m_menu_dm.append(m_menu_dm_close);
m_menu_dm.append(m_menu_dm_copy_id);

View File

@@ -130,6 +130,10 @@ protected:
Gtk::MenuItem m_menu_dm_close;
Gtk::MenuItem m_menu_dm_toggle_mute;
#ifdef WITH_LIBHANDY
Gtk::MenuItem m_menu_dm_open_tab;
#endif
Gtk::Menu m_menu_thread;
Gtk::MenuItem m_menu_thread_copy_id;
Gtk::MenuItem m_menu_thread_leave;

View File

@@ -49,7 +49,7 @@ void ChannelTabSwitcherHandy::AddChannelTab(Snowflake id) {
auto *dummy = Gtk::make_managed<Gtk::Box>(); // minimal
auto *page = hdy_tab_view_append(m_tab_view, GTK_WIDGET(dummy->gobj()));
hdy_tab_page_set_title(page, ("#" + *channel->Name).c_str());
hdy_tab_page_set_title(page, channel->GetDisplayName().c_str());
hdy_tab_page_set_tooltip(page, nullptr);
m_pages[id] = page;