gossip r2768 - in trunk: . libgossip src
- From: mr svn gnome org
- To: svn-commits-list gnome org
- Subject: gossip r2768 - in trunk: . libgossip src
- Date: Wed, 12 Mar 2008 18:40:15 +0000 (GMT)
Author: mr
Date: Wed Mar 12 18:40:14 2008
New Revision: 2768
URL: http://svn.gnome.org/viewvc/gossip?rev=2768&view=rev
Log:
Fix showing avatars in the add contact dialog
Modified:
trunk/ChangeLog
trunk/libgossip/gossip-avatar.c
trunk/src/gossip-add-contact-dialog.c
Modified: trunk/libgossip/gossip-avatar.c
==============================================================================
--- trunk/libgossip/gossip-avatar.c (original)
+++ trunk/libgossip/gossip-avatar.c Wed Mar 12 18:40:14 2008
@@ -164,10 +164,10 @@
GdkPixbuf *ret_pixbuf;
GdkPixbufLoader *loader;
GError *error = NULL;
- int orig_width;
- int orig_height;
- int scale_width;
- int scale_height;
+ gint orig_width;
+ gint orig_height;
+ gint scale_width;
+ gint scale_height;
if (!avatar) {
return NULL;
@@ -188,25 +188,26 @@
tmp_pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
scale_width = orig_width = gdk_pixbuf_get_width (tmp_pixbuf);
scale_height = orig_height = gdk_pixbuf_get_height (tmp_pixbuf);
- if(scale_height > scale_width) {
- scale_width = (gdouble) size * (double)scale_width / (double)scale_height;
+
+ if (scale_height > scale_width) {
+ scale_width = (gdouble) size * (gdouble) scale_width / (gdouble) scale_height;
scale_height = size;
} else {
- scale_height = (gdouble) size * (double)scale_height / (double)scale_width;
+ scale_height = (gdouble) size * (gdouble) scale_height / (gdouble) scale_width;
scale_width = size;
}
- ret_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, 32, 32);
+ ret_pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, size, size);
gdk_pixbuf_fill (ret_pixbuf, 0x00000000);
gdk_pixbuf_scale (tmp_pixbuf, ret_pixbuf,
- (size - scale_width)/2,
- (size - scale_height)/2,
+ (size - scale_width) / 2,
+ (size - scale_height) / 2,
scale_width,
scale_height,
- (size - scale_width)/2,
- (size - scale_height)/2,
- (double)scale_width/(double)orig_width,
- (double)scale_height/(double)orig_height,
+ (size - scale_width) / 2,
+ (size - scale_height) / 2,
+ (gdouble) scale_width / (gdouble) orig_width,
+ (gdouble) scale_height / (gdouble) orig_height,
GDK_INTERP_BILINEAR);
if (avatar_pixbuf_is_opaque (ret_pixbuf)) {
Modified: trunk/src/gossip-add-contact-dialog.c
==============================================================================
--- trunk/src/gossip-add-contact-dialog.c (original)
+++ trunk/src/gossip-add-contact-dialog.c Wed Mar 12 18:40:14 2008
@@ -115,7 +115,8 @@
if (result != GOSSIP_RESULT_OK ||
(!gossip_vcard_get_name (vcard) &&
!gossip_vcard_get_email (vcard) &&
- !gossip_vcard_get_country (vcard))) {
+ !gossip_vcard_get_country (vcard) &&
+ !gossip_vcard_get_avatar (vcard))) {
gchar *str;
str = g_strdup_printf ("<i>%s</i>",
@@ -125,8 +126,9 @@
gtk_widget_show (dialog->label_information);
} else {
- GdkPixbuf *pixbuf;
- const gchar *value;
+ GossipAvatar *avatar;
+ GdkPixbuf *pixbuf;
+ const gchar *value;
gtk_widget_hide (dialog->label_information);
@@ -156,7 +158,8 @@
}
/* Avatar */
- pixbuf = gossip_avatar_create_pixbuf_with_size (gossip_vcard_get_avatar (vcard), 48);
+ avatar = gossip_vcard_get_avatar (vcard);
+ pixbuf = gossip_avatar_create_pixbuf_with_size (avatar, 48);
if (pixbuf != NULL) {
gossip_avatar_image_set_pixbuf (GOSSIP_AVATAR_IMAGE (dialog->avatar_image),
pixbuf);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]