diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-02-15 05:22:33 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-02-15 05:22:33 +0800 |
commit | b3399c7cdfc007245179797e44f5edae1fc27dd3 (patch) | |
tree | 5be536d20adbf37e0ddb29a0fc60ea7298bb6e5b /libempathy-gtk | |
parent | 9060de5a495ec7afc49c08299c9b060c0abaae56 (diff) | |
parent | 2a2ff64bde87c68a256f2c6ddacc559668ddd265 (diff) | |
download | gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar.gz gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar.bz2 gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar.lz gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar.xz gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.tar.zst gsoc2013-empathy-b3399c7cdfc007245179797e44f5edae1fc27dd3.zip |
Merge branch 'report-abuse' into gnome-2-34
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-contact-blocking-dialog.c | 10 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-dialogs.c | 9 | ||||
-rw-r--r-- | libempathy-gtk/empathy-contact-menu.c | 6 | ||||
-rw-r--r-- | libempathy-gtk/empathy-individual-dialogs.c | 3 | ||||
-rw-r--r-- | libempathy-gtk/empathy-individual-view.c | 7 |
5 files changed, 21 insertions, 14 deletions
diff --git a/libempathy-gtk/empathy-contact-blocking-dialog.c b/libempathy-gtk/empathy-contact-blocking-dialog.c index 3d0b9afe9..a46820c5d 100644 --- a/libempathy-gtk/empathy-contact-blocking-dialog.c +++ b/libempathy-gtk/empathy-contact-blocking-dialog.c @@ -285,8 +285,9 @@ contact_blocking_dialog_am_prepared (GObject *am, TpAccount *account = ptr->data; TpConnection *conn; - g_signal_connect (account, "status-changed", - G_CALLBACK (contact_blocking_dialog_connection_status_changed), self); + tp_g_signal_connect_object (account, "status-changed", + G_CALLBACK (contact_blocking_dialog_connection_status_changed), + self, 0); conn = tp_account_get_connection (TP_ACCOUNT (account)); @@ -404,8 +405,9 @@ contact_blocking_dialog_deny_channel_prepared (GObject *channel, g_object_ref (conn), channel); contact_blocking_dialog_refilter_account_chooser (self); - g_signal_connect (channel, "group-members-changed", - G_CALLBACK (contact_blocking_dialog_deny_channel_members_changed), self); + tp_g_signal_connect_object (channel, "group-members-changed", + G_CALLBACK (contact_blocking_dialog_deny_channel_members_changed), + self, 0); } static void diff --git a/libempathy-gtk/empathy-contact-dialogs.c b/libempathy-gtk/empathy-contact-dialogs.c index 0b388851e..2f23a9163 100644 --- a/libempathy-gtk/empathy-contact-dialogs.c +++ b/libempathy-gtk/empathy-contact-dialogs.c @@ -85,15 +85,17 @@ subscription_dialog_response_cb (GtkDialog *dialog, contact, ""); } else if (response == GTK_RESPONSE_REJECT) { + gboolean abusive; + /* confirm the blocking */ if (empathy_block_contact_dialog_show (GTK_WINDOW (dialog), - contact, NULL)) { + contact, &abusive)) { empathy_contact_list_remove ( EMPATHY_CONTACT_LIST (manager), contact, ""); empathy_contact_list_set_blocked ( EMPATHY_CONTACT_LIST (manager), - contact, TRUE); + contact, TRUE, abusive); } else { /* if they don't confirm, return back to the * first dialog */ @@ -530,8 +532,6 @@ empathy_block_contact_dialog_show (GtkWindow *parent, } res = gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); - if (abusive != NULL) { if (abusive_check != NULL) { *abusive = gtk_toggle_button_get_active ( @@ -541,6 +541,7 @@ empathy_block_contact_dialog_show (GtkWindow *parent, } } + gtk_widget_destroy (dialog); g_object_unref (manager); return res == GTK_RESPONSE_REJECT; diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c index 9984de42d..64056eebf 100644 --- a/libempathy-gtk/empathy-contact-menu.c +++ b/libempathy-gtk/empathy-contact-menu.c @@ -232,7 +232,7 @@ empathy_contact_block_menu_item_toggled (GtkCheckMenuItem *item, { static guint block_signal = 0; EmpathyContactManager *manager; - gboolean blocked; + gboolean blocked, abusive; if (block_signal > 0) return; @@ -250,13 +250,13 @@ empathy_contact_block_menu_item_toggled (GtkCheckMenuItem *item, "window"); if (!empathy_block_contact_dialog_show (GTK_WINDOW (parent), - contact, NULL)) + contact, &abusive)) return; } manager = empathy_contact_manager_dup_singleton (); empathy_contact_list_set_blocked (EMPATHY_CONTACT_LIST (manager), - contact, blocked); + contact, blocked, abusive); g_object_unref (manager); /* update the toggle with the blocked status */ diff --git a/libempathy-gtk/empathy-individual-dialogs.c b/libempathy-gtk/empathy-individual-dialogs.c index e32ff05b6..22af8d567 100644 --- a/libempathy-gtk/empathy-individual-dialogs.c +++ b/libempathy-gtk/empathy-individual-dialogs.c @@ -240,7 +240,6 @@ empathy_block_individual_dialog_show (GtkWindow *parent, g_string_free (str, TRUE); res = gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); if (abusive != NULL) { @@ -251,5 +250,7 @@ empathy_block_individual_dialog_show (GtkWindow *parent, *abusive = FALSE; } + gtk_widget_destroy (dialog); + return res == GTK_RESPONSE_REJECT; } diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c index 55d25f801..d952b8269 100644 --- a/libempathy-gtk/empathy-individual-view.c +++ b/libempathy-gtk/empathy-individual-view.c @@ -2352,11 +2352,14 @@ individual_view_remove_activate_cb (GtkMenuItem *menuitem, text, can_block); if (res == GTK_RESPONSE_YES || res == GTK_RESPONSE_REJECT) { + gboolean abusive; + if (res == GTK_RESPONSE_REJECT && - empathy_block_individual_dialog_show (parent, individual, NULL)) + empathy_block_individual_dialog_show (parent, individual, + &abusive)) { empathy_individual_manager_set_blocked (manager, individual, - TRUE); + TRUE, abusive); } else { |