basic tabs system

This commit is contained in:
ouwou
2022-04-08 23:47:12 -04:00
parent 5a13c7fef7
commit 5b806a2589
8 changed files with 230 additions and 54 deletions

View File

@@ -17,6 +17,9 @@ ChannelList::ChannelList()
, m_menu_category_copy_id("_Copy ID", true)
, m_menu_channel_copy_id("_Copy ID", true)
, m_menu_channel_mark_as_read("Mark as _Read", true)
#ifdef WITH_LIBHANDY
, m_menu_channel_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
, m_menu_thread_copy_id("_Copy ID", true)
@@ -143,6 +146,15 @@ ChannelList::ChannelList()
else
discord.MuteChannel(id, NOOP_CALLBACK);
});
#ifdef WITH_LIBHANDY
m_menu_channel_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_channel.append(m_menu_channel_open_tab);
#endif
m_menu_channel.append(m_menu_channel_mark_as_read);
m_menu_channel.append(m_menu_channel_toggle_mute);
m_menu_channel.append(m_menu_channel_copy_id);
@@ -960,6 +972,12 @@ ChannelList::type_signal_action_guild_settings ChannelList::signal_action_guild_
return m_signal_action_guild_settings;
}
#ifdef WITH_LIBHANDY
ChannelList::type_signal_action_open_new_tab ChannelList::signal_action_open_new_tab() {
return m_signal_action_open_new_tab;
}
#endif
ChannelList::ModelColumns::ModelColumns() {
add(m_type);
add(m_id);