From 60404783bd4ce9be26233fe66fc3a74475d9eaa3 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Wed, 17 Mar 2021 23:55:41 -0400 Subject: manage emojis --- windows/guildsettings/emojispane.hpp | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 windows/guildsettings/emojispane.hpp (limited to 'windows/guildsettings/emojispane.hpp') diff --git a/windows/guildsettings/emojispane.hpp b/windows/guildsettings/emojispane.hpp new file mode 100644 index 0000000..806babb --- /dev/null +++ b/windows/guildsettings/emojispane.hpp @@ -0,0 +1,55 @@ +#pragma once +#include +#include "../../components/inotifyswitched.hpp" +#include "../../discord/emoji.hpp" + +class GuildSettingsEmojisPane : public Gtk::Box + , public INotifySwitched { +public: + GuildSettingsEmojisPane(Snowflake guild_id); + +private: + void on_switched_to() override; + + bool m_requested = false; + + void AddEmojiRow(const EmojiData &emoji); + + void OnFetchEmojis(std::vector emojis); + + void OnEditName(Snowflake id, const std::string &name); + void OnMenuCopyID(); + void OnMenuDelete(); + void OnMenuCopyEmojiURL(); + void OnMenuShowEmoji(); + bool OnTreeButtonPress(GdkEventButton *event); + + Snowflake GuildID; + + Gtk::Entry m_search; + Gtk::ScrolledWindow m_view_scroll; + Gtk::TreeView m_view; + + class ModelColumns : public Gtk::TreeModel::ColumnRecord { + public: + ModelColumns(); + + Gtk::TreeModelColumn> m_col_pixbuf; + Gtk::TreeModelColumn> m_col_pixbuf_animation; + Gtk::TreeModelColumn m_col_name; + Gtk::TreeModelColumn m_col_creator; + Gtk::TreeModelColumn m_col_animated; + Gtk::TreeModelColumn m_col_available; + Gtk::TreeModelColumn m_col_id; + }; + + ModelColumns m_columns; + Glib::RefPtr m_model; + Glib::RefPtr m_filter; + + Gtk::Menu m_menu; + Gtk::MenuItem m_menu_delete; + Gtk::MenuItem m_menu_copy_id; + Gtk::MenuItem m_menu_copy_emoji_url; + Gtk::MenuItem m_menu_show_emoji; +}; -- cgit v1.2.3