From 65943b4bd74ae52e6f6ffbff0e9ba619053172d6 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Wed, 17 Mar 2021 02:19:15 -0400 Subject: reduce concurrent requests in guild settings + profile disable gtk's treeview search in bans+invites --- windows/guildsettings/banspane.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'windows/guildsettings/banspane.cpp') diff --git a/windows/guildsettings/banspane.cpp b/windows/guildsettings/banspane.cpp index 517ae09..3ea71bb 100644 --- a/windows/guildsettings/banspane.cpp +++ b/windows/guildsettings/banspane.cpp @@ -22,9 +22,7 @@ GuildSettingsBansPane::GuildSettingsBansPane(Snowflake id) const auto self_id = discord.GetUserData().ID; const auto can_ban = discord.HasGuildPermission(self_id, GuildID, Permission::BAN_MEMBERS); - if (can_ban) { - discord.FetchGuildBans(id, sigc::mem_fun(*this, &GuildSettingsBansPane::OnGuildBansFetch)); - } else { + if (!can_ban) { for (const auto &ban : discord.GetBansInGuild(id)) OnGuildBanFetch(ban); @@ -50,11 +48,25 @@ GuildSettingsBansPane::GuildSettingsBansPane(Snowflake id) add(m_scroll); show_all_children(); + m_view.set_enable_search(false); m_view.set_model(m_model); m_view.append_column("User", m_columns.m_col_user); m_view.append_column("Reason", m_columns.m_col_reason); } +void GuildSettingsBansPane::on_switched_to() { + if (m_requested) return; + m_requested = true; + + auto &discord = Abaddon::Get().GetDiscordClient(); + + const auto self_id = discord.GetUserData().ID; + const auto can_ban = discord.HasGuildPermission(self_id, GuildID, Permission::BAN_MEMBERS); + + if (can_ban) + discord.FetchGuildBans(GuildID, sigc::mem_fun(*this, &GuildSettingsBansPane::OnGuildBansFetch)); +} + void GuildSettingsBansPane::OnGuildBanFetch(const BanData &ban) { const auto user = Abaddon::Get().GetDiscordClient().GetUser(ban.User.ID); auto &row = *m_model->append(); -- cgit v1.2.3