diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-09-24 21:01:10 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-09-24 21:01:10 -0400 |
commit | 5fa366c166d31aae8c43e15e92e8a30bc2058049 (patch) | |
tree | 9ff2ec9a2520cfaee169278d1392a8c22794843d /src/components | |
parent | d6d34d9f842aba349424b7ad259565676c3c3524 (diff) | |
download | abaddon-portaudio-5fa366c166d31aae8c43e15e92e8a30bc2058049.tar.gz abaddon-portaudio-5fa366c166d31aae8c43e15e92e8a30bc2058049.zip |
add cap to member list
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/memberlist.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/components/memberlist.cpp b/src/components/memberlist.cpp index f622829..1733ae3 100644 --- a/src/components/memberlist.cpp +++ b/src/components/memberlist.cpp @@ -1,5 +1,7 @@ #include "memberlist.hpp" +constexpr static int MemberListUserLimit = 200; + MemberList::MemberList() : m_model(Gtk::TreeStore::create(m_columns)) , m_menu_role_copy_id("_Copy ID", true) { @@ -116,7 +118,9 @@ void MemberList::UpdateMemberList() { if (col_role.has_value()) user_to_color[user.ID] = col_role->Color; } - const auto add_user = [this, &guild, &user_to_color](const UserData &user, const Gtk::TreeRow &parent) { + int count = 0; + const auto add_user = [this, &count, &guild, &user_to_color](const UserData &user, const Gtk::TreeRow &parent) -> bool { + if (count++ > MemberListUserLimit) return false; auto row_iter = m_model->append(parent->children()); auto row = *row_iter; row[m_columns.m_type] = MemberListRenderType::Member; @@ -130,7 +134,7 @@ void MemberList::UpdateMemberList() { row[m_columns.m_color] = color_transparent; } m_pending_avatars[user.ID] = row_iter; - return row_iter; + return true; }; const auto add_role = [this](const RoleData &role) { |