/* Append the list of entries as an array. */ void gconf_dbus_utils_append_entries (DBusMessageIter *iter, GSList *entries) { DBusMessageIter array_iter; GSList *l; dbus_message_iter_open_container (iter, DBUS_TYPE_ARRAY, DBUS_STRUCT_BEGIN_CHAR_AS_STRING DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_BOOLEAN_AS_STRING DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_BOOLEAN_AS_STRING DBUS_TYPE_BOOLEAN_AS_STRING DBUS_STRUCT_END_CHAR_AS_STRING, &array_iter); for (l = entries; l; l = l->next) { GConfEntry *entry = l->data; utils_append_entry_values_stringified (&array_iter, entry->key, gconf_entry_get_value (entry), gconf_entry_get_is_default (entry), gconf_entry_get_is_writable (entry), gconf_entry_get_schema_name (entry)); } dbus_message_iter_close_container (iter, &array_iter); }
static GConfSchema* gconf_dialog_safely_get_schema (GConfDialog* self, GConfEntry* entry) { GConfSchema* result = NULL; GError * _inner_error_; const char* schema_name; GConfSchema* rt; GConfSchema* _tmp3_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (entry != NULL, NULL); _inner_error_ = NULL; schema_name = gconf_entry_get_schema_name (entry); rt = NULL; if (schema_name != NULL) { { GConfSchema* _tmp0_; GConfSchema* _tmp2_; GConfSchema* _tmp1_; _tmp0_ = gconf_client_get_schema (self->priv->_default_client, schema_name, &_inner_error_); if (_inner_error_ != NULL) { goto __catch24_g_error; } rt = (_tmp2_ = gconf_schema_copy (_tmp1_ = _tmp0_), _gconf_schema_free0 (rt), _tmp2_); _gconf_schema_free0 (_tmp1_); result = rt; return result; } goto __finally24; __catch24_g_error: { GError * e; e = _inner_error_; _inner_error_ = NULL; { _g_error_free0 (e); } } __finally24: if (_inner_error_ != NULL) { _gconf_schema_free0 (rt); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } } g_critical ("gtkextra-gconfdialog.vala:161: schema not found for entry %s", gconf_entry_get_key (entry)); rt = (_tmp3_ = gconf_schema_new (), _gconf_schema_free0 (rt), _tmp3_); gconf_schema_set_short_desc (rt, gconf_entry_get_key (entry)); gconf_schema_set_long_desc (rt, "This key lacks a schema"); gconf_schema_set_type (rt, GCONF_VALUE_STRING); result = rt; return result; }
static void gnc_reset_warnings_add_one (GConfEntry *entry, GtkWidget *box) { const gchar *name, *schema_name, *desc, *long_desc = NULL; GtkWidget *checkbox; GConfSchema *schema = NULL; ENTER(" "); name = strrchr(entry->key, '/') + 1; schema_name = gconf_entry_get_schema_name(entry); if (schema_name) schema = gnc_gconf_get_schema(NULL, schema_name, NULL); if (schema) { DEBUG("found schema %p", schema); desc = gconf_schema_get_short_desc(schema); DEBUG("description %s", desc); long_desc = gconf_schema_get_long_desc(schema); checkbox = gtk_check_button_new_with_label(desc ? desc : name); if (long_desc) { GtkTooltips *tips; tips = g_object_get_data(G_OBJECT(box), TIPS_STRING); if (!tips) { tips = gtk_tooltips_new(); g_object_set_data(G_OBJECT(box), TIPS_STRING, tips); } gtk_tooltips_set_tip(tips, checkbox, long_desc, NULL); } gconf_schema_free(schema); } else { DEBUG("no schema"); checkbox = gtk_check_button_new_with_label(name); } gtk_widget_set_name(checkbox, entry->key); g_signal_connect_swapped(G_OBJECT(checkbox), "toggled", (GCallback)gnc_reset_warnings_update_widgets, box); gtk_box_pack_start_defaults(GTK_BOX(box), checkbox); LEAVE(" "); }