2005-02-08 Jody Goldberg * Release 1.5.0 2005-02-08 Jody Goldberg * src/print-info.c (print_hf_same) : add some protection 2005-02-06 Jean Brefort * src/sheet-object-widget.c: (cb_adjustment_value_changed): avoid recalculation on update, fixes #166085. (sheet_widget_adjustment_init_full), (cb_adjustment_config_ok_clicked), (sheet_widget_adjustment_write_xml_sax), (sheet_widget_adjustment_write_xml_dom), (sheet_widget_adjustment_read_xml_dom), (sheet_widget_adjustment_set_details): make constant and consistent scrollbar and slider max values, fixes #165173. 2005-02-05 Morten Welinder * src/style.c (gnm_font_find_closest_from_weight_slant): Delete. 2005-02-05 Morten Welinder * src/print.c: Avoid going PangoFontDescription -> GnomeFont -> PangoFontDescription. 2005-02-04 Morten Welinder * src/item-bar.c (item_bar_calc_size): Measure height of letters not logical line height. Use more pango and less magic. This might kill #162600. * src/print.c (print_hf_element): Remove old #ifdef HAVE_foo. * src/cell-draw.c (cell_draw): Ditto. * src/print-cell.c: Eliminate old printing code. * src/style.c (style_font_new_simple): No need for setting ->gnome_print_font any more. (style_font_unref): And no need to unref. * src/rendered-value.c (rendered_value_recontext): Copy font description too now that pango supports it. Eliminate old #ifdef HAVE_foo. * src/mathfunc.c (gnumeric_fake_floor, gnumeric_fake_ceil): When adding epsilon, make sure that is <0.5. (gnumeric_fake_round, gnumeric_fake_trunc): Simplify in terms of gnumeric_fake_floor. Fixes #166188. 2005-02-03 Morten Welinder * src/dependent.c: eliminate code predating micro hashes. 2005-02-03 Morten Welinder * src/dependent.c (micro_hash_resize): Correctly handle #elems<=1. (unlink_range_dep): Plug leak. [#159581] 2005-02-02 Morten Welinder * src/format.c (fmt_general_float): Consistently use upper case "E" for general format when exponential notation is needed. 2005-02-02 Jean Brefort * src/graph.c: (gnm_go_data_matrix_get_value): duplicate value before releasing (#166051) 2005-02-01 Jody Goldberg * gnumeric.xsd : Add entries for validation and hyperlinks 2005-02-01 Morten Welinder * src/stf-parse.c (stf_parse_csv_is_separator): Handle end-of-buffer correctly in the single-character case. [Fixes #165617] * src/commands.c (cmd_ins_del_colrow): Survive if the current clipboard does not hold a range (but holds a sheet object). [Fixes #165873] 2005-01-27 Morten Welinder * src/complete-sheet.c (complete_sheet_search_iteration): Rework broken search strategy. 2005-01-27 Emmanuel Pacaud * src/gnumeric-canvas.c (gnm_canvas_key_mode_object): delta is 1.0 / FooCanvas::pixels_per_unit for correct behaviour when zoom is != 100 % 2005-01-26 Emmanuel Pacaud * src/gnumeric-canvas.c (gnm_canvas_key_mode_object): don't invert move in rtl mode. * src/sheet-control-gui.c (snap_pos_to_grid): use correct SHEET_MAX depending on what to snap to grid. (snap_to_grid): handle rtl case, where GNUMERIC_CANVAS_FACTOR_X is 0 in world coordinates. World coordinates are negative in rtl mode. (apply_move): positive delta means going downward in cell numbers. 2005-01-25 Morten Welinder * configure.in (gnumeric_gnome_reqs): Upgrade requirements to something recent. 2005-01-25 Stepan Kasal AC_PATH_PROG can be tricky: if the user sets the variable to something which doesn't look like a full path, autoconf proceeds with the test as if the variable were not set; no warning is issued (at least for autoconf versions <= 2.59). AC_CHECK_PROG is much more transparent: if the variable is nonempty, no test is executed. Let's use it where possible. * configure.in (GCONFTOOL): Don't publish the variable, because AM_GCONF_SOURCE_2, which is used after the check, has ``gconftool-2'' hardwired anyway; clear the variable before use. Call AC_CHECK_PROG instead of AC_PATH_PROG. (GLIB_GENMARSHAL): Explain why full path is needed. (GDK_PIXBUF_CSOURCE): Call AC_CHECK_PROG instead of AC_PATH_PROG. 2005-01-25 Stepan Kasal * configure.in: work on --with-perl; this partially fixes http://bugzilla.gnome.org/show_bug.cgi?id=158029 In AC_CHECK_LIB(perl,...) change the third parameter to `:' so that it is nonempty and -lperl is not added to LIBS; this fixes http://bugzilla.gnome.org/show_bug.cgi?id=158379 A cosmetic change: Don't use `[ ]' as an empty argument of a macro, it may confuse m4; use `[]' instead. Another cosmetic change: the word for ``case'' doesn't need any quoting nor prefix. 2005-01-25 Stepan Kasal * configure.in: Initialize win32=no, in case someone has the variable in the environment. Fix the help string for --enable-ssindex. 2005-01-24 Emmanuel Pacaud http://bugzilla.gnome.org/show_bug.cgi?id=164455 * src/sheet-object-graph.c (sog_cb_save_as): fix svg size. 2005-01-24 Emmanuel Pacaud * src/gnumeric-canvas.c (gnm_canvas_key_mode_object): pass shift state to scg_objects_nudge. * src/gnumeric-pane.c (gnm_pane_object_move): alter real move values with feedback from scg_object_drags. With snap to grid real move can be different than what asked. (cb_slide_handler): update call to gnm_pane_object_move. (cb_control_point_event): update call to scg_object_drag. Pass shift state to gnm_pane_object_move. * src/sheet-control-gui.c (snap_pos_to_grid): new. (snap_to_grid): new. (apply_move): new. (drag_object): new. (drag_selected_objects): use drag_object. (scg_objects_drag): drag primary object first. 2005-01-22 J.H.M. Dassen (Ray) http://bugs.debian.org/291265 * src/file.c (gnm_file_saver_save) : Produce an error when no proper UTF-8 filename was produced. 2005-01-20 Jody Goldberg * src/xml-io.c (xml_sheet_write) : store the rtl flag (xml_sheet_read) : read the rtl flag * src/workbook-control-gui.c (cb_notebook_switch_page) : set the direction on page change (show_gui) : setting it here too. (set_dir) : new. (wbcg_set_direction) : new * src/wbcg-actions.c (cb_direction) : A quick and simple direction setting action. We need a better icon, and improved state. * src/style-border.c (style_border_hmargins) : lots of finicky -1*offset style changes for rtl. * src/sheet.c (gnm_sheet_class_init) : Add some as yet unused get/set property routines. (gnm_sheet_init) : new to init the direction based on the locale. Use a gtk routine for now. There's a bug open to have that moved to glib. (sheet_set_direction) : new. * src/sheet-view.c (sv_init_sc) : init the direction. (sv_direction_changed) : new. * src/sheet-object-cell-comment.c (comment_view_set_bounds) : fold the old comment_get_points into here and invert things in RTL mode. * src/sheet-control-gui.c (scg_redraw_headers) : col coordinates are negative for rtl mode. (scg_resize) : rework for rtl (scg_set_zoom_factor) : ditto. (bar_set_left_col) : ditto. (bar_set_top_row) : ditto. (gnm_canvas_set_top_left) : ditto. (calc_obj_place) : ditto. Clarify which coordinate system we're in. (scg_direction_changed) : new virtual. (scg_scale_changed) : renamed from scg_set_zoom_factor. * src/print.c (print_sheet_objects) : handle rtl. (needs testing) (print_page_cells) : simple rtl handling * src/mstyle.c : Add a text_dir element that defaults to CONTEXT right now. This is unused until it is better understood, but it is read and written from xls. We need to add xml support. * src/item-grid.c (item_grid_draw_merged_range) : handle rtl (item_grid_draw) : ditto. * src/print-cell.c (print_merged_range) : ditto (print_cell_range) : ditto. * src/item-edit.c (ie_layout) : swap directions in RTL mode. We still need more work here to honour the alignment better while editing. * src/item-cursor.c (item_cursor_request_redraw) : delete, we can use foo_canvas_item_request_redraw (item_cursor_update) : handle rtl (item_cursor_draw) : ditto (item_cursor_bound_set) : add some safety to avoid drawing before the position is set, or if it is set to something invalid * src/item-bar.c (item_bar_draw) : major rework to handle RTL mode. - swap the the direction for the cells and the outlines (is_pointer_on_division) : handle rtl and clarify which coordinate system the various inputs and results use. (ib_set_cursor) : simplify (outline_button_press) : RTL flips some coordinates. (item_bar_event) : ditto * src/gnumeric-simple-canvas.c (gnm_simple_canvas_x_w2c) : doh! handle zoom * src/gnumeric-pane.c (gnumeric_pane_header_init) : handle rtl (gnm_pane_init) : ditto. (gnm_pane_colrow_resize_start) : ditto. (gnm_pane_colrow_resize_move) : ditto. (cb_slide_handler) : ditto. * src/gnumeric-canvas.c (gnm_canvas_key_mode_sheet) : Swap the direction of arrow keys in rtl mode. (gnm_canvas_key_mode_object) : ditto (gnm_canvas_size_allocate) : always recompute visible range. In RTL mode we want to have things aligned on the left edge whose coord moves. (gnm_canvas_find_col) : handle the rtl negation of world coords (gnm_canvas_redraw_range) : ditto (gcanvas_sliding_callback) : ditto. (gnm_canvas_handle_motion) : ditto. NOTE : work around a bug in gtk's use of X. When dragging past the right edge of the sheet in rtl mode we are operating at the edge of a 32k wide window and the event coords get larger than can be held in a signed short. As a result we get world coords of -65535 or so. KLUDGE KLUDGE KLUDGE with our current limit of 256 columns it is unlikely that we'll hit -65535 (at appropriate zoom) as a valid coord (it would require all cols to be 256 pixels wide. it is not impossible, but at least unlikely. So we put in a kludge here to catch the screw up and remap it. This is not pretty, at large zooms this is not far fetched. (gnm_canvas_compute_visible_region) : things are more complicated for rtl mode. * src/commands.c : Add undo for the rtl vs ltr mode * src/cellspan.c (cell_calc_span) : in rtl mode swap the meaning of horizontal alignment. * src/GNOME_Gnumeric-gtk.xml.in : Add the rtl toggle action 2005-01-20 Jody Goldberg * configure.in : post branching bump 2005-01-19 Morten Welinder * src/style.c (style_font_new_simple): Only create gnome_print_fonts for old printing code. * src/print-cell.c (using_old_printing_code): New public function extracted from print_cell.