diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-09-12 19:35:24 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-09-12 19:35:24 -0400 |
commit | 2822add5fe791a120c160e188cecac7ce29d9961 (patch) | |
tree | 8477cbfcca9fd7db802685229e591b6a43753aa2 /components/memberlist.hpp | |
parent | e68f8ef8f45987ab0caa5a05d53980a3556547f3 (diff) | |
download | abaddon-portaudio-2822add5fe791a120c160e188cecac7ce29d9961.tar.gz abaddon-portaudio-2822add5fe791a120c160e188cecac7ce29d9961.zip |
some refactorage and add avatars to member list
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; |