diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2024-01-08 20:53:59 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2024-01-08 20:53:59 -0500 |
commit | 1e6d16f44a07da92c35b19dadf6385c2868ab295 (patch) | |
tree | 94db694240a9baf04b7fdfdb819c13a175c8a32e /src/components/channellist/classic/guildlist.cpp | |
parent | 9131158cbbf5800dd103d5b5fbfff96384352c77 (diff) | |
download | abaddon-portaudio-1e6d16f44a07da92c35b19dadf6385c2868ab295.tar.gz abaddon-portaudio-1e6d16f44a07da92c35b19dadf6385c2868ab295.zip |
hide dm header unless selected in classic channel list
Diffstat (limited to 'src/components/channellist/classic/guildlist.cpp')
-rw-r--r-- | src/components/channellist/classic/guildlist.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/components/channellist/classic/guildlist.cpp b/src/components/channellist/classic/guildlist.cpp index 97741cf..ca7c96f 100644 --- a/src/components/channellist/classic/guildlist.cpp +++ b/src/components/channellist/classic/guildlist.cpp @@ -1,6 +1,18 @@ #include "guildlist.hpp" #include "guildlistfolderitem.hpp" +class GuildListDMsButton : public Gtk::EventBox { +public: + GuildListDMsButton() { + m_img.property_pixbuf() = Abaddon::Get().GetImageManager().GetPlaceholder(48); + add(m_img); + show_all_children(); + } + +private: + Gtk::Image m_img; +}; + GuildList::GuildList() { set_selection_mode(Gtk::SELECTION_NONE); show_all_children(); @@ -11,6 +23,16 @@ void GuildList::UpdateListing() { Clear(); + auto *dms = Gtk::make_managed<GuildListDMsButton>(); + dms->show(); + dms->signal_button_press_event().connect([this](GdkEventButton *ev) -> bool { + if (ev->type == GDK_BUTTON_PRESS && ev->button == GDK_BUTTON_PRIMARY) { + m_signal_dms_selected.emit(); + } + return false; + }); + add(*dms); + // does this function still even work ??lol const auto folders = discord.GetUserSettings().GuildFolders; const auto guild_ids = discord.GetUserSortedGuilds(); @@ -86,3 +108,7 @@ void GuildList::Clear() { GuildList::type_signal_guild_selected GuildList::signal_guild_selected() { return m_signal_guild_selected; } + +GuildList::type_signal_dms_selected GuildList::signal_dms_selected() { + return m_signal_dms_selected; +} |