summaryrefslogtreecommitdiff
path: root/src/components/channels.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/channels.cpp')
-rw-r--r--src/components/channels.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/components/channels.cpp b/src/components/channels.cpp
index c0d1a8b..99bd07b 100644
--- a/src/components/channels.cpp
+++ b/src/components/channels.cpp
@@ -752,7 +752,13 @@ void ChannelList::AddPrivateChannels() {
else if (dm->Type == ChannelType::GROUP_DM)
row[m_columns.m_name] = std::to_string(recipients.size()) + " members";
- if (top_recipient.has_value()) {
+ if (dm->HasIcon()) {
+ const auto cb = [this, iter](const Glib::RefPtr<Gdk::Pixbuf> &pb) {
+ if (iter)
+ (*iter)[m_columns.m_icon] = pb->scale_simple(DMIconSize, DMIconSize, Gdk::INTERP_BILINEAR);
+ };
+ img.LoadFromURL(dm->GetIconURL(), sigc::track_obj(cb, *this));
+ } else if (top_recipient.has_value()) {
const auto cb = [this, iter](const Glib::RefPtr<Gdk::Pixbuf> &pb) {
if (iter)
(*iter)[m_columns.m_icon] = pb->scale_simple(DMIconSize, DMIconSize, Gdk::INTERP_BILINEAR);