summaryrefslogtreecommitdiff
path: root/windows/guildsettings/invitespane.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-01-21 23:49:42 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-01-21 23:49:42 -0500
commit547124c94f8808d6dca407af7b6eb0d29ac12e45 (patch)
treeef79ad6ee56c6e4e294f5b946803558b592bbe59 /windows/guildsettings/invitespane.hpp
parent7b6fb861acc395a913180d8e8d2d3d503a1cf2fc (diff)
downloadabaddon-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.hpp39
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;
+};