diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-03-17 02:19:15 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-03-17 02:19:15 -0400 |
commit | 65943b4bd74ae52e6f6ffbff0e9ba619053172d6 (patch) | |
tree | 2dccda0581fab9379bde1586aa1c63079f555099 /windows/guildsettings/invitespane.cpp | |
parent | 72d771d88b625cf29913ab02497aa8f331c247e5 (diff) | |
download | abaddon-portaudio-65943b4bd74ae52e6f6ffbff0e9ba619053172d6.tar.gz abaddon-portaudio-65943b4bd74ae52e6f6ffbff0e9ba619053172d6.zip |
reduce concurrent requests in guild settings + profile
disable gtk's treeview search in bans+invites
Diffstat (limited to 'windows/guildsettings/invitespane.cpp')
-rw-r--r-- | windows/guildsettings/invitespane.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/windows/guildsettings/invitespane.cpp b/windows/guildsettings/invitespane.cpp index a47460f..8e91bf6 100644 --- a/windows/guildsettings/invitespane.cpp +++ b/windows/guildsettings/invitespane.cpp @@ -16,10 +16,6 @@ GuildSettingsInvitesPane::GuildSettingsInvitesPane(Snowflake id) m_menu.show_all(); auto &discord = Abaddon::Get().GetDiscordClient(); - const auto self_id = discord.GetUserData().ID; - - if (discord.HasGuildPermission(self_id, GuildID, Permission::MANAGE_GUILD)) - discord.FetchGuildInvites(GuildID, sigc::mem_fun(*this, &GuildSettingsInvitesPane::OnInvitesFetch)); discord.signal_invite_create().connect(sigc::mem_fun(*this, &GuildSettingsInvitesPane::OnInviteCreate)); discord.signal_invite_delete().connect(sigc::mem_fun(*this, &GuildSettingsInvitesPane::OnInviteDelete)); @@ -27,6 +23,7 @@ GuildSettingsInvitesPane::GuildSettingsInvitesPane(Snowflake id) m_view.show(); add(m_view); + m_view.set_enable_search(false); m_view.set_model(m_model); m_view.append_column("Code", m_columns.m_col_code); m_view.append_column("Expires", m_columns.m_col_expires); @@ -39,6 +36,17 @@ GuildSettingsInvitesPane::GuildSettingsInvitesPane(Snowflake id) column->set_resizable(true); } +void GuildSettingsInvitesPane::on_switched_to() { + if (m_requested) return; + m_requested = true; + + auto &discord = Abaddon::Get().GetDiscordClient(); + const auto self_id = discord.GetUserData().ID; + + if (discord.HasGuildPermission(self_id, GuildID, Permission::MANAGE_GUILD)) + discord.FetchGuildInvites(GuildID, sigc::mem_fun(*this, &GuildSettingsInvitesPane::OnInvitesFetch)); +} + void GuildSettingsInvitesPane::AppendInvite(const InviteData &invite) { auto &discord = Abaddon::Get().GetDiscordClient(); auto &row = *m_model->append(); |