diff options
author | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2012-07-27 21:16:40 +0800 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2012-07-30 14:56:45 +0800 |
commit | 9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf (patch) | |
tree | 9a434c1d0375a08a9e5e4defe0e5d6b2c6aa9e74 /libempathy-gtk | |
parent | 4b23cccc6b57759cc17ca493e1153b71f1636c07 (diff) | |
download | gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar.gz gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar.bz2 gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar.lz gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar.xz gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.tar.zst gsoc2013-empathy-9c9fcb09c9dd2523fc53858d84b44eb19fd1a7bf.zip |
EmpathyContactWidget: Stop using EmpathyAvatarChooser
Changing avatar is only used for editing user's information, and
it will soon be replaced by a dedicated widget.
This is done to make easier to change EmpathyAvatarChooser's API before
introducing the new widget.
https://bugzilla.gnome.org/show_bug.cgi?id=680449
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.c | 109 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.h | 3 |
2 files changed, 1 insertions, 111 deletions
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c index d28d980e5..36d00a268 100644 --- a/libempathy-gtk/empathy-contact-widget.c +++ b/libempathy-gtk/empathy-contact-widget.c @@ -1122,49 +1122,6 @@ widget_avatar_button_press_event_cb (GtkWidget *widget, } static void -set_avatar_cb (GObject *source, - GAsyncResult *res, - gpointer user_data) -{ - GError *error = NULL; - - if (!tp_account_set_avatar_finish (TP_ACCOUNT (source), res, &error)) { - DEBUG ("Failed to set Account.Avatar: %s", error->message); - g_error_free (error); - } -} - -static void -set_avatar_on_account (TpAccount *account, - const gchar *data, - gsize size, - const gchar *mime_type) -{ - DEBUG ("%s Account.Avatar on %s", size > 0 ? "Set": "Clear", - tp_proxy_get_object_path (account)); - - tp_account_set_avatar_async (account, (const guchar *) data, size, - mime_type, set_avatar_cb, NULL); -} - -static void -contact_widget_avatar_changed_cb (EmpathyAvatarChooser *chooser, - EmpathyContactWidget *self) -{ - const gchar *data; - gsize size; - const gchar *mime_type; - TpAccount *account; - - empathy_avatar_chooser_get_image_data ( - EMPATHY_AVATAR_CHOOSER (self->priv->widget_avatar), - &data, &size, &mime_type); - - account = empathy_contact_get_account (self->priv->contact); - set_avatar_on_account (account, data, size, mime_type); -} - -static void set_nickname_cb (GObject *source, GAsyncResult *res, gpointer user_data) @@ -1258,42 +1215,6 @@ contact_widget_entry_alias_focus_event_cb (GtkEditable *editable, } static void -update_avatar_chooser_account_cb (EmpathyAccountChooser *account_chooser, - EmpathyAvatarChooser *avatar_chooser) -{ - TpAccount *account; - - account = empathy_account_chooser_get_account (account_chooser); - if (account == NULL) - return; - - empathy_avatar_chooser_set_account (avatar_chooser, account); -} - -static void -contact_widget_avatar_notify_cb (EmpathyContactWidget *self) -{ - EmpathyAvatar *avatar = NULL; - - if (self->priv->contact) - avatar = empathy_contact_get_avatar (self->priv->contact); - - if (self->priv->flags & EMPATHY_CONTACT_WIDGET_EDIT_AVATAR) - { - g_signal_handlers_block_by_func (self->priv->widget_avatar, - contact_widget_avatar_changed_cb, - self); - empathy_avatar_chooser_set ( - EMPATHY_AVATAR_CHOOSER (self->priv->widget_avatar), avatar); - g_signal_handlers_unblock_by_func (self->priv->widget_avatar, - contact_widget_avatar_changed_cb, self); - } - else - empathy_avatar_image_set ( - EMPATHY_AVATAR_IMAGE (self->priv->widget_avatar), avatar); -} - -static void contact_widget_name_notify_cb (EmpathyContactWidget *self) { if (GTK_IS_ENTRY (self->priv->widget_alias)) @@ -1335,8 +1256,6 @@ contact_widget_remove_contact (EmpathyContactWidget *self) contact_widget_name_notify_cb, self); g_signal_handlers_disconnect_by_func (self->priv->contact, contact_widget_presence_notify_cb, self); - g_signal_handlers_disconnect_by_func (self->priv->contact, - contact_widget_avatar_notify_cb, self); tp_contact = empathy_contact_get_tp_contact (self->priv->contact); if (tp_contact != NULL) @@ -1374,8 +1293,6 @@ contact_widget_contact_update (EmpathyContactWidget *self) g_signal_connect_swapped (self->priv->contact, "notify::presence-message", G_CALLBACK (contact_widget_presence_notify_cb), self); - g_signal_connect_swapped (self->priv->contact, "notify::avatar", - G_CALLBACK (contact_widget_avatar_notify_cb), self); account = empathy_contact_get_account (self->priv->contact); id = empathy_contact_get_id (self->priv->contact); @@ -1397,12 +1314,6 @@ contact_widget_contact_update (EmpathyContactWidget *self) } else { - if (EMPATHY_IS_AVATAR_CHOOSER (self->priv->widget_avatar)) - { - empathy_avatar_chooser_set_account ( - EMPATHY_AVATAR_CHOOSER (self->priv->widget_avatar), account); - } - if ((self->priv->flags & EMPATHY_CONTACT_WIDGET_NO_ACCOUNT) == 0) { if (account) @@ -1432,7 +1343,6 @@ contact_widget_contact_update (EmpathyContactWidget *self) { contact_widget_name_notify_cb (self); contact_widget_presence_notify_cb (self); - contact_widget_avatar_notify_cb (self); gtk_widget_show (self->priv->label_alias); gtk_widget_show (self->priv->widget_alias); @@ -1639,24 +1549,7 @@ contact_widget_contact_setup (EmpathyContactWidget *self) gtk_widget_show (self->priv->widget_account); } - /* Set up avatar chooser/display */ - if (self->priv->flags & EMPATHY_CONTACT_WIDGET_EDIT_AVATAR) - { - self->priv->widget_avatar = empathy_avatar_chooser_new (); - g_signal_connect (self->priv->widget_avatar, "changed", - G_CALLBACK (contact_widget_avatar_changed_cb), - self); - if (self->priv->flags & EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT) - { - g_signal_connect (self->priv->widget_account, "changed", - G_CALLBACK (update_avatar_chooser_account_cb), - self->priv->widget_avatar); - update_avatar_chooser_account_cb ( - EMPATHY_ACCOUNT_CHOOSER (self->priv->widget_account), - EMPATHY_AVATAR_CHOOSER (self->priv->widget_avatar)); - } - } - else + /* Set up avatar display */ { self->priv->widget_avatar = empathy_avatar_image_new (); diff --git a/libempathy-gtk/empathy-contact-widget.h b/libempathy-gtk/empathy-contact-widget.h index bf4acaf8e..00423c7ff 100644 --- a/libempathy-gtk/empathy-contact-widget.h +++ b/libempathy-gtk/empathy-contact-widget.h @@ -77,8 +77,6 @@ GType empathy_contact_widget_get_type (void); * information about a contact. * @EMPATHY_CONTACT_WIDGET_EDIT_ALIAS: Show a #GtkEntry allowing changes to the * contact's alias. - * @EMPATHY_CONTACT_WIDGET_EDIT_AVATAR: Show an #EmpathyAvatarChooser allowing - * changes to the contact's avatar. * @EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT: Show an #EmpathyAccountChooser allowing * changes to the contact's account. * @EMPATHY_CONTACT_WIDGET_EDIT_ID: Show a #GtkEntry allowing changes to the @@ -95,7 +93,6 @@ typedef enum { EMPATHY_CONTACT_WIDGET_EDIT_NONE = 0, EMPATHY_CONTACT_WIDGET_EDIT_ALIAS = 1 << 0, - EMPATHY_CONTACT_WIDGET_EDIT_AVATAR = 1 << 1, EMPATHY_CONTACT_WIDGET_EDIT_ACCOUNT = 1 << 2, EMPATHY_CONTACT_WIDGET_EDIT_ID = 1 << 3, EMPATHY_CONTACT_WIDGET_EDIT_GROUPS = 1 << 4, |