aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2011-02-15 05:22:33 +0800
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2011-02-15 05:22:33 +0800
commitb3399c7cdfc007245179797e44f5edae1fc27dd3 (patch)
tree5be536d20adbf37e0ddb29a0fc60ea7298bb6e5b /libempathy-gtk
parent9060de5a495ec7afc49c08299c9b060c0abaae56 (diff)
parent2a2ff64bde87c68a256f2c6ddacc559668ddd265 (diff)
downloadgsoc2013-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.c10
-rw-r--r--libempathy-gtk/empathy-contact-dialogs.c9
-rw-r--r--libempathy-gtk/empathy-contact-menu.c6
-rw-r--r--libempathy-gtk/empathy-individual-dialogs.c3
-rw-r--r--libempathy-gtk/empathy-individual-view.c7
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
{