Ejemplo n.º 1
0
static void
cell_toggled_cb (GtkCellRendererToggle *cell,
    const gchar *path_string,
    EmpathyGroupsWidget *self)
{
  EmpathyGroupsWidgetPriv *priv = GET_PRIV (self);
  GtkTreePath *path;
  GtkTreeIter iter;
  gboolean was_enabled;
  gchar *group;

  path = gtk_tree_path_new_from_string (path_string);

  gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->group_store), &iter,
      path);
  gtk_tree_model_get (GTK_TREE_MODEL (priv->group_store), &iter,
      COL_ENABLED, &was_enabled,
      COL_NAME, &group,
      -1);

  gtk_list_store_set (priv->group_store, &iter,
      COL_ENABLED, !was_enabled,
      -1);

  gtk_tree_path_free (path);

  if (group != NULL)
    {
      folks_group_details_change_group (priv->group_details, group,
          !was_enabled, (GAsyncReadyCallback) change_group_cb, self);
      g_free (group);
    }
}
static void
remove_group_cb (const gchar *id,
    FolksIndividual *individual,
    const gchar *group)
{
  folks_group_details_change_group (FOLKS_GROUP_DETAILS (individual), group,
      FALSE, groups_change_group_cb, NULL);
}
Ejemplo n.º 3
0
static void
add_group_button_clicked_cb (GtkButton *button,
   EmpathyGroupsWidget *self)
{
  EmpathyGroupsWidgetPriv *priv = GET_PRIV (self);
  const gchar *group;

  group = gtk_entry_get_text (GTK_ENTRY (priv->add_group_entry));

  gtk_list_store_insert_with_values (priv->group_store, NULL, -1,
      COL_NAME, group,
      COL_ENABLED, TRUE,
      -1);

  folks_group_details_change_group (priv->group_details, group, TRUE,
      (GAsyncReadyCallback) change_group_cb, self);
}