diff options
Diffstat (limited to 'src/components/channelscellrenderer.hpp')
-rw-r--r-- | src/components/channelscellrenderer.hpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/components/channelscellrenderer.hpp b/src/components/channelscellrenderer.hpp index e2be9b2..f5ba796 100644 --- a/src/components/channelscellrenderer.hpp +++ b/src/components/channelscellrenderer.hpp @@ -6,6 +6,7 @@ #include "discord/snowflake.hpp" enum class RenderType : uint8_t { + Folder, Guild, Category, TextChannel, @@ -27,6 +28,7 @@ public: Glib::PropertyProxy<Glib::RefPtr<Gdk::PixbufAnimation>> property_icon_animation(); Glib::PropertyProxy<bool> property_expanded(); Glib::PropertyProxy<bool> property_nsfw(); + Glib::PropertyProxy<std::optional<Gdk::RGBA>> property_color(); protected: void get_preferred_width_vfunc(Gtk::Widget &widget, int &minimum_width, int &natural_width) const override; @@ -40,6 +42,17 @@ protected: Gtk::CellRendererState flags) override; // guild functions + void get_preferred_width_vfunc_folder(Gtk::Widget &widget, int &minimum_width, int &natural_width) const; + void get_preferred_width_for_height_vfunc_folder(Gtk::Widget &widget, int height, int &minimum_width, int &natural_width) const; + void get_preferred_height_vfunc_folder(Gtk::Widget &widget, int &minimum_height, int &natural_height) const; + void get_preferred_height_for_width_vfunc_folder(Gtk::Widget &widget, int width, int &minimum_height, int &natural_height) const; + void render_vfunc_folder(const Cairo::RefPtr<Cairo::Context> &cr, + Gtk::Widget &widget, + const Gdk::Rectangle &background_area, + const Gdk::Rectangle &cell_area, + Gtk::CellRendererState flags); + + // guild functions void get_preferred_width_vfunc_guild(Gtk::Widget &widget, int &minimum_width, int &natural_width) const; void get_preferred_width_for_height_vfunc_guild(Gtk::Widget &widget, int height, int &minimum_width, int &natural_width) const; void get_preferred_height_vfunc_guild(Gtk::Widget &widget, int &minimum_height, int &natural_height) const; @@ -118,6 +131,7 @@ private: Glib::Property<Glib::RefPtr<Gdk::PixbufAnimation>> m_property_pixbuf_animation; // guild Glib::Property<bool> m_property_expanded; // category Glib::Property<bool> m_property_nsfw; // channel + Glib::Property<std::optional<Gdk::RGBA>> m_property_color; // folder // same pitfalls as in https://github.com/uowuo/abaddon/blob/60404783bd4ce9be26233fe66fc3a74475d9eaa3/components/cellrendererpixbufanimation.hpp#L32-L39 // this will manifest though since guild icons can change |