static void cc_ua_panel_init_hearing (CcUaPanel *self) { CcUaPanelPrivate *priv = self->priv; GtkWidget *w; GConfEntry *entry; guint id; gconf_client_add_dir (priv->client, "/apps/metacity/general", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); w = WID (priv->builder, "hearing_visual_alerts_switch"); gconf_on_off_peditor_new (priv, "/apps/metacity/general/visual_bell", w, visual_alerts_section); /* visual bell type */ id = gconf_client_notify_add (priv->client, "/apps/metacity/general/visual_bell_type", (GConfClientNotifyFunc) visual_bell_type_notify_cb, self, NULL, NULL); priv->notify_list = g_slist_prepend (priv->notify_list, GINT_TO_POINTER (id)); /* set the initial value */ entry = gconf_client_get_entry (priv->client, "/apps/metacity/general/visual_bell_type", NULL, TRUE, NULL); if (entry == NULL) g_warning ("The following warning is because metacity's GConf settings aren't installed"); visual_bell_type_notify_cb (priv->client, 0, entry, self); g_signal_connect (WID (priv->builder, "hearing_flash_window_title_button"), "toggled", G_CALLBACK (visual_bell_type_toggle_cb), self); /* test flash */ g_signal_connect (WID (priv->builder, "hearing_test_flash_button"), "clicked", G_CALLBACK (gdk_beep), NULL); g_signal_connect (WID (priv->builder, "hearing_sound_preferences_link"), "activate-link", G_CALLBACK (hearing_sound_preferences_clicked), self); }
static GtkWidget* gconf_dialog_create_proxy_widget (GConfDialog* self, const char* key, GError** error) { GtkWidget* result = NULL; GError * _inner_error_; GConfEntry* entry; GConfSchema* schema; const char* tooltip; GtkBox* row; GtkLabel* label; GtkWidget* action_widget; GtkWidget* render_widget; GConfEntry* _tmp10_; GtkButton* reset; GConfEntry* _tmp11_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (key != NULL, NULL); _inner_error_ = NULL; entry = gconf_client_get_entry (self->priv->_default_client, key, NULL, TRUE, &_inner_error_); if (_inner_error_ != NULL) { g_propagate_error (error, _inner_error_); return NULL; } schema = gconf_dialog_safely_get_schema (self, entry); tooltip = gconf_schema_get_long_desc (schema); row = (GtkBox*) g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 0)); label = g_object_ref_sink ((GtkLabel*) gtk_label_new (gconf_schema_get_short_desc (schema))); gtk_label_set_justify (label, GTK_JUSTIFY_LEFT); gtk_widget_set_tooltip_text ((GtkWidget*) label, tooltip); action_widget = NULL; render_widget = NULL; switch (gconf_schema_get_type (schema)) { case GCONF_VALUE_BOOL: { GtkCheckButton* checkbox; gboolean _tmp0_; GtkWidget* _tmp1_; GtkWidget* _tmp2_; checkbox = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new ()); _tmp0_ = gconf_client_get_bool (self->priv->_default_client, entry->key, &_inner_error_); if (_inner_error_ != NULL) { g_propagate_error (error, _inner_error_); _g_object_unref0 (checkbox); _g_object_unref0 (render_widget); _g_object_unref0 (action_widget); _g_object_unref0 (label); _g_object_unref0 (row); _gconf_schema_free0 (schema); _gconf_entry_unref0 (entry); return NULL; } gtk_toggle_button_set_active ((GtkToggleButton*) checkbox, _tmp0_); g_signal_connect_object ((GtkButton*) checkbox, "clicked", (GCallback) _gconf_dialog_onCheckButtonActivated_gtk_button_clicked, self, 0); gtk_container_add ((GtkContainer*) checkbox, (GtkWidget*) label); render_widget = (_tmp1_ = _g_object_ref0 ((GtkWidget*) checkbox), _g_object_unref0 (render_widget), _tmp1_); action_widget = (_tmp2_ = _g_object_ref0 (render_widget), _g_object_unref0 (action_widget), _tmp2_); _g_object_unref0 (checkbox); break; } case GCONF_VALUE_STRING: { GtkEntry* entrybox; GtkHBox* box; char* _tmp3_; char* _tmp4_; GtkWidget* _tmp5_; GtkWidget* _tmp6_; entrybox = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()); box = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 0)); _tmp3_ = gconf_client_get_string (self->priv->_default_client, entry->key, &_inner_error_); if (_inner_error_ != NULL) { g_propagate_error (error, _inner_error_); _g_object_unref0 (box); _g_object_unref0 (entrybox); _g_object_unref0 (render_widget); _g_object_unref0 (action_widget); _g_object_unref0 (label); _g_object_unref0 (row); _gconf_schema_free0 (schema); _gconf_entry_unref0 (entry); return NULL; } gtk_entry_set_text (entrybox, _tmp4_ = _tmp3_); _g_free0 (_tmp4_); gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, FALSE, FALSE, (guint) 2); gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) entrybox, FALSE, FALSE, (guint) 2); action_widget = (_tmp5_ = _g_object_ref0 ((GtkWidget*) entrybox), _g_object_unref0 (action_widget), _tmp5_); render_widget = (_tmp6_ = _g_object_ref0 ((GtkWidget*) box), _g_object_unref0 (render_widget), _tmp6_); _g_object_unref0 (box); _g_object_unref0 (entrybox); break; } case GCONF_VALUE_INT: { GtkHBox* box; GtkSpinButton* spin; gint _tmp7_; GtkWidget* _tmp8_; GtkWidget* _tmp9_; box = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 0)); spin = g_object_ref_sink ((GtkSpinButton*) gtk_spin_button_new_with_range ((double) (-100), (double) 200, (double) 1)); _tmp7_ = gconf_client_get_int (self->priv->_default_client, entry->key, &_inner_error_); if (_inner_error_ != NULL) { g_propagate_error (error, _inner_error_); _g_object_unref0 (spin); _g_object_unref0 (box); _g_object_unref0 (render_widget); _g_object_unref0 (action_widget); _g_object_unref0 (label); _g_object_unref0 (row); _gconf_schema_free0 (schema); _gconf_entry_unref0 (entry); return NULL; } gtk_spin_button_set_value (spin, (double) _tmp7_); g_signal_connect_object (spin, "value-changed", (GCallback) _gconf_dialog_onSpinButtonValueChanged_gtk_spin_button_value_changed, self, 0); gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, FALSE, FALSE, (guint) 2); gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) spin, FALSE, FALSE, (guint) 2); action_widget = (_tmp8_ = _g_object_ref0 ((GtkWidget*) spin), _g_object_unref0 (action_widget), _tmp8_); render_widget = (_tmp9_ = _g_object_ref0 ((GtkWidget*) box), _g_object_unref0 (render_widget), _tmp9_); _g_object_unref0 (spin); _g_object_unref0 (box); break; } default: { result = (GtkWidget*) g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()); _g_object_unref0 (render_widget); _g_object_unref0 (action_widget); _g_object_unref0 (label); _g_object_unref0 (row); _gconf_schema_free0 (schema); _gconf_entry_unref0 (entry); return result; } } gtk_widget_set_tooltip_text (action_widget, tooltip); g_object_set_data_full ((GObject*) action_widget, "gconf-entry", (_tmp10_ = entry, (_tmp10_ == NULL) ? NULL : gconf_entry_ref (_tmp10_), _tmp10_), gconf_entry_unref); g_object_set_data_full ((GObject*) action_widget, "gconf-schema", gconf_schema_copy (schema), gconf_schema_free); reset = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock (GTK_STOCK_CLEAR)); gtk_widget_set_tooltip_text ((GtkWidget*) reset, _ ("Reset to the default value")); g_object_set_data_full ((GObject*) reset, "gconf-entry", (_tmp11_ = entry, (_tmp11_ == NULL) ? NULL : gconf_entry_ref (_tmp11_), _tmp11_), gconf_entry_unref); g_object_set_data_full ((GObject*) reset, "gconf-schema", gconf_schema_copy (schema), gconf_schema_free); g_object_set_data_full ((GObject*) reset, "target", _g_object_ref0 (action_widget), g_object_unref); g_signal_connect_object (reset, "clicked", (GCallback) _gconf_dialog_onResetButtonPressed_gtk_button_clicked, self, 0); gtk_box_pack_start (row, render_widget, FALSE, FALSE, (guint) 2); gtk_box_pack_end (row, (GtkWidget*) reset, FALSE, FALSE, (guint) 2); result = (GtkWidget*) row; _g_object_unref0 (reset); _g_object_unref0 (render_widget); _g_object_unref0 (action_widget); _g_object_unref0 (label); _gconf_schema_free0 (schema); _gconf_entry_unref0 (entry); return result; }