[empathy] contact-menu: use tp-glib blocking API
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] contact-menu: use tp-glib blocking API
- Date: Tue, 8 Nov 2011 12:32:50 +0000 (UTC)
commit 60c5906232a73b8911eac873fa208b681e0b7999
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Wed Nov 2 10:43:19 2011 +0100
contact-menu: use tp-glib blocking API
https://bugzilla.gnome.org/show_bug.cgi?id=661805
libempathy-gtk/empathy-contact-menu.c | 30 ++++++++++++++----------------
1 files changed, 14 insertions(+), 16 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c
index 07def60..a6f5a20 100644
--- a/libempathy-gtk/empathy-contact-menu.c
+++ b/libempathy-gtk/empathy-contact-menu.c
@@ -226,8 +226,8 @@ empathy_contact_block_menu_item_toggled (GtkCheckMenuItem *item,
EmpathyContact *contact)
{
static guint block_signal = 0;
- EmpathyContactManager *manager;
gboolean blocked, abusive;
+ TpContact *tp_contact;
if (block_signal > 0)
return;
@@ -252,10 +252,12 @@ empathy_contact_block_menu_item_toggled (GtkCheckMenuItem *item,
return;
}
- manager = empathy_contact_manager_dup_singleton ();
- empathy_contact_list_set_blocked (EMPATHY_CONTACT_LIST (manager),
- contact, blocked, abusive);
- g_object_unref (manager);
+ tp_contact = empathy_contact_get_tp_contact (contact);
+
+ if (blocked)
+ tp_contact_block_async (tp_contact, abusive, NULL, NULL);
+ else
+ tp_contact_unblock_async (tp_contact, NULL, NULL);
/* update the toggle with the blocked status */
block_signal++;
@@ -269,8 +271,7 @@ empathy_contact_block_menu_item_new (EmpathyContact *contact)
GtkWidget *item;
EmpathyContactManager *manager;
TpConnection *connection;
- EmpathyContactListFlags flags;
- gboolean blocked;
+ TpContact *tp_contact;
g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
@@ -282,19 +283,16 @@ empathy_contact_block_menu_item_new (EmpathyContact *contact)
connection = empathy_contact_get_connection (contact);
- flags = empathy_contact_manager_get_flags_for_connection (manager,
- connection);
-
- if (!(flags & EMPATHY_CONTACT_LIST_CAN_BLOCK)) {
+ if (!tp_proxy_has_interface_by_id (connection,
+ TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACT_BLOCKING))
return NULL;
- }
item = gtk_check_menu_item_new_with_mnemonic (_("_Block Contact"));
- blocked = empathy_contact_list_get_blocked (
- EMPATHY_CONTACT_LIST (manager),
- contact);
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), blocked);
+ tp_contact = empathy_contact_get_tp_contact (contact);
+
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item),
+ tp_contact_is_blocked (tp_contact));
g_signal_connect (item, "toggled",
G_CALLBACK (empathy_contact_block_menu_item_toggled),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]