[gnumeric] Graphs: fix problems with date axes.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Graphs: fix problems with date axes.
- Date: Wed, 1 Sep 2010 00:58:53 +0000 (UTC)
commit cd0187cf8fbb101bd1652225135ebbe86b1536fc
Author: Morten Welinder <terra gnome org>
Date: Tue Aug 31 20:58:32 2010 -0400
Graphs: fix problems with date axes.
ChangeLog | 5 +++++
NEWS | 1 +
src/wbc-gtk.c | 20 +++++++++++++-------
src/widgets/ChangeLog | 5 +++++
src/widgets/gnumeric-expr-entry.c | 13 +++++++++----
5 files changed, 33 insertions(+), 11 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c4ffba3..41efe1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-31 Morten Welinder <terra gnome org>
+
+ * src/wbc-gtk.c (set_entry_contents): Set scalar values using the
+ editor's method for that. That helps with formats.
+
2010-08-30 Morten Welinder <terra gnome org>
* src/clipboard.c (paste_cell): Also translate dates with
diff --git a/NEWS b/NEWS
index 4efc8d1..f10a2d0 100644
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,7 @@ Morten:
* Allow use of glib's memory profiler.
* Fix some confusion of char vs. xmlChar.
* Fix elapsed-time entry. [#628082]
+ * Fix problems with limits for date axes.
--------------------------------------------------------------------------
Gnumeric 1.10.9
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
index fa77e60..1789cf5 100644
--- a/src/wbc-gtk.c
+++ b/src/wbc-gtk.c
@@ -5362,13 +5362,19 @@ cb_graph_dim_entry_changed (GraphDimEditor *editor)
static void
set_entry_contents (GnmExprEntry *entry, GOData *val)
{
- SheetControlGUI *scg = gnm_expr_entry_get_scg (entry);
- Sheet const *sheet = scg_sheet (scg);
- char *txt;
-
- txt = go_data_serialize (val, (gpointer)sheet->convs);
- gnm_expr_entry_load_from_text (entry, txt);
- g_free (txt);
+ if (go_data_get_n_dimensions (val) == 0 &&
+ go_data_get_n_values (val) == 1) {
+ double d = go_data_get_scalar_value (val);
+ GODateConventions const *date_conv = go_data_date_conv (val);
+ gog_data_editor_set_value_double (GOG_DATA_EDITOR (entry),
+ d, date_conv);
+ } else {
+ SheetControlGUI *scg = gnm_expr_entry_get_scg (entry);
+ Sheet const *sheet = scg_sheet (scg);
+ char *txt = go_data_serialize (val, (gpointer)sheet->convs);
+ gnm_expr_entry_load_from_text (entry, txt);
+ g_free (txt);
+ }
}
static void
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index 60f08a3..2e82aa8 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-31 Morten Welinder <terra gnome org>
+
+ * gnumeric-expr-entry.c (gee_set_property): Don't do anything for
+ text changes that do not change anything.
+
2010-08-16 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_set_tooltip_completion): fix gettext/macro
diff --git a/src/widgets/gnumeric-expr-entry.c b/src/widgets/gnumeric-expr-entry.c
index 1a2c0f4..d64edff 100644
--- a/src/widgets/gnumeric-expr-entry.c
+++ b/src/widgets/gnumeric-expr-entry.c
@@ -458,10 +458,15 @@ gee_set_property (GObject *object,
gtk_object_destroy (GTK_OBJECT (gee->icon));
break;
- case PROP_TEXT:
- gnm_expr_entry_load_from_text (gee, g_value_get_string (value));
- gnm_expr_entry_signal_update (gee, FALSE);
+ case PROP_TEXT: {
+ const char *new_txt = g_value_get_string (value);
+ const char *old_txt = gnm_expr_entry_get_text (gee);
+ if (go_str_compare (new_txt, old_txt)) {
+ gnm_expr_entry_load_from_text (gee, new_txt);
+ gnm_expr_entry_signal_update (gee, FALSE);
+ }
break;
+ }
case PROP_FLAGS:
gnm_expr_entry_set_flags (gee,
@@ -1775,7 +1780,7 @@ gnm_expr_entry_find_range (GnmExprEntry *gee)
ptr = text;
if (gnm_debug_flag ("rangeselection"))
- g_print ("text: >%s< -- cursor: >%s<\n", text, cursor);
+ g_printerr ("text: >%s< -- cursor: >%s<\n", text, cursor);
if (ptr[0] == '\0') {
rs->text_end = rs->text_start =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]