From 4b903bbd3e8436e1d63b8c12e76d8a3c924da5fc Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Wed, 19 Aug 2020 21:08:57 -0400 Subject: add http client and channel reordering (waste of time) --- abaddon.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'abaddon.cpp') diff --git a/abaddon.cpp b/abaddon.cpp index 1105ac3..f2b973f 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "discord/discord.hpp" #include "dialogs/token.hpp" #include "abaddon.hpp" @@ -45,6 +46,7 @@ void Abaddon::LoadFromSettings() { std::string token = m_settings.GetSetting("discord", "token"); if (token.size()) { m_discord_token = token; + m_discord.UpdateToken(m_discord_token); } } @@ -73,6 +75,10 @@ void Abaddon::DiscordNotifyReady() { m_main_window->UpdateComponents(); } +void Abaddon::DiscordNotifyChannelListFullRefresh() { + m_main_window->UpdateChannelListing(); +} + void Abaddon::ActionConnect() { if (!m_discord.IsStarted()) StartDiscord(); @@ -90,11 +96,46 @@ void Abaddon::ActionSetToken() { auto response = dlg.run(); if (response == Gtk::RESPONSE_OK) { m_discord_token = dlg.GetToken(); + m_discord.UpdateToken(m_discord_token); m_main_window->UpdateComponents(); m_settings.SetSetting("discord", "token", m_discord_token); } } +void Abaddon::ActionMoveGuildUp(Snowflake id) { + UserSettingsData d = m_discord.GetUserSettings(); + std::vector &pos = d.GuildPositions; + if (pos.size() == 0) { + auto x = m_discord.GetUserSortedGuilds(); + for (const auto& pair : x) + pos.push_back(pair.first); + } + + auto it = std::find(pos.begin(), pos.end(), id); + assert(it != pos.end()); + std::vector::iterator left = it - 1; + std::swap(*left, *it); + + m_discord.UpdateSettingsGuildPositions(pos); +} + +void Abaddon::ActionMoveGuildDown(Snowflake id) { + UserSettingsData d = m_discord.GetUserSettings(); + std::vector &pos = d.GuildPositions; + if (pos.size() == 0) { + auto x = m_discord.GetUserSortedGuilds(); + for (const auto &pair : x) + pos.push_back(pair.first); + } + + auto it = std::find(pos.begin(), pos.end(), id); + assert(it != pos.end()); + std::vector::iterator right = it + 1; + std::swap(*right, *it); + + m_discord.UpdateSettingsGuildPositions(pos); +} + int main(int argc, char **argv) { Abaddon abaddon; return abaddon.StartGTK(); -- cgit v1.2.3