diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-01-21 23:49:42 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-01-21 23:49:42 -0500 |
commit | 547124c94f8808d6dca407af7b6eb0d29ac12e45 (patch) | |
tree | ef79ad6ee56c6e4e294f5b946803558b592bbe59 /windows/guildsettings/invitespane.hpp | |
parent | 7b6fb861acc395a913180d8e8d2d3d503a1cf2fc (diff) | |
download | abaddon-portaudio-547124c94f8808d6dca407af7b6eb0d29ac12e45.tar.gz abaddon-portaudio-547124c94f8808d6dca407af7b6eb0d29ac12e45.zip |
view and delete invites, more tweaking
Diffstat (limited to 'windows/guildsettings/invitespane.hpp')
-rw-r--r-- | windows/guildsettings/invitespane.hpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/windows/guildsettings/invitespane.hpp b/windows/guildsettings/invitespane.hpp new file mode 100644 index 0000000..c32f194 --- /dev/null +++ b/windows/guildsettings/invitespane.hpp @@ -0,0 +1,39 @@ +#pragma once +#include <gtkmm.h> +#include "../../discord/objects.hpp" + +class GuildSettingsInvitesPane : public Gtk::ScrolledWindow { +public: + GuildSettingsInvitesPane(Snowflake id); + +private: + void AppendInvite(const InviteData &invite); + void OnInviteFetch(const std::optional<InviteData> &invite); + void OnInvitesFetch(const std::vector<InviteData> &invites); + void OnInviteCreate(const InviteData &invite); + void OnInviteDelete(const InviteDeleteObject &data); + void OnMenuDelete(); + bool OnTreeButtonPress(GdkEventButton *event); + + Gtk::TreeView m_view; + + Snowflake GuildID; + + class ModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + ModelColumns(); + + Gtk::TreeModelColumn<Glib::ustring> m_col_code; + Gtk::TreeModelColumn<Glib::ustring> m_col_expires; + Gtk::TreeModelColumn<Glib::ustring> m_col_inviter; + Gtk::TreeModelColumn<Glib::ustring> m_col_temporary; + Gtk::TreeModelColumn<int> m_col_uses; + Gtk::TreeModelColumn<Glib::ustring> m_col_max_uses; + }; + + ModelColumns m_columns; + Glib::RefPtr<Gtk::ListStore> m_model; + + Gtk::Menu m_menu; + Gtk::MenuItem m_menu_delete; +}; |