gnome: add different avatar for conferences
Create avatar with two symbolic people to distinguish a conference.
Issue: #79076
Change-Id: Ie6b4b33af4d8fae2a188c23cb7cb5877bb64f199
diff --git a/src/native/pixbufmanipulator.cpp b/src/native/pixbufmanipulator.cpp
index e1458ad..e7aca08 100644
--- a/src/native/pixbufmanipulator.cpp
+++ b/src/native/pixbufmanipulator.cpp
@@ -42,6 +42,7 @@
PixbufManipulator::PixbufManipulator()
: fallbackAvatar_{ring_draw_fallback_avatar(FALLBACK_AVATAR_SIZE), g_object_unref}
+ , conferenceAvatar_{ring_draw_conference_avatar(FALLBACK_AVATAR_SIZE), g_object_unref}
{
}
@@ -79,6 +80,8 @@
QVariant
PixbufManipulator::callPhoto(Call* c, const QSize& size, bool displayPresence)
{
+ if (c->type() == Call::Type::CONFERENCE)
+ return QVariant::fromValue(scaleAndFrame(conferenceAvatar_.get(), size));
return callPhoto(c->peerContactMethod(), size, displayPresence);
}
diff --git a/src/native/pixbufmanipulator.h b/src/native/pixbufmanipulator.h
index 77ec780..8b7e43b 100644
--- a/src/native/pixbufmanipulator.h
+++ b/src/native/pixbufmanipulator.h
@@ -63,6 +63,7 @@
private:
std::shared_ptr<GdkPixbuf> scaleAndFrame(const GdkPixbuf *photo, const QSize& size);
std::shared_ptr<GdkPixbuf> fallbackAvatar_;
+ std::shared_ptr<GdkPixbuf> conferenceAvatar_;
};
} // namespace Interfaces