static GConfValue * cc_ua_panel_toggle_switch (GConfPropertyEditor *peditor, const GConfValue *value) { GtkWidget *sw; gboolean enabled; enabled = gconf_value_get_bool (value); sw = (GtkWidget*) gconf_property_editor_get_ui_control (peditor); gtk_switch_set_active (GTK_SWITCH (sw), enabled); return gconf_value_copy (value); }
static GConfValue * mousekeys_accel_time_to_widget (GConfPropertyEditor *peditor, const GConfValue *value) { GtkAdjustment *adjustment; gdouble range_upper; GConfValue *new_value; adjustment = GTK_ADJUSTMENT (gconf_property_editor_get_ui_control (peditor)); g_object_get (adjustment, "upper", &range_upper, NULL); new_value = gconf_value_new (GCONF_VALUE_INT); gconf_value_set_int (new_value, MAX (0, ((int) range_upper) - gconf_value_get_int (value))); return new_value; }
static GConfValue * application_font_to_gconf (GConfPropertyEditor *peditor, GConfValue *value) { GConfValue *new_value; const char *new_font; GtkWidget *font_button; gint danger_level; font_button = GTK_WIDGET (gconf_property_editor_get_ui_control (peditor)); g_return_val_if_fail (font_button != NULL, NULL); new_value = gconf_value_new (GCONF_VALUE_STRING); new_font = gconf_value_get_string (value); if (font_dangerous (old_font)) { /* If we're already too large, we don't warn again. */ gconf_value_set_string (new_value, new_font); return new_value; } danger_level = font_dangerous (new_font); if (danger_level) { GtkWidget *warning_dialog, *apply_button; const gchar *warning_label; gchar *warning_label2; warning_label = _("Font may be too large"); if (danger_level > MAX_FONT_POINT_WITHOUT_WARNING) { warning_label2 = g_strdup_printf (ngettext ( "The font selected is %d point large, " "and may make it difficult to effectively " "use the computer. It is recommended that " "you select a size smaller than %d.", "The font selected is %d points large, " "and may make it difficult to effectively " "use the computer. It is recommended that " "you select a size smaller than %d.", danger_level), danger_level, MAX_FONT_POINT_WITHOUT_WARNING); } else { warning_label2 = g_strdup_printf (ngettext ( "The font selected is %d point large, " "and may make it difficult to effectively " "use the computer. It is recommended that " "you select a smaller sized font.", "The font selected is %d points large, " "and may make it difficult to effectively " "use the computer. It is recommended that " "you select a smaller sized font.", danger_level), danger_level); } warning_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, warning_label); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (warning_dialog), warning_label2); gtk_dialog_add_button (GTK_DIALOG (warning_dialog), _("Use previous font"), GTK_RESPONSE_CLOSE); apply_button = gtk_button_new_with_label (_("Use selected font")); gtk_button_set_image (GTK_BUTTON (apply_button), gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_BUTTON)); gtk_dialog_add_action_widget (GTK_DIALOG (warning_dialog), apply_button, GTK_RESPONSE_APPLY); GTK_WIDGET_SET_FLAGS (apply_button, GTK_CAN_DEFAULT); gtk_widget_show (apply_button); gtk_dialog_set_default_response (GTK_DIALOG (warning_dialog), GTK_RESPONSE_CLOSE); g_free (warning_label2); if (gtk_dialog_run (GTK_DIALOG (warning_dialog)) == GTK_RESPONSE_APPLY) { gconf_value_set_string (new_value, new_font); } else { gconf_value_set_string (new_value, old_font); gtk_font_button_set_font_name (GTK_FONT_BUTTON (font_button), old_font); } gtk_widget_destroy (warning_dialog); } else { gconf_value_set_string (new_value, new_font); } return new_value; }