summaryrefslogtreecommitdiff
path: root/src/components/channellist/classic/guildlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/channellist/classic/guildlist.cpp')
-rw-r--r--src/components/channellist/classic/guildlist.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/components/channellist/classic/guildlist.cpp b/src/components/channellist/classic/guildlist.cpp
new file mode 100644
index 0000000..0d5737b
--- /dev/null
+++ b/src/components/channellist/classic/guildlist.cpp
@@ -0,0 +1,23 @@
+#include "guildlist.hpp"
+#include "guildlistfolderitem.hpp"
+
+GuildList::GuildList() {
+ set_selection_mode(Gtk::SELECTION_NONE);
+ show_all_children();
+}
+
+void GuildList::AddGuild(Snowflake id) {
+ const auto guild = Abaddon::Get().GetDiscordClient().GetGuild(id);
+ if (!guild.has_value()) return;
+
+ auto *item = Gtk::make_managed<GuildListGuildItem>(*guild);
+ item->show();
+ add(*item);
+}
+
+void GuildList::Clear() {
+ const auto children = get_children();
+ for (auto child : children) {
+ delete child;
+ }
+}