diff options
author | Tristan Van Berkom <tvb@src.gnome.org> | 2006-08-22 18:43:19 +0000 |
---|---|---|
committer | Tristan Van Berkom <tvb@src.gnome.org> | 2006-08-22 18:43:19 +0000 |
commit | 03ae74e36be9ef954b58a04273e19c6eab0283d0 (patch) | |
tree | 1686370cc5e3830570e86924a65e60661b83b194 /src | |
parent | c032eaca508684d67316128fc92efaa24da0fec9 (diff) | |
download | glade-03ae74e36be9ef954b58a04273e19c6eab0283d0.tar.gz |
Reverted to use of floating point precision in adjustments - use non
* src/glade-editor-property.c, src/glade-property-class.c: Reverted to use
of floating point precision in adjustments - use non locale specific
functions to write them out.
Diffstat (limited to 'src')
-rw-r--r-- | src/glade-editor-property.c | 11 | ||||
-rw-r--r-- | src/glade-property-class.c | 36 |
2 files changed, 36 insertions, 11 deletions
diff --git a/src/glade-editor-property.c b/src/glade-editor-property.c index ea242f74..7da9717e 100644 --- a/src/glade-editor-property.c +++ b/src/glade-editor-property.c @@ -2870,27 +2870,30 @@ glade_eprop_adjustment_create_input (GladeEditorProperty *eprop) GladeEPropAdjustment *eprop_adj = GLADE_EPROP_ADJUSTMENT (eprop); GtkWidget *widget; GtkTable *table; - - /* No decimal precision as we are only putting integer values - * in the glade file (older glade files do this, we'll just respect it). - */ + eprop_adj->value = gtk_spin_button_new_with_range (-G_MAXDOUBLE, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->value), 2); eprop_adj->ids.value = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->value, value); eprop_adj->value_adj = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (eprop_adj->value)); eprop_adj->lower = gtk_spin_button_new_with_range (-G_MAXDOUBLE, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->lower), 2); eprop_adj->ids.lower = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->lower, lower); eprop_adj->upper = gtk_spin_button_new_with_range (-G_MAXDOUBLE, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->upper), 2); eprop_adj->ids.upper = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->upper, upper); eprop_adj->step_increment = gtk_spin_button_new_with_range (0, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->step_increment), 2); eprop_adj->ids.step_increment = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->step_increment, step_increment); eprop_adj->page_increment = gtk_spin_button_new_with_range (0, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->page_increment), 2); eprop_adj->ids.page_increment = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->page_increment, page_increment); eprop_adj->page_size = gtk_spin_button_new_with_range (0, G_MAXDOUBLE, 1); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (eprop_adj->page_size), 2); eprop_adj->ids.page_size = GLADE_EPROP_ADJUSTMENT_CONNECT (eprop_adj->page_size, page_size); /* Eprop */ diff --git a/src/glade-property-class.c b/src/glade-property-class.c index 3cbcaa18..c6fcdb17 100644 --- a/src/glade-property-class.c +++ b/src/glade-property-class.c @@ -392,14 +392,36 @@ glade_property_class_make_string_from_object (GladePropertyClass *property_class } else if (property_class->pspec->value_type == GTK_TYPE_ADJUSTMENT) { +#define FLOAT_BUFSIZ 128 + GtkAdjustment *adj = GTK_ADJUSTMENT (object); - - /* Glade format expects integers */ - string = g_strdup_printf ("%d %d %d %d %d %d", - (gint)adj->value, (gint)adj->lower, (gint)adj->upper, - (gint)adj->step_increment, - (gint)adj->page_increment, - (gint)adj->page_size); + GString *str = g_string_new (""); + gchar buff[FLOAT_BUFSIZ]; + + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->value); + g_string_append (str, buff); + + g_string_append_c (str, ' '); + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->lower); + g_string_append (str, buff); + + g_string_append_c (str, ' '); + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->upper); + g_string_append (str, buff); + + g_string_append_c (str, ' '); + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->step_increment); + g_string_append (str, buff); + + g_string_append_c (str, ' '); + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->page_increment); + g_string_append (str, buff); + + g_string_append_c (str, ' '); + g_ascii_dtostr (buff, FLOAT_BUFSIZ, adj->page_size); + g_string_append (str, buff); + + string = g_string_free (str, FALSE); } else if ((gwidget = glade_widget_get_from_gobject (object)) != NULL) string = g_strdup (gwidget->name); |