void submit (Ekiga::FormBuilder &builder) { GtkTreeModel *model = NULL; GtkTreeIter iter; std::set<std::string> values; std::set<std::string> proposed_values; model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view)); if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter)) { do { gboolean active = FALSE; gchar *value = NULL; gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, COLUMN_ACTIVE, &active, COLUMN_VALUE, &value, -1); if (value) { if (active) values.insert (value); else proposed_values.insert (value); g_free (value); } } while (gtk_tree_model_iter_next (GTK_TREE_MODEL (model), &iter)); } builder.editable_set (name, description, values, proposed_values, advanced); }