static gint contact_dialogs_find (GtkDialog *dialog, EmpathyContact *contact) { GtkWidget *contact_widget; EmpathyContact *this_contact; contact_widget = g_object_get_data (G_OBJECT (dialog), "contact_widget"); this_contact = empathy_contact_widget_get_contact (contact_widget); return contact != this_contact; }
static void new_individual_response_cb (GtkDialog *dialog, gint response, GtkWidget *contact_widget) { EmpathyIndividualManager *individual_manager; EmpathyContact *contact; individual_manager = empathy_individual_manager_dup_singleton (); contact = empathy_contact_widget_get_contact (contact_widget); if (contact && response == GTK_RESPONSE_OK) empathy_individual_manager_add_from_contact (individual_manager, contact); new_individual_dialog = NULL; gtk_widget_destroy (GTK_WIDGET (dialog)); g_object_unref (individual_manager); }
static void new_contact_response_cb (GtkDialog *dialog, gint response, GtkWidget *contact_widget) { EmpathyContactManager *manager; EmpathyContact *contact; manager = empathy_contact_manager_dup_singleton (); contact = empathy_contact_widget_get_contact (contact_widget); if (contact && response == GTK_RESPONSE_OK) { empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager), contact, ""); } new_contact_dialog = NULL; gtk_widget_destroy (GTK_WIDGET (dialog)); g_object_unref (manager); }
static void subscription_dialog_response_cb (GtkDialog *dialog, gint response, GtkWidget *contact_widget) { EmpathyContactManager *manager; EmpathyContact *contact; manager = empathy_contact_manager_dup_singleton (); contact = empathy_contact_widget_get_contact (contact_widget); if (response == GTK_RESPONSE_YES) { empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager), contact, ""); } else if (response == GTK_RESPONSE_NO) { empathy_contact_list_remove (EMPATHY_CONTACT_LIST (manager), contact, ""); } subscription_dialogs = g_list_remove (subscription_dialogs, dialog); gtk_widget_destroy (GTK_WIDGET (dialog)); g_object_unref (manager); }