aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTravis Reitter <treitter@gmail.com>2010-07-27 00:49:35 +0800
committerTravis Reitter <treitter@gmail.com>2010-07-27 18:51:15 +0800
commita976f8193404e5c89d0a9a9051f629057e200f9b (patch)
tree12f706dae59401c3950c02a51444072637f9b46d
parente854ea2dad6350cc1787f9ac9ee1012c7c2ebd77 (diff)
downloadgsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar.gz
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar.bz2
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar.lz
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar.xz
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.tar.zst
gsoc2013-empathy-a976f8193404e5c89d0a9a9051f629057e200f9b.zip
Adjust for signature change in folks_groups_change_group()
-rw-r--r--libempathy-gtk/empathy-individual-view.c22
-rw-r--r--libempathy/empathy-contact.c19
-rw-r--r--libempathy/empathy-individual-manager.c19
3 files changed, 56 insertions, 4 deletions
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index ef4f938f3..7083b238b 100644
--- a/libempathy-gtk/empathy-individual-view.c
+++ b/libempathy-gtk/empathy-individual-view.c
@@ -320,6 +320,22 @@ OUT:
}
static void
+groups_change_group_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ FolksGroups *groups = FOLKS_GROUPS (source);
+ GError *error = NULL;
+
+ folks_groups_change_group_finish (groups, result, &error);
+ if (error != NULL)
+ {
+ g_warning ("failed to change group: %s", error->message);
+ g_clear_error (&error);
+ }
+}
+
+static void
individual_view_handle_drag (EmpathyIndividualView *self,
FolksIndividual *individual,
const gchar *old_group,
@@ -349,10 +365,12 @@ individual_view_handle_drag (EmpathyIndividualView *self,
}
if (new_group != NULL)
- folks_groups_change_group (FOLKS_GROUPS (individual), new_group, TRUE);
+ folks_groups_change_group (FOLKS_GROUPS (individual), new_group, TRUE,
+ groups_change_group_cb, NULL);
if (old_group != NULL && action == GDK_ACTION_MOVE)
- folks_groups_change_group (FOLKS_GROUPS (individual), old_group, FALSE);
+ folks_groups_change_group (FOLKS_GROUPS (individual), old_group, FALSE,
+ groups_change_group_cb, NULL);
}
static gboolean
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index 9a2bd8fb5..6842cde09 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -662,6 +662,22 @@ empathy_contact_set_alias (EmpathyContact *contact,
g_object_unref (contact);
}
+static void
+groups_change_group_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ FolksGroups *groups = FOLKS_GROUPS (source);
+ GError *error = NULL;
+
+ folks_groups_change_group_finish (groups, result, &error);
+ if (error != NULL)
+ {
+ g_warning ("failed to change group: %s", error->message);
+ g_clear_error (&error);
+ }
+}
+
void
empathy_contact_change_group (EmpathyContact *contact, const gchar *group,
gboolean is_member)
@@ -679,7 +695,8 @@ empathy_contact_change_group (EmpathyContact *contact, const gchar *group,
if (persona != NULL)
{
if (FOLKS_IS_GROUPS (persona))
- folks_groups_change_group (FOLKS_GROUPS (persona), group, is_member);
+ folks_groups_change_group (FOLKS_GROUPS (persona), group, is_member,
+ groups_change_group_cb, contact);
return;
}
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index 32442f94c..55541b299 100644
--- a/libempathy/empathy-individual-manager.c
+++ b/libempathy/empathy-individual-manager.c
@@ -368,11 +368,28 @@ empathy_individual_manager_remove (EmpathyIndividualManager *self,
}
static void
+groups_change_group_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ FolksGroups *groups = FOLKS_GROUPS (source);
+ GError *error = NULL;
+
+ folks_groups_change_group_finish (groups, result, &error);
+ if (error != NULL)
+ {
+ g_warning ("failed to change group: %s", error->message);
+ g_clear_error (&error);
+ }
+}
+
+static void
remove_group_cb (const gchar *id,
FolksIndividual *individual,
const gchar *group)
{
- folks_groups_change_group (FOLKS_GROUPS (individual), group, FALSE);
+ folks_groups_change_group (FOLKS_GROUPS (individual), group, FALSE,
+ groups_change_group_cb, NULL);
}
void