summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tvb@src.gnome.org>2006-08-22 18:43:19 +0000
committerTristan Van Berkom <tvb@src.gnome.org>2006-08-22 18:43:19 +0000
commit03ae74e36be9ef954b58a04273e19c6eab0283d0 (patch)
tree1686370cc5e3830570e86924a65e60661b83b194
parentc032eaca508684d67316128fc92efaa24da0fec9 (diff)
downloadglade-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.
-rw-r--r--ChangeLog4
-rw-r--r--src/glade-editor-property.c11
-rw-r--r--src/glade-property-class.c36
3 files changed, 40 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ae7af15..69873934 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@
GnomeDruidPageEdge, all text properties of GtkAboutDialog.
(reported by Olivier Rolland)
+ * 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.
+
2006-08-22 Changwoo Ryu <cwryu@debian.org>
* configure.in: Added ko in ALL_LINGUAS.
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);