[gnumeric] GUI: Fix abs/rel stickiness in expression entry.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] GUI: Fix abs/rel stickiness in expression entry.
- Date: Fri, 27 Jan 2012 22:11:04 +0000 (UTC)
commit 0be7e33ce8e692e67dcef6ddaf81b3aff93e996c
Author: Morten Welinder <terra gnome org>
Date: Fri Jan 27 17:10:09 2012 -0500
GUI: Fix abs/rel stickiness in expression entry.
Now default to relative instead of previous.
NEWS | 1 +
src/widgets/ChangeLog | 5 ++++
src/widgets/gnumeric-expr-entry.c | 38 +++++++++++++++++-------------------
3 files changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/NEWS b/NEWS
index b7f113f..3b60184 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,7 @@ Morten:
* Fix paste special undo problem. [#667702]
* Fix F4 (abs/rel-cycling) bug. [#668625]
* Fix minor function name completion bug. [#668624]
+ * Fix abs/rel stickiness in expression entry. [#668691]
--------------------------------------------------------------------------
Gnumeric 1.11.1
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index e805bb0..5caec1a 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-27 Morten Welinder <terra gnome org>
+
+ * gnumeric-expr-entry.c (gnm_expr_entry_find_range): Default to
+ relative references, not previous. Fixes #668691.
+
2012-01-26 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnumeric-expr-entry.c (gee_create_tooltip): use a text view
diff --git a/src/widgets/gnumeric-expr-entry.c b/src/widgets/gnumeric-expr-entry.c
index 004536e..d2ca575 100644
--- a/src/widgets/gnumeric-expr-entry.c
+++ b/src/widgets/gnumeric-expr-entry.c
@@ -441,7 +441,8 @@ gee_set_format (GnmExprEntry *gee, GOFormat const *fmt)
gee->constant_format = fmt;
if (gee_debug)
- g_printerr ("Setting format %s\n", fmt ? go_format_as_XL (fmt) : "-");
+ g_printerr ("Setting format %s\n",
+ fmt ? go_format_as_XL (fmt) : "-");
if (fmt && go_format_is_date (fmt)) {
if (!gee->calendar_combo) {
@@ -984,12 +985,12 @@ gee_set_tooltip_completion (GnmExprEntry *gee, GSList *list, guint start, guint
static void
gee_dump_lexer (GnmLexerItem *gli) {
- g_print ("************\n");
+ g_printerr ("************\n");
do {
- g_print ("%2" G_GSIZE_FORMAT " to %2" G_GSIZE_FORMAT ": %d\n",
- gli->start, gli->end, gli->token);
+ g_printerr ("%2" G_GSIZE_FORMAT " to %2" G_GSIZE_FORMAT ": %d\n",
+ gli->start, gli->end, gli->token);
} while (gli++->token != 0);
- g_print ("************\n");
+ g_printerr ("************\n");
}
@@ -1160,9 +1161,9 @@ gee_check_tooltip (GnmExprEntry *gee)
goto not_found;
if (gnm_debug_flag ("functooltip"))
- g_print ("Last token considered is %d from %2"
- G_GSIZE_FORMAT " to %2" G_GSIZE_FORMAT ".\n",
- gli->token, gli->start, gli->end);
+ g_printerr ("Last token considered is %d from %2"
+ G_GSIZE_FORMAT " to %2" G_GSIZE_FORMAT ".\n",
+ gli->token, gli->start, gli->end);
while (gli->start > 1) {
@@ -1912,15 +1913,12 @@ gnm_expr_entry_find_range (GnmExprEntry *gee)
g_return_val_if_fail (gee != NULL, FALSE);
- rs = &gee->rangesel;
single = (gee->flags & GNM_EE_SINGLE_RANGE) != 0;
-
-
- rs->ref.a.sheet = rs->ref.b.sheet = NULL;
+ rs = &gee->rangesel;
+ memset (rs, 0, sizeof (*rs));
+ rs->ref.a.col_relative = rs->ref.a.row_relative = TRUE;
+ rs->ref.b.col_relative = rs->ref.b.row_relative = TRUE;
gee_force_abs_rel (gee);
- rs->is_valid = FALSE;
- rs->text_start = 0;
- rs->text_end = 0;
text = gtk_entry_get_text (gee->entry);
if (text == NULL)
@@ -1981,11 +1979,11 @@ gnm_expr_entry_find_range (GnmExprEntry *gee)
gee_find_lexer_token (gli, (guint)token_pos, &gli_before, &gli_after);
if (gnm_debug_flag ("rangeselection")) {
- g_print ("before: %p -- after: %p\n", gli_before, gli_after);
+ g_printerr ("before: %p -- after: %p\n", gli_before, gli_after);
if (gli_before)
- g_print ("before token: %d\n", gli_before->token);
+ g_printerr ("before token: %d\n", gli_before->token);
if (gli_after)
- g_print ("after token: %d\n", gli_after->token);
+ g_printerr ("after token: %d\n", gli_after->token);
}
if (gli_before == NULL && gli_after == NULL)
@@ -2085,8 +2083,8 @@ gnm_expr_entry_find_range (GnmExprEntry *gee)
}
if (gnm_debug_flag ("rangeselection"))
- g_print ("characters from %d to %d\n",
- rs->text_start, rs->text_end);
+ g_printerr ("characters from %d to %d\n",
+ rs->text_start, rs->text_end);
rs_text = gtk_editable_get_chars (GTK_EDITABLE (gee->entry),
rs->text_start, rs->text_end);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]