static void setup_dialog (GladeXML *dialog, GConfChangeSet *changeset) { GObject *peditor; GtkSizeGroup *combobox_size_group; GtkSizeGroup *label_size_group; gconf_client_add_dir (gconf_client, GST_GCONF_DIR, GCONF_CLIENT_PRELOAD_RECURSIVE, NULL); combobox_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); label_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); gtk_size_group_add_widget (label_size_group, WID ("sounds_playback_label")); gtk_size_group_add_widget (label_size_group, WID ("music_playback_label")); gtk_size_group_add_widget (label_size_group, WID ("chat_audio_playback_label")); gtk_size_group_add_widget (label_size_group, WID ("chat_audio_capture_label")); gtk_size_group_add_widget (label_size_group, WID ("mixer_device_label")); gtk_size_group_add_widget (combobox_size_group, WID ("sounds_playback_device")); gtk_size_group_add_widget (combobox_size_group, WID ("music_playback_device")); gtk_size_group_add_widget (combobox_size_group, WID ("chat_audio_playback_device")); gtk_size_group_add_widget (combobox_size_group, WID ("chat_audio_capture_device")); setup_device_chooser ("", AUDIO_PLAYBACK, WID ("sounds_playback_device"), WID ("sounds_playback_test"), AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink"); setup_device_chooser ("music", AUDIO_PLAYBACK, WID ("music_playback_device"), WID ("music_playback_test"), AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=music"); setup_device_chooser ("chat", AUDIO_PLAYBACK, WID ("chat_audio_playback_device"), WID ("chat_audio_playback_test"), AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=chat"); setup_device_chooser ("", AUDIO_CAPTURE, WID ("chat_audio_capture_device"), WID ("chat_audio_capture_test"), "gconfaudiosrc" AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=chat"); #ifdef HAVE_ESD peditor = gconf_peditor_new_boolean (NULL, ENABLE_ESD_KEY, WID ("enable_toggle"), NULL); gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("events_toggle")); gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("events_vbox")); #else gtk_widget_hide (WID ("enable_toggle")); #endif gconf_peditor_new_boolean (NULL, EVENT_SOUNDS_KEY, WID ("events_toggle"), NULL); gconf_peditor_new_boolean (NULL, AUDIO_BELL_KEY, WID ("bell_audible_toggle"), NULL); peditor = gconf_peditor_new_boolean (NULL, VISUAL_BELL_KEY, WID ("bell_visual_toggle"), NULL); gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("bell_flash_vbox")); /* peditor not so convenient for the radiobuttons */ gconf_peditor_new_select_radio (NULL, VISUAL_BELL_TYPE_KEY, gtk_radio_button_get_group (GTK_RADIO_BUTTON (WID ("bell_flash_window_radio"))), "conv-to-widget-cb", bell_flash_to_widget, "conv-from-widget-cb", bell_flash_from_widget, NULL); setup_default_mixer (dialog); }
static void setup_dialog (GladeXML *dialog, GConfChangeSet *changeset) { GObject *peditor; gint corner; for (corner = REGION_FIRST_CORNER; REGION_IS_CORNER (corner); ++corner) { GtkWidget *toggle = WID (corners[corner].enabled_toggle_id); GtkWidget *menu = WID (corners[corner].action_menu_id); peditor = gconf_peditor_new_boolean (NULL, (gchar *) corners[corner].enabled_key, toggle, NULL); g_signal_connect (GTK_OBJECT (toggle), "toggled", G_CALLBACK (update_widgets_sensitive_cb), dialog); gconf_peditor_new_select_menu (NULL, (gchar *) corners[corner].action_key, menu, "conv-to-widget-cb", action_to_widget, "conv-from-widget-cb", action_from_widget, NULL); g_signal_connect (GTK_OBJECT (menu), "changed", G_CALLBACK (corner_action_changed_cb), GINT_TO_POINTER (corner)); } gconf_peditor_new_select_radio (NULL, CORNER_FLIP_KEY, gtk_radio_button_get_group ( GTK_RADIO_BUTTON (WID ("corners_flip"))), "conv-to-widget-cb", corner_flip_to_widget, "conv-from-widget-cb", corner_flip_from_widget, NULL); g_signal_connect (GTK_OBJECT (WID ("corners_flip")), "toggled", G_CALLBACK (update_widgets_sensitive_cb), dialog); g_signal_connect (GTK_OBJECT (WID ("edge_flip_enabled")), "toggled", G_CALLBACK (update_widgets_sensitive_cb), dialog); /* call callback to set delay slider sensitive state */ update_widgets_sensitive_cb (NULL, dialog); gconf_peditor_new_numeric_range (NULL, CORNER_DELAY_KEY, WID ("corner_delay_scale"), NULL); peditor = gconf_peditor_new_boolean (NULL, ENABLE_EDGE_FLIP_KEY, WID ("edge_flip_enabled"), NULL); gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("edge_delay_scale")); gconf_peditor_new_numeric_range (NULL, EDGE_DELAY_KEY, WID ("edge_delay_scale"), NULL); gconf_peditor_new_boolean (NULL, EDGE_WRAP_KEY, WID ("edge_wrap_enabled"), NULL); }