diff options
Diffstat (limited to 'components/memberlist.hpp')
-rw-r--r-- | components/memberlist.hpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/components/memberlist.hpp b/components/memberlist.hpp index ffcc4eb..3b64bce 100644 --- a/components/memberlist.hpp +++ b/components/memberlist.hpp @@ -1,15 +1,24 @@ #pragma once #include <gtkmm.h> #include <mutex> +#include <unordered_map> #include "../discord/discord.hpp" -class MemberList { +class MemberListUserRow : public Gtk::ListBoxRow { public: - class MemberListUserRow : public Gtk::ListBoxRow { - public: - Snowflake ID; - }; + MemberListUserRow(Snowflake guild_id, const User *data); + void SetAvatarFromPixbuf(Glib::RefPtr<Gdk::Pixbuf> pixbuf); + + Snowflake ID; + +private: + Gtk::Box *m_box; + Gtk::Image *m_avatar; + Gtk::Label *m_label; +}; +class MemberList { +public: MemberList(); Gtk::Widget *GetRoot() const; @@ -38,6 +47,8 @@ private: Snowflake m_guild_id; Snowflake m_chan_id; + std::unordered_map<Snowflake, Gtk::ListBoxRow *> m_id_to_row; + public: typedef sigc::signal<void, Snowflake> type_signal_action_insert_mention; |