summaryrefslogtreecommitdiff
path: root/components/memberlist.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'components/memberlist.hpp')
-rw-r--r--components/memberlist.hpp21
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;