From 4f03ab0441d50d11ab9c14d4b75fbc5626a5406d Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Tue, 31 Mar 2020 11:57:54 +0200 Subject: [PATCH] History: use HdyAvatar This disables the custom avatar. It will be added back later. Signed-off-by: Julian Sparber --- src/calls-call-record-row.c | 64 ++++++------------------------------- src/ui/call-record-row.ui | 7 ++-- 2 files changed, 14 insertions(+), 57 deletions(-) diff --git a/src/calls-call-record-row.c b/src/calls-call-record-row.c index 9bb82cc..34b99e5 100644 --- a/src/calls-call-record-row.c +++ b/src/calls-call-record-row.c @@ -24,6 +24,7 @@ #include "calls-call-record-row.h" #include "calls-best-match.h" +#include "contrib/hdy-avatar.h" #include "util.h" #include @@ -34,14 +35,11 @@ #include -#define AVATAR_SIZE 32 - - struct _CallsCallRecordRow { GtkListBoxRow parent_instance; - GtkImage *avatar; + GtkWidget *avatar; GtkImage *type; GtkLabel *target; GtkLabel *time; @@ -347,53 +345,11 @@ contact_name_cb (CallsCallRecordRow *self) } } - static void -set_avatar (CallsCallRecordRow *self, - GdkPixbuf *avatar) +avatar_text_changed_cb (HdyAvatar *avatar) { - if (avatar) - { - gtk_image_set_from_pixbuf (self->avatar, avatar); - } - else - { - gtk_image_set_from_icon_name (self->avatar, - "avatar-default-symbolic", - GTK_ICON_SIZE_DND); - } -} - - -static void -contact_avatar_cb (CallsCallRecordRow *self, - gint size, - GdkPixbuf *avatar, - CallsBestMatch *contact) -{ - if (size != AVATAR_SIZE) - { - return; - } - - set_avatar (self, avatar); -} - - -static void -request_contact_avatar (CallsCallRecordRow *self) -{ - GdkPixbuf *avatar; - - if (!self->contact) - { - return; - } - - avatar = calls_best_match_request_avatar - (self->contact, AVATAR_SIZE); - - set_avatar (self, avatar); + const gchar *text = hdy_avatar_get_text (avatar); + hdy_avatar_set_show_initials (avatar, !g_ascii_isdigit (*text) && !strchr("#*+", *text)); } @@ -432,10 +388,6 @@ setup_contact (CallsCallRecordRow *self) "notify::name", G_CALLBACK (contact_name_cb), self); - g_signal_connect_swapped (self->contact, - "avatar", - G_CALLBACK (contact_avatar_cb), - self); } @@ -495,7 +447,6 @@ constructed (GObject *object) setup_contact (self); contact_name_cb (self); - request_contact_avatar (self); G_OBJECT_CLASS (calls_call_record_row_parent_class)->constructed (object); } @@ -579,6 +530,11 @@ static void calls_call_record_row_init (CallsCallRecordRow *self) { gtk_widget_init_template (GTK_WIDGET (self)); + + g_signal_connect (self->avatar, + "notify::text", + G_CALLBACK (avatar_text_changed_cb), + NULL); } diff --git a/src/ui/call-record-row.ui b/src/ui/call-record-row.ui index e47b8e8..e1afcdd 100644 --- a/src/ui/call-record-row.ui +++ b/src/ui/call-record-row.ui @@ -12,14 +12,15 @@ True False - + True False 8 8 8 - avatar-default-symbolic - 6 + 36 + + True 0