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); }
void ui_init (AppearanceData *data) { GObject *peditor; char *toolbar_style; gconf_client_add_dir (data->client, "/desktop/gnome/interface", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); peditor = gconf_peditor_new_boolean (NULL, "/desktop/gnome/interface/can_change_accels", glade_xml_get_widget (data->xml, "menu_accel_toggle"), NULL); peditor = gconf_peditor_new_boolean (NULL, "/desktop/gnome/interface/menus_have_icons", glade_xml_get_widget (data->xml, "menu_icons_toggle"), NULL); g_signal_connect (peditor, "value_changed", (GCallback) menus_have_icons_cb, data); set_have_icons (data, gconf_client_get_bool (data->client, "/desktop/gnome/interface/menus_have_icons", NULL)); peditor = gconf_peditor_new_combo_box (NULL, "/desktop/gnome/interface/toolbar_style", glade_xml_get_widget (data->xml, "toolbar_style_select"), "conv-to-widget-cb", toolbar_to_widget, "conv-from-widget-cb", toolbar_from_widget, NULL); g_signal_connect (peditor, "value_changed", (GCallback) toolbar_style_cb, data); g_signal_connect (glade_xml_get_widget (data->xml, "toolbar_handlebox"), "button_press_event", (GCallback) button_press_block_cb, NULL); show_handlebar (data, gconf_client_get_bool (data->client, "/desktop/gnome/interface/toolbar_detachable", NULL)); toolbar_style = gconf_client_get_string (data->client, "/desktop/gnome/interface/toolbar_style", NULL); set_toolbar_style (data, toolbar_style); g_free (toolbar_style); /* no ui for detachable toolbars */ gconf_client_notify_add (data->client, "/desktop/gnome/interface/toolbar_detachable", (GConfClientNotifyFunc) toolbar_detachable_cb, data, NULL, NULL); }
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); }
static void notifications_button_clicked_cb (GtkWidget *button, GladeXML *dialog) { GtkWidget *w; notifications_dialog = glade_xml_new (GNOMECC_GLADE_DIR "/gnome-keyboard-properties.glade", "a11y_notifications_dialog", NULL); stickykeys_enable_toggled_cb (WID ("stickykeys_enable"), dialog); slowkeys_enable_toggled_cb (WID ("slowkeys_enable"), dialog); bouncekeys_enable_toggled_cb (WID ("bouncekeys_enable"), dialog); w = NWID ("feature_state_change_beep"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/feature_state_change_beep", w, NULL); w = NWID ("togglekeys_enable"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/togglekeys_enable", w, NULL); w = NWID ("stickykeys_modifier_beep"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/stickykeys_modifier_beep", w, NULL); w = NWID ("slowkeys_beep_press"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/slowkeys_beep_press", w, NULL); w = NWID ("slowkeys_beep_accept"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/slowkeys_beep_accept", w, NULL); w = NWID ("slowkeys_beep_reject"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/slowkeys_beep_reject", w, NULL); w = NWID ("bouncekeys_beep_reject"); gconf_peditor_new_boolean (NULL, CONFIG_ROOT "/bouncekeys_beep_reject", w, NULL); w = NWID ("a11y_notifications_dialog"); gtk_window_set_transient_for (GTK_WINDOW (w), GTK_WINDOW (WID ("keyboard_dialog"))); g_signal_connect (w, "response", G_CALLBACK (a11y_notifications_dialog_response_cb), NULL); gtk_dialog_run (GTK_DIALOG (w)); g_object_unref (notifications_dialog); notifications_dialog = NULL; }
/* Set up the property editors in the dialog. */ static void setup_dialog (GladeXML *dialog, GConfChangeSet *changeset) { GtkRadioButton *radio; GObject *peditor; /* Orientation radio buttons */ radio = GTK_RADIO_BUTTON (WID ("left_handed_radio")); peditor = gconf_peditor_new_select_radio (changeset, "/desktop/gnome/peripherals/mouse/left_handed", gtk_radio_button_get_group (radio), "conv-to-widget-cb", left_handed_from_gconf, "conv-from-widget-cb", left_handed_to_gconf, NULL); g_signal_connect (WID ("right_handed_radio"), "button_release_event", G_CALLBACK (orientation_radio_button_release_event), NULL); g_signal_connect (WID ("left_handed_radio"), "button_release_event", G_CALLBACK (orientation_radio_button_release_event), NULL); /* Locate pointer toggle */ peditor = gconf_peditor_new_boolean (changeset, "/desktop/gnome/peripherals/mouse/locate_pointer", WID ("locate_pointer_toggle"), NULL); /* Double-click time */ peditor = gconf_peditor_new_numeric_range (changeset, DOUBLE_CLICK_KEY, WID ("delay_scale"), "conv-to-widget-cb", double_click_from_gconf, NULL); gtk_image_set_from_stock (GTK_IMAGE (WID ("double_click_image")), MOUSE_DBLCLCK_OFF, mouse_capplet_dblclck_icon_get_size ()); g_object_set_data (G_OBJECT (WID ("double_click_eventbox")), "image", WID ("double_click_image")); g_signal_connect (WID ("double_click_eventbox"), "button_press_event", G_CALLBACK (event_box_button_press_event), changeset); /* speed */ gconf_peditor_new_numeric_range (changeset, "/desktop/gnome/peripherals/mouse/motion_acceleration", WID ("accel_scale"), "conv-to-widget-cb", motion_acceleration_from_gconf, "conv-from-widget-cb", motion_acceleration_to_gconf, NULL); gconf_peditor_new_numeric_range (changeset, "/desktop/gnome/peripherals/mouse/motion_threshold", WID ("sensitivity_scale"), "conv-to-widget-cb", threshold_from_gconf, NULL); /* DnD threshold */ gconf_peditor_new_numeric_range (changeset, "/desktop/gnome/peripherals/mouse/drag_threshold", WID ("drag_threshold_scale"), "conv-to-widget-cb", drag_threshold_from_gconf, NULL); }
void setup_a11y_tabs (GladeXML *dialog, GConfChangeSet *changeset) { GConfClient *client; GtkWidget *w; client = gconf_client_get_default (); gconf_client_add_dir (client, CONFIG_ROOT, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); g_object_unref (client); /* Accessibility tab */ w = WID ("master_enable"); gconf_peditor_new_boolean (changeset, CONFIG_ROOT "/enable", w, NULL); w = WID ("stickykeys_enable"); gconf_peditor_new_boolean (changeset, CONFIG_ROOT "/stickykeys_enable", w, NULL); g_signal_connect (w, "toggled", G_CALLBACK (stickykeys_enable_toggled_cb), dialog); stickykeys_enable_toggled_cb (w, dialog); w = WID ("slowkeys_enable"); gconf_peditor_new_boolean (changeset, CONFIG_ROOT "/slowkeys_enable", w, NULL); g_signal_connect (w, "toggled", G_CALLBACK (slowkeys_enable_toggled_cb), dialog); slowkeys_enable_toggled_cb (w, dialog); w = WID ("bouncekeys_enable"); gconf_peditor_new_boolean (changeset, CONFIG_ROOT "/bouncekeys_enable", w, NULL); g_signal_connect (w, "toggled", G_CALLBACK (bouncekeys_enable_toggled_cb), dialog); bouncekeys_enable_toggled_cb (w, dialog); gconf_peditor_new_numeric_range (changeset, CONFIG_ROOT "/slowkeys_delay", WID ("slowkeys_delay_slide"), NULL); gconf_peditor_new_numeric_range (changeset, CONFIG_ROOT "/bouncekeys_delay", WID ("bouncekeys_delay_slide"), NULL); w = WID ("notifications_button"); g_signal_connect (w, "clicked", G_CALLBACK (notifications_button_clicked_cb), dialog); /* Mouse Keys tab */ w = WID ("mousekeys_enable"); gconf_peditor_new_boolean (changeset, CONFIG_ROOT "/mousekeys_enable", w, NULL); g_signal_connect (w, "toggled", G_CALLBACK (mousekeys_enable_toggled_cb), dialog); mousekeys_enable_toggled_cb (w, dialog); gconf_peditor_new_numeric_range (changeset, CONFIG_ROOT "/mousekeys_accel_time", WID ("mousekeys_accel_time_slide"), "conv-to-widget-cb", mousekeys_accel_time_to_widget, "conv-from-widget-cb", mousekeys_accel_time_from_widget, NULL); gconf_peditor_new_numeric_range (changeset, CONFIG_ROOT "/mousekeys_max_speed", WID ("mousekeys_max_speed_slide"), NULL); gconf_peditor_new_numeric_range (changeset, CONFIG_ROOT "/mousekeys_init_delay", WID ("mousekeys_init_delay_slide"), NULL); }