Commit 0bd1972f authored by Morten Welinder's avatar Morten Welinder

GUI: Fix date edit problem.

parent e2ffeac6
2010-09-20 Morten Welinder <terra@gnome.org>
* src/sheet.c (sheet_range_set_text): Get a format for matching
from upper left corner of range. Mostly fixes #630177.
2010-09-20 Andreas J. Guelzow <aguelzow@pyrshep.ca>
* src/wbc-gtk-actions.c (sort_by_rows): quieten spurious warning
......@@ -15,7 +20,7 @@
2010-09-12 Andreas J. Guelzow <aguelzow@pyrshep.ca>
* src/sheet-object-widget.c (sheet_widget_frame_*et_property): new
2010-09-09 Andreas J. Guelzow <aguelzow@pyrshep.ca>
* src/sheet-object-widget.c: add "value" property to radio_button
......
......@@ -18,6 +18,9 @@ J.H.M. Dassen (Ray):
* Fix several potential and actual problems highlighted by
LLVM/clang static analysis.
Morten:
* Fix date entry problem. [#630177]
--------------------------------------------------------------------------
Gnumeric 1.10.10
......
......@@ -2527,44 +2527,54 @@ sheet_range_set_text (GnmParsePos const *pos, GnmRange const *r, char const *str
{
closure_set_cell_value closure;
GSList *merged, *ptr;
GOFormat const *fmt;
Sheet *sheet;
GnmCell *cell;
g_return_if_fail (pos != NULL);
g_return_if_fail (r != NULL);
g_return_if_fail (str != NULL);
sheet = pos->sheet;
/* Arbitrarily Use the format from upper left cell. */
cell = sheet_cell_get (sheet, r->start.col, r->start.row);
fmt = cell ? gnm_cell_get_format (cell) : NULL;
parse_text_value_or_expr (pos, str,
&closure.val, &closure.texpr,
NULL /* TODO : Use edit_pos format ?? */,
workbook_date_conv (pos->sheet->workbook));
&closure.val, &closure.texpr,
fmt,
workbook_date_conv (sheet->workbook));
if (closure.texpr) {
range_init_full_sheet (&closure.expr_bound, pos->sheet);
range_init_full_sheet (&closure.expr_bound, sheet);
gnm_expr_top_get_boundingbox (closure.texpr,
pos->sheet,
sheet,
&closure.expr_bound);
}
/* Store the parsed result creating any cells necessary */
sheet_foreach_cell_in_range (pos->sheet, CELL_ITER_ALL,
sheet_foreach_cell_in_range (sheet, CELL_ITER_ALL,
r->start.col, r->start.row, r->end.col, r->end.row,
(CellIterFunc)&cb_set_cell_content, &closure);
merged = gnm_sheet_merge_get_overlap (pos->sheet, r);
merged = gnm_sheet_merge_get_overlap (sheet, r);
for (ptr = merged ; ptr != NULL ; ptr = ptr->next) {
GnmRange const *tmp = ptr->data;
sheet_foreach_cell_in_range (pos->sheet, CELL_ITER_ALL,
tmp->start.col, tmp->start.row, tmp->end.col, tmp->end.row,
sheet_foreach_cell_in_range (sheet, CELL_ITER_ALL,
tmp->start.col, tmp->start.row,
tmp->end.col, tmp->end.row,
(CellIterFunc)&cb_clear_non_corner, (gpointer)tmp);
}
g_slist_free (merged);
sheet_region_queue_recalc (pos->sheet, r);
sheet_region_queue_recalc (sheet, r);
value_release (closure.val);
if (closure.texpr)
gnm_expr_top_unref (closure.texpr);
sheet_flag_status_update_range (pos->sheet, r);
sheet_flag_status_update_range (sheet, r);
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment