summaryrefslogtreecommitdiff
path: root/src/windows/guildsettings/infopane.hpp
blob: 8a7e6a275b0666956b4d5edba68edf189f5cff69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once
#include <gtkmm.h>
#include "discord/guild.hpp"

class GuildSettingsInfoPane : public Gtk::Grid {
public:
    GuildSettingsInfoPane(Snowflake id);

private:
    void FetchGuildIcon(const GuildData &guild);

    void UpdateGuildName();
    void UpdateGuildIconFromData(const std::vector<uint8_t> &data, const std::string &mime);
    void UpdateGuildIconFromPixbuf(Glib::RefPtr<Gdk::Pixbuf> pixbuf);
    void UpdateGuildIconPicker();
    void UpdateGuildIconClipboard();

    Gtk::Label m_guild_icon_label;
    Gtk::EventBox m_guild_icon_ev; // necessary to make custom cursor behave properly
    Gtk::Image m_guild_icon;

    Gtk::Label m_guild_name_label;
    Gtk::Entry m_guild_name;

    Snowflake GuildID;
};