diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-28 22:48:30 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-28 22:48:30 -0500 |
commit | e1703aea3fd597b23bde90e6c505278c517be611 (patch) | |
tree | 37d98fc90c9cd0844388bfb79beda2204f44af92 /src/windows/guildsettings/banspane.hpp | |
parent | fd53a76bf6f53a095a639765923a30f2206b2cd6 (diff) | |
parent | e02107feea8214a045e6faa969f00dcbc0d2b072 (diff) | |
download | abaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.tar.gz abaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.zip |
merge master
Diffstat (limited to 'src/windows/guildsettings/banspane.hpp')
-rw-r--r-- | src/windows/guildsettings/banspane.hpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/windows/guildsettings/banspane.hpp b/src/windows/guildsettings/banspane.hpp new file mode 100644 index 0000000..b2420a9 --- /dev/null +++ b/src/windows/guildsettings/banspane.hpp @@ -0,0 +1,45 @@ +#pragma once +#include <gtkmm.h> +#include "discord/snowflake.hpp" +#include "discord/ban.hpp" + +class GuildSettingsBansPane : public Gtk::Box { +public: + GuildSettingsBansPane(Snowflake id); + +private: + void OnMap(); + + bool m_requested = false; + + void OnGuildBanFetch(const BanData &ban); + void OnGuildBansFetch(const std::vector<BanData> &bans); + void OnMenuUnban(); + void OnMenuCopyID(); + bool OnTreeButtonPress(GdkEventButton *event); + void OnBanRemove(Snowflake guild_id, Snowflake user_id); + void OnBanAdd(Snowflake guild_id, Snowflake user_id); + + Gtk::Label *m_no_perms_note = nullptr; + + Gtk::ScrolledWindow m_scroll; + Gtk::TreeView m_view; + + Snowflake GuildID; + + class ModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + ModelColumns(); + + Gtk::TreeModelColumn<Glib::ustring> m_col_user; + Gtk::TreeModelColumn<Glib::ustring> m_col_reason; + Gtk::TreeModelColumn<Snowflake> m_col_id; + }; + + ModelColumns m_columns; + Glib::RefPtr<Gtk::ListStore> m_model; + + Gtk::Menu m_menu; + Gtk::MenuItem m_menu_unban; + Gtk::MenuItem m_menu_copy_id; +}; |