https://bugzilla.gnome.org/show_bug.cgi?id=661805
EmpathyContact *contact)
{
static guint block_signal = 0;
EmpathyContact *contact)
{
static guint block_signal = 0;
- EmpathyContactManager *manager;
gboolean blocked, abusive;
gboolean blocked, abusive;
if (block_signal > 0)
return;
if (block_signal > 0)
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++;
/* update the toggle with the blocked status */
block_signal++;
GtkWidget *item;
EmpathyContactManager *manager;
TpConnection *connection;
GtkWidget *item;
EmpathyContactManager *manager;
TpConnection *connection;
- EmpathyContactListFlags flags;
- gboolean blocked;
g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
connection = empathy_contact_get_connection (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))
item = gtk_check_menu_item_new_with_mnemonic (_("_Block Contact"));
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),
g_signal_connect (item, "toggled",
G_CALLBACK (empathy_contact_block_menu_item_toggled),