2004-02-09  bulia byak <bulia@users.sourceforge.net>

    * doc/keys.xml doc/keys-svg.xsl: Keys and Mouse Reference: source, SVG stylesheet
 
    * icons/keys.svg: Keys SVG chart (generated, do not edit)
 
    * icons/Makefile.am: Added keys.svg
 
    * src/help.cpp src/help.h src/interface.cpp: Added Keys and Mouse command
 
    * doc/keyboard-shortcuts.txt Obsoleted, removed

    * doc/keys-html.xsl doc/keys.html: Keys reference in HTML, stylesheet for HTML

    * doc/Makefile.am: updated
 
    * src/libnr/nr-pixblock.cpp: A better fix for 859364
 
    * src/libnrtype/nr-rasterfont.cpp: Reverting my previous fix for 859364, a better
    one is in nr-pixblock.cpp

    * icons/tutorial.svg: Switched to Bitstream Vera, updated tutorial

    * src/file.cpp: Fix for save bug 891852
 
    * src/preferences-skeleton.h: transientpolicy=1 again
 
    * src/nodepath.cpp: Ctrl-Alt-drag fix in point_line_closest()
 
    * src/select-toolbar.cpp: Small space before unit selector
 
    * src/widgets/paint-selector.cpp: Hidden buttons removed 

2004-02-09  MenTaLguY <mental@rydia.net>

    * src/interface.cpp: disabled the autoraise checkbox on Windows

    * src/widgets/paint-selector.cpp, src/widgets/paint-selector.h:
      removed unused selector-type buttons (with Bulia)

2004-02-09  Jon A. Cruz  <jon@joncruz.org>

	* src/widgets/sp-color-wheel.h, src/widgets/sp-color-wheel.cpp,
	src/widgets/sp-color-wheel-selector.h,
	src/widgets/sp-color-wheel-selector.cpp,
	src/widgets/sp-color-gtkselector.cpp,
	src/widgets/sp-color-notebook.cpp
	Added new, smaller color wheel selector.

2004-02-09  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

	* src/desktop-affine.cpp, src/desktop-snap.cpp,
	src/desktop-snap.h, src/desktop.cpp, src/knotholder.cpp,
	src/nodepath.cpp, src/selection-chemistry.cpp, src/seltrans.cpp,
	src/seltrans.h, src/sp-ellipse.cpp, src/sp-image.cpp,
	src/sp-item.cpp, src/sp-item.h, src/sp-rect.cpp, src/sp-root.cpp,
	src/text-context.cpp, src/dialogs/xml-tree.cpp,
	src/libnr/Makefile.am, src/libnr/nr-matrix.cpp,
	src/libnr/nr-matrix.h, src/libnr/nr-types.h,
	src/libnrtype/nr-rasterfont.cpp, src/livarot/Path.h,
	src/livarot/PathConversion.cpp, src/livarot/PathSimplify.cpp,
	src/livarot/ShapeSweep.cpp, src/widgets/gradient-position.cpp,
	src/widgets/sp-color-wheel-selector.cpp,
	src/widgets/sp-color-wheel.cpp:
	Change matrices to be suitable for right multiplication.
	(Also miscellaneous cleanups as mentioned below.)

	* src/widgets/sp-color-wheel-selector.cpp
	(sp_color_wheel_selector_get_type):
	Address harmless warning: add value_table initializer.

	* src/display/nr-arena-group.h, src/display/nr-arena-group.cpp
	(nr_arena_group_set_child_transform): Add NR::Matrix version.

	* src/verbs.cpp: Add g++-2.95 portability for hash_map.
	(Still using hash_map, though, not yet GHashTable.)

	* src/uri-references.h (operator=): Remove definition, forcing link
	errors for accidental usage.

	* src/sp-chars.h, src/sp-chars.cpp (sp_chars_add_element):
	Add NR::Matrix version.

	* src/selection.cpp (sp_selection_snappoints): Performance fix: add
	just 4 corner points, not a thousand.

	* src/print.h, src/print.cpp (sp_print_bind): Add NR::Matrix version.

	* src/inkscape.cpp: #include sys/types.h, sys/stat.h.

	* src/desktop.h (SP_DESKTOP_ZOOM): Define in terms of expansion()
	function instead of implicit casting.

	* src/arc-context.cpp, src/document.cpp, src/draw-context.cpp,
	src/selection.cpp, src/selection.h,
	src/sp-ellipse.cpp, src/sp-gradient.cpp, src/sp-image.cpp,
	src/sp-namedview.cpp, src/sp-offset.cpp, src/sp-rect.cpp,
	src/sp-spiral.cpp, src/sp-star.cpp,
	src/sp-text.cpp, src/bonobo/canvas-translator.cpp:
	Cleanups: greater conformance to Coding_Style, combine declaration
	and first assignment of some vars.

2004-02-08  MenTaLguY <mental@rydia.net>

   * src/interface.cpp: added "Autoraise Dialogs" menu item to toggle
     the transient policy thing

2004-02-08 Bryce Harrington <brycehar@bryceharrington.com>

	* src/sp-namedview.cpp: This assert appears to serve no purpose
	  except to cause Inkscape to crash when the user chooses to
	  exit the app when the XML editor is open.  Commenting out the
	  assert doesn't seem to cause any particular untoward behavior.

	* src/xml/: repr.cpp, repr.h: Hacking in a check to prevent
	  deletion of the namedview entity, in order to close bug
	  Inkscape Bug #850971.

2004-02-07 Johan Ceuppens <jceuppen@easynet.be> 
    * src/libnrtype/nr-type-gnome.cpp src/libnrtype/nr-type-directory
      src/libnrtype/nr-type-xft.cpp src/widgets/font-selector.cpp 
      src/print.cpp src/module.h src/module.cpp
      modules/gnome.cpp: activated --with-gnome-print
      libnrtype/nr-type-primitives.h: removed possible gchar signedness
      bug.

2004-02-07  Nathan Hurst <njh@mail.csse.monash.edu.au>

    * src/widgets/gradient-position.*: modified the gradient knot
      editor to manipulate the knots, rather than rebuilding a gradient
      from scratch each time.

2004-02-07  MenTaLguY <mental@rydia.net>

    * src/xml/repr.h, src/xml/repr-util.cpp:

      cleaned up old code in #if 0 sections

    * src/display/canvas-arena.cpp, src/display/nr-arena-glyphs.cpp,
      src/display/nr-arena-item.cpp, src/display/nr-arena-shape.cpp,
      src/display/nr-arena.cpp, src/display/nr-arena.h:

      cleaned up old code in #if 0 sections

    * src/desktop-affine.cpp, src/desktop.cpp, src/draw-context.cpp,
      src/dropper-context.cpp, src/dyna-draw-context.cpp,
      src/seltrans.cpp, src/sp-root.cpp, src/sp-text.cpp,
      src/libnr/nr-macros.h, src/libnr/nr-types.h, src/libnr/nr-matrix.h,
      src/libnr/nr-matrix.cpp, src/libnrtype/nr-font.cpp,
      src/libnrtype/nr-rasterfont.cpp, src/livarot/PathSimplify.cpp,
      src/livarot/ShapeSweep.cpp:

      The array data member of NR::Matrix is now private; use the
      [] operator to access elements individually.  More matrix routines
      now pass by reference, and the casting operators to cast to NRMatrix
      no longer leak memory (by allocating temporary objects that were
      never freed).

    * src/modules/db.cpp: cleaned up some very grotty code that gcc 3.4
      (rightly) refused to compile

    * src/xml/repr-action.cpp: undo of content changes was pulling
      from the wrong union member (note to self: unions = evil)
      This fixes the problem with text editing undos yielding the wrong
      apparent undo order (bug #861462).

2004-02-05  bulia byak <bulia@users.sourceforge.net>

    * src/sp-text.cpp src/sp-text.h: Function to adjust letterspacing

    * src/style.cpp: Comments

    * src/text-context.cpp: Alt+<> adjust letterspacing

    * src/helper/png-write.cpp: PNG comment: Software: www.inkscape.org

    * src/text-context.cpp: Support keypad keys, keypad +/- always zoom even when editing

    * src/shortcuts.cpp: Enable keypad Del

    * src/event-context.cpp: Enable keypad arrows with Ctrl to scroll canvas

    * src/zoom-context.cpp src/rect-context.cpp src/arc-context.cpp src/star-context.cpp
    src/spiral-context.cpp src/draw-context.cpp src/dyna-draw-context.cpp
    src/text-context.cpp src/dropper-context.cpp: Swallow keypad up/down keys too,
    preventing them from focusing the zoom field

2004-02-05  Jon Phillips <kidproto@users.sf.net>

    *  src/dialogs/item-properties.cpp, src/dialogs/item-properties.h, 
       src/dialogs/object-attributes.cpp, src/dialogs/object-attributes.h, 
       src/dialogs/object-properties.cpp, src/dialogs/object-properties.h, 
       src/dialogs/sp-attribute-widget.cpp, src/dialogs/sp-attribute-widget.h, 
       src/dialogs/stroke-style.cpp, src/dialogs/stroke-style.h, 
       src/dialogs/text-edit.cpp, src/dialogs/text-edit.h, 
       src/dialogs/tool-options.cpp, src/dialogs/tool-options.h,
       src/dialogs/transformation.cpp, src/dialogs/transformation.h,
       src/dialogs/xml-tree.cpp, src/dialogs/xml-tree.h,
       src/dialogs/xml-tree.cpp, src/dialogs/xml-tree.h: Converted 
       the aforementioned to coding style.


2004-02-04  Ted Gould <ted@gould.cx>

    * src/desktop-snap.cpp: Removing some unused code that had
    been replaced.

2004-02-04  jon phillips <kidproto@user.sf.net>

    * COPYING, COPYING.LIB, ChangeLog, Makefile.am, Makefile.mingw, 
      Makefile.mingw.common, NEWS, README, autogen.sh, configure.in, 
      inkscape-cvs-0.ebuild, inkscape.1.in, inkscape.spec.in: 
      all files converted from tabs to 4 spaces and cleaned up the 
      coding style, tested, they build, and have committed.
      
    * extension/*: I converted all files to coding style.

    * src/dialogs/align.cpp, src/dialogs/align.h, 
      src/dialogs/desktop-properties.cpp, src/dialogs/desktop-properties.h, 
      src/dialogs/dialog-events.cpp, src/dialogs/dialog-events.h: Converted 
      the following files to use our coding convention.

    * src/dialogs/desktop-properties.cpp, src/dialogs/desktop-properties.h, 
      src/dialogs/display-settings.cpp, src/dialogs/display-settings.h, 
      src/dialogs/export.cpp, src/dialogs/export.h, 
      src/dialogs/fill-style.cpp, src/dialogs/fill-style.h: converted the 
      aforementioned files to new coding conventions.

2004-02-04  bulia byak <bulia@users.sourceforge.net>

    * src/style.h src/style.cpp src/sp-text.cpp: Read-only (so far) support for
    letter-spacing CSS property

    * src/event-context.cpp src/select-context.cpp src/draw-context.cpp
    src/dyna-draw-context.cpp src/knotholder.cpp src/nodepath.cpp src/object-edit.cpp:
    Trimming #if 0

    * src/text-context.cpp: Trimming #if 0, removing unneeded document_done

    * src/spiral-context.cpp src/star-context.cpp: Trimming #if 0, enabling ctrl-drag

    * src/dialogs/dialog-events.cpp src/preferences-skeleton.h: Added
    options.transientpolicy, 1 as default

    * src/preferences-skeleton.h: Increased options.keyscroll

    * src/dialogs/xml-tree.cpp: Fix for 852619, fix for failed asserts when selecting root

    * src/widgets/gradient-selector.cpp: Fix for 854514, 856682 

2004-02-02  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/desktop-snap.h, src/desktop-snap.cpp: Indicate that the snap_list
    functions don't modify the passed snap points.  For the wrapper versions,
    don't bother "copying back the new [actually unchanged] versions".

2004-01-31  bulia byak <bulia@users.sourceforge.net>

    * src/zoom-context.cpp src/rect-context.cpp src/arc-context.cpp src/star-context.cpp
    src/spiral-context.cpp src/draw-context.cpp src/dyna-draw-context.cpp
    src/text-context.cpp src/dropper-context.cpp: Fix to swallow up/down keys in
    contexts so as to prevent zoom field from activation, but allow ctrl with up/down
    keys to scroll canvas.

    * src/interface.cpp: Removed New Preview, Remove Transform commands. Added Tutorial
    command to Help.

    * src/preferences-skeleton.h: Reduced default stroke width to 1 pt.

    * src/help.cpp src/help.h: Tutorial command.

    * icons/tutorial.svg: First try at the tutorial. 

    * icons/Makefile.am: Adding tutorial.

    * src/nodepath.cpp: No-nodepath crash fixes.

    * doc/architecture.svg: Added namedview.

    * doc/default.svg: Removed, now reworked into icons/tutorial.svg.

    * src/event-context.cpp: Swapped scrollwheel modifiers.

    * src/xml/repr.cpp src/xml/repr-io.cpp: Small comment fix.

2004-01-31  Johan Ceuppens  <jceuppen@easynet.be>
    * src/verbs.cpp src/verbs.h: removed sp_fullscreen and put it in
    desktop.cpp and desktop.h as fullscreen
    * configure.in src/interface.cpp src/shortcuts.cpp src/inkscape.cpp 
    src/inkscape.h src/desktop.cpp src/desktop.h: 
    Added HAVE_GTK_WINDOW_FULLSCREEN as conditional compilation based
    on a function check for gtk_window_fullscreen in configure script

2004-01-30  Johan Ceuppens  <jceuppen@easynet.be>
    * src/verbs.cpp src/verbs.h: Added fullscreen verb. Fullscreen action
    is in SP_VERB_IS_ZOOM.
    * src/interface.cpp: Added fullscreen menuitem.
    * src/shortcuts.cpp: Linked in fullscreen shortcut (untested)
    * src/inkscape.cpp src/inkscape.h
    * src/desktop.cpp src/desktop.h: Added is_fullscreen gboolean to
    SPDesktop.

2004-01-30  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/libnr/nr-path.h, src/libnr/nr-path.cpp: Mark some functions
    as not modifying the matrix passed to them.

    * src/display/nr-arena-group.h, src/display/nr-arena-group.cpp
    (nr_arena_group_set_child_transform):
    Indicate that matrix isn't written to.

    * src/sp-item-transform.cpp (sp_item_rotate_rel, sp_item_scale_rel,
    sp_item_skew_rel),
    src/sp-marker.cpp (sp_marker_update, sp_marker_show_instance),
    src/sp-shape.cpp (sp_shape_bbox),
    src/sp-symbol.cpp (sp_symbol_update, sp_symbol_show, sp_symbol_print),
    src/display/nr-arena-shape.cpp (nr_arena_shape_update, nr_arena_shape_pick):
    Remove uses of nr_matrix_f_from_d.
    * src/libnr/nr-matrix.h, src/libnr/nr-matrix.cpp (nr_matrix_f_from_d),
    src/libnr/libnr.def:
    Remove now-unused nr_matrix_f_from_d.

    * src/nodepath.cpp (sp_nodepath_new),
    src/path-chemistry.cpp (sp_selected_path_combine, sp_selected_path_break_apart),
    src/selection-chemistry.cpp (sp_selection_apply_affine),
    src/selection.cpp (sp_selection_bbox_document),
    src/sp-item.cpp (sp_item_bbox_desktop, sp_item_private_snappoints),
    src/sp-pattern.cpp (sp_pattern_painter_new),
    src/modules/gnome.cpp (sp_module_print_gnome_fill),
    src/widgets/icon.cpp (sp_icon_image_load_svg):
    Remove uses of nr_matrix_d_from_f.
    * src/libnr/nr-matrix.h, src/libnr/nr-matrix.cpp (nr_matrix_d_from_f),
    src/libnr/libnr.def:
    Remove now-unused nr_matrix_d_from_f.

    * src/sp-item.h, src/sp-item.cpp (sp_item_set_i2d_affine_d,
    sp_item_i2doc_affine_d, sp_item_i2d_affine_d, sp_item_dt2i_affine_d):
    Merge _d version with non-_d version.  Update callers.

    * src/rubberband.h, src/rubberband.cpp (sp_rubberband_start):
    Add NR::Point version.
    Implement x,y version as call to NR::Point version.

2004-01-29  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/desktop-snap.h, src/desktop-snap.cpp (sp_desktop_dim_snap_list):
    Export this function.
    (sp_desktop_horizontal_snap_list, sp_desktop_vertical_snap_list):
    Remove these now-unused functions.
    * src/select-context.cpp (sp_selection_moveto):
    Use sp_desktop_dim_snap_list instead of
    sp_desktop_horizontal_snap_list, sp_desktop_vertical_snap_list.

    * src/select-context.cpp (sp_selection_moveto): Fix what appears to be
    a memory leak.

    * src/rubberband.h, src/rubberband.cpp (sp_rubberband_move):
    Add NR::Point version.

    * src/seltrans.h (sp_sel_trans_point_desktop): Add NR::Point version.

    * src/seltrans.h, src/seltrans.cpp (sp_sel_trans_point_desktop,
    sp_sel_trans_origin_desktop): Indicate that pointer isn't written through.

    * src/node-context.cpp, src/select-context.cpp:
    Make some globals static.

    * src/style.cpp (sp_style_read_pfloat, SPS_READ_IFLOAT_IF_UNSET, 
    SPS_READ_PFLOAT_IF_UNSET): Remove these unused functions/macros.

2004-01-28  MenTaLguY  <mental@rydia.net>

    * src/toolbox.cpp: aux toolbar now expands properly when torn off
    (fix for bug #874923)

    * src/libnr/nr-svp.cpp, src/libnr/nr-stroke.cpp,
    src/libnr/nr-svp-private.h, src/libnr/nr-svp.h,
    src/libnr/nr-svp-render.cpp, src/libnr/nr-svp-uncross.cpp:

    NRCoord -> NR::Coord

    * src/interface.cpp: removed Filters menu

    * src/modules/win32.cpp: the Win32 GDI uses BRGx, rather than
    RGBA, so we reverse the B and R bytes before blitting (fix
    for bug #887428)

2004-01-28  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/seltrans.cpp: Various cleanups, including addressing some
    warnings, and doing some more NR::Point'ification.

    * src/knot.h, src/knot.cpp (sp_knot_set_position): Change from
    pass-by-value to pass-by-const-reference.

    * src/geom.cpp (sp_intersector_line_intersection): Restore
    definition of previous local `cross' function, but "inline" the
    dot(rot90(a), b) definition.  This makes the definition conform to
    the documentation.
    * src/desktop-snap.cpp (sp_intersector_a_vector_snap): Undo a recent
    change that adapted to the previously-introduced bug in
    sp_intersector_line_intersection.

    * icons/Makefile.am: s/icons_dir/iconsdir/g for automake.
    * src/dialogs/Makefile.am, src/widgets/Makefile.am:
    s/icons_dir/iconsdir/g for consistency with icons/Makefile.am.

2004-01-27  jon phillips <jon@users.sourceforge.net>

        * Makefile.am: changed 'glade' globally to 'icons'

        * Makefile.mingw: changed 'glade' globally to 'icons'

        * config.h.mingw: changed 'INKSCAPE_GLADEDIR' to 'INKSCAPE_ICONS_DIR'

        * configure.in: changed 'glade' globally to 'icons'

        * Makefile.am: changed 'gladedir' to 'icons_dir', and fixed spacing, 
        changed 'glad_DATA' to 'icons_DATA'

        * glade/about_svg.tmpl: changed 'glade' globally to 'icons'

        * po/pl.po: changed 'glade' globally to 'icons'

        * src/config.h.win32: changed 'SODIPODI_GLADEDIR' to 'SODIPODI_ICONS_DIR'
        * src/dialogs/Makefile.am: changed 'gladedir' to 'icons_dir', changed 
    '-DINKSCAPE_GLADEDIR=\""$(gladedir)"\" \' to 
        '-DINKSCAPE_ICONS_DIR=\""$(icons_dir)"\" \'

        * src/dialogs/makefile.msc: changed 'gladedir' to 'icons_dir'

        * src/dialogs/object-properties.cpp: changed 'INKSCAPE_GLADEDIR' to 
        'INKSCAPE_ICONS_DIR'

        * src/dialogs/stroke-style.cpp: changed 'INKSCAPE_GLADEDIR' to 
        'INKSCAPE_ICONS_DIR'

        * src/widgets/Makefile.am: changed 'gladedir' to 'icons_dir'

        * src/widgets/icon.cpp: changed 'glade' globally to 'icons'

        * src/widgets/makefile.msc: changed 'gladedir' to 'icons_dir'


2004-01-26  bulia byak <bulia@users.sourceforge.net>

    * src/inkscape.cpp: failed assertion fix 

    * src/shortcuts.cpp: Linked/dynamic offset shortcuts, zoom to page width 

    * src/preferences-skeleton.h: Add inkscape:pageopacity, borderopacity

    * src/attributes.cpp,h src/sp-namedview.cpp,h: Add inkscape:pageopacity

    * src/dialogs/desktop-properties.cpp: Get/set inkscape:pageopacity in the page
    background color picker; reword and rearrange labels, spacing fix

    * src/dialogs/export.cpp: Use inkscape:pageopacity for export background; fix crash on
    exit

    * src/file.cpp: Remove debug output when exporting

    * src/sp-gradient.cpp src/svg/svg-path.cpp src/libnr/nr-compose.cpp src/dir-util.cpp
    src/desktop.cpp: Fixes from sodipodi

    * src/main.cpp: Fix PNG size limits when exporting from commandline 

    * src/style.cpp src/style.h: currentColor support from sodipodi

    * src/sp-gradient.cpp: Fix for 876614 from sodipodi

    * src/dialogs/desktop-properties.cpp: Convert meters to cm on writing (to make
    svg/@height and svg/@width SVG compliant)

    * src/sp-rect.cpp: Fix in description

    * src/dialogs/text-edit.cpp: Fix bug: undo broken when font applied to more than one
    text object. And another bug: do not apply text, only style, when more than one text
    object selected.

    * src/widgets/font-selector.cpp: Make font and style lists scroll automatically to
    show selected row

2004-01-26  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * config.h.win32: Remove this outdated and apparently-unused file.

    * src/livarot/Path-test.cpp: new file.
    * src/livarot/Makefile.am: New test program Path-test.
    Remove $(cflags) from INCLUDES.

    * configure.in: Adjust some things for our C to C++ transition.
    Add warning flags to CXXFLAGS if the compiler is g++.

2004-01-26 MenTaLguY <mental@rydia.net>

    * src/configure.in, src/Makefile.am, src/modules/Makefile.am,
    src/libnrtype/Makefile.am:
    merged patch #847856 for autotools builds on mingw/win32

    * src/sp-marker.h: added a URIReference subclass for markers

    * src/sp-path.cpp: fixed backwards-compatiblilty thing with
    (ancient) Sodipodi

    * src/xml/repr-action.c, src/xml/repr-action.h,
    src/xml/repr-private.h, src/xml/repr.cpp:

    made SPReprDoc::is_logging a C++ bool, and fixed sp_repr_rollback()
    to respect the no-logging-during-rollback invariant

2004-01-25 MenTaLguY <mental@rydia.net>

    * src/sp-object-repr.cpp, src/splivarot.cpp, src/sp-offset.cpp:
    changed "offset" to "inkscape:offset" for sodipodi:type

2004-01-24  bryce <brycehar@bryceharrington.com>

    * src/dialogs/stroke-style.cpp:  Hooking up marker buttons to
    underlying marker style setting code, & etc.  

2004-01-24  bulia byak <bulia@users.sourceforge.net>

    * src/document.cpp src/sp-namedview.cpp: Desensitize undo for changing document uri
    and for saving window geometry/viewarea into namedview

    * src/xml/repr-util.cpp: Increase precision in set_double_attr

    * src/arc-context.cpp: Call invoke_write when finishing arc, instead of setting attrs
    manually

    * src/sp-ellipse.cpp: Add write method to genericellipse; fix handling of start and
    end attrs; fix undo bug (877238)

2004-01-24  MenTaLguY <mental@rydia.net>

    * src/xml/repr-action.h, src/xml/repr-action.c: made the
    SPReprAction::act union anonymous, and reworked the transaction
    log optimization code.  sp_repr_coalesce_log() should be a bit
    faster now, and no more strcmp()s.

2004-01-23  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/livarot/Path.h, src/livarot/Path.cpp (Path::Affiche): remove
    unused function.
    Doing so allows removal of path_descr_moveto::pathLength field and the
    code for calculating its value.

    * src/livarot/Path.cpp (SizeForData): Change from private method to
    static function.
    Use new function roundup_div instead of `%' calculation.

    (Path::CloseSubpath): Remove loop that calculated pathLength.
    Consequently remove the no-longer-used argument.  Update callers.

    (Path::MoveTo, Path::LineTo, Path::CubicTo, Path::ArcTo,
    Path::TempBezierTo, Path::EndBezierTo, Path::IntermBezierTo,
    Path::BezierTo, Path::AddPoint, Path::PointAt,
    Path::PointAndTangentAt):
    Change some C-style casts to reinterpret_cast's.

    (Path::PointAt, Path::PointAndTangentAt): code transformations
    in preparation for merging some branches.

    * src/libnr/nr-types-test.cpp (main): Update for NR::Point .pt
    privateness change.

    * src/libnr/nr-svp-uncross.cpp (nr_segment_intersection): Mark some
    pointer arguments as not being written through.
    Add doc comment.

    * src/selection-chemistry.cpp (sp_matrix_d_set_rotate):
    Slight reduction in numerical error.
    (Also rename variables from `angle' to `angle_degrees' in several
    places.)

    * src/node-context.cpp (sp_node_context_root_handler):
    * src/object-edit.cpp (sp_arc_start_set, sp_arc_end_set,
    sp_spiral_inner_set, sp_spiral_outer_set):
    * src/select-context.cpp (sp_select_context_root_handler):
    * src/seltrans.cpp (sp_sel_trans_rotate_request):
    Fix for options.rotationsnapsperpi == 0.

    * src/event-context.cpp (sp_event_context_private_root_handler):
    Address warning.

2004-01-22  bulia byak <bulia@users.sourceforge.net>

    * src/attributes.h src/attributes.cpp: Added pagecolor, bordercolor, borderopacity (from sodipodi), pageshadow.

    * src/sp-namedview.h src/sp-namedview.cpp: Added reading page attributes.

    * src/desktop.cpp: Added setting page and border color (from sodipodi), pageshadow taken from namedview.

    * src/preferences-skeleton.h: Moved pageshadow into namedview, added page and border colors to the template.

    * src/dialogs/desktop-properties.cpp: Added page and border color selectors (from
    sodipodi), moved former document settings here.

    * src/verbs.cpp src/verbs.h: Removed document settings, renamed editing window into document options.

    * src/interface.cpp: Removed document settings command.

    * src/dialogs/document-properties.cpp,h src/dialogs/tool-attributes.cpp,h: Removed.

    * src/dialogs/object-properties.cpp: Removed size and position dialog.

    * src/dialogs/Makefile.am: Removed unused dialogs.

    * src/verbs.cpp src/verbs.h: Removed unused dialog verbs.

    * src/dyna-draw-context.cpp: Removed debug output.

    * src/node-context.h: New members for tracking left, right/alt, ctrl.

    * src/nodepath.cpp: Reorganize [] <> code, add update_repr (oops). Fix near-zero handles behavior with <>.

    * src/sp-item-transform.cpp: More correct transformation writing method: use each
    item's transform writer instead of simply adding transform= attribute.

    * src/document.cpp src/document.h src/document-undo.cpp: Added
    sp_document_ensure_up_to_date on each undoable action, fixes bbox problems (bug
    879249). Added callback to reset actionkey on each selection change, so that
    same-key actions on different objects are not lumped together.

    * src/selection-chemistry.cpp: Removed spurious sp_selection_changed calls from all
    transformation functions, coalesced [] <> rotates and scales.

    * src/select-toolbar.cpp: Coalesced spinbutton moves and scales. 

2004-01-21 MenTaLguY <mental@rydia.net>

    * src/desktop-snap.cpp, src/desktop.cpp, src/nodepath.cpp,
    src/object-edit.cpp, src/sp-namedview.cpp, src/sp-offset.cpp,
    src/splivarot.cpp, src/uri.h, src/dialogs/desktop-properties.cpp,
    src/libnr/nr-matrix.cpp, src/libnr/nr-matrix.h,
    src/libnr/nr-point-fns.cpp, src/libnr/nr-point-fns.h,
    src/libnr/nr-rect.cpp, src/libnr/nr-types.cpp, src/libnr/nr-types.h,
    src/livarot/Path.cpp, src/livarot/PathConversion.cpp,
    src/livarot/PathOutline.cpp, src/livarot/PathSimplify.cpp,
    src/livarot/PathStroke.cpp, src/livarot/Shape.cpp,
    src/livarot/ShapeMisc.cpp, src/livarot/ShapeSweep.cpp,
    src/livarot/ShapeSweepUtils.cpp:
    Cleanup; made data member of NR::Point private and replaced
    a few 'magic' [0] and [1] indices with the more meaningful NR::X
    and NR::Y.

2004-01-20 Jon Phillips <jon@protofunk.org>

        * src/help.cpp: I cleaned up the code a little according to our coding 
        standards and have/am adding comments to the help system.

2004-01-20  bulia byak <bulia@users.sourceforge.net>

    * src/selection-chemistry.cpp,h: New scaling utility functions

    * src/select-context.cpp: <> [] with modifiers to scale/rotate objects

    * src/nodepath.cpp,h: New functions for scaling and rotating nodes

    * src/node-context.cpp: <> [] with modifiers to scale/rotate nodes, left/right
    modifiers affect one of the two handles

    * src/node-context.h: New node context members for tracking left/right alt/ctrl

    * src/event-context.cpp: Use cursor coords when zooming by scrollwheel (fixme)

2004-01-19 MenTaLguY <mental@rydia.net>

    * src/dialogs/xml-tree.cpp: automatically scroll tree view to show selected item

2004-01-19 Jon Phillips <jon@protofunk.org>

        * src/desktop.cpp: Changed the document shadow to be an option. It is 
        option.pageshadow. I also made some wrapper code so that if the value
        is set to 0, then the constructor for page shadow is not 
        initialized.

2004-01-18  bulia byak <bulia@users.sourceforge.net>

    * src/sp-spiral.cpp,h: Moved defines to .h

    * src/object-edit.cpp: Reenabled restricted ctrl-rotation of spiral and arc. Added
    alt-drag in spiral to lock radius. Used PI/options.rotationsnapsperpi everywhere
    instead of PI/4.

    * src/selection-chemistry.cpp,h src/select-context.cpp: Enable [ ] keys to rotate
    selected objects by rotationsnapsperpi. Alt [ ] rotate by angular pixels.

    * src/event-context.cpp src/preferences-skeleton.h src/desktop.h src/zoom-context.cpp
    src/select-context.cpp: Behavior fixes, simplifications, & unifications in handling
    dragtolerance, rubberband, and shift/ctrl+selection

    * src/event-context.cpp src/preferences-skeleton.h src/desktop.h: Define & use new
    options for scrolling distances: keyscroll, wheelscroll

2004-01-18 MenTaLguY <mental@rydia.net>

    * src/uri.h, src/uri.cpp, src/uri-reference.h, src/uri-reference.cpp,
    src/sp-item.h, src/sp-item.cpp, src/sp-clippath.h,
    src/sp-gradient.h, src/sp-gradient.cpp, src/sp-mask.h,
    src/sp-item.h, src/sp-item.cpp:

    Reworked URIs to use libxml, and URIReferences to be specialized
    for particular object types.  Also switched gradients to using
    URIReferences.

2004-01-17 Jon <jon@protofunk.org>

        * src/desktop.cpp: Changed the document shadow to 1 pixel. It as
        set to 5, which is really cheesy. I changed it in the 
        constructor for SP_desktop_new in the function 
        sp_ctrlrect_set_shadow().

2004-01-17 Bryce <bryce@bryceharrington.com>

    * src/sp-root.cpp, src/sp-symbol.cpp:  Fixing NRMatrix's a -> &a
    so codebase will build.

    * Adding marker xpm's to Makefile.in so the button images display
    in the stroke style dialog (must do a make install)

2004-01-17 MenTaLguY <mental@rydia.net>

    * src/uri.h, src/uri.cpp, src/uri-references.cpp:
    new Inkscape::URI implementation using libxml URI stuff

2004-01-15  bulia byak <bulia@users.sourceforge.net>

    * src/preferences-skeleton.h: Added: tools.freehand.perncil tolerance,
    options.zoomincrement, rotationsnapsperpi, maxrecentdocuments

    * src/seltrans.cpp src/draw-context.cpp src/nodepath.cpp: Rotation snaps taken from
    preferences

    * src/inkscape.cpp: Max recent documents from prefs

    * src/desktop.cpp,h: New _keep_point zoom functions

    * src/event-context.cpp: Zoom in/out on (shift+)middle click, use
    options.dragtolerance, use options.zoomincrement, use _keep_point zoom functions

    * src/verbs.cpp: Use options.zoomincrement

    * src/zoom-context.cpp: Use options.zoomincrement, use _keep_point zoom functions

    * src/tools-switch.cpp: Fix for 865740

    * src/draw-context.cpp: Fix for 877188

    * src/nodepath.cpp: Swapped ctrl-click and ctrl-alt-click

    * src/knot.cpp src/knotholder.cpp src/nodepath.cpp: Knot colors, using XOR paint mode

    * src/widgets/widget-sizes.h src/desktop.cpp: Coord skip taken from define, limited
    height of the bottom bar

    * src/splivarot.h src/splivarot.cpp src/verbs.cpp src/verbs.h src/interface.cpp: Added
    dynamic and linked offsets to menu

    * src/knot.cpp src/select-context.cpp src/zoom-context.cpp src/draw-context.cpp:
    Unified within_tolerance handling; take curve fitting tolerance from preferences in
    freehand tool (default 10)

2004-01-15  MenTaLguY <mental@rydia.net>

    * glade/about.svg, glade/about_svg.tmpl, samples/inkscape.logo.svg:
    updated to match the current standard logos from
    inskcape_project/artwork

2004-01-15  Nathan Hurst <njh@mail.csse.monash.edu.au>

    * src/livarot/* an ungodly number of changes for improved use of
    NR::Point.  Const propagation.  Minor bugfixes.

2004-01-15  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/widgets/paint-selector.cpp (sp_paint_selector_set_color_alpha,
    sp_paint_selector_get_color_alpha, sp_paint_selector_system_color_set),
    src/widgets/sp-color-gtkselector.cpp (ColorGtkselector::_colorChanged),
    src/widgets/sp-color-notebook.cpp (ColorNotebook::_colorChanged,
    ColorNotebook::_updateRgbaEntry), src/widgets/sp-color-selector.cpp
    (ColorSelector::setAlpha, ColorSelector::setColorAlpha,
    ColorSelector::_updateInternals):
    Add assertions that alpha is in [0.0, 1.0].

    * src/libnr/nr-types.h, src/libnr/nr-rect.cpp (NR::Rect::corner):
    Change argument to unsigned, thus changing remainder operator to modulo
    operator, thus fixing bug for "negative" arguments (-1u etc.).

    * src/dialogs/stroke-style.cpp (sp_stroke_style_paint_update_repr): fix
    bug with unsigned->float alpha conversion.

    * src/nodepath.cpp (angle_normalize): Remove no-longer-used function.

    * src/draw-context.cpp (spdc_endpoint_snap_internal): Fix for
    negative options.rotationsnapsperpi.

2004-01-14  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/selection-chemistry.cpp (sp_selection_item_next,
    sp_selection_item_prev): cleanups, including moving some common
    code into new static function scroll_to_show_item.

    * src/widgets/font-selector.h, src/widgets/font-selector.cpp
    (sp_font_selector_set_font_fuzzy): Remove this unused function.

    * src/sp-text.cpp (sp_text_font_style_to_lookup),
    src/dialogs/text-edit.cpp (sp_text_edit_dialog_font_style_to_lookup):
    Move this duplicated function to src/libnrtype/font-style-to-pos.cpp
    as font_style_to_pos, rewriting & fixing its bugs in the process.
    Adjust callers.
    * src/libnrtype/font-style-to-pos.cpp, src/libnrtype/font-style-to-pos.h:
    New files.
    * src/libnrtype/Makefile.am: Mention the new files.
    * src/libnrtype/nr-type-pos-def.h: Make the default constructor fill in
    sensible values.
    Add constants for CSS weight numbers.

2004-01-13 MenTaLguY  <mental@rydia.net>

    * src/object-ui.cpp: 'Fill Settings' -> 'Fill and Stroke'

    * src/FilePath.cpp, src/FilePath.h: removed until we can rethink
    the file stuff

2004-01-13  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/libnrtype/nr-type-directory.h,
    src/libnrtype/nr-type-directory.cpp (nr_type_directory_lookup_fuzzy):
    Change second arg from char const* to NRTypePosDef.
    (nr_type_calculate_position) Move to nr-type-pos-def.cpp as implicit
    NRTypePosDef constructor from string.
    * src/libnrtype/nr-typeface.h: NRTypePosDef changed from struct to class.
    * src/libnrtype/nr-type-pos-def.h, src/libnrtype/nr-type-pos-def.cpp:
    new files.
    * src/libnrtype/Makefile.am: Mention the new files.

    * src/sp-text.cpp (sp_text_font_style_to_lookup): Fix segfault I
    introduced, reported by ishmal.

2004-01-12  bulia byak <bulia@users.sourceforge.net>

    * src/sp-rect.cpp: Removed coordinates from rect description

    * src/selection-chemistry.cpp: Delete fix from sodipodi, more statusbar diagnostics

    * src/prefs-utils.cpp,h: New functions for setting/getting string values

    * src/dialogs/export.cpp: Export dialog tracks selection and document changes (fix for
    853849). Export area, dpi remembered in prefs. Misc fixes and cleanups

    * src/preferences-skeleton.h: New options for export: exportarea, defaultxdpi

    * src/widgets/spw-utilities.cpp,h: New function for recursively searching widgets for
    key/value pair

    * src/svg/svg-affine.cpp: Ignore whitespace at the end of transform attribute - fix
    for 850943 (from sodipodi)

    * src/select-toolbar.cpp: Correctly handle zero dimensions - fix for 871552

2004-01-12  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/sp-gradient.cpp (sp_gradient_repr_set_vector): "Fix" a memory
    leak.  However, I haven't worked out how to get this code to run, in
    order to check that the guessed replacement code is correct.  Instead
    I've inserted a g_warning and a TODO comment.

    * src/libnrtype/nr-type-directory.cpp
    (nr_type_calculate_position): Fix bug where `ultra bold' and `extra
    bold' were getting parsed as `bold'.
    (nr_type_distance_family_better, nr_type_distance_position_better):
    Rename to nr_type_distance_family and nr_type_distance_position
    respectively, and return just the distance.
    (nr_type_distance_family): Use g_ascii_strcasecmp instead of
    strcasecmp/stricmp.
    (nr_type_distance_family): Return unsigned instead of float.
    (nr_type_distance_position): Use double instead of float.

    * src/libnrtype/nr-rasterfont.cpp
    (nr_rasterfont_generic_glyph_area_get,
    nr_rasterfont_generic_glyph_mask_render): Suppress warning:
    s/CLAMP/MIN/ if the type is unsigned and the lower bound is 0.

    * src/helper/sp-canvas.cpp (paint): Cache canvas->{x0,y0} +
    GTK_WIDGET(canvas)->allocation.{width,height}.
    Remove some commented-out variables.

    * src/tools-switch.cpp, src/tools-switch.h: Make some functions static.
    (tools_num2name): Remove unused function.
    (tools_isactive): Add assertion of not accessing past the end of the
    array.

    * src/knot.cpp (sp_knot_handler): Fix bug where event wasn't
    getting consumed.
    Get rid of hypot macro.

    * src/svg/svg-affine.cpp (sp_svg_transform_write): Add assertions
    that buffer overflow hasn't occurred.

    * src/sp-text.cpp (sp_text_font_style_to_lookup),
    src/dialogs/text-edit.cpp (sp_text_edit_dialog_font_style_to_lookup):
    Slight restructuring using g_snprintf instead of less readable (&
    slightly less efficient in this case) strlen/memcpy.

    * src/sp-metrics.h: Increase accuracy of PT_PER_CM etc.
    Add FIXME comment.

    * src/dialogs/item-properties.cpp, src/display/nr-arena-shape.cpp:
    Address `-Wshadow' warnings.

    * src/nodepath.h, src/nodepath.cpp: Make some functions static.
    (sp_nodepath_node_deselect) Remove unused function.

    * src/dialogs/align.cpp (sp_quick_align_dialog): Switch to data-driven approach.
    Mark some things as static.
    (sp_quick_align_dialog_close) Remove unused function.
    (sp_align_arrange_clicked) Change aligns constant array from ints to
    doubles.  Adjust caller.

2004-01-11  Iain <iain@prettypeople.org>

    * src/modules/ps.cpp: Swap the Print and Cancel buttons around, and
    remove the separator.

2004-01-11  bulia byak <bulia@users.sourceforge.net>

    * src/desktop.cpp,h: New functions and SPDesktop members for maintaining lists of past
    and future zooms. New commands for toggling rulers and scrollbars, removed old and
    unused toggle_borders. Zoom spinbutton editable again, coord_status uses gtk_label
    instead of statusbar, misc cosmetics. Reduced sizes of the window bottom
    stuff. Save/restore the status of rulers and scrollbars in preferences.

    * src/preferences-skeleton.h: New options: showrulers, showscrollbars. Added default
    namedview for a 640x480 new document window.

    * src/widgets/spinbutton-events.cpp,h: Common spinbutton callbacks.

    * src/widgets/Makefile.am: Added spinbutton-events.

    * src/select-toolbar.cpp: Remove code into spinbutton-events.

    * src/widgets/widget-sizes.h: Added sizes for bottom stuff: zoom field, coord status,
    statusbar. Misc cosmetic changes.

    * src/verbs.cpp,h: New verbs for next/prev zoom. New verbs for toggling rulers and
    scrollbars.

    * src/sp-namedview.cpp: Cancel past zooms at the end of window_from_document.

    * src/shortcuts.cpp: `, shift-` to navigate the history of zooms. Ctrl-r, Ctrl-b to
    toggle rulers and scrollbars.

    * src/interface.cpp: Added next/prev zoom commands in the view menu. Added three
    toggle commands (grid, rulers, scrollbars) in the view menu.

    * src/widgets/ruler.cpp: Use fixed smaller font size, defined in widget-sizes. 

2004-01-10  bulia byak <bulia@users.sourceforge.net>

    * src/draw-context.cpp: Changed alt to shift for one-handle drag.

2004-01-10  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/desktop-events.cpp, src/desktop-snap.cpp, src/draw-context.cpp,
    src/gradient-chemistry.cpp, src/selection-chemistry.cpp,
    src/seltrans.cpp, src/sp-shape.cpp:
    Address some `-Wshadow' warnings.

    * src/attributes.cpp, src/color.cpp, src/inkscape.cpp,
    src/interface.cpp, src/helper/units.h, src/libnrtype/nr-type-xft.cpp,
    src/svg/svg-color.cpp, src/widgets/gradient-vector.cpp:
    Address some `-Wwrite-strings' warnings.

    * src/document.h, src/document.cpp,
    src/prefs-utils.h, src/prefs-utils.cpp,
    src/select-toolbar.cpp,
    src/helper/unit-menu.h, src/helper/unit-menu.cpp,
    src/libnr/nr-object.h, src/libnr/nr-object.cpp:
    Mark some pointer function arguments as not being written through.

    * src/path-chemistry.cpp (sp_selected_path_combine): Fix what appears
    to be a memory leak.  Change string concatenation from Omega(n^2) to
    Omega(n).

2004-01-09  bulia byak <bulia@users.sourceforge.net>

    * src/zoom-context.cpp: Added drag tolerance 

    * src/widgets/widget-sizes.h: Spinbutton steps defined here

    * src/widgets/spw-utilities.cpp,h: New function for recursively searching widgets for data

    * src/select-context.cpp: Alt-x activates aux toolbar 

    * src/select-toolbar.cpp: Implement esc, ctrl-z, up/down, pgup/pgdn, tab in the aux
    toolbar, identified default spinbutton for activating by alt-x

    * src/nodepath.cpp: Fix for uninitialized variable, reported by Bob Jamison 

    * src/draw-context.cpp: Fix for 873092; Never snap if hitting anchor

2004-01-08  bulia byak <bulia@users.sourceforge.net>

    * src/select-context.cpp: Fixed ctrl-drag (without breaking ctrl-click) 

    * src/verbs.cpp: Tooltip edits

    * src/desktop.cpp: Changed initial statusbar message (suggested by Daniel Diaz)

    * src/tools-switch.cpp src/nodepath.cpp src/selection.cpp: Edited statusbar messages,
    made them translatable

2004-01-08  Nathan Hurst  <njh@mail.csse.monash.edu.au>

    * src/helper, src/libnr and various: removed senescent code inside
    #if 0s and changed scoping of variables to be close to use.  minor
    performance tweeks.

2004-01-08  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/widgets/sp-color-notebook.cpp (getCurrentSelector): Address
    unsignedness warning (thus fixing a minor buglet).

    * Too many files to list (58 .cpp files, phew!): Address `missing
    initializer for member _GTypeInfo::value_table' warnings.

    * src/toolbox.cpp, src/helper/sp-canvas.cpp: Address miscellaneous
    other `missing initializer' warnings.

    * src/libnr/nr-values.h, src/libnr/nr-values.cpp: Add `Point
    component_vectors[2]' global constant (moved from desktop-snap.cpp).

    * src/sp-namedview.cpp:
    Combine SPNamedview .hguides & .vguides into .guides.
    Combine .gridspacingx, .gridspacingy scalars into .gridspacing Point.
    Consequently reduce copy&paste code both here & in callers.

    * src/sp-guide.h, src/sp-guide.cpp (sp_guide_moveto,
    sp_guide_position_set): Take a scalar (.position value) as argument,
    not a point.
    (sp_guide_position_from_pt): new function.  Adapt callers.
    (sp_guide_description): New function.
    (sp_guide_compare): Remove, not used.
    Change SPGuide.orientation (horizontal/vertical enum) to .normal (a
    Point to be used with dot product), as a step towards allowing
    arbitrary-direction guide lines.

    * src/desktop-events.cpp: Adapt to SPGuide change.
    Remove some #if 0'ed code that would otherwise require updating.

    * src/desktop-snap.h, src/desktop-snap.cpp: Convert some pass-by-value
    Point arguments to const references.  Unexport
    sp_desktop_dim_snap_list_scale.  Adapt to above changes.

    * src/dialogs/desktop-properties.cpp: Adapt to .gridspacing change.

2004-01-07  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/geom.h, src/geom.cpp (sp_intersector_line_intersection):
    change arguments from `Point' to `Point const &'.

    * src/libnr/nr-types.h: Move cross to its sole user, src/geom.cpp.

2004-01-06  bulia byak <bulia@dr.com>

    * src/widgets/spw-utilities.cpp,h: Recursive font setting functions 

    * src/widgets/widget-sizes.h: New: defines sizes and intervals, for toolbars etc.  

    * src/select-toolbar.cpp src/helper/unit-menu.cpp src/toolbox.cpp,h: Use
    widget-sizes.h and recursive font_set

2004-01-06  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/desktop-snap.cpp: Make the `horizontal' and `vertical'
    global constants be static.
    Similarly, make functions sp_intersector_a_vector_snap,
    sp_desktop_dim_snap_list static.

    * configure.in: Fix sigc++ checking code: add it to the existing
    PKG_CHECK_MODULES(INKSCAPE, ...)  list instead of modifying
    $CXXFLAGS,$LIBS.

    * distro: Remove some bashisms: change `function f {...}' to
    `f () {...}', and invoke self with `sh' rather than `bash'.

    Also change a strange-looking "tr '  ' ' '" to "tr -s ' '", as
    a guess as to the intended meaning.  (The actual meaning of the
    original is a noop.)

2004-01-06  bulia byak <bulia@dr.com>

        * src/document-undo.cpp src/document.h: Undo and redo now return gbooleans

        * src/selection-chemistry.{cpp|h}: sp_undo, sp_redo: new, with statusbar
        diagnostics. Duplicate command adds statusbar diagnostics, places duplicate
        into the source's parent instead of document root

        * src/verbs.cpp: Use sp_undo, sp_redo. Tooltip edits

        * src/toolbox.cpp src/toolbox.h: New aux_toolbox_space()

        * src/interface.cpp: New commands in view (cycling desktops) and dialogs (hide dialogs)

        * src/main.cpp: Removed unneeded include

        * src/select-toolbar.cpp src/select-toolbar.h: New selector aux toolbar with XYWH
        spinbuttons (taken mostly from the size&position dialog)

        * src/toolbox.cpp src/toolbox.h: Removed selector aux toolbar code from here

        * src/helper/unit-menu.cpp: Use abbreviations in the unit menu

        * src/widgets/sp-widget.cpp: Added checks that the inkscape object is valid before
        disconnecting SPWidget from it

2004-01-06 MenTaLguY <mental@rydia.net>

    * src/Makefile.am: removed monostd.h

    * src/sp-item.cpp, src/uri-reference.h, src/uri-reference.cpp:
    redid URI reference stuff a bit

2004-01-06 Nathan Hurst <njh@mail.csse.monash.edu.au>

    * src/desktop-snap.{h,cpp} is now built using NR::Point.

2004-01-06 Nathan Hurst <njh@mail.csse.monash.edu.au>

    * src/draw-context.cpp closing a segment now remains snapped.
    Lots of snapping fixes.

2004-01-05 MenTaLguY <mental@rydia.net>

    * src/uri-references.cpp, src/uri-references.h,
    src/uri.cpp, src/uri.h, sp-item.cpp:
    new URI code

2004-01-04 MenTaLguY <mental@rydia.net>

    * src/object-ui.cpp: flattened group submenu

    * src/uri-references.cpp: fixed initialization bug; for
    pre-existing references, the "release" signal wasn't being
    connected

2004-01-04  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/helper/bezier-utils.cpp: Greater use of NR::Point instead of
    NRPoint.  (Readability improved as a result.)
    Get rid of now-unused sp_vector_add etc. functions.
    Get rid of MAXPOINTS fixed upper limit, in the process making more efficient.
    NewtonRaphsonFindRoot: handle the case where f'(u) <= 0. (Previously
    it would seek a local maximum instead of minimum in this case.)
    Rename lots of static functions according to our coding standards.
    Fix some documentation.
    Filter out any NaN points in the input.
    Change the iteration cutoff from the square of the requested error to
    3 * the requested error.  Change the "acceptable error" test from `<'
    to `<='.
    * src/helper/bezier_utils.h (sp_bezier_fit_cubic_full): change
    arguments from NRPoint to NR::Point.
    * src/sp-spiral.cpp: Adapt to sp_bezier_fit_cubic_full change.
    Greater use of NR::Point instead of NRPoint.

    * src/helper/curve.h, src/helper/curve.cpp (sp_curve_moveto,
    sp_curve_lineto, sp_curve_curveto): Add convenience wrappers that
    take n NR::Point's instead of 2*n gdoubles.

    * src/helper/curve.h, src/helper/curve.cpp: Indicate that certain
    functions don't modify the curve passed to them.

    * src/libnr/nr-types.h: operator[], operator+=, operator/=, unary operator-,
    operator==, operator!=: new.  Remove methods L1,L2,Linfty, move them to
    functions in nr-point-fns.{h,cpp}.  Rename Normalize to normalize with
    more sophisticated non-inline implementation in nr-types.cpp.
    * src/libnr/{nr-types.cpp,nr-point-fns.h,nr-point-fns.cpp}: new files.
    * src/libnr/nr-types-test.cpp: new unit test file.
    * src/libnr/Makefile.am: mention the new files.

    * src/Makefile.am: Add `check-recursive: all-recursive' dependency
    (and a comment with related discussion).

    * src/xml/Makefile.am: Append $(EXEEXT) to executables in TESTS.

    * src/verbs.cpp (sp_action_get_title): Get rid of fixed-sized buffer.

    * src/nodepath.cpp: Miscellaneous cleanups including fixing
    erroneous indentation, changing `g_list_length(foo) == 0' to `foo
    == NULL', removing unused function closest_of_three, specifying
    some functions as `static', adding doc.

    * src/inkscape.cpp (inkscape_remove_desktop): Change
    `g_slist_length (foo) == 0' to `foo == NULL'.

    * src/dyna-draw-context.cpp (fit_and_split_calligraphics): Fix the
    calculation of BEZIER_MAX_LENGTH.
    Add assertions that the corresponding buffers haven't been overrun.

2004-01-03  Ted Gould <ted@gould.cx>

    * src/helper/bezier-utils.cpp, src/inkscape-stock.h:
    Fixing some Doxygen errors.

2004-01-03  bulia byak <bulia@dr.com>

        * src/dialogs/dialog-events.{cpp|h}: Hide/unhide callbacks

        * all dialog files: Connected hide/unhide signals

        * src/inkscape.cpp src/inkscape.h: New functions for dialog hide, unhide, toggle

        * src/verbs.cpp src/verbs.h: New verb for dialog toggle

        * src/shortcuts.cpp: F12, quoteleft toggle dialogs

        * src/desktop.cpp: Zoom field width increased

        * src/node-context.cpp: Crash fix by Robert Crosbie

2004-01-03  MenTaLguY <mental@rydia.net>

    * src/inkscape.cpp, src/inkscape.h, src/main.cpp:
    fixes to preference loading

    * src/uri-reference.h: documented Inkscape::URIReference

    * src/sp-item.cpp: fixed double hunref problem

    * src/sp-item.cpp, src/uri-references.h, src/uri-references.cpp:
    reworked Inkscape::URIReference a little

    * src/sp-item.cpp: masks now use Inkscape::URIReference as well

2004-01-02  MenTaLguY <mental@rydia.net>

    * src/shortcuts.cpp: zoom in shortcut fix for german and other
    keyboards from schumaml

    * configure.in: added SigC++ 1.2 dependency

    * src/document-private.h, src/document.h, src/document.cpp,
    src/sp-item.h, src/sp-item.cpp, src/uri-reference.h,
    src/uri-reference.cpp: rewrote URI monitoring code using SigC++

    * src/inkscape.cpp: fix some portability issues

    * src/inkscape.cpp, src/widgets/icon.cpp, src/monostd.h: cleaning up
    more platform stuff

    * src/dir-util.cpp, src/dir-util.h, src/dialogs/export.cpp:
    remove sp_filename_from_path(); use g_path_from_filename instead

2004-01-02  Alexander Clausen <alex@skip86.com>

    * src/spsvgview.cpp src/inkview.cpp src/Makefile.am: re-enabled svg viewer,
    renamed to inkview to avoid name clash with spsvgview from sodipodi

2004-01-01  bulia byak <bulia@dr.com>

    * src/desktop.cpp: Pass keyboard events from desktop widget to event contexts (if
    there is no current item on the canvas); now all keys work regardless of mouse
    position, so long as the document window has focus.

    * src/verbs.cpp src/verbs.h: New verbs for switching desktops

    * src/inkscape.cpp src/inkscape.h: New functions for switching desktops

    * src/nodepath.cpp: Fix crash: Tab when no nodepath

    * src/shortcuts.cpp: Ctrl-Tab, Shift-Ctrl-Tab cycle desktops

    * src/node-context.cpp src/event-context.cpp src/select-context.cpp: Do not consume
    Ctrl-Tab/Shift-Ctrl-Tab in contexts. Explicitly run the corresponding verb in
    event-context.cpp because otherwise GTK gobbles it.

    * src/splivarot.cpp: Edits in statusbar error messages

2004-01-01  MenTaLguY <mental@rydia.net>

    * src/document-private.h, src/document.h, src/document.cpp,
    src/sp-item.h, src/sp-item.cpp, src/uri-reference.h,
    src/uri-reference.cpp:
    added code to handle notifications when uri/id mappings
    changed

    * src/desktop.cpp, src/style.cpp: compilation cleanups

    * src/libnr/nr-types.h: documented NR::Coord and NR::ICoord

2003-12-31  MenTaLguY <mental@rydia.net>

    * removed *S variants of NR structs

    * src/libnr/gen_nr_config.c: removed!

    * src/xml/repr.h, src/xml/repr-private.h, src/xml/repr-io.cpp,
    src/xml/repr.cpp: very preliminary comment support

    * configure.in, src/desktop.cpp, src/main.cpp: removed gtkmm
    dependency for now

2003-12-30  bulia byak <bulia@dr.com>

    * src/selection-chemistry.cpp: Grouping: Statusbar messages for nothing to group or
    only one object, prevent crash when trying to group objects with different parents,
    add new group to the members' common parent rather than to the document
    root. Ungrouping: ungroup all groups in selection, statusbar messages for nothing to
    ungroup.

    * src/node-context.cpp src/node-context.h src/knotholder.h src/knotholder.cpp
    src/nodepath.h src/nodepath.cpp src/document-undo.cpp: Add repr listener in node
    context recreating nodepath or knotholder when the repr was changed outside of the
    node editor, remove the change selection signal hack in document_undo, fixes many
    bugs.

2003-12-28  Daniel Borgmann  <spark@mayl.de>

    * src/main.cpp: Include gtkmm/main.h and gtkmmify the main loop

    * src/desktop.cpp: convert save confirmation dialog to Gtkmm

2003-12-28  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/helper/Makefile.am: Try not to require Gnu make.

2003-12-27  Alexander Clausen <alex@skip86.com>

    * src/interface.{h,cpp} (sp_ui_error_dialog): new function.

    * src/file.cpp src/main.cpp src/dialogs/export.cpp src/interface.cpp: use it

2003-12-27  bulia byak <bulia@dr.com>

    * src/draw-context.cpp: Added drag_tolerance to bezier tool, messages to statusbar 

    * src/knot.cpp: Do not consume Esc when not escaping knot dragging 

    * src/select-context.cpp: Enable dragging objects selected within group

2003-12-27  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/helper/bezier-utils.cpp: Simplifications & documentation.

2003-12-26  bulia byak <bulia@dr.com>

    * src/document.cpp: added rel2abs to sp_document_set_uri, simplified

    * src/document.cpp: removed rel2abs into dir-util

    * src/dir-util.cpp src/dir-util.h: moved rel2abs and abs2rel here

    * src/modules/svg.cpp: Cleaned up svg_save: removed extraneous setting of docbase and
    docname, moved uri_set before save, added comments

    * src/document.h src/document.cpp src/desktop.h src/desktop.cpp: item_at_point: add
    into_groups; group_at_point: new

    * src/selection.cpp: When selecting a group, deselect all its descendants to prevent
    double selection

    * src/select-context.cpp src/select-context.h: Added ctrl-click/ctrl-shift-click to
    select/add to selection regardless of grouping

    * src/verbs.cpp: 2 more mnemo changes 

2003-12-26  Nathan Hurst <njh@mail.csse.monash.edu.au>

    * libnr: moving towards a fully class based Point and Matrix.
    This change adds an initial sketch of matrix.

2003-12-26  MenTaLguY <mental@rydia.net>

    * configure.in: added Gtkmm dependency, removed AC_FUNC_MALLOC

2003-12-25  MenTaLguY <mental@rydia.net>

    * src/desktop.cpp: changed g_sprintf to g_strdup_printf

2003-12-25  Daniel Borgmann <spark@mayl.de>

    * src/interface.cpp src/verbs.cpp: Fixed a few more mnemonics (mostly
    duplicates) and changed shortcut labels to use uppercase letters like the 
    rest of the world. :-)

2003-12-25  Alexander Clausen <alex@skip86.com>

    * src/file.cpp src/main.cpp src/dialogs/export.cpp: Made error dialogs 
    and progressbar transient and non-resizable; made export file selector
    transient.

2003-12-24  bulia byak <bulia@dr.com>

    * src/select-context.cpp: Added statusbar update in a few places

    * src/interface.cpp: Changed order of keyboard modifiers. Split view and object menus.

    * src/verbs.cpp: A couple fixes in mnemonics to better match shortcuts

    * samples/tux.svg: Added missing sodipodi namespace, added namedview

2003-12-24  Alexander Clausen <alex@skip86.com>

    * src/file.cpp src/modules/system.cpp: Fix for 860199; returning NULL in
    sp_module_system_open when doc == NULL; added error dialog.

    * src/main.cpp: Add error dialog when file given on command line does not
    exist, and create an empty document in that case.

2003-12-24  MenTaLguY <mental@rydia.net>

    * src/verbs.cpp: renamed 'XOR' to 'Exclude' on the menu

    * src/object-ui.cpp: moved object-specific menuitems out onto the
    main context menu, instead of sequestered in their own submenus.

2003-12-24  Alexander Clausen <alex@skip86.com>

    * src/interface.cpp:
    Added partial DND (drop part only for now) for image/svg and image/svg+xml,
    and a tweak to make uri-dnd with konqueror work.

2003-12-24  Daniel Borgmann <spark@mayl.de>

    * src/interface.cpp src/verbs.cpp src/object-ui.cpp src/modules/menu.cpp:
    Added mnemonics and some HIGification

    * src/verbs.cpp: New: sp_action_get_title(), get action name without
    underscores (for use in dialog titles or other places without mnemonics)

2003-12-23  bulia byak <bulia@dr.com>

    * src/helper/sp-canvas.h: float-to-double fix

    * src/sp-namedview.h src/sp-namedview.cpp: New namedview attributes for zoom and
    window geometry; functions for updating them from a desktop and for setting up a
    desktop from these attributes

    * src/preferences-skeleton.h: new options.savewindowgeometry 

    * src/attributes.h src/attributes.cpp: New namedview attributes

    * src/desktop.cpp: Remove/comment out extraneous code. Float-to-double fixes, prevent
    sliding when zooming in at max zoom.

    * src/file.cpp src/main.cpp src/interface.cpp: Added document_from_window and
    window_from_document hooks to file opening and saving functions

    * src/document.cpp: New: inkscape_rel2abs() (based on g_rel2abs by Shigio Yamaguchi),
    store absolute filenames in document->uri. Fixed reading namedview template from
    preferences, fixed namedview template id, added comments.

    * src/nodepath.cpp: Ctrl + click node: delete node

    * src/desktop.cpp src/file.cpp src/file.h: New save confirm dialog (patch by spark)

2003-12-23  MenTaLguY <mental@rydia.net>

    * src/desktop.cpp: shortened rulers to canvas dimensions for now

    * src/main.cpp, src/Makefile.am: renamed DATADIR to INKSCAPE_DATADIR
    for the remaining platforms

2003-12-23  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/desktop-snap.h, src/desktop-snap.cpp (all functions):
    Indicate that the given point(s) aren't modified by these functions.

2003-12-22  bulia byak <bulia@dr.com>

    * src/nodepath.cpp: Ctrl + Alt + click node: toggle smooth/cusp/symmetric.

    * src/select-context.cpp: No more snapping back to the origin because of drag
    tolerance (once you trespass the drag tolerance limit once, it does not affect you
    anymore).

    * src/knot.cpp: Used global drag tolerance, no snapping to the origin.

    * src/node-context.cpp: Click outside of nodepath deselects. Added drag tolerance for
    selecting non-selected paths by click. Removed drag_escaped - there's no dragging to
    escape in node context (only in knot).

2003-12-22  bulia byak <bulia@dr.com>

    * src/nodepath.cpp src/nodepath.h>: restrict control handle movement with ctrl, alt,
    shift; utility functions for radial coordinates; fixed several crashes when nodepath
    operations are called but there's no nodepath

    * src/desktop.cpp: filled in sp_desktop_set_coordinate_status implementation, added
    comment

2003-12-22  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/helper/bezier-utils.cpp (sp_darray_center_tangent,
    sp_darray_left_tangent, sp_darray_right_tangent),
    src/helper/bezier-utils.h, src/sp-spiral.h, src/sp-spiral.cpp
    (sp_spiral_get_tangent):
    Make these functions static.

    * src/helper/bezier-utils.cpp (GenerateBezier): Back out accidental
    commit of inserted g_assert(!isnan(bezier coordinate)).  (Having a NaN
    bezier coordinate is usually a problem, perhaps worth warning about,
    but it's hard to make it impossible, so it shouldn't be g_assert.)
    Reported by bulia byak.

2003-12-22 Nathan Hurst <njh@mail.csse.monash.edu.au>

    * Added a new class NR::Point which will replace NRPoint
    throughout the code, and replace things like .cx, .cx in the
    circle structure.

2003-12-21  MenTaLguY <mental@rydia.net>

    * Finally cleaned up the linker issues

2003-12-21  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/Makefile.am (inkscapelib_src):
    src/livarot/Makefile.am (libvarot_a_SOURCES): 
    Add some header files to SOURCES, so that `make distcheck' works.

    * src/style.cpp (sp_style_read_ipaint): Skip leading whitespace.
    Fixes #853804.  Improves rendering of Dia-exported SVG.

2003-12-20  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/sp-spiral.cpp (sp_spiral_set): Fix clamping of t0 value: change
    min from -1.0 to 0.0 as per all other t0 clamps and as required in some
    circumstances by sp_spiral_get_xy.
    (sp_spiral_fit_and_draw): Avoid useless adjacent dups in point sampling.

    (sp_spiral_fit_and_draw, sp_spiral_set_shape): Call proper tangent
    routine instead of trying to estimate from samples.
    (sp_spiral_get_tangent): New function.

    * src/helper/bezier-utils.cpp (sp_bezier_fit_cubic): Implement as a call
    to sp_bezier_fit_cubic_r.
    (sp_bezier_fit_cubic_full): Mark *tHat1 and *tHat2 as const.
    (sp_bezier_fit_cubic_full, ChordLengthParameterize): Add minimal
    handling for the case where the input data is a zero-length path.
    (NewtonRaphsonRootFind): If "improved" value is NaN or +/-inf then
    return the original.

    * src/libnr/nr-macros.h (CLAMP): Change the behaviour if the first
    argument is NaN: previously it would return NaN, now it returns the
    requested lower bound.  Document the behaviour.  Add an assertion that
    the requested lower bound <= the requested upper bound.

    * src/libnrtype/nr-type-ft2.cpp (nr_typeface_ft2_lookup): Change apparently-erroneous
    arguments to CLAMP, and add a FIXME comment indicating that the new arguments are
    just a guess as to the original intent.

2003-12-20  MenTaLguY <mental@rydia.net>

    * src/help.cpp, glade/about_svg.tmpl, glade/about.svg:
    fixed version display in about box

    * src/desktop.cpp, src/desktop.h, src/document.cpp, src/document.h:
    added sp_desktop_item_at_point()

2003-12-19  bulia byak <bulia@dr.com>

    * src/sp-item.cpp src/sp-item.h: new sp_item_get_arenaitem (by mental)

    * src/main.cpp src/file.cpp src/file.h src/dialogs/export.cpp: export UI improvements
    (patches from the tracker)

    * src/select-context.cpp: shift-click selection is now in root_handler, uses
    sp_document_item_at_point(); changed shift-rubberband selection to always select
    instead of toggle

    * src/document.h src/document.cpp: wrong order of arguments in overlap() fixed; new:
    sp_document_item_at_point(), uses sp_item_get_arenaitem

    * src/Makefile.am: fix: ps.c -> ps.cpp

    * src/nodepath.cpp: dragging node with ctrl+alt restricts it to the directions of its
    handles and their perpendiculars

2003-12-19  MenTaLguY <mental@rydia.net>

    * Fixed most shortcut key regressions from the SPAction rework

    * Renamed the Inkscape class (struct really) to Inkscape::Application; we can now
    use the Inkscape namespace.

    * src/toolbox.cpp, src/helper/action.cpp, src/helper/action.h:
    SPActions now know their desktop, and toolbar buttons get it assigned correctly

    * src/desktop.cpp, src/interface.h, src/interface.cpp, src/verbs.cpp:
    Verbs now use the desktop associated with an action rather than SP_ACTIVE_DESKTOP

2003-12-18  Jon A. Cruz <jon@joncruz.org>

    * fix for 859133; Reduced number of generated events.

2003-12-18  Jon A. Cruz <jon@joncruz.org>

    * src/widgets/sp-color-gtkselector.cpp: fix for 859131; Changed descriptive name of GTK+
    selector.

2003-12-18  MenTaLguY <mental@rydia.net>

    * First steps towards making actions per-view

2003-12-17  Jon A. Cruz <jon@joncruz.org>

    * src/widgets/sp-color-notebook.cpp: fix for 859128; changed selectors to grow when
    given more space.

2003-12-17  Jon A. Cruz <jon@joncruz.org>

    * Converted color selectors to C++ classes.

2003-12-18  Nathan Hurst <njh@csse.monash.edu.au>

    * Merged NRPointF and D, similarly Matrix and Rect.

2003-12-18  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/toolbox.cpp: re-added spiral button (reverting MenTaLguY's change).

2003-12-17  bulia byak <bulia@dr.com>

    * src/xml/repr-io.cpp src/xml/repr.h: fix to suppress formatting whitespace when
    serializing text and its children

    * src/select-context.cpp: shift now prevents dragging objects, creating rubberband
    instead

2003-12-17 Nathan Hurst <njh@csse.monash.edu.au>

    * provided some initial thoughts on how to do Points uniformly across inkscape.  geom.h
    * partial currying of zoom menu

2003-12-17  MenTaLguY <mental@rydia.net>

    * src/toolbox.cpp: removed spiral button

2003-12-16  bulia byak <bulia@dr.com>

    * src/nodepath.cpp src/nodepath.h: node drag is now restricted to hor/vert by ctrl

2003-12-16  bulia byak <bulia@dr.com>

    * src/seltrans.cpp: fix for 860201; ctrl restricts rotation by 15 degrees (from
    sodipodi); used new status display function

    * src/sp-text.cpp: removed non-printable char error into text-context, removed
    extraneous assignment

    * src/verbs.cpp: typo fix

    * src/knot.cpp: in cancelling drag, use the knot's desktop instead of active; add
    statusbar flash

    * src/draw-context.cpp: changing useful messages to statusf_flash, removing useless
    debug output

    * src/nodepath.cpp: statusbar error message if joining nodes fails; expanded
    update_statusbar

    * src/select-context.cpp: statusbar flash when esc cancels selection or drag

    * src/selection.cpp: expanded update_statusbar

    * src/text-context.cpp: used statusf_flash for no-break space, added non-printable
    char error

    * src/tools-switch.cpp: added default statusbar message for each tool

    * src/desktop.cpp: new handler for status_set, with timeout; initialize message in
    statusbar

    * src/view.cpp src/view.h: status_set signal: added msec, removed isdefault; added
    _flash and _error functions for temporary statusbar display; added docs

2003-12-14  Ted Gould <ted@gould.cx>

    * src/widgets/button.cpp, src/helper/action.h, src/helper/action.cpp,
    src/verbs.h, src/verbs.cpp, src/toolbox.cpp, src/shortcuts.h,
    src/shortcuts.cpp, src/interface.h, src/interface.cpp:
    Adding in a sp_verb_t to identify verbs to make later conversions
    easier.  Also adding an arguement to the perform function of
    SPActionEventVector so that data can be passed to modules (when
    they're converted to action/verb).

2003-12-14  MenTaLguY <mental@rydia.net>

    * src/view.h, src/view.c: added new utility things for setting status

    * src/draw-context.c, src/text-context.c, src/view.c, src/view.h:
    retired sp_status_display() and sp_status_clear()

2003-12-14  bulia byak <bulia@dr.com>

    * src/verbs.h src/verbs.c: changed 'offset' to 'outset' (more logical), added simplify
    path command

    * src/interface.c: added sp_key_name to make shortcuts more readable, added simplify
    path command, regrouped commands more logically

    * src/shortcuts.c: changed shortcuts for boolean ops, readability, minor cleanups

    * src/inkscape.c: increased max length of recent documents list to 15, fixed trimming
    the list

    * src/seltrans.c: fixed crash when scaling very small objects at max zoom

2003-12-12  MenTaLguY <mental@rydia.net>

    * doc/Makefile.am, Makefile.am, configure.in: include doc/
    subdirectory in distribution tarballs

    * src/widgets/icon.c: final tweaks for getting icon highlights
    right on buttons (temporary hack, hopefully)

    * src/splivarot.cpp: compilation fix

    * src/widgets/sp-color-notebook.c: minor tweak so selector menu
    is a little more obvious

2003-12-12  bulia byak <bulia@dr.com>

    * src/svg/svg-path.c src/desktop.h src/libnr/gen_nr_config.c src/libnr/nr-object.c
    src/libnr/nr-types.h: made all floats doubles and all shorts ints in libnr; maximum
    zoom is increased to 256; SVG paths are stored with 8 digits precision (was 6)

2003-12-11  bulia byak <bulia@dr.com>

    * src/node-context.c adding node edit statusbar updates

    * src/selection.c: update statusbar only if selector is active

    * src/tools-switch.c: update statusbar when selector is activated

    * src/nodepath.c src/nodepath.h: function for node edit statusbar display; fixes for
    several tab-cycling and node-deleting bugs

    * src/sp-path.c: added description for SPPath (used in statusbar display)

    * src/draw-context.c: moved some messages from console to statusbar

    * src/view.c src/view.h: utility functions for statusbar display

    * src/text-context.c: statusbar display for unimode

2003-12-10  Ted Gould <ted@gould.cx>

    * configure.in: Changing to 0.37cvs

2003-12-10  bulia byak <bulia@dr.com>

    * src/verbs.c: SELECT_ALL is now tool-sensitive, comments

    * src/shortcuts.c: ctrl-a for the SELECT_ALL global verb; h and v for flips

    * src/interface.c: split edit menu into edit and object

    * src/node-context.c: removed ctrl-a, now taken care of by the global verb

    * src/nodepath.c: select_all silently returns if given null arg

    * doc/keyboard-shortcuts.txt: new shortcuts from wiki

2003-12-09  bulia byak <bulia@dr.com>

    * src/helper/png-write.c: fix for png comments (from sodipodi)

    * src/nodepath.c: fix for 856700, 856686; a better control point positioning for
    join_segment

    * src/shortcuts.c: fix default shortcut for star tool

    * src/prefs-utils.c src/prefs-utils.h: new *_limited functions to get data guarding
    against through-the-roof values

    * src/select-context.c src/node-context.c: using *_limited functions to get preference
    values

    * src/document-undo.c: fix in sp_document_maybe_done to combine same-key steps

    * src/selection-chemistry.c src/nodepath.c: put subsequent same-direction arrow-key
    movements into one undo step

    * src/sp-text.c src/sp-text.h: removed the preservews argument of sp_text_insert

    * src/text-context.c src/text-context.h: if there's no text object selected, keys are
    not consumed; fixed passing unconsumed keys to parent context; any non-hex-digit now
    cancels unimode

    * src/dialogs/transformation.c: re-fixing pjrm's fix properly

2003-12-08  bulia byak <bulia@dr.com>

    * src/sp-text.c: fixed typing non-ascii chars; copied (with fixes) treatment of
    xml:space from sodipodi 0.33

    * src/sp-text.h: small fix from sodipodi 0.33

    * src/text-context.c: copied sp_text_context_preedit_reset and related code from
    sodipodi 0.33; xml:space='preserve' is added to newly created text objects; esc
    deselects; uncatched keys are passed on; misc fixes

2003-12-08 MenTaLguY <mental@rydia.net>

    * src/widgets/button.c: put errors to rest for now

    * src/document-undo.c: removed code to limit undo list length

2003-12-07 MenTaLguY <mental@rydia.net>

    * src/widgets/button.c: fixed unsignedness warning

2003-12-06  bulia byak <bulia@dr.com>

    * src/dialogs/align.c: tooltip fix (from sodipodi)

    * src/libnr/nr-stroke.c: fix for 853827, rendering of short paths (from sodipodi)

    * src/sp-text.c src/sp-text.h src/text-context.c: enabled home/end in text (from sodipodi)

    * src/document-undo.c: increased MAX_UNDO to 512

    * src/file.c src/dialogs/export.c: fix for 851012: the smallest possible exported png
    is now 1x1

    * src/widgets/font-selector.c: fix for 851789: no exponential display in font size field

2003-12-06 MenTaLguY <mental@rydia.net>

    * src/desktop.c: permit the canvas widget to take keyboard focus

    * src/widgets/button.c, src/widgets/button.h: reworked perform
    callback as separate callback, so we can use
    g_signal_handlers_{un,}block...() on it rather than the stupid
    semaphore counter thing I had originally.

    Also switched to sp_icon_new() instead of sp_icon_new_scaled(), as
    otherwise the small icons were too small (but the large icons are
    now smaller than they could be... darn it... ><)

2003-12-05 Bryce W. Harrington <brycehar@bryceharrington.com>

    * style.*, sp-path.*, sp-shape.*, more:  Hooking up preliminary
    support for path markers (arrowheads).  Also adding
    documentation, fixing if statement style, etc.

2003-12-05 MenTaLguY <mental@rydia.net>

    * src/widgets/icon.c, src/widgets/button.c, src/widgets/button.h, src/toolbox.c:
    Reworked SPButton to derive from GtkToggleButton.

    * src/svg/svg-length.c, src/helper/units.c: removed #ifdef WIN32 insanity

    * src/Makefile.am, src/extension.c,
    src/extension.h, src/extensions-skeleton.h,
    src/main.c, src/inkscape.c, src/toolbox.c: Removed dead code left
    over from first extensions implementation

    * configure.in, src/main.c: removed freebsd-specific test and just check for fpsetmask() instead

    * src/verbs.c: fixed quit icon

2003-12-04  bulia byak <bulia@dr.com>

    * src/toolbox.c: added convert to curves button, cosmetic changes in aux toolbar

    * src/text-context.c: made text editing via xml editor undoable

    * src/nodepath.c: new functions to duplicate node, fixes to node_break and selection
    functions, new (presently unused) functions for saving/restoring node selection

    * src/node-context.c: shift-d to duplicate node, all keys now work regardless of capslock

    * src/document-undo.c: temp fix: undo emits selection_changed signal for node editor
    to update display

    * src/selection.c: new function without arguments to emit change_selection signal

    * src/selection.h: new function without arguments to emit change_selection signal

    * src/nodepath.h: new functions to duplicate node, new (presently unused) functions
    for saving/restoring node selection

2003-12-04  MenTaLguY <mental@rydia.net>

    * src/desktop.c: rearranged toolbars so aux toolbar is topmost
    * src/toolbox.c: made toolbars detachable

2003-12-02  bulia byak <bulia@dr.com>

    * src/file.c: made open and save dialogs modal and transient

2003-12-02  bulia byak <bulia@dr.com>

    * src/interface.c: removed tool attributes command
    * src/preferences-skeleton.h: added branch for export dialog
    * src/file.c: made import dialog transient
    * src/verbs.c: changed some dialog names and tooltips
    * src/shortcuts.c: changed shortcuts for transform and text dialogs
    * src/dialogs/display-settings.c: fixed dialog title
    * src/dialogs/export.c: made unsinkable, remembering size and position, added label
    for filename

2003-11-30 MenTaLguY <mental@rydia.net>

    * src/xml/repr-io.c, src/attributes.c, src/attributes.h,
    src/sp-object.h, src/sp-object.c: merged basis for Oka's
    xml:space support

    * src/toolbox.c: made tool buttons larger, aux buttons smaller

    * src/document-undo.c: fixed bug with undo/redo past the
    beginning/end of the undo history

2003-11-29  bulia byak <bulia@dr.com>

    * src/selection-ch emistry.c src/selection-chemistry.h src/verbs.c src/verbs.h
    src/shortcuts.c src/interface.c: new function, verb, shortcut (shift-ctrl-v), menu
    command: paste style (apply the style of copied object to selection). If more than
    one object is copied, the first one in the clipboard list is taken as the source of
    the style.

2003-11-30  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/style.c (sp_style_merge_from_parent): Fix some
    unsigned-related bugs with "font-weight=lighter",
    "font-stretch=narrower", "opacity=...".

    * src/modules/system.c (sp_module_system_save): Partial fix for
    unrecognized filetype: show a CRITICAL warning instead of
    segfaulting due to uninitialized var.

    * src/document.c (sp_document_new), file.c (file_open_ok,
    sp_file_open_dialog, sp_file_save_dialog, sp_file_do_import),
    main.c (sp_main_console), src/module.c (sp_module_finalize,
    sp_module_input_finalize, sp_module_input_build,
    sp_module_output_finalize, sp_module_output_build),
    src/sp-anchor.c (sp_anchor_set), src/sp-image.c (sp_image_set),
    src/sp-text.c (sp_string_release, sp_string_read_content,
    sp_string_set_shape), src/sp-use.c (sp_use_release), src/style.c
    (sp_style_unref, sp_style_merge_property,
    sp_style_merge_from_parent, sp_text_style_unref,
    sp_style_read_istring), src/bonobo/embeddable-document.c
    (sp_bonobo_stream_read, sp_embeddable_document_ps_save),
    src/dialogs/stroke-style.c (sp_stroke_style_scale_line),
    src/dialogs/text-edit.c (sp_text_edit_dialog_text_changed),
    src/helper/sodipodi-ctrl.c (sp_ctrl_build_cache),
    src/modules/ps.c (sp_ps_print_image),
    src/widgets/font-selector.c (sp_font_preview_set_phrase),
    src/widgets/gradient-image.c (sp_gradient_image_size_allocate),
    src/xml/repr-action.c (coalesce_chgattr, coalesce_chgcontent,
    free_action), src/xml/repr.c (repr_finalize, sp_repr_merge):
    Minor cleanup: replace `if (POINTER_EXPR) g_free (POINTER_EXPR)'
    with the simpler (more readable) `g_free (POINTER_EXPR)'.

2003-11-29 Kees Cook <inkscape@outflux.net>

    * src/utest/.cvsignore: adding "Makefile"
    * src/desktop.c: sp_desktop_pop_event_context could use uninit'd *ec
    * src/desktop.h: missing declaration of sp_desktop_zoom_page_width
    * src/libnrtype/nr-rasterfont.c: give *spx and srs default values
    * dialogs/dialog-events.c: remove unused *w and *dtw

2003-11-29 MenTaLguY <mental@rydia.net>

    * src/interface.c: switched to GNOME HIG menu style

    * src/toolbox.c: gave the aux toolbox a fixed (minimum) size so
    the workspace will jiggle less as different tools are selected.

    * src/utest/Makefile.am, src/utest/utest.c, src/utest/utest.h,
    src/xml/Makefile.am: turned the utest stuff into a giant .h
    file again, which hopefully won't confuse things like the .inc
    extension did.

2003-11-29  bulia byak <bulia@dr.com>

    * shortening tooltips, new verb and menu command for zoom to page width 

2003-11-29 Bryce Harrington <brycehar@bryceharrington.com>

    * README:  Updating "Sodipodi" to "Inkscape", removing some
    obviously obsolete bits.

    * inkscape.1.in, inkscape.pod:  Totally rewriting manpage from
    scratch.  The old one appeared to be for some other application,
    because it was just a list of options, 90% of which aren't
    implemented.  I chose to do it in POD for convenience, but hand
    edited the 1.in file to remove bits about "Perl Documentation",
    etc.

    * General:  Some fixes to recently added code that broke the g++
    compile.

2003-11-29  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * src/utest/Makefile.am, src/utest/utest.c, src/utest/utest.inc,
    src/utest/utest.h, src/xml/Makefile.am, src/xml/repr-action-test.c:
    Split utest.inc into utest.h and utest.c.  Update users.

    Make utest.c,utest.h formatting conform more to doc/coding-style.txt.

    Have utest.c built into libutest.a (see src/utest/Makefile.am
    comments).

    * src/xml/repr-action.c (reverse_log): Add doc comment.  Rename some vars.

    * src/xml/repr-action.c (sp_repr_replay_log, sp_repr_undo_log),
    src/xml/repr-action.h, src/document-undo.c (sp_document_cancel,
    sp_document_redo, sp_document_undo): Remove the unused doc
    argument to sp_repr_replay_log, sp_repr_undo_log.  Update callers.

2003-11-28  Peter Moulder  <pmoulder@mail.csse.monash.edu.au>

    * extensions/ai_input.inkmod, extensions/dia.inkmod,
    extensions/svgz_input.inkmod, extensions/svgz_output.inkmod:
    Change the filename extension from `foo' to `.foo'; i.e. the
    filename must end in `.foo' to be considered a match, rather
    than merely ending in `foo'.

    It appears that the sole users of this data are in src/system.c
    (open_internal, save_internal).

    I've found no documentation needing updating, according to
    `rgrep -i extension doc'.

    * src/system.c (open_internal, save_internal): Minor effec tweaks:
    fewer strlen calculations.

    * src/dialogs/transformation.c: Fix uninitialized-var bug.

2003-11-28 MenTaLguY <mental@rydia.net>

    * src/document.c, src/document-undo.c, src/document-private.h:
    renamed SPDocumentPrivate::undo_size to ::history_size.  Fixed
    long-standing undo bug, where maybe_done() would neglect to
    start a new transaction if the previous transaction log were
    empty.

    * src/xml/repr-action-test.c, src/utest/utest.inc: made test
    control structure a little clearer (hopefully) by hiding it.
        Also some initial Doxygenification of the unit testing stuff.

    * src/Makefile.am: added utest/ subdir

    * doc/architecture.svg: reworked architecture diagram a bit

    * doc/class-hierarchy.dia: added first shot at documenting the
    class hierarchy in Dia

    * src/modules/svg.c, src/modules/win32.c: change "...with
    xmlns:sodipodi namespace" to "...with extension namespaces"

    * src/xml/repr-action.c: fixed log optimizer to check
    SPReprAction::type before coalescing adjacent actions

2003-11-27 Bryce <bryce@osdl.org>
    * doc/architecture.svg: Added architecture.svg to try to capture
    the subsystems at a block layer level.  Defining colors, working
    up basic structure, etc.
    * Adding defines, functions, etc. for allowing markers into
    inkscape-stock.h, sp-marker.*, sp-path.c, sp-shape.h, style.*,
    and dialogs/stroke-style.c
    * Added some new UI utility functions to spw-utilities.* and
    changed dialog/stroke-style.c to use them, in order to simplify
    redundancies in the code a bit.

2003-11-27 MenTaLguY <mental@rydia.net>

    * src/desktop.c: the coord status bar area should not have a
    resize handle

2003-11-27 bulia byak <bulia@dr.com>

    * all dialogs remember size and position across sessions
    * all dialogs are unsinkable (re-transientizing to the current document)
    * all dialogs are closeable by ctrl-f4 and ctrl-w, defocusable by esc
    * dialogs titles unified, added shortcut display in the titles

2003-11-27 MenTaLguY <mental@rydia.net>

    * src/utest/Makefile.am, src/utest/utest.inc: new minimalist
    unit testing framework

    * src/xml/Makefile.am, src/xml/repr-action-test.c: some tests
    for the XML transaction stuff

    * src/desktop.c: reshuffled the widgets, switched to an embedded
    toolbox, switched to using real GtkStatusbars for the status bar,
    and (for the present) nuked the body of
    sp_desktop_set_coordinate_status() since it had been #ifdeffed
    out for ages anyway

    * src/desktop.h: removed another constant #ifdef

    * src/widgets/button.c: lobotomized toggle buttons temporarily,
    so multiple windows having independent tool states wouldn't confuse
    toolboxes :/ .. the real fix is to rework SPAction and friends
    to not be so global-minded

    * src/event-context.h: changed sp_ui_generic_menu to
    sp_ui_context_menu

    * src/interface.c: reworked the menu structure and introduced
    sp_ui_main_menubar to create the menubar; changed sp_ui_generic_menu
    to sp_ui_context_menu

    * src/main.c: remove the floating toolbox

    * src/shortcuts.c: remove shortcuts related to the floating toolbox

    * src/verbs.c, src.verbs.h: removing floating toolbox verb

    * src/widgets/sp-toolbox.c,
    src/widgets/sp-toolbox.h,
    src/widgets/Makefile.am: nuked floating toolbox window

2003-11-25 bulia byak <bulia@dr.com>

    * src/select-context.c src/preferences-skeleton.h: new option: drag tolerance

2003-11-25 bulia byak <bulia@dr.com>

    * src/dialogs/dialog-events.c src/dialogs/dialog-events.h: new callback and utility
    functions for defocusing
    * src/widgets/sp-color-selector.c src/widgets/dash-selector.c
    src/dialogs/stroke-style.c: spinbuttons, text fields defocus on enter

2003-11-24 bulia byak <bulia@dr.com>

    * src/dialogs/display-settings.c src/display/canvas-arena.c: cursor tolerance now
    stored in preferences, default changed to 2.0

2003-11-24 bulia byak <bulia@dr.com>

    * src/preferences-skeleton.h: new group for global interface options
    * src/prefs-utils.h src/prefs-utils.c: new functions for double attributes
    * src/select-context.c src/node-context.c: nudge distance (without alt) is taken from preferences (default 1 mm)

2003-11-24 bulia byak <bulia@dr.com>

    New keys in node editor:	
    * esc deselects and cancels rubberband and node dragging
    * ctrl-a selects all nodes
    * tab and shift-tab cycle through nodes of the current shape

2003-11-23 Bryce Harrington <bryce@osdl.org>

    * Added include for document.h to knot.c for declaring
    sp_document_undo, as g++ didn't like not having it declared. 

2003-11-22 bulia byak <bulia@dr.com>

    * unified handling of arrow keys in selector and node editor
    * lots of new keys for switching tools and calling dialogs
    * space works as temporary selector toggle
    * new: tools-switch.{c,h} utilities for switching tools
    * cleaned up zoom shortcts (1-5)
    * keys for toggling grid (#) and guides (|)
    * esc deselects, cancels rubberband selection, dragging or transformation 
    (in selector)
    * quit (ctrl-q) now works everywhere
    * new document is opened on startup if none was given on command line
    * closing last open document shuts down the program
    * floating toolbox is at most one copy, as are other dialogs
    * toolbox command is moved to the dialogs menu, ctrl-` as shortcut
    * document windows closeable by ctrl-f4
    * cleaned up status line messages, changed "items" to "objects"
    * quit confirmation dialog appears near the cursor and is transient
    * fix: killing quit confirmation dialog was interpreted as No instead 
    of Cancel
    * preferences are now saved in case of a crash
    * preferences are saved on exit
    * new: prefs-utils.{c,h} utilities for handling preferences
    * misc fixes
    * misc shortcuts

2003-11-18 Ted Gould <ted@gould.cx>

    * src/modules/system.c: Passed the wrong pointer.  Fix is by
    Robert Crosbie.

2003-11-18 Ted Gould <ted@gould.cx>

    * src/widgets/sp-toolbox.c: Adding in an include for gtkimage.h
    to get the stock functions.  This fixes the build under g++.

2003-11-18 Ted Gould <ted@gould.cx>

    * src/modules/extension.c: Changing mkstemp to g_mkstemp for
    compatibility.

2003-11-17 Kees Cook <inkscape@outflux.net>

    * configure.in: SF Patch #843537: more cast corrections from joncruz

2003-11-17 Ted Gould <ted@gould.cx>

    * src/modules/init.c: Changing the process for handeling a directory
    that doesn't exist.  Now passing out a warning, and then returning.
    The warning is on the command line so most users won't have to deal
    with it (it _shouldn't_ happen anyway ;)  Fixes: #843333.

2003-11-17 Kees Cook <inkscape@outflux.net>

    * SF Patch #841940: autoconf update from joncruz
    * SF Patch #842949: lpr fixes from Lynn Kerby
    * SF Patch #842951: variable declaration fixes in interface.c
    * SF Patch #842953: small color picker update from John Bintz
    * SF Patch #842955: additional Darwin updates from Peter
    * Fixed stroke style literal string bug that caused warnings
    * SF Patch #842958: updated inkscape.desktop.in slightly
    * SF Patch #843170: freetype include corrections
    * SF Patch #843326: fixups for g++ compilation from joncruz
    * Adding some more missing "extern C" sections for g++ compiles
    * Small type corrections to quite g++ during -Wall
    * Changed all the #endif // __cplusplus into a standard C comment

2003-11-16  MenTaLguY <mental@rydia.net>

    * src/document.c: reworked sp_desktop_items_*in_box family to be layer-aware

2003-11-16  Kees Cook <inkscape@outflux.net>

    * Cleaned up "desactivate" into "deactivate"
    * Fixed GDK_SCROLL event from mouse wheel scrolling
    * Cleaned up .cvsignore entries for fewer cvs warnings

2003-11-16  MenTaLguY <mental@rydia.net>

    * dialogs/xml-tree.c: events should not be intercepted for the XML dialog

2003-11-16  MenTaLguY <mental@rydia.net>

    * src/version.c: ME R DUM.  Had the arguments to sscanf() reversed.

2003-11-16  Ted Gould <ted@gould.cx>

    * Updating everything so that it builds under g++ again.  Much
    of the updates were to the recently checked in modules code.

2003-11-16  MenTaLguY <mental@rydia.net>

    * New version code (version.c/version.h)
    * Introduced inkscape namespace in parallel with sodipodi namespace
    * Fixed a lot of attribute enum names to reflect sodipodi versus inkscape namespaces
    * src/document.c: new version processing, plus namespace fixes
    * SP_OBJECT_WRITE_INKSCAPE is now SP_OBJECT_WRITE_EXT
    * Inkscape and Sodipodi versions are tracked separately
    * First crack at layers!  set inkscape:groupmode to "layer" or "group" depending on how you want a group to behave
    * A little dead code removal

2003-11-15  MenTaLguY <mental@rydia.net>

    * Mege Jon's improved src/help.c patch from the mailing list (with some temporary cruft of my own that I hope he'll forgive me for)

2003-11-14  Ted Gould <ted@gould.cx>

    * Fixed up the module code alot.  Now extentions are usable with
    a XML file in the /usr/share/inkscape/modules directory.

2003-11-12  Jon Cruz <jon@joncruz.org>
    * Fix warnings due to missing casts - nr-rasterfont.c (840539)
    * Fix warnings due to missing casts - desktop-snap.c (840543)
    * Fix warnings due to missing casts - help.c (840545)

2003-11-11  Robert Crosbie <swingincelt@hotmail.com>

    * Remove kde option from configure (840504)
    * Remove icon hash from sp_icon_new_full (840506)

2003-11-11  magnethead <magnethead@mindspring.com>

    * src/dialogs/transformation.c (sp_transformation_dialog_new):
    Removed images from tabs
    * src/dialogs/object-properties.c (sp_object_properties_dialog):
    Removed images from tabs

2003-11-11  Ted Gould <ted@gould.cx>

    * Starting 0.36 development

2003-11-10  Ted Gould <ted@gould.cx>

    * Release 0.35

2003-11-08  Bryce Harrington <brycehar@bryceharrington.com>
    * Updated About dialog
    * Fixed bug on Editing Windows dialog

2003-11-08  Manny the Gnome
    * Remove KDE dialog option

2003-11-06 Bulia Byak
    * Add cursor-key support

2003-10-19  MenTaLguY  <mental@rydia.net>

    * src/xml/repr-io.c (sp_repr_svg_read_node): handle CDATA
    sections properly

    * Most of the tree.  Unsodipodified pretty much everything I could
    find.  New temporary icons, etc etc...

2003-10-23  Ted Gould  <ted@gould.cx>

    * src/*/Makefile.am: Changing the include paths to make distcheck
    get closer to passing.

2003-10-22  Ted Gould  <ted@gould.cx>

    * configure.in: Changing version to 0.32-hydra1.  This is after
    much discussion and serious contemplation (okay, we never really
    got out the magic eight ball).

2003-10-22  Ted Gould  <ted@gould.cx>

    * src/dialogs/desktop-properties.c, src/widgets/spw-utilities.c,
    src/widgets/spw-utilities.h: Cleaning up desktop properties by
    abstracting things into functions.  This patch was written by
    Bryce Harrington and is tracker entry #822497.

2003-10-21  Ted Gould  <ted@gould.cx>

    * src/interface.c: Changing it so there is an Open Recent menu on
    the Sodipodi menu and the toolbar menu.  This removes some clutter
    in the menu.  This is tracker entry #820223 and the author is
    unknown.

2003-10-21  Ted Gould  <ted@gould.cx>

    * src/dialogs/text-edit.c: Make it so that changes can be applied
    to multiple blocks of text.  This patch was submitted by Petr
    Kovar and is tracker #816676.

2003-10-17  Ted Gould  <ted@gould.cx>

    * src/dialogs/object-properties.c: Applying a patch by Lynn Kerby
    which is tracker number 799363.  This makes it so that if just
    the units are changed the object does not get updated.

2003-10-16  Ted Gould  <ted@gould.cx>

    * src/Makefile.am: Adding the modules to the linking of the
    spsvgview executable.  This fixes the KDE build.  This was tracker
    issue 819963 but unfortunately we don't know who submitted it.

2003-10-15  Ted Gould  <ted@gould.cx>

    * configure.in: Adding a -hydra to the version number.

2003-10-15  Ted Gould  <ted@gould.cx>

    * Changelog: Applying the patch from Mental to do transactions
    in the XML.  It is tracker number: 819745.  More info to follow
    which is (written by Mental)

    * src/document-private.h: removed old SPAction struct and 
    modified SPDocumentPrivate to use new SPReprAction type

    * src/document-undo.c: removed all sp_action stuff,
    sp_document_priv_done(), and all repr callbacks
    (sp_document_set_sensitive): start/suspend transactions on Repr 
    document
    (sp_document_done): now just a wrapper for
    sp_document_maybe_done(), of which it is a special case
    (sp_document_maybe_done): use new transaction facility, and 
    properly trim undo list size to MAX_UNDO
    (sp_document_cancel): new SPDocument method for aborting (and 
    undoing) current operation
    (sp_document_undo, sp_document_redo): rewritten for transactions

    * src/document.c (sp_document_init): updated SPDocumentPrivate
    initialization
    (sp_document_destroy): clean up partial action list
    (sp_document_idle_handler): removed undo stack warning
    (sp_document_warn_undo_stack): removed

    * src/document.h: added sp_document_cancel()

    * src/sp-object.c (sp_object_invoke_build): minor cleanup
    (sp_object_repr_child_added, sp_object_repr_remove_child, 
    sp_object_repr_order_changed, sp_object_repr_attr_changed,
    sp_object_repr_content_changed): removed calls to document 
    callbacks

    * src/dialogs/xml-tree.c: enabled delete button for _all_ 
    attributes [I later plann on enabling/disabling it based on
    a call to the repr's change_attr veto callback]
    (after_tree_move): roll back the transaction if the node
    didn't want to be moved
    (on_attr_select_row_enable): used to be 
    on_attr_select_row_enable_if_not_id()
    (cmd_indent_node, cmd_unindent_node): removed usage of 
    sp_repr_move in favor of simple operations with transactions

    * src/widgets/sp-xmlview-tree (repoint_nodes): no longer needed
    (add_node): switched to an if cascade instead of a switch 
    statement, since SP_REPR_TYPE (repr) is no longer an integer
    (tree_move): use simple operations instead of sp_repr_move

    * src/xml/Makefile.am: added sp-action.c to build

    * src/xml/repr-action.c, src/xml/repr-action.h: transaction
    logging facility for reprs using linked lists of SPReprAction
    structs (conceptually, logs)

    * src/xml/repr-private.h: introduced SPReprClass for different
    node types and added SPRepr::doc field for doc pointer.
    SPReprDoc is now a proper subclass of SPRepr.

    * src/xml/repr-util.c (sp_repr_move, sp_repr_transfer_ids):
    removed

    * src/xml/repr.c: added logging macros and SPRepr subclassing

    * src/xml/repr.h: removed sp_repr_move()

2003-10-09  Ted Gould  <ted@gould.cx>

    * src/libnrtype/nr-type-directory.c: Applying a patch to
    fix the compile from Vitaly Lipatov.

2003-10-08  Ted Gould  <ted@gould.cx>

    * glade/icons.svg src/nodepath.c src/nodepath.h
    src/toolbox.c src/dialogs/node-edit.c src/dialogs/node-edit.h:
    Adding another patch from Bob Jamison which is in the tracker
    under 819054.  This patch adds an alternate join function.  It
    also adds this function to the tool box with an icon.

2003-10-08  Ted Gould  <ted@gould.cx>

    * src/.cvsignore: Adding in spsvgview for cleaner diff's

2003-10-08  Ted Gould  <ted@gould.cx>

    * src/dialogs/item-properties.c: Submitting a patch from
    Bob Jamison which is in the tracker under 819043.  This adds
    the ID to the item properties dialog.

2003-10-06  Ted Gould  <ted@gould.cx>

    * Changelog: Start of the hydra-october branch

2003-10-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libarikkei/Makefile.am: New stuff from ariariki

    * src/libnrtype/nr-type-xft.c (nr_type_read_xft_list): Moved here

    * src/libnrtype/nr-type-directory.c (nr_type_build): From ariariki
    (nr_type_read_private_list): Use libarikkei tokenizer
    (nr_type_register): Made public

    * src/libnrtype/Makefile.am: Added libarikkei stuff

    * configure.in: Added libarikkei/Makefile

2003-09-18  Mitsuru Oka <oka@mediasite.co.jp>

    * Initial IA-64 Linux support.

    * libnr/nr-object.h defined new type NRType.

    * src/desktop.c ... src/modules/win32.h ... many files:
    modified all of the unsigned int GObject type by GType and
    unsigned int NRObject type by NRType.

2003-08-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_setup): Check whether font
    has assigned code points on BMP private area
    (nr_typeface_ft2_lookup): Map BMP private area directly to glyph index only
    if it is free, use planes F and 10 for direct mapping

2003-08-17  Danilo Šegan  <dsegan@gmx.net>

    * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

2003-07-23  Dmitry G. Mastrukov  <dmitry@taurussoft.org>

    * configure.in: Added Belarusian to ALL_LINGUAS.

2003-07-21  Christian Neumair  <chris@gnome-de.org>

    * src/verbs.c: Fix another typo (preciely->precisely).

2003-07-21  Christian Neumair  <chris@gnome-de.org>

    * src/widgets/paint-selector.c: Fix a typo (colospace->Colorspace).

2003-07-15  Masatake YAMATO  <jet@gyve.org>

    * src/helper/sp-ctrlline.h: Fix a typo(x2->x1).

2003-07-12  Yukihiro Nakai  <ynakai@redhat.com>

    * src/text-context.c (sptc_preedit_changed): New signal handler
    (sp_text_context_setup): Connect "preedit_changed" signal
    (sp_text_context_root_handler): Return TRUE (needed for Gtk+ IM)

    * src/verbs.c (sp_verbs_init): Wrap action name and tip into _()

2003-07-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/event-context.c (sp_event_context_private_root_handler): Handle
    GDK_SCROLL (thanks to Tomas Znamenacek)

    * src/xml/repr-util.c (sp_xml_dtoa): Do not print trailing zeroes

    * src/xml/repr.c (sp_repr_document_new): Removed ATTLIST xmlns:xlink

    * src/libnr/nr-svp-private.h: New file

2003-07-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-stroke.c: Implement most functionality

    * src/libnr/nr-svp-uncross.c (nr_svl_uncross_full): Process some corner cases
    properly

2003-07-07  Masatake YAMATO  <jet@gyve.org>

    * src/shortcuts.c (sp_shortcut_table_load): set shortcut
    for SP_VERB_EDIT_SELECT_ALL.

    * src/selection-chemistry.[ch] (sp_edit_select_all): New function.

    * src/verbs.c (sp_verb_action_edit_perform): Added case
    SP_VERB_EDIT_CLEAR_ALL and SP_VERB_EDIT_SELECT_ALL.
    (SP_VERB_IS_EDIT): Extended to SP_VERB_EDIT_SELECT_ALL.

2003-07-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/svg/svg-length.c (sp_svg_length_set): New method

    * src/sp-spiral.c (sp_spiral_write): Write path here

    * src/sp-image.c (sp_image_repr_read_image): Treat NULL docbase as current directory

    * src/sp-gradient.c (sp_gradient_write): Merged code with flatten_attribute
    (sp_lineargradient_write): Ditto
    (sp_radialgradient_write): Ditto

    * src/rect-context.c (sp_rect_context_root_handler): Get motion hints

    * src/helper/sp-canvas.c (SP_CANVAS_UPDATE_PRIORITY): Use higher priority

    * src/document.c (SP_DOCUMENT_UPDATE_PRIORITY): Use higher priority

2003-06-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_glyph_outline_get): Do not
    load outlines multiple times, fixes serious memleak

2003-06-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_edit_dialog): Added line spacing combo
    (sp_text_edit_dialog_update_object): Update line spacing
    (sp_text_edit_dialog_read_selection): Update control

    * src/sp-text.c (sp_text_set): Parse "sodipodi:linespacing"
    (sp_text_set_shape): Use line spacing

    * src/attributes.c: Added "sodipodi:linespacing"

2003-06-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/desktop-properties.c (sp_dtw_border_layer_toggled): New callback
    (sp_desktop_dialog_new): Added border layer
    (sp_dtw_update): Track border layer

    * src/spsvgview.c: Implement slideshow

    * src/sp-namedview.c (sp_namedview_set): Track borderlayer

    * src/desktop.c (sp_desktop_new): Add page border directly to
    main group
    (sp_dt_namedview_modified): Track border layer

    * src/attributes.c: Added "borderlayer"

2003-06-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-pattern.c (sp_pattern_update): Implemented, patterns show up again
    (sp_pattern_painter_new): Painter is not GObject anymore, fixes crash
    (sp_pattern_painter_free): Ditto

    * src/sp-root.c: Removed namedview tracking

    * src/sp-object-repr.c (sp_object_type_lookup): Do not register GUI types
    (sp_object_type_register): New method

    * src/sp-namedview.c (sp_document_namedview): Moved it here to clean
    up dependency chain

    * src/sp-item-group.c (sp_item_group_get_child_by_name): New method

    * src/main.c (sp_main_gui): Register GUI object types
    (sp_main_console): Ditto

    * src/document.c (sp_document_create): Check for namedview using name only

    * src/Makefile.am (spsvgview_SOURCES): Uncommented spsvgview

    * src/libnr/nr-object.c: Use listener arrays instead of lists

2003-06-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.33pre

2003-06-19  Masatake YAMATO  <jet@gyve.org>

    * src/dialogs/desktop-properties.c (sp_color_picker_clicked): Enable "Close"
    button.
    (sp_color_picker_window_close): New function.

2003-06-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/object-properties.c (sp_object_properties_dialog_destroy): Disconnect
    signals here, fixes crash

2003-06-18  Masatake YAMATO  <jet@gyve.org>

    * src/toolbox.c (sp_toolbox_*_create): passed tt to 
    sp_toolbox_new.

    * src/dialogs/align.c (sp_align_add_button): passed a 
    GtkTooltips object to sp_button_new_from_data.
    (sp_quick_align_dialog): created a new GtkTooltips object
    and passed it to sp_align_add_button.

    * src/widgets/sp-toolbox.c (sp_toolbox_new): passed a
    GtkTooltips object to sp_button_new_from_data.
    Fix a spelling miss.

    * src/widgets/sp-toolbox.h (sp_toolbox_new): passed a 
    GtkTooltips object.

2003-06-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-image.c (sp_image_set): Fix potential crash
    (sp_image_update): Move code here, so canvas items do not dereference
    destroyed pixbuf data

    * src/seltrans.c (sp_sel_trans_handle_request): Reverse shift behaviour for
    rotation (thanks to Pat)

2003-06-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/verbs.c: Added 'print direct' option

    * src/interface.c (sp_ui_file_menu): Added print direct if needed

    * src/toolbox.c (sp_toolbox_file_create): Compose print + print direct if needed

2003-06-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/modules/ps.c (sp_module_print_plain_setup): Added bitmap/ps choice and
    preferred bitmap resolution selector
    (sp_module_print_plain_finish): If user prefers bitmap printing, composite
    full page from NRArena here

2003-06-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/event-context.c (sp_event_context_private_root_handler): Removed
    desktop dialog double-click binding

    * src/widgets/icon.c (sp_icon_new_scaled): New method
    (sp_icon_new_full): Refactored static method
    (sp_icon_image_load_svg): Use scale factor

    * src/xml/repr-io.c (sp_repr_do_read): Unref node after attaching
    (sp_repr_svg_read_node): Ditto

    * src/xml/repr.c (sp_repr_document_new): Ditto

2003-06-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/modules/ps.c: Ported Ascii85 filter from The GIMP

2003-06-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/modules/kde.cpp (sp_kde_get_save_filename): New method
    (sp_kde_get_write_filename): New method
    (sp_kde_get_open_filename): Use dir/filter/title

    * src/file.c (sp_file_open_dialog): Use KDE file dialog if WITH_KDE
    (sp_file_save_dialog): Ditto
    (sp_file_import): Ditto

2003-06-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c: Only high-level stuff

    * src/modules/gnome.c: Moved gnome print frontend here

    * src/modules/ps.*: Moved plain print frontend here

2003-05-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item.h: Removed ::menu and ::knot_holder virtual methods

    * src/object-edit.c: New file, collect all knotholder methods from
    item implementations here

    * src/object-edit.h (sp_item_knot_holder): New file

    * src/object-ui.c: New file, collect all Gtk related methods from
    object implementations here

    * src/object-ui.h (sp_object_menu): New file

2003-05-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_print_preview_document): Use ::set_preview if present

    * src/module.h: Added virtual methof for setting preview

    * src/helper/kde.cpp (sp_module_print_kde_finish): Got working
    (sp_module_print_kde_set_preview): New method

2003-05-18  Hans Breuer  <hans.breuer.org>

    * src/monostd.h : (new file) some defines and includes
    mostly to make up the WIN32 lack of unistd.h

    * config.h.win32 src/makefile.msc src/*/makefile.msc :
    (new files) to build Sodipodi on win32 with M$ toolchain

    * src/winmain.c : (new file) WinMain in it's own file simply 
    calling main()
    * src/main.c : build the common main() for win32 too

    * src/sodipodi.rc : (new file) to compile in the application
    icon on win32

    * src/file.c : use G_DIR_SEPARATOR[_S] instead of '/' ["/"]
    make the file selection work better on win32

    * src/sp-image.c : read images defined by xlink:href="file://...

    * src/sodipodi.c : #inculed "monostd.h" to get S_ISDIR and 
    S_ISREG on win32

    * src/libnr/nr-values.h : when building as DLL exporting 
    variables is quite ugly. Define some constant matrices as
    static for win32 to avoid exporting.

    * src/libnrtype/nr-type-directory.c : #include <io.h> 
    for win32::open() etc.

    * src/libnrtype/nr-type-w32.c : #ifdef HANGUL_CHARSET,
    older SDK headers don't have it

    * src/libnrtype/nr-type-w32.H : #define WIN32_LEAN_AND_MEAN
    before including <windows.h> to reduce namespace pollution

    * src/svg/svg-length.c : #include <config.h> to get WIN32

    * src/widgets/icon.c : S_ISREG, S_ISDIR

    * src/xml/sp-xml.def src/svg/sp-svg.def
    src/libnr/sp-libnr.def src/libnrtype/sp-libnrtype.def :
    (new files) to export functios from modules built as DLLs

    * src/helpers/gnome-utils.c(gnome_uri_list_extract_filenames) :
    use g_filename_from_uri()
    * src/toolbox.c src/interface.c : don't leak the uri list

    * src/xml/repr-util.c : use g_strcasecmp for portability
    * src/svg/svg-length.c : ... and g_snprintf

2003-05-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item.c (sp_item_invoke_print): Only if item is printable

    * src/display/nr-arena-item.c (nr_arena_item_set_visible): New method
    (nr_arena_item_invoke_render): Honour visibility

    * src/dialogs/item-properties.c (sp_item_widget_printability_toggled): Implement

    * src/sp-item.c (sp_item_set): Added "sodipodi:printable" attribute

2003-05-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/button.c (sp_button_set_composed_tooltip): Add primary shortcut
    dynamically to tooltip

2003-05-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_maintoolbox_create_toplevel): Use sp_window_new

    * src/helper/window.c: New file, implement shortcut processing

    * src/helper/window.h: New file

2003-05-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/text-context.c (sp_text_context_forget_text): Set object to
    NULL before destroying, so resulting selection::changed does not mess up

    * src/selection-chemistry.c: Removed undo and redo frontends

    * src/shortcuts.c: Moved shortcut code here

2003-05-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/zoom-context.c: Removed bogus zoom ui handlers

    * src/sodipodi.c (sodipodi_init): Initialize some shortcuts

    * src/toolbox.c (sp_toolbox_button_clicked): New callback
    (sp_toolbox_button_new_from_verb): New method
    (sp_toolbox_zoom_create): Use verbs

    * src/interface.c (sp_ui_menu_activate): Universal callback
    (sp_ui_menu_append_item_from_verb): New method
    (sp_ui_view_menu): Use verbs for zoom menu items

    * src/event-context.c (sp_event_context_private_root_handler): Use actions for
    certain keycodes

    * src/verbs.c: New file

    * src/verbs.h: New file

    * src/helper/action.c: New file

    * src/helper/action.h: New file

2003-05-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-uncross.c (nr_svl_uncross_full): Break slice endpoints if
    there can be potential crossing

2003-05-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-render.c (nr_svp_render): Fix some running sum problems

2003-05-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-rasterfont.c (nr_rasterfont_generic_glyph_mask_render): Render
    using NRSVP and mask OR
    (nr_rasterfont_ensure_glyph_slot): Build NRSVP

2003-05-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/Makefile.am: Removed art-utils.h

    * src/libnr/nr-svp.c (nr_svl_build_finish_segment): New helper
    (nr_svl_build_moveto): Ditto
    (nr_svl_build_lineto): Ditto
    (nr_svl_build_curveto): New helper
    (nr_svl_from_art_vpath): Use NRSVLBuild
    (nr_svl_from_art_bpath): New method

2003-05-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * sodipodi.desktop.in: Updated by Michael Terry

2003-05-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/svg/svg-length.c (sp_svg_number_write_d): Fixed rounding overflow

2003-05-01  Christian Schaller <Uraeus@gnome.org>
    * Fixed up desktop.in file to conform to latest freedesktop standard
    * Fixed up spec.in file to actually work
    * Added missing extensions-skeleton.h to makefile
    * Added spec file to EXTRA_DIST

2003-05-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-item.c (nr_arena_item_children): Return correct
    value (thanks to MentaLguY)

2003-04-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp.h: Use more compact format for segments

    * src/libnr/nr-svp.c (nr_svp_from_svl): Use max segment length

2003-04-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-render.c (nr_svp_render): New method
    (nr_pixblock_render_svp_mask_or): New method
    (nr_pixblock_render_svl_mask_or): Renamed old one
    (nr_svl_render): Ditto

    * src/libnr/nr-svp.c (nr_svp_point_wind): Implement
    (nr_line_point_distance2): Helper
    (nr_svp_point_distance): Ditto
    (nr_svp_from_svl): New method, implemented packed format and
    renamed old one to S(orted)V(ertex)L(ist)
    (nr_svp_free): Ditto

    * src/display/nr-arena-shape.h: Port all basics to NRSVP

2003-04-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/knotholder.c (knot_ungrabbed_handler): Flush object here

    * src/xml/repr-util.c (sp_xml_dtoa): Take '-' into accounti if
    copying integral part

    * src/svg/svg-length.c (sp_svg_length_update): New method

    * src/sp-spiral.c (sp_spiral_update): New method

    * src/sp-star.c (sp_star_update): New method

    * src/sp-ellipse.c (sp_genericellipse_update): Use generic ::set_shape

    * src/sp-rect.c (sp_rect_update): Use generic ::set_shape

2003-04-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Concat segment start only if
    within epsilon, snap intersection point at yslice, if close

2003-04-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/sp-color-slider.c (sp_color_slider_paint): Use proper style painters,
    so Gdk/Gtk crash bug does not show up anymore

    * src/xml/repr-io.c (sp_repr_read_file): Substitute entities (by MentaL)
    (sp_repr_read_mem): Ditto

    * src/style.c (sp_style_merge_from_style_string): Complain only if not the end
    of the style string (thanks to MenTaL)

2003-04-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_module_print_plain_begin): Magic by MenTaL

    * src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Works properly now for
    all stress-tests except zap.

2003-04-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-shape.c (nr_arena_shape_update): Switch fill
    completely to new renderer
    (nr_arena_shape_render): Ditto, but use masks as before

    * src/libnr/nr-svp-uncross.c (nr_svp_uncross_full): Pass most stress-tests

2003-04-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-render.c (nr_pixblock_render_svp_mask_or): new method
    (nr_pixblock_render_svp_rgba): Frontend, implement for all pixblock modes
    (nr_svp_run_A8_OR): Run callback implementation
    (nr_svp_run_R8G8B8): Ditto
    (nr_svp_run_R8G8B8A8P_EMPTY): Ditto
    (nr_svp_run_R8G8B8A8P_R8G8B8A8P): Ditto
    (nr_svp_run_R8G8B8A8N_R8G8B8A8N): Ditto
    (nr_svp_render): Implement using generic run callbacks

2003-04-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-render.c (nr_pixblock_render_svp_rgba): Do runs properly,
    skip if coverage stays 0

2003-04-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-svp-render.c: Moved here from old arena code

    * src/libnr/nr-svp-render.h: Ditto

    * src/libnr/nr-svp.c: Ditto

    * src/libnr/nr-svp.h: Ditto

    * src/display/nr-arena-shape.h: Optional experimental new renderer

    * src/libnrtype/nr-typeface.h: Port to NRObject

    * src/display/canvas-arena.c (sp_canvas_arena_init): Use active object
    listener instead of g-signals
    (sp_canvas_arena_destroy): Ditto

    * src/display/nr-arena.h: Derive from NRActiveobject

    * src/display/nr-object.c (nr_object_delete): proper lifecycle management
    (nr_object_setup): Ditto, automatic object
    (nr_object_release): Ditto
    (nr_active_object_get_type): Added NRActiveObject

    * src/display/nr-object.h: Added NRActiveObject

2003-04-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-object.c: Reimplement in standalone way

    * src/display/nr-object.h: Reimplement in standalone way

2003-04-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-marker.c (sp_marker_show_dimension): Reimplement
    (sp_marker_show_instance): Ditto

    * src/display/nr-arena-shape.c (nr_arena_shape_finalize): Detach markers

    * src/sp-shape.c (sp_shape_update_marker_view): Test orientation

2003-03-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-item.c: Removed ::event signal

    * src/display/nr-object.h: Frontend for future glib-free object system

2003-03-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-shape.c (sp_shape_update): Update marker properly
    (sp_shape_set_marker): Parse all three marker types

    * src/sp-marker.c (sp_marker_update): Set reference point in child2parent matrix
    (sp_marker_show_dimension): Copy and set arena items properly
    (sp_marker_show_instance): Set base transfoarm and scale by line width if needed

2003-03-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/uri-references.c (sp_uri_reference_resolve): Allow '_' and
    '-' in xlink names.

2003-03-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-item.h: Made opacity 8-bit integer

2003-03-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-marker.c (sp_marker_update): Do it properly
    (sp_marker_write): Do it properly (almost)

2003-03-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_module_print_plain_class_init): Use correct destructor

    * src/sp-marker.c (sp_marker_set): Implement all attributes

2003-03-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-object-repr.c (sp_object_type_lookup): Added marker type

    * src/sp-marker.h: New file

    * src/sp-marker.c: New file

    * src/display/nr-arena-image.c (nr_arena_image_render): Use pixblock
    area instead the active area (that may be bigger)

    * src/helper/kde.cpp: Added SPModulePrintKDE object
    (sp_kde_get_module_print): Contructor

    * src/print.c: Port to modules, add KDE option

    * src/module.c (sp_module_register): Check for id, fix crash
    (sp_module_unregister): Ditto
    (sp_module_print_get_type): Implement SPModulePrint

    * src/document.h: Renamed private to priv to be nice with c++

    * src/Makefile.am (kdeldadd): Added LIB_KDEPRINT

    * configure.in: Enable modules by default

2003-03-04  MenTaLguY  <mental@rydia.net>

    * src/desktop.c: changed zoom_status to a spin button with logarithmic increment and a handy context menu
    (sp_dtw_zoom_*): added various event handlers for the new zoom spin button
    (sp_desktop_zoom_page): factored out code duplicated with zoom-context.c
    (sp_desktop_zoom_selection): ditto
    (sp_desktop_zoom_drawing): ditto
    (sp_desktop_widget_init): removed unused SPDesktopWidget::zoom member and replaced zoom label with a spin button

    * src/desktop.h: removed unused SPDesktopWidget::zoom member, added new sp_desktop_zoom_* methods

    * src/zoom-context.c (sp_zoom_drawing): factored out code to desktop.c
    (sp_zoom_page): NRRectD -> NRRectF, factored out code to desktop.c
    (sp_zoom_selection): factored out code to desktop.c

2003-03-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/Makefile.am: Compile KDE module if needed

    * src/main.c (sp_main_gui): Initialize/shutdown KDE module if WITH_KDE

    * src/file.c (sp_file_open_dialog): Use KDE file dialog, if WITH_KDE

    * src/Makefile.am: Add KDE libraries if needed

    * configure.in: Added --with[out]-kde configuration option

    * autogen.sh: Added (again) libtoolize

    * acinclude.m4: KDE specific autostuff

    * src/helper/kde.cpp: New file

    * src/helper/kde.h: New file

    * src/helper/kde-private.h: SPKDEBridge sefinition for moc preprocessor

2003-03-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/sp-color-slider.h: Use LGPL

    * src/widgets/sp-color-slider.c: Use LGPL

    * src/libnr/nr-rect.h: Use sensible NULL/empty semantics for union and intersection

    * src/libnr/nr-rect.c: Ditto

    * src/libnr/gen_nr_config.c: Generate basic typedefs (borrowed fromlibart)

    * src/display/nr-arena-item.c (nr_arena_item_invoke_update): Cleanup
    (nr_arena_item_invoke_render): Ditto

2003-03-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/modules/*: Various module implementations by Ted Gould

    * extensions/*: Put various unsorted extensions stuff here

    * src/module.c: New file

    * src/module.h: New file

    * src/draw-context.c (sp_draw_context_root_handler): Use 'a' instead of '+'
    as append/new toggle
    (spdc_concat_colors_and_flush): Cut continuation tolerance to avoid extra points at corners
    (spdc_pen_set_point): Draw line segments if appropriate

2003-02-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/main.c (main): Use bind_textdomain_codeset to force utf-8 encoding
    (sp_main_console): Init gdk if WITH_XFT

    * src/file.c (sp_export_get_rows): Do not set EMPTY flag on pixblock, or background
    will be forgotten

2003-02-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/align.c (sp_quick_align_dialog): Added "distribute" tab
    (sp_align_distribute_h_clicked): New method
    (sp_align_distribute_v_clicked): Ditto

    * configure.in: Removed PACKAGE_LOCALE_DIR definition

    * src/Makefile.am (INCLUDES): Set PACKAGE_LOCALE_DIR here

    * configure.in: Skip xft checking if fontcofig present

2003-02-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_print_fill): Use new paint server signature (does it work?)

    * src/document.c (sp_document_idle_handler): Use new flags signature
    (sp_document_ensure_up_to_date): Ditto

    * src/sp-shape.c (sp_shape_modified): Removed style_modified, instead set
    style here, if flags indicate the need

    * src/sp-text.c (sp_tspan_update): Calculate relative distances here
    (sp_text_update): Ditto

    * src/sp-object.h: Split update and modified flags, involves changes in
    most places actually using them

    * src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Recycle
    available gradients, instead of always creating new
    (sp_gradient_ensure_radial_private_normalized): Ditto

    * configure.in: Version 0.32pre

2003-02-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_text_set_shape): Honour single dx and dy attributes

    * configure.in: Added check for fontconfig to retrieve nonstandard include directories

2003-02-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-image.c (sp_image_set): Set canvas item properties in ::update
    (sp_image_update): Implement

    * src/dialogs/fill-style.c (sp_fill_style_widget_paint_changed): Set CMYK before RGB

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_changed): Set CMYK before RGB

2003-02-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-gradient.c (sp_gradient_rebuild_vector): Fix crash if 2 stops coincide

    * src/libnrtype/nr-rasterfont.c (nr_rasterfont_generic_glyph_mask_render): Get real
    bounding box, clip to pixblock area for SVP glyphs

    * src/sp-polygon.c (sp_polygon_write): Write points always

2003-02-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/export.c (sp_export_dialog): Default to document name + png
    (sp_export_spinbutton_new): Pack more functions here

    * src/sp-chars.c (sp_chars_update): Implement

    * src/sp-text.c (sp_tspan_update): Implement

    * Makefile.am: Port back to glib gettext

    * configure.in: Port back to glib gettext

    * autogen.sh: Copied working version from The Gimp

    * src/helper/sp-canvas.c (sp_canvas_paint_rect): Try to fit area into pixelstore
    instead of using default image size always

2003-02-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-path.h: Turned SPPath/SPShape hierachy upside down, so they make sense
    now, when we do not derive text and clippath from SPPath anymore

    * src/sp-shape.h: Ditto

2003-02-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/file.c (file_open_ok): Set directory if OK clicked on it (thanks to Aron Rubin)
    (file_import_ok): Ditto

    * src/sp-ellipse.c (sp_round): Fix sp_round

2003-02-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/paint-selector.c (sp_paint_selector_system_color_set): New method
    (sp_paint_selector_set_mode_color): Added 'get from dropper' checkbox

    * src/dialogs/object-properties.c (sp_object_properties_color_set): Handler
    of system 'color_set' signal, used for getting color value from dropper

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_system_color_set): New method

    * src/dialogs/fill-style.c (sp_fill_style_widget_system_color_set): New method

    * src/toolbox.c (sp_toolbox_draw_create): Added dropper tool

    * src/sodipodi.c (sodipodi_class_init): Added 'color_set' signal
    (sodipodi_set_color): Frontend to signal
    (sodipodi_init_config): Use config_name instead of hardcoded 'preferences'

    * src/dropper-context.c (sp_dropper_context_root_handler): Scale colors
    to [0.0 - 1.0] range and signal hub

    * src/widgets/menu.c: New file, implement sensible menu API

    * src/widgets/menu.h: New file

2003-02-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dropper-context.h: New file

    * src/dropper-context.c: New file

2003-02-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/desktop.c (sp_desktop_widget_init): Create tooltips, enable sticky zoom
    (sp_desktop_widget_size_allocate): Calculate sticky zoom by area instead of MIN (x, y)

    * src/helper/sp-canvas.h: Added floating point scroll coordinates

    * src/helper/sp-canvas.c (scroll_to): Preserver floating point coordinates

    * src/display/nr-arena-group.c (nr_arena_group_set_child_transform): Do
    not force full update if not needed

    * src/display/nr-arena-item.c (nr_arena_item_set_clip): Do not force
    full update if not needed
    (nr_arena_item_set_mask): Ditto
    (nr_arena_item_set_transform): Ditto

2003-02-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-gradient.c (nr_lgradient_render_R8G8B8A8N_EMPTY): New shortcut

    * src/libnr/nr-gradient.h: Made x0 and x0 integers - this introduces possible
    upt to 0.7 pixel error, but other rendering parts are not exact anyways

    * src/sp-paint-server.h: Fill function signature change

2003-02-08  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Special
    case NR_PIXBLOCK_MODE_R8G8B8A8N and full opacity

    * src/sp-gradient.c (sp_radialgradient_set): Initialize focal point to center if unset

    * src/libnr/nr-gradient.c (nr_lgradient_render_R8G8B8A8N): Special-cased full opacity

    * configure.in: 0.30.1

    * src/libnrtype/nr-rasterfont.c (nr_rasterfont_ensure_glyph_slot): Use
    32 bit integer bbox initially before deciding whether it fits in 16 bit

2003-02-08  gettextize  <bug-gnu-gettext@gnu.org>

    * Makefile.am (SUBDIRS): Add intl, m4.
    (EXTRA_DIST): Add config.rpath.
    * configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2003-02-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/help.c (sp_help_about): Make default window size the same as document

    * src/style.c: Use custom winding rule and stroke parameter enumerations

    * src/enums.h: Define winding rules and stroke parameters

2003-02-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-rect.c (sp_rect_rx_set): Set ::set value(s)
    (sp_rect_ry_set): Ditto

    * src/sp-item.c (sp_item_update): Set arena item transform here

    * src/dialogs/fill-style.c (sp_fill_style_widget_update_repr): Made non-recursive
    (sp_fill_style_widget_update): Ditto

    * src/sp-shape.c (sp_shape_write_transform): Working path tranformation optimizer

    * src/widgets/sp-color-slider.c (sp_color_slider_adjustment_value_changed): Add
    some extra pixels around arrow dirtified area
    (sp_color_slider_paint): Use gtk_draw_box instead of gtk_draw_shadow
    (sp_color_slider_realize): Attach style

2003-02-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sodipodi.c (sodipodi_load_config): Generic method by Bryce
    (sodipodi_load_preferences): Frontend, same
    (sodipodi_load_extensions): Ditto
    (sodipodi_get_repr): Test for "extensions"
    (sodipodi_init_config): Generic method by Bryce
    (sodipodi_init_preferences): Frontend by Bryce
    (sodipodi_init_extensions): Ditto

    * src/toolbox.c (sp_toolbox_extension_create): Implemented by Bryce

    * src/extension.c: New file by Bryce Harrington

    * src/extension.h: New file by Bryce Harrington

    * src/extensions-skeleton.h: Ditto

    * src/sp-mask.c: support maskContentUnits

    * src/nodepath.c (create_curve): Do not add 50 to y (why was it here?)

    * src/sp-item-group.c (sp_group_update): Propagate only if update flag set

    * src/sp-item.c (sp_item_set): Set clippath and mask bbox
    (sp_item_update): Ditto

    * src/sp-clippath.c (sp_clippath_build): Implement
    (sp_clippath_set): Ditto, clipPathUnits attribute
    (sp_clippath_update): Ditto
    (sp_clippath_show): Use bbox if needed
    (sp_clippath_set_bbox): New method

2003-02-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item.c (sp_item_release): Release mask
    (sp_item_mask_release): New handler
    (sp_item_mask_modified): Ditto
    (sp_item_set): Parse mask
    (sp_item_show): Show mask
    (sp_item_private_hide): Hide mask

    * src/display/nr-arena-item.c (nr_arena_item_invoke_render): Do masking
    (nr_arena_item_private_dispose): Release mask
    (nr_arena_item_invoke_update): Update mask
    (nr_arena_item_set_mask): New method

    * src/sp-root.c (sp_root_build): Do not check for xmlns:sodipodi to determine
    version, as this is set automatically in xml loader

    * src/slideshow.h: New file

    * src/slideshow.c: New file

2003-02-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-rect.c (sp_rect_set): Accept 0.0 as valid for x, y, width and height
    (sp_rect_write): Use 0.0 as default for rx, ry

    * src/rect-context.c (sp_rect_finish): Use ::write to be sure

    * src/display/nr-arena-shape.c (nr_arena_shape_clip): OR masks

    * src/sp-defs.c (sp_defs_update): Implement
    (sp_defs_modified): Ditto

    * src/sp-clippath.c (sp_clippath_update): Implement
    (sp_clippath_modified): Ditto
    (sp_clippath_show): Fix
    (sp_clippath_hide): Implement

    * src/sp-item.c (sp_item_set): Fix clippath
    (sp_item_show): Ditto
    (sp_item_private_hide): Ditto
    (sp_item_display_key_new): New method

    * src/sp-item.h: Use new signature for ::show and ::hide

2003-02-01  Daniel Yacob  <locales@geez.org>

    * configure.in: Added "am" (Amharic) to ALL_LINGUAS.

2003-02-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-use.c (sp_use_init): Set width and height default to 100%
    (sp_use_set): Ditto
    (sp_use_bbox): use child transform
    (sp_use_update): Calculate relative lengths, set new viewport

    * src/sp-object.c: Removed ::dispose and some commented out code

    * src/sp-symbol.c: New file

    * src/sp-symbol.h: New file

    * src/enums.h: New file

    * src/xml/repr-io.c (sp_repr_svg_read_node): Return if entity declaration

    * src/sp-root.c (sp_root_init): Set correct default viewport values
    (sp_root_build): Read 'x', 'y', 'version', 'preserveAspectRatio'
    (sp_root_set): Parse added attributes, accept percentages for x, y, width, height
    (sp_root_update): Set up proper transformations to support aspect ratios

    * src/sp-item.h: Added viewPort and item2viewPort transformation to item context

    * src/document.c (sp_document_ensure_up_to_date): Set initial viewport
    and identity transforms in item context
    (sp_document_idle_handler): Ditto

    * src/attributes.h: Added 'version' and 'preserveAspectRatio'

2003-01-31  Masatake YAMATO  <jet@gyve.org>

    * src/main.c (POPT_TABLEEND): Define if it is not defined in
    popt.h. copied from forntline.

2003-01-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/guideline.c (sp_guideline_render): Do not round int

    * src/interface.c (sp_ui_close_view): Get widget pointer before killing object

2003-01-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.30pre

    * src/sp-image.c (sp_image_bbox): Calculate bbox properly

2003-01-28  gettextize  <bug-gnu-gettext@gnu.org>

    * Makefile.am (SUBDIRS): Add intl, m4.
    (EXTRA_DIST): Add config.rpath.
    * configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2003-01-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/codepages.h: Win9x codepage declarations

    * src/main.c (WinMain): Use new toplevel toolbox constructor

    * src/text-context.c (sp_text_context_root_handler): Added Gdk_U to unimode

    * src/libnrtype/nr-type-w32.c: Implement ANSI charset and styles

    * src/libnrtype/nr-type-directory.c (nr_type_directory_build): Honour
    stretch attribute in searches

    * src/toolbox.c (sp_maintoolbox_create_toplevel): Broke constructor
    into two parts to allow multiple toolboxes

    * src/interface.c (sp_ui_view_show_toolbox): New method
    (sp_ui_view_dock_toolbox): Ditto
    (sp_ui_view_remove_toolbox): Ditto
    (sp_ui_view_menu): Added menu items for creating toolboxes
    (sp_create_window): Pack toplevel hbox into window

2003-01-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/art-utils.c (sp_vpath_from_bpath_transform_closepath): Moved
    array expansion to the right place (thanks to Lynn Kerby)

2003-01-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/xml-tree.c (sp_xml_tree_dialog): Allow horizontal scrollbar
    so we do not expand window infinitely

    * src/sp-use.c (sp_use_update): Implemented by MenTaLguY
    (sp_use_modified): Ditto

    * src/libnr/nr-path.c (nr_curve_bbox): Implement fast and exact bbox (thanks to Nathan)
    (nr_curve_bbox_wind_distance): Use exact bbox

2003-01-25  Nathan Hurst  <Nathan.Hurst@infotech.monash.edu.au>

    * src/desktop-snap.c: Fixed vector snapping code, replaced horizontal and
    vertical snapping with generic vector versions

2003-01-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/nodepath.c (create_curve): Use NR_MATRIX_DF_TRANSFORM_X (Thanks to
    MenTaLguY for finding these NRPointF/ArtPoint mismatches)

2003-01-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_new): Ditto

    * src/print.c (sp_print_preview_document): Fix gnome-print support
    (sp_print_document): Ditto

    * src/libnrtype/nr-type-xft.c (nr_type_xft_init): Added ebug printout

    * src/widgets/button.c (sp_button_button_press): Do not grab mouse
    (sp_button_button_release): Ditto

2003-01-19  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/desktop.c (sp_dtw_status_frame_size_request): Always request minimum size

    * configure.in: Define GETTEXT_PACKAGE properly (Thanks to Christian Rose)

    * src/libnrtype/nr-type-xft.c (nr_type_xft_init): Removed CORE, so Xft fontlist
    should now be read properly with Debian PPC and or fontconfig systems

2003-01-15  MenTaLguY  <mental@rydia.net>

    * src/sp-object.c (sp_object_get_unique_id): don't include namespace prefix when generating ids

2003-01-15  MenTaLguY  <mental@rydia.net>

    * src/widgets/sp-xmlview-tree.c (add_node): tree nodes associated with elements pretend they initially have a NULL id
    (element_attr_changed): display elements with a NULL id properly

2003-01-15  MenTaLguY  <mental@rydia.net>

    * src/xml/repr-private.h: added SPXMLNs structure

    * src/xml/repr.h: added decls for sp_xml_ns_uri_prefix() and sp_xml_ns_prefix_uri()

    * src/xml/repr-io.c: improved handling of namespace prefixes
    (sp_repr_qualified_name): added hashtable to keep track of NS prefixes used
    (sp_repr_read_node): Ditto
    (sp_repr_do_read): Ditto + replaced if cascade with calls to sp_xml_ns_uri_prefix()
    (sp_repr_set_xmlns_attr): helper to set xmlns attributes

    * src/xml/repr-util.c: added namespaces list
    (sp_xml_ns_register_defaults): procedure to initialize namespace mapping list
    (sp_xml_ns_auto_prefix): helper routine to automatically select a "good" prefix for a given namespace URI
    (sp_xml_ns_uri_prefix): returns a prefix to use for a given namespace URI, registering a mapping automatically if necessary
    (sp_xml_ns_prefix_uri): returns the namespace URI registered for a given prefix

2003-01-13  MenTaLguY  <mental@rydia.net>

    * src/desktop.c (sp_dtw_desktop_shutdown): rearranged close confirmation buttons according to the Gnome HIG

2003-01-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/seltrans.c (sp_sel_trans_grab): Build array of selected item transformations
    (sp_sel_trans_transform): Use original transforms to avoid rounding errors
    (sp_sel_trans_ungrab): Release array

    * src/dialogs/transformation.c: Implemented scaling percentages

2003-01-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/draw-context.c (spdc_set_startpoint): Snap startpoint (thanks to Nathan)
    (sp_pen_context_root_handler): Ditto

    * src/dialogs/transformation.c: Implement simple move dialog

2003-01-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/guideline.c (sp_guideline_new): Changed signature, fixes
    granular new guideline placement bug
    (sp_guideline_render): Use normal rounding, so guideline and object are aligned

    * src/sp-item.h: Changed the signature of ::snappoints, this forced me to
    use NRPoints near everywhere else too

2003-01-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/draw-context.c (spdc_endpoint_snap): Make Ctrl to restrict directions
    to multitudes of 15 degrees (thanks to Nathan Hurst)

2003-01-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/file.c (sp_file_open_dialog): Rearrange
    (sp_file_save_dialog): Ditto
    (sp_file_save_document): Ditto

2003-01-13  MenTaLguY  <mental@rydia.net>

    * src/toolbox.c (sp_maintoolbox_create): turned off user resizing of toolbox so it autoresizes properly

2003-01-13  MenTaLguY  <mental@rydia.net>

    * src/toolbox.c (sp_maintoolbox_create): turned off user resizing of toolbox so it autoresizes properly


    * src/print.c (sp_print_plain_bind): Move generic PS code here
    (sp_print_plain_release): Ditto
    (sp_print_plain_fill): Ditto
    (sp_print_plain_stroke): Ditto
    (sp_print_plain_image_R8G8B8A8_N): Ditto
    (sp_print_document): Implement very-very simple non-gnome print dialog

2003-01-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/main.c: Made --without-popt working

2003-01-11  MenTaLguY  <mental@rydia.net>

    * src/xml/repr-io.c: removed bogus ATTLIST from DOCTYPE
    (sp_repr_read_file): factored out duplicated code into sp_repr_do_read + added parameter for default namespace
    (sp_repr_read_mem): factored out duplicated code into sp_repr_do_read + added parameter for default namespace
    (sp_repr_do_read): merged duplicated code from sp_repr_read_* family
    (sp_repr_do_read): insert xmlns decls for common namespaces
    (sp_repr_qualified_name): basic namespace handling for SVG, XLink, and Sodipodi namespaces
    (sp_repr_read_node): added parameter for default namespace
    (sp_repr_read_node): removed dead code and broken re-addition of xmlns declarations (xlink?)
    (repr_quote_write): UTF8 is ASCII-compatible -- removed inaccurate comment

    * src/xml/repr.h: added SP_*_NS_URI macros

    * src/document.c (sp_document_new): SVG is default NS
    (sp_document_new_from_mem): SVG is default NS

    * src/file.c (file_import_ok): SVG is default NS

    * src/interface.c (sp_ui_import_one_file): SVG is default NS

    * src/sodipodi.c (sodipodi_init): no default NS
    (sodipodi_load_preferences): no default NS

2003-01-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Check for xft

    * src/libnrtype/Makefile.am: Added xft_sources

    * src/libnrtype/nr-type-directory.c (nr_type_read_xft_list): Load xft typefaces

    * src/libnrtype/nr-type-xft.h: New file

    * src/libnrtype/nr-type-xft.c: New file

2003-01-10  MenTaLguY  <mental@rydia.net>

    * src/dialogs/item-properties.c (sp_item_widget_new): made unimplemented controls insensitive

2003-01-04  MenTaLguY  <mental@rydia.net>

        * src/text-context.c (sp_text_context_finalize): folded back
    into sp_text_context_finish
        (sp_text_context_root_handler): Gtk IM now gets first refusal of
    key press _and_ release events; toggling "unicode mode" now triggers an
    IM reset; "unicode mode" bypasses IM entirely


2003-01-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/text-context.c (sp_text_context_root_handler): Moved IM back to
    beginning (thanks to MenTaLguY for pointing this out)

    * src/sp-object.c (sp_object_invoke_update): Merge styles only if parent changed

    * src/sp-text.c (sp_text_update): Implement

    * src/sp-text.c (sp_string_modified): Chain invocation so style gets updated

    * src/widgets/sp-xmlview-content.c: Port to GtkTextView

    * src/dialogs/xml-tree.c: Port to GtkTextView

    * src/text-context.c (sp_text_context_root_handler): Consume xdigits in unicode mode

    * configure.in: Removed GTK_ENABLE_BROKEN

    * src/dialogs/text-edit.c: Use GtkTextView/Buffer

    * src/xml/repr-util.c (sp_repr_transfer_ids): Helper by MenTaLguY
    (sp_repr_move): Ditto

2003-01-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/xml-tree.c: Updated (MenTaLguY)

    * src/dialogs/item-properties.c (sp_item_widget_new): Added slider (MenTaLguY)

    * src/text-context.c (sp_text_context_setup): Set up Gtk IM (thanks to MenTaLguY)
    (sp_text_context_setup_text): Move code here (MenTaLguY)
    (sp_text_context_root_handler): Process Gtk IM (MenTaLguY)
    (sptc_commit): Gtk IM signal handler (MenTaLguY)

    * src/sp-text.c (sp_text_insert): Replace < 32 and not whitespace with space

    * src/selection.c (SP_SELECTION_UPDATE_PRIORITY): Set Gtk - 11

    * src/document.c (SP_DOCUMENT_UPDATE_PRIORITY): Set GTK - 12

2003-01-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/button.c (sp_button_paint_arrow): Draw something

2002-12-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/event-context.c (sp_event_context_private_root_handler): Pan with
    Shift+Button3 too (useful with windows and < 3 button mice)

    * src/toolbox.c (sp_toolbox_file_create): Mek print buttons insensitive

    * src/sp-text.c (sp_text_write_transform): Fixed it

    * src/main.c (sp_do_export_png): Initialize y0

    * src/file.c (sp_export_png_file): Use pixelstore, export min 64 rows at once,
    fix miscalculated rowstride

2002-12-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-directory.c (nr_type_read_w32_list): Use
    windows native fonts, if applicable

    * src/libnrtype/nr-type-w32.h: New file

    * src/libnrtype/nr-type-w32.c: New file

2002-12-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_print_image_R8G8B8A8_N): Implement direct PS version

2002-12-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.c (sp_print_bpath): Helper
    (sp_print_bind): Implement non-gnome-print version
    (sp_print_release): Ditto
    (sp_print_fill): Ditto
    (sp_print_stroke): Implement non-gnome-print version

    * src/widgets/icon.c (sp_icon_image_load): Generic image loader

    * src/desktop.c (sp_desktop_widget_update_zoom): Make working again

    * src/widgets/button.c: New file

    * src/widgets/button.h: New file

    * src/toolbox.c (sp_toolbox_draw_create): Port to brand new SPButton

2002-12-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/desktop.c (sp_desktop_widget_init): Some cleanup

    * src/widgets/ruler.c: Moved to widgets subdir

    * src/widgets/ruler.h: Moved to widgets subdir

2002-12-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: --with[out]-gnome-print argument, thanks to MentaLguY

2002-12-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-guide.c (sp_guide_set): Fixed horiz/vert

    * src/desktop-events.c (sp_dt_ruler_event): Fixed
    (sp_dt_guide_event): Fixed

    * src/helper/guideline.h: Renamed to avoid conflict with SPGuide object,
    several signature changes

    * src/helper/guideline.c: Ditto, removed properties

    * src/helper/sp-canvas.c (sp_canvas_window_to_world): Oops, was meant to be y0
    (sp_canvas_world_to_window): Ditto

2002-12-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/desktop-properties.c: Fully functional color picker

    * src/display/nr-arena-item.h: Ported rendering from NRBuffer to NRPixBlock,
    involves changes in most Arena objects. Added NO_CACHE flag to rendering.

2002-12-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/paint-selector.c (sp_paint_selector_style_button_add): Changed
    SODIPODI_GLADEDIR -> SODIPODI_PIXAMPDIR (Thanks to Ted Gould)

2002-12-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-guide.c (sp_guide_class_init): Removed translatability of properties

    * src/knot.c (sp_knot_class_init): Removed translatability of properties

    * src/helper/sp-guide.c (sp_guideline_class_init): Removed translatability
    from properties (who needs this?)

    * src/widgets/icon.h: New file, use as frontend to image loading

    * src/widgets/icon.c: New file

    * src/document.c (sp_document_create): Generic method, implement
    constructors as frontends

    * src/sodipodi.c (sodipodi_dispose): Only unref documents and let
    them manage list

    * glade/icons.svg: New icon definition file

2002-12-08  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/align.c (sp_align_arrange_clicked): Collected all
    arrangement methods into generic one
    (create_base_menu): Compact
    (sp_align_add_menuitem): New helper
    (sp_quick_align_dialog): Use value matrix instead of different callbacks

2002-12-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.c (sp_canvas_expose): Free rects

    * src/attributes.h: Added animation-specific attributes

    * src/sp-animation.c: New file, only skeleton at moment

    * src/sp-animation.h: New file

2002-12-06  Masatake YAMATO  <jet@gyve.org>

    * tools-version.sh: print the path to the tools.

2002-12-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-root.c (sp_root_update): Implement

    * src/sp-rect.c (sp_rect_update): Implement
    (sp_rect_set): Request update instead of setting shape immediately

    * src/sp-item-group.c (sp_group_update): Implement

    * src/sp-object.h: Replaced ::read_attr with ::set, signature change.
    This involves modification in all subclasses as well.

    * src/attributes.h: New file. We enumerate/define all allowed attributes
    and properties, to save few string compares later.

    * src/attributes.c: New file

2002-12-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-object.c (sp_object_request_update): New method. We implement
    separate ::update cascade that precedes ::modified, and is meant to
    be used for building item states (styles, paths and so on). In many
    aspects it shares code path with ::modified.
    (sp_object_invoke_update): Ditto

Wed Dec  4 01:05:05 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/widget/sp-menu-button.c: Fixed to work well.

    * src/toolbox.c: enable draw buttons.
    Comment out signal_connect_after.

2002-12-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item.h: Replaced libart transforms and bboxes with libnr ones -
    this involves changes almost every file there.

    * src/main.c: Added POPT_AUTOHELP

2002-12-03  Masatake YAMATO  <jet@gyve.org>

    * tools-version.sh (TOOLS): Added automake-1.6 and
    aclocal-1.6. Suggested by MenTaLguY.
    (srcdir): remove version number from grep pattern.

2002-12-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.h: Made scrolling offsets integers

    * src/helper/sp-canvas.c (scroll_to): Scroll instead of draw

    * tools-version.sh (ENVPATTERN): Added FLAGS

2002-12-02  Masatake YAMATO  <jet@gyve.org>

    * distro, tools-version.sh: New files.
    distro comes from distro-0.8.1(http://distro.pipfield.ca/).
    distro and tools-version.sh should be included only in CVS version
    of sodipodi.

    * autogen.sh: Call tools-version.sh.

2002-12-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/desktop-properties.c: Partial color picker implementation

2002-12-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c: GtkObject/GObject cleanup

    * src/file.c: Ditto

    * TODO: Update with 0.29 tasks

    * src/sp-gradient.c: GtkObject/GObject cleanup

    * src/widgets/sp-widget.c: Ditto

    * src/widgets/gradient-selector.c: Ditto

    * src/widgets/gradient-vector.c: Ditto

    * src/widgets/gradient-position.c: Ditto

    * src/widgets/gradient-image.c: Ditto

    * src/dialogs/fill-style.c: Ditto

2002-11-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/view.h: Derive directly from GObject

2002-11-30  Masatake YAMATO  <jet@gyve.org>

    * configure.in (ENABLE_AUTOTRACE): Comment out autotrace/frontline
    checking till frontline becomes gtk+2 based.

2002-11-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/selection.h: Inherit directly from GObject

    * src/event-context.h: Inherit directly from GObject

    * src/helper/sp-canvas.c (sp_canvas_item_dispose): Set xform to NULL

    * src/display/canvas-arena.c (sp_canvas_arena_destroy): Fixed typo, so
    multiple destroys are allowed

    * src/nodepath.c: Removed external cursor pointers

    * src/knot.c (sp_knot_set_property): Ref new cursors

    * src/document.c (sp_document_get_type): Inherit directly from GObject

2002-11-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/knot.c (sp_knot_handler): Signature change, return correct value as it should

    * src/helper/sp-canvas.c (scroll_to): Blit window, unless explicitly forbidden
    (sp_canvas_size_allocate): Update onlu changed areas

    * src/sp-item.c (sp_item_invoke_bbox): Signature change

    * src/desktop.c (sp_desktop_widget_update_rulers): Reenabled it
    (sp_desktop_set_display_area): Only update canvas root if zoom factor changes
    (sp_desktop_update_scrollbars): Working

    * src/helper/sp-canvas.c (paint): use full visible are for clipping, fixed
    type on specifying area dimensionf in event
    (sp_canvas_get_viewbox): New method

    * src/desktop.c (sp_desktop_set_display_area): New method, replaces show_region
    (sp_desktop_get_display_area): Replacement for ...
    (sp_desktop_zoom_absolute): Use generic sp_desktop_set_visible_area
    (sp_desktop_zoom_relative): Ditto

2002-11-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: ... and everyting else - merged SODIPODI_GTK2_BRANCH

    * po/Makevars: Added this

2002-11-28  gettextize  <bug-gnu-gettext@gnu.org>

    * Makefile.am (SUBDIRS): Add intl, m4.
    (EXTRA_DIST): Add config.rpath.
    * configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2002-11-27  gettextize  <bug-gnu-gettext@gnu.org>

    * Makefile.am (SUBDIRS): New variable.
    (ACLOCAL_AMFLAGS): New variable.
    (EXTRA_DIST): New variable.
    * configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, m4/Makefile.

2002-11-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.29pre

2002-11-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_add_component): Skip
    if zero-sized valid path

    * src/libnr/nr-path.c (nr_path_matrix_f_bbox_f_union): Allow NULL path member
    (nr_path_matrix_f_point_f_bbox_wind_distance): Ditto
    (nr_path_duplicate_transform): Ditto

    * src/libnrtype/nr-typeface.h: Added family member to definition

    * src/libnrtype/nr-type-directory.c (nr_type_register): Use family from def

    * src/libnrtype/nr-type-ft2.c (nr_type_ft2_build_def): Set family member

    * src/libnrtype/nr-type-gnome.c (nr_type_gnome_build_def): Set family member

2002-11-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dyna-draw-context.c: Clamp drag to [0.0 1.0]

2002-11-23  Masatake YAMATO  <jet@gyve.org>

    * src/node-context.c: Inlucde document.h.
    (sp_node_context_stamp): New function.
    (sp_node_context_root_handler): Do stamp if space key
    is pressed during dragging.

    * src/nodepath.c (stamp_repr): New function.
    (node_event): Do stamp if the space key is pressed.
    (node_ctrl_event): New function.
    (sp_nodepath_node_new): Connected node_ctrl_event to n->p.knot::event.
    Connected node_ctrl_event to n->n.knot::event. 

    * src/helper/bezier-utils.c (sp_bezier_fit_cubic_full): Fix memry leaks(u, uPrime).
    This leaks are reported by Michel Schinz <Michel.Schinz@epfl.ch>.

2002-11-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_lookup): Added all
    glyphs to 0xe000 private plane as well.

    * src/widgets/gradient-selector.c (sp_gradient_selector_set_spread): Set
    position widget spread as well
    (sp_gradient_selector_spread_activate): Ditto

2002-11-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/curve.c (sp_curve_closepath): Reinitialize pointers, as we may
    have reallocated path in helper

    * src/knotholder.h: Added hook for knot ungrabbing

    * src/knotholder.c (knot_ungrabbed_handler): Implement
    (sp_knot_holder_destroy): Free list items

    * src/sp-ellipse.c (sp_arc_start_set): Use genericellipse closed marker
    (sp_arc_end_set): Ditto
    (sp_arc_set_elliptical_path_attribute): Ditto

    * autogen.sh: Added '--intl' to gettextize flags, seems to be safe for
    older gettexts as well

    * src/dialogs/xml-tree.c (on_tree_select_row): Remove extra blockade
    counting (thanks to MenTaLguY)
    (on_tree_unselect_row): Ditto

2002-11-20  Masatake YAMATO  <jet@gyve.org>

    * src/seltrans.c (sp_sel_trans_init): Set null to
    stamp_cache.
    (sp_sel_trans_ungrab): Clear stamp_cache.
    (sp_sel_trans_stamp): If available, use stamp_cache.
    Else build stamp_cache. l0 is removed. Don't
    free the list here.

    * src/seltrans.h: Included glib.h.
    (struct _SPSelTrans): added new field stamp_cache.

2002-11-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/interface.c (sp_ui_dialog_menu): Do not bring up > 1 transform dialogs at once

    * src/seltrans.c (sp_sel_trans_stamp): Reversing still was not correct,
    replaced it with explicit sort

2002-11-20  Masatake YAMATO  <jet@gyve.org>

    * src/seltrans.c (sp_sel_trans_stamp): The order of
    selections is reversed before stamping.

    The bug was reported by Michel Schinz <Michel.Schinz@epfl.ch>.

2002-11-19  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/desktop.c (sp_desktop_prepare_shutdown): New method, allowing us nice
    cleanup before ::destroy is invoked
    (sp_dtw_desktop_shutdown): Prepare desktop for shutdown

    * src/sp-text.c (sp_text_is_empty): Treat unicode private plane as graphical

    * src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_lookup): Use private plane
    direct index, if no unimap
    (nr_typeface_ft2_new): Set unimap flag according to whether we have
    unicode mapping table or not

2002-11-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in (FREETYPE_LIBS): Added direct freetype check

    * src/widgets/dash-selector.c (sp_dash_selector_menu_item_new): Use created
    GC, as widget is not mapped yet
    (sp_dash_selector_new): Load stroke definitions from preferences

2002-11-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sodipodi-ctrl.c (sp_ctrl_build_cache): Cleaned up bitmap build

2002-11-17  Masatake YAMATO  <jet@gyve.org>

    * src/dialogs/xml-tree.c (sp_xml_tree_dialog): Added small
    space between attribute name text field and set attribute 
    button.

2002-11-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/xml-tree.c (sp_xml_tree_dialog): Cleanup by MenTaLguY

    * src/widgets/sp-xmlview-attr-list.c (event_attr_changed): Clamping string
    width to 64[+3], thanks to MenTaLguY

2002-11-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.c (sp_canvas_motion): Get pointer if motion hints are requested

    * src/select-context.c (sp_select_context_item_handler): Use motion hints

    * src/dialogs/text-edit.c (sp_text_edit_dialog_read_selection): Kill annoying
    warning about position > length

    * src/style.h (SP_SCALE24_FROM_FLOAT): Use temporary (double) cast
    (SP_SCALE24_TO_FLOAT): Ditto

    * src/dialogs/xml-tree.c (cmd_set_attr): Use gal unicode wrappers

    * src/widgets/sp-xmlview-attr-list.c (event_attr_changed): Use gal unicode wrappers

    * src/widgets/sp-xmlview-content.c (event_content_changed): Use gal unicode wrappers
    (sp_xmlview_content_changed): Ditto

    * src/widgets/sp-xmlview-tree.c (element_attr_changed): Use gal unicode wrapper
    (text_content_changed): Ditto

    * src/dialogs/xml-tree.c: Sorted out includes a bit
    (set_tree_desktop): Comment aout transient, as some WMs do not do it proper
    (on_desktop_selection_changed): Set/release block
    (on_tree_unselect_row): Ditto
    (on_tree_select_row): Ditto
    (get_dt_select): Use selection helper methods

2002-11-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_glyph_outline_get): Use
    metrics properly

    * src/libnrtype/nr-type-ft2.c (nr_typeface_ft2_ensure_slot_v): Implement for
    font missing vertical metrics
    (nr_typeface_ft2_ensure_outline): Ditto

    * src/libnrtype/nr-type-directory.c (nr_type_read_private_list): Read face
    number from proper place

    * src/libnrtype/nr-font.c (nr_font_generic_glyph_area_get): Implement

    * src/sp-text.c (sp_string_calculate_dimensions): Use metrics properly
    (sp_string_set_shape): Ditto

    * src/print.c (sp_print_stroke): Print dash

2002-11-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/file.c (sp_file_exit): Close all views before exiting

    * src/interface.c (sp_ui_close_view): Destroy viewwidget properly
    (sp_ui_close_all): New method

    * src/sp-rect.c (sp_rect_write_transform): Adjust dash in addition to stroke width

    * src/display/nr-arena-shape.c (nr_arena_shape_update): Only dash if
    total dash length is >= 1.0 pixels

    * src/dialogs/stroke-style.c (sp_stroke_style_line_update_repr): Divide
    dash values by line width
    (sp_stroke_style_scale_line): Multiply dash values by line width
    (sp_stroke_style_line_update): Ditto

    * src/widgets/dash-selector.c (sp_dash_selector_set_dash): Use 1/1000 of
    total dash distance as delta

    * src/sp-gradient.c (sp_gradient_write): Set xlink:href attribute
    (sp_stop_write): Do it the right way

2002-11-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/style.c (sp_style_read_dash): Allow comma separators
    (sp_style_read): Read dash presentation attributes

    * src/widgets/dash-selector.c: New file

    * src/widgets/dash-selector.h: New file

    * src/dialogs/stroke-style.c (sp_stroke_style_line_widget_new): Added dash
    pattern selector
    (sp_stroke_style_line_update): Update dash
    (sp_stroke_style_line_update_repr): Ditto
    (sp_stroke_style_line_dash_changed): Callback

2002-11-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/xml-tree.c: Naviagtion buttons, better layout and other
    improvements by MenTaLguY <mental@rydia.net>

2002-11-12  Masatake YAMATO  <jet@gyve.org>

    * configure.in: required frontline-0.5.4.
    You can get both autotrace and frontline from
    http://sourceforge.net/autotrace.
    (AC_PROG_AS): wrapped by ifdef.
    Missing to add ChangeLog before commiting.

2002-11-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Fix
    array read overflow
    (nr_rgradient_render_generic_optimized): Ditto

    * src/widgets/paint-selector.c (sp_paint_selector_write_lineargradient): Normalize
    gradient transform and recalculate positions before applying
    (sp_paint_selector_write_radialgradient): Ditto

    * src/widgets/gradient-selector.c (sp_gradient_selector_set_mode): New method
    (sp_gradient_selector_init): Added units and spread optionmenu

    * src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Comment
    out nonuniform placement, as it did not work correctly

    * src/libnr/nr-matrix.c (nr_matrix_d_invert): Fix really silly bug generating identities
    (nr_matrix_f_invert): Ditto

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Set gradient props

    * src/dialogs/fill-style.c (sp_fill_style_widget_update): Set gradient props

    * src/sp-gradient.h: Changed units enumeration, so 0 is default

    * src/display/nr-arena-shape.c (nr_arena_shape_pick): Re-enable SVP based check,
    only do winding check, if object is filled

    * src/file.c: Removed printing code, only frontends remain

    * src/print.c (sp_print_document): Implement
    (sp_print_document_to_file): Ditto

    * src/sp-gradient.c (sp_gradient_ensure_colors): Fixed writing last color
    outside of allocated color vector

2002-11-10  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Commented out AM_PROG_AS, as there is not such macro
    in my installation

    * src/libnrtype/nr-typeface.h: Signature change for outline unref

    * src/libnrtype/nr-type-gnome.c (nr_typeface_gnome_glyph_outline_get): Implemented
    vertical metrics outline
    (nr_typeface_gnome_glyph_advance_get): Ditto for advance

    * src/libnrtype/nr-type-directory.c: Cleaned up a lot, now we can hopefully
    work with multiple font sources

    * src/libnrtype/nr-type-directory.h: Moved namelist to nr-type-primitives

    * src/libnrtype/nr-type-primitives.c: New file

    * src/libnrtype/nr-type-primitives.h: New file

    * src/libnrtype/nr-type-ft2.c: New file

    * src/libnrtype/nr-type-ft2.h: New file

2002-11-09  Masatake YAMATO  <jet@gyve.org>

    * configure.in (AM_CONDITIONAL(USING_OAF)): moved to toplevel.
    (AM_PROG_AS): used to check gas/as.

    * src/toolbox.c (sp_update_draw_toolbox): tooltips
    are added to the buttons.
    (gtk_event_box_new_with_image_file_and_tooltips) 
    (gtk_event_box_force_draw_parent): New functions.

    * src/widgets/sp-menu-button.c 	(sp_menu_button_draw_arrow): New function.
    (sp_menu_button_draw): used sp_menu_button_draw_arrow.
    (sp_menu_button_expose): ditto.

2002-11-06  Masatake YAMATO  <jet@gyve.org>

    * src/helper/curve.c (sp_curve_new_from_bpath): Initialize substart
    field.
    (sp_curve_reverse): assert if bs->code is ART_MOVETO_OPEN 
    or ART_MOVETO.

    Added functions that converts multiple items to curves.
    * src/path-chemistry.c (sp_selected_item_to_curved_repr): 
    Use sp_selected_item_to_curved_repr0.
    (sp_selected_path_to_curves0): New function.
    (sp_selected_path_to_curves): New function.
    (SP_TOCURVE_*): Placeholders.

2002-11-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/export.c: Made glade-free dialog

    * src/file.c (sp_export_png_file): Make filename const

    * configure.in (CFLAGS): Added GCC warnings

2002-11-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/node-edit.c: Removed unused glade stuff

2002-11-04  Masatake YAMATO  <jet@gyve.org>

    * src/dialogs/xml-tree.c (sp_xml_tree_dialog): Added vpaned
    between sp_xmlview_attr_list_new and text fields.

2002-11-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * Makefile.am (SUBDIRS): Removed macros

    * autogen.sh: Made self-contained

    * configure.in: Removed macros

    * src/widgets/sp-xmlview-tree.c: new file by MenTaLguY

    * src/widgets/sp-xmlview-content.c: new file by MenTaLguY

    * src/widgets/sp-xmlview-attr-list.c: new file by MenTaLguY

    * src/libnrtype/nr-type-directory.c: Parsing works for normal fonts

2002-11-02  Masatake YAMATO  <jet@gyve.org>

    * README: removed GYVE.

    * doc/keybindings.txt: added a item for stamping.

    * doc/architecture.txt: Fix a typo in a document.
    / is forgotten in a sample svg.

    * src/rect-context.c (sp_rect_context_config_widget): Fix a typo in a 
    label.

2002-11-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/desktop.h: s/GtkEventBoxClass/SPViewClass/; thanks to MenTaLguY

    * configure.in (have_gnome_print): Gnome-print support can be disabled

    * src/libnrtype/Makefile.am (INCLUDES): SODIPODI_GNOME_PRINT_CFLAGS

    * src/Makefile.am (sodipodi_LDADD): Added SODIPODI_GNOME_PRINT_LIBS
    (INCLUDES): Same for CFLAGS

2002-10-31  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/font-selector.c (struct _SPFontSelector): Use NRNameListss
    (sp_font_selector_init): Setup family namelist
    (sp_font_selector_family_select_row): Setup style namelist
    (sp_font_selector_set_font): Use namelist

    * src/libnrtype/nr-type-directory.c (nr_type_directory_lookup): New method
    (nr_type_directory_style_list_get): Return list of full names

    * src/libnrtype/nr-typeface.h: Added full name, removed generic style query

2002-10-31  Masatake YAMATO  <jet@gyve.org>

    * src/sp-image.c (autotrace_dialog): invokeed frontline_init
    if it is defined. in-cvs version of frontline defines 
    frontline_init.

2002-10-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/curve.c (sp_bpath_clean): Fixed warning (thanks to MenTaLguY)

2002-10-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Make
    style srings lowercase before applying

    * src/dialogs/desktop-properties.c (sp_desktop_dialog_new): Added
    togglebutton for showing/hiding page border

    * src/desktop.c (sp_dt_namedview_modified): Show/hide page border

    * src/sp-namedview.c (sp_namedview_read_attr): Listen to "showborder"

2002-10-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/item-properties.c: Removed libglade dependency

2002-10-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Added check for popt.h

    * src/dialogs/align.c: Removed libglade dependency

    * src/toolbox.c: Removed libglade dependency

2002-10-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_toolbox_button_new): Helper
    (sp_toolbox_toggle_button_new): Ditto
    (sp_toolbox_file_create): Degladeified method

    * src/file.c (sp_file_export_dialog): Frontend

    * src/toolbox.c (sp_toolbox_toggle_button_new): Helper
    (sp_toolbox_draw_create): Use previous

    * src/main.c: #include <desktop.h>

Mon Oct 21 13:31:41 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * configure.in: Fixed dependency bug.
    Removed --with/without-gnome-xml2 config option.

2002-10-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/sp-toolbox.c: Removed whole gtk.h inclusion

    * src/toolbox.c: Added missing headers

    * src/print.c (sp_print_image_R8G8B8A8_N): Implement
    (sp_print_preview): Remove root transform
    (sp_print_fill): Do not apply ctm twice

Mon Oct 21 02:11:08 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * autogen.sh: Fixed package version in echo message.

    * configure.in: Rewrite using PKG_CHECK_MODULES.
    It reduced verbose package checks.

    * src/main.c: Removed unused GNOME headers.

    * src/sp-ellipse.c: Ditto.

    * src/sp-image.c: Ditto.

    * src/toolbox.c: Ditto.

    * src/dialogs/align.c: Ditto.

    * src/dialogs/desktop-properties.c: Ditto.

    * src/dialogs/display-settings.c: Ditto.

    * src/dialogs/document-properties.c: Ditto.

    * src/dialogs/object-attributes.c: Ditto.

    * src/dialogs/object-properties.c: Ditto.

    * src/dialogs/stroke-style.c: Ditto.

    * src/dialogs/text-edit.c: Ditto.

    * src/dialogs/tool-attributes.c: Ditto.

    * src/dialogs/tool-options.c: Ditto.

    * src/helper/units.c: Ditto.

    * src/widgets/font-selector.c: Ditto.

    * src/widgets/gradient-selector.c: Ditto.

    * src/widgets/paint-selector.c: Ditto.

    * src/widgets/sp-color-selector.c: Ditto.

    * src/selection.c: Renamed release handler.

    * src/sp-gradient.c: Fixed non existence destroy signal bug.

    * src/sp-item.c: Ditto.

    * src/style.c: Ditto.

    * src/widgets/gradient-image.c: Ditto.

    * src/widgets/gradient-vector.c: Ditto.

    * src/sp-object.c: Cleanup.

Sun Oct 20 12:22:03 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * autogen.sh: Specify automake version to 1.6.1.

    * configure.in: Cleanup.

    * src/desktop-events.c: Cleanup and removed unused gnome header.

    * src/desktop.c: Ditto.

    * src/draw-context.c: Ditto.

    * src/dyna-draw-context.c: Ditto.

    * src/event-context.c: Ditto.

    * src/rect-context.c: Ditto.

    * src/spiral-context.c: Ditto.

    * src/star-context.c: Ditto.

    * src/file.c: Ditto.

    * src/help.c: Ditto.

    * src/main.c: Ditto.

    * src/sp-anchor.c: Ditto.

    * src/sp-item-group.c: Ditto.

    * src/sp-item.c: Ditto.

    * src/sp-rect.c: Ditto.

    * src/sp-shape.c: Ditto.

    * src/sp-spiral.c: Ditto.

    * src/sp-star.c: Ditto.

    * src/interface.c: Ditto.
    We lost icon for sp_about function.

    * src/sp-image.c: Cleanup and removed unused gnome header.
    Replaced by GtkDialog.

    * src/document.c: Ditto.

    * src/sodipodi.c: Ditto.

    * src/sp-namedview.c: Fixed bug that SPGuide was unrefed by
    gtk_object_unref.

    * src/sp-object.c: Fixed up release/disopse/finalize policy.
    We now got works again.
    (sp_object_class_init): Fixed object signal handler connection bug
    at release signal creation.

    * src/sp-pattern.c: Moved to g_object_unref.

    * src/sp-root.c (sp_root_release): Check if namedviews is NULL.

    * src/sp-text.c: Moved to g_object_unref.
    Removed unused gnome dependency.

    * src/svg-view.c: Moved to g_object_unref and
    g_object_get/set_data.

    * src/toolbox.c: Reverted from SPWrap to GtkTable.
    It's not a time to use SPWrap.

    * src/dialogs/export.c: Moved arena object to GObject functions.

    * src/dialogs/item-properties.c: Moved to g_object_unref.

    * src/dialogs/xml-tree.c: Cleanup.

    * src/display/nr-arena-glyphs.c: Moved from finalize to dispose.

    * src/display/nr-arena-group.c: Ditto.

    * src/display/nr-arena-image.c: Ditto.

    * src/display/nr-arena-item.c: Ditto.

    * src/display/nr-arena-shape.c: Ditto.

    * src/display/nr-arena.c: Ditto.

    * src/xml/sp-color-selector.c (sp_color_selector_init): Added
    GINT_TO_POINTER cast.

2002-10-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-compose-transform.c (nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM):
    Use mmx subcomposers if needed

    * src/libnr/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM.S: New file

2002-10-19  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-compose-transform.c (nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM_0):
    Split composer
    (nr_R8G8B8A8_P_R8G8B8A8_P_R8G8B8A8_N_TRANSFORM_n): Ditto

2002-10-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr_mmx_R8G8B8A8_P_EMPTY_A8_RGBAP.S: new file

    * src/libnr/nr-path.c (nr_path_matrix_f_bbox_f_union): Moved bpath
    bbox calculation here
    (nr_curve_bbox): Rearrange comparisons

Thu Oct 17 15:25:43 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Removed macros directory.

    * Makefile.am, autogen.sh, configure.in: Corresponding changes.

2002-10-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.c: Use idle priority lower than Gtk redraw

    * src/display/nr-arena-shape.c (nr_arena_shape_pick): Use libnr
    distance7wind calculation, if item is not at render state
    (nr_arena_shape_update): Only update bbox, if render state is not
    needed. This gave us approximately 10x faster dragging of comlex shapes

    * src/libnr/nr-path.c (nr_line_wind_distance): New helper method
    (nr_curve_bbox_wind_distance): Ditto
    (nr_path_matrix_f_point_f_bbox_wind_distance): Fast method to find
    bbox and/or wind and/or distance to bezier path

2002-10-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/print.h: New file, frontend to printing

    * src/print.c: New file, frontend to printing

2002-10-15  Davide Puricelli  <evo@debian.org>

    * debian/*: Updated

2002-10-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item.c (sp_item_invoke_print): Rename, signature change

    * src/sp-item.h: SPItem::print signature change

    * src/forward.h: Added SPPrintContext

    * src/libnr/testnr.c (main): Fill mask with blocks of transparent, opaque
    and random data. This should be closer to reality and (surprise!) gives better
    performance numbers too!

    * src/libnrtype/nr-typeface.c: Moved everyting to virtual method vector

Sun Oct 13 20:54:15 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * autogen.sh: Come from GNOME2.

Sun Oct 13 20:27:04 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/desktop-events.c, src/desktop.c,
    src/dialogs/object-properties.c:
    Moved gnome_pixmap_new_from_file to gtk_image_new_from_file.

    * src/draw-context.c: Replaced finalize with destory.

    * src/sp-polygon.c: Fixed property bug which did not work
    correctly.

    * src/widgets/sp-wrap-box.c, src/widgets/sp-wrap-box.h,
    src/widgets/sp-hwrap-box.c, src/widgets/sp-hwrap-box.h,
    src/widgets/sp-vwrap-box.c, src/widgets/sp-vwrap-box.h: New files.

    * src/widgets/test-wrapbox.c: New file.

    * src/widgets/Makefile.am: Added wrapbox stuffs.

    * src/widgets/.cvsignore: Added test-wrapbox.

    * src/widgets/sp-toolbox.c: Used g_signal_new instead of
    gtk_signal_new, because we need accumulater to control signal
    handler flow, and previous codes are not perfect.

Sun Oct 13 04:18:41 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sodipodi.c, sodipodi.h: sodipodi_get_elapsed_time()
    was useless, so removed.

    * src/knot.c: Replaced finalize with dispose.
    use GDK_CURRENT_TIME instead of sodipodi_get_elapsed_time().

    * src/select-context.c: Use GDK_CURRENT_TIME instead of
    sodipodi_get_elapsed_time().

    * src/style.c: Replaced destroy with release.

    * src/text-context.c: Replaced finalize with destory,
    because it's not a direct subclass of GObject.
    Replaced noisy gtk_signal_disconnect_by_data with
    g_signal_handlers_disconnect_matched.

    * src/toolbox.c: Use normal gtk_menu_item_set_submenu instead of
    original gtk_menu_popup callback.

    * src/sp-object.c: Fixed illegal signal emission.

    * src/selection.c:

    * src/dialogs/fill-style.c: Added required headler files.

    * src/dialogs/item-properties.c: Depressed warning.

    * src/display/canvas-arena.c: Use GDK_CURRENT_TIME instead of
    sodipodi_get_elapsed_time().

    * src/helper/sp-guide.c: Cleanup.

    * src/widgets/sp-menu-button.c: Use GDK_CURRENT_TIME instead of
    sodipodi_get_elapsed_time().
    Changed popup style.

2002-10-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.c (uta_clear): Experimental method
    (paint): Return, if events pending (commented out)
    (do_update): Return value
    (idle_handler): Use update return value

    * src/libnr/testnr.c: Speed test

    * src/libnr/nr_mmx_R8G8B8_R8G8B8_R8G8B8A8_P.S: New file

    * src/helper/sp-canvas-util.c (sp_canvas_clear_buffer): Be quick

    * src/helper/sp-canvas.h: Moved update flags back here

    * src/display/canvas-arena.c (sp_canvas_arena_update): Sort updates according to affine (again)

    * src/libnr/have_mmx.S: New file (copied from gdk-pixbuf)

    * configure.in (use_mmx_asm): Check for mmx

    * src/libnr/nr-compose.c (nr_R8G8B8A8_P_R8G8B8A8_P_A8_RGBA32): Use mmx if present

    * src/libnr/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_A8_RGBAP.S: Assembler code

2002-10-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.h: Changed object type to SPCanvas, cleanup

    * src/helper/sp-canvas.c: Ditto

2002-10-10  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas.c: Local version of praised GnomeCanvas

    * src/helper/sp-canvas.h: Local version of praised GnomeCanvas

    * src/libnr/nr-gradient.c (nr_rgradient_render_generic_symmetric): Optimize

2002-10-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-blit.c (nr_blit_pixblock_mask_rgba32): New method

    * src/libnr/nr-gradient.c (nr_rgradient_renderer_setup): Do r == 0 correctly
    (nr_rgradient_render_generic_optimized): Optimize
    (nr_rgradient_render_block_end): New method

    * configure.in: Version 0.28pre

2002-10-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.27

    * src/text-context.c (sp_text_context_root_handler): Only turn off unimode,
    if there really is string associated with key

2002-10-09  Masatake YAMATO  <jet@gyve.org>

    * src/sp-image.c (load_splines): changed the order
    of arguments. this change is for frontline-0.5.3.

    * configure.in: required frontline-0.5.3.
    To build sodipodi with frontline you have to get:
    http://autotrace.sourceforge.net/snapshots/autotrace-0.30.8.tar.gz
    http://autotrace.sourceforge.net/frontline/frontline-0.5.3.tar.gz

2002-10-08  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Do
    not mess with lineargradient skew

    * src/sp-ellipse.c (sp_arc_modified): Continue upstream

Mon Oct  7 01:41:23 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Merged from HEAD branch.

2002-10-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c: Moved frontends here

    * src/dialogs/node-edit.h: Moved declarations here

    * src/desktop.c (sp_desktop_widget_view_position_set): Use grid placement
    (sp_desktop_widget_namedview_modified): Read grid placement
    (sp_desktop_widget_update_rulers): Use grid placement
    (sp_desktop_set_coordinate_status): Disable, until sorted out

    * src/widgets/font-selector.c (sp_font_selector_set_font): Implement

    * src/libnrtype/nr-rasterfont.c (nr_rasterfont_ensure_glyph_slot): Oops, alloc
    and clear the right number of blocks

    * src/libnr/nr-compose.c (nr_R8G8B8_R8G8B8_A8_RGBA32): Implement
    (nr_R8G8B8_EMPTY_A8_RGBA32): Implement

    * src/libnr/nr-blit.c (nr_blit_pixblock_mask_rgba32): Implement

    * src/widgets/font-selector.c (sp_font_preview_expose): Implement
    (sp_font_preview_set_font): Ditto

    * src/libnr/nr-pixblock-pattern.h: New file

    * src/libnr/nr-pixblock-pattern.c: New file

2002-10-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_toolbox_draw_create): Do not expand/fill use correct name for text

    * sodipodi.spec.in: Update to cleaner version by Dag Vieers

    * src/sp-text.c (sp_text_is_empty): New method
    (sp_string_release): Use ::release, not ::destroy
    (sp_tspan_release): Ditto
    (sp_text_release): Ditto

    * src/text-context.c (sp_text_context_selection_changed): Forget text
    (sp_text_context_forget_text): New method, remove empty text item

    * src/sp-text.c (sp_tspan_build): Ensure there is always text child

    * src/sp-item-group.c (sp_group_bbox): Do not set bbox to 0,0,0,0

    * src/select-context.c (sp_select_context_root_handler): Set grabbed to NULL on release

    * src/path-chemistry.c (sp_selected_path_combine): Use item2root transform
    (sp_selected_path_break_apart): Ditto

    * src/sp-item.c (sp_item_i2root_affine): New method

    * src/widgets/gradient-position.c (sp_gradient_position_motion_notify): Reset
    gradient relative transform to symmetric rectilinear if dragging

    * src/style.c (sp_style_merge_ipaint): Use "release" signal
    (sp_style_read_ipaint): Ditto

    * src/sp-pattern.c (sp_pattern_read_attr): Use "release" signal

    * src/sp-item.c (sp_item_read_attr): Use "release" signal

    * src/sp-image.c (autotrace_dialog): Connect "release" instead of "destroy"

    * src/sp-gradient.c (sp_gradient_href_release): Use "release" instead of "destroy"

2002-10-06  suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>

    * src/libnr/Makefile.am (libnr_a_SOURCES): added
    nr-gradient.h. (nr-gradient.c appeared twice.)

2002-10-04  Masatake YAMATO  <jet@gyve.org>

    * src/widgets/font-selector.c: Inlucded stdlib.h for atof.

2002-10-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-gradient.c (nr_rgradient_renderer_setup): Use different base renderers
    (nr_rgradient_render_block_symmetric): Split frontend
    (nr_rgradient_render_block_optimized): Ditto
    (nr_rgradient_render_generic_optimized): Asymmetric renderer

    * src/sp-object.c (sp_object_invoke_release): new frontend
    (sp_object_detach): release object
    (sp_object_detach_unref): Ditto

    * src/sp-object.h: Added ::release virtual method

    * src/sp-object.c (sp_object_invoke_shutdown): New method

2002-10-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-item-group.c (sp_item_group_ungroup): Rewrite it, so it moves
    all non-items to main <defs> node, preserving logical order and building
    objects in correct sequence

    * src/desktop-affine.c: Methods for root coordinate system, fixes misplacement bug

    * src/libnrtype/nr-rasterfont.c: Made working

    * src/libnrtype/nr-font.c (nr_font_new_default): Do linking
    (nr_font_unref): Ditto

    * src/libnrtype/nr-type-directory.c (nr_typeface_unref): Moved here, implemented list

    * src/display/nr-arena-glyphs.c (nr_arena_glyphs_update): Port to rfont
    (nr_arena_glyphs_pick): Ditto (placeholder)
    (nr_arena_glyphs_set_path): Ditto
    (nr_arena_glyphs_fill_mask): Ditto

    * src/libnr/nr-matrix.h (NR_MATRIX_DF_EXPANSION): New macro
    (NR_MATRIX_DF_EXPANSION2): Ditto

2002-10-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_text_set_shape): Make document insensitive temporarily

    * src/text-context.c (sp_text_context_root_handler): Allow entering
    unicode mode by Ctrl-u

2002-10-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-chars.c (sp_chars_add_element): Signature change
    (sp_chars_show): Ditto

    * src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_add_component): Signature change

    * src/libnrtype/nr-rasterfont.c (nr_rasterfont_new): Set it up
    (nr_rasterfont_unref): Release glyph slots
    (nr_rasterfont_render_glyph_mask): Implement
    (nr_rasterfont_ensure_glyph_slot): New helper

    * src/sp-text.c: Port to new chars signature

    * src/sp-chars.h: Use font instead of typeface

    * src/libnr/nr-gradient.c (nr_lgradient_render_block): Signature change
    (nr_lgradient_renderer_setup): Use generic base class
    (nr_rgradient_renderer_setup): Ditto
    (nr_rgradient_render_block): Signature change

    * src/libnr/nr-render.h: New file

2002-10-01  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Use libnrtype
    (sp_text_edit_dialog_read_selection): Ditto
    (sp_text_edit_dialog_font_changed): Ditto

    * src/libnrtype/nr-type-directory.h: Implement NRNameList

    * src/libnrtype/nr-type-directory.c (nr_type_directory_lookup_fuzzy): Force lowercase
    (nr_type_directory_family_list_destructor): Implement
    (nr_type_directory_family_list_get): Ditto
    (nr_type_directory_style_list_destructor): Ditto
    (nr_type_directory_style_list_get): Ditto

    * src/widgets/font-selector.c: New file

    * src/widgets/font-selector.h: New file

    * src/libnrtype/nr-rasterfont.c: New file

    * src/libnrtype/nr-rasterfont.h: New file

    * src/libnr/nr-matrix.c (nr_matrix_f_set_scale): Correct signature

    * src/sp-text.c (sp_font_get_glyph_bbox): Use libnrtype
    (sp_font_get_glyph_advance): Ditto
    (sp_font_get_glyph_bbox_lr2tb): Ditto
    (sp_string_calculate_dimensions): Ditto
    (sp_string_set_shape): Ditto

    * src/sp-chars.c (sp_chars_destroy): Use libnrtype
    (sp_chars_bbox): Ditto
    (sp_chars_show): Ditto
    (sp_chars_clear): Ditto
    (sp_chars_add_element): Ditto
    (sp_chars_normalized_bpath): Ditto
    (sp_chars_do_print): Ditto

    * src/sp-chars.h (sp_chars_set_paintbox): Use libnrtype

    * src/libnrtype/nr-type-gnome.h: Placeholder

    * src/libnrtype/nr-type-directory.c: New file

    * src/libnrtype/nr-type-directory.h: New file

    * src/libnrtype/nr-font.c: New file

    * src/libnrtype/nr-font.h: New file

    * src/libnrtype/nr-typeface.c: New file

    * src/libnrtype/nr-typeface.h: New file

    * src/Makefile.am (SUBDIRS): Added libnrtype

    * src/libnr/nr-path.h: Placeholder

2002-09-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/gradient-position.c (spgp_clip_line): New method
    (spgp_draw_rect): Ditto

Sun Sep 29 14:17:31 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/knot.c, knot.h: Moved SPKnot from subclass of GtkObject
    to GObject.

    * src/knotholder.c: Ditto

    * src/seltrans.c: Ditto

    * src/selection.c: Migrated dispose to destroy for remainder.

    * src/desktop-events.c: Fixed to connect signal handler correctly.

    * src/desktop.c: Fixed to add button correctly.

    * src/sp-use.c: Depressed gchar * warnings.

    * src/sp-guide.c: Indented.

2002-09-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-gradient.c (sp_gradient_set_gs2d_matrix_f): Oops, write the right transform

    * src/widgets/gradient-position.c: Use new sensible internals

    * src/widgets/gradient-position.h: Ported to ne internals

    * src/widgets/paint-selector.c (sp_paint_selector_set_mode_gradient): Removed
    separate linear/radial optionmenu

    * src/widgets/gradient-selector.c (sp_gradient_selector_set_gs2d_matrix_f): New method
    (sp_gradient_selector_get_gs2d_matrix_f): Ditto
    (sp_gradient_selector_set_rgradient_position): Implement
    (sp_gradient_selector_init): Pax buttons under vector

    * src/widgets/gradient-position.c: New positioning syntax, lots of radial stuff

    * src/libnr/nr-matrix.h (NR_MATRIX_DF_TRANSFORM_X): Convenience macro
    (NR_MATRIX_DF_TRANSFORM_Y): Ditto

    * src/dialogs/object-properties.c (sp_object_properties_dialog): Shorten string

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Use new
    gradient widgets syntax
    (sp_stroke_style_paint_dragged): Ditto
    (sp_stroke_style_paint_changed): Ditto

    * src/dialogs/fill-style.c (sp_fill_style_widget_update): Use new gradient
    widgets syntax for bbox, transform, position
    (sp_fill_style_widget_paint_dragged): Ditto, use helper
    (sp_fill_style_widget_paint_changed): Ditto

    * src/sp-gradient.c (sp_gradient_get_gs2d_matrix_f): New method
    (sp_gradient_set_gs2d_matrix_f): Ditto
    (sp_gradient_write): Implement
    (sp_lineargradient_write): Ditto
    (sp_radialgradient_write): Ditto

    * src/select-context.c (sp_select_context_root_handler): Process button
    release only if grabbed

2002-09-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/gradient-vector.c (sp_gvs_rebuild_gui_full): Do not add id label

    * src/widgets/paint-selector.c (sp_paint_selector_init): Added radial button
    (sp_paint_selector_set_style_buttons): Set radial
    (sp_paint_selector_set_mode_gradient): Set correct button

    * glade/Makefile.am (pixmaps): Added fill_radial.xpm

Sat Sep 28 14:35:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/toolbox.c: Use gtk_window_set_resizable() instead of
    gtk_window_set_policy(), because it is deprecated in GTK+2.

    * src/file.c: Depressed warning on gnome_print_master_perview_new.

    * src/sp-object.h, sp-object.c: Added destroy signal and
    remove dispose signal.

    * src/selection.c, sp-gradient.c, style.c,
    src/widgets/gradient-vector.c: Moved dispose to destroy.

    * src/sp-guide.c: Added property.

    * src/helper/sp-guide.c: Added property.

    * src/sp-namedview.c: Moved gtk_object_unref to g_object_unref.

    * src/dialogs/text-edit.c: Removed some GNOME dependencies.

    * src/helper/gnome-utils.h gnome-utils.c: New file.
    Utilities to help to remove GNOME libraries.

    * src/interface.c: Moved some GNOME functions to gnome-utils.h.

2002-09-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/paint-selector.c (sp_paint_selector_get_gradient_position_floatv): Set radial

    * src/libnr/nr-pixblock-pixel.c (nr_compose_pixblock_pixblock_pixel): Kill
    division by zero, if fg and bg are both fully transparent

    * src/dialogs/fill-style.c (sp_fill_style_widget_update): Implement radial
    (sp_fill_style_widget_paint_dragged): Ditto
    (sp_fill_style_widget_paint_changed): Ditto

    * src/sp-gradient.c (sp_radialgradient_set_position): New method

    * src/gradient-chemistry.c (sp_gradient_ensure_radial_private_normalized): New method
    (sp_gradient_get_radial_private_normalized): Ditto
    (sp_item_force_fill_radialgradient_vector): Ditto
    (sp_item_force_stroke_radialgradient_vector): Ditto

2002-09-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/widgets/paint-selector.c (sp_paint_selector_set_gradient_radial): New method

    * src/widgets/gradient-position.c (sp_gradient_position_set_mode): New method
    (sp_gradient_position_update): Setup linear/radial renderer as needed

    * src/widgets/gradient-selector.c (sp_gradient_selector_set_mode): New method
    (sp_gradient_selector_set_lgradient_position): Renamed method
    (sp_gradient_selector_set_rgradient_position): Ditto
    (sp_gradient_selector_get_lgradient_position_floatv): Renamed method
    (sp_gradient_selector_get_rgradient_position_floatv): Ditto

    * src/libnr/nr-pixblock-pixel.c (nr_compose_pixblock_pixblock_pixel): Fixed
    R8G8B8 target to render channels separately

    * src/sp-gradient.c (sp_gradient_from_position_xy): Made gradient method,
    changed signature, added gradientTransform to list
    (sp_gradient_to_position_xy): Ditto

    * src/libnr/nr-pixblock-pixel.c: New file

    * src/libnr/nr-pixblock-pixel.h: New file

    * src/libnr/nr-gradient.c (nr_lgradient_renderer_setup): Use gradientspace
    (nr_lgradient_render_block): Use generic renderer, if no specific one
    (nr_lgradient_render_generic): Implement

    * src/sp-gradient.c (sp_gradient_render_vector_block_rgb): Compose correctly

    * src/libnr/nr-blit.c (nr_compose_pixblock_pixblock_pixel): Generic pixel composer

2002-09-26  Masatake YAMATO  <jet@gyve.org>

        * src/select-context.c (sp_select_context_root_handler):
        used sp_canvas_item_grab where I want to receive key_press event.
        (sp_select_context_item_handler): Ditto.

2002-09-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-gradient.c: New file

    * src/libnr/nr-gradient.h: New file

    * src/sp-gradient.c (sp_lineargradient_painter_new): Construct libnr renderer
    (sp_lg_fill): Use it
    (sp_radialgradient_painter_new): Construct renderer
    (sp_rg_fill): Use it

    * src/sp-shape.c (sp_shape_print): Clear pixelstore

    * src/sp-chars.c (sp_chars_print_bpath): Clear pixelstore before each rendering

    * src/sp-gradient.c (sp_rg_fill): Oops, moved declaration before statements
    (sp_rg_fill): Ditto

2002-09-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-compose.c (nr_R8G8B8A8_N_EMPTY_R8G8B8A8_P): Oops, evil bug

    * src/libnr/nr-rect.c (nr_rect_d_matrix_d_transform): New method
    (nr_rect_f_matrix_f_transform): Ditto

    * src/sp-object-repr.c (sp_object_type_lookup): Added <pattern>

    * src/sp-pattern.h: New file

    * src/sp-pattern.c: New file

    * src/Makefile.am (sodipodi_SOURCES): Added sp-pattern.[c,h]

    * src/sp-gradient.c (sp_rg_fill): Implement, seems correct although SLOW
    (sp_radialgradient_painter_new): Implement, except viewport percentages
    (sp_radialgradient_read_attr): Initialize right numbers
    (sp_radialgradient_init): Ditto

Tue Sep 24 01:01:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/interface.c (sp_ui_menu_append_item): Fixed to work well,
    even if label is exist and stock is not exist.

    * src/widgets/sp-menu-button.c (sp_menu_button_menu_position):
    Modified for popup menu calculation.

    * src/widgets/sp-toolbox.c: Added GTK_SIGNAL_FUNC cast.

2002-09-24  Masatake YAMATO  <jet@gyve.org>

    * src/select-context.c (sp_select_context_root_handler,
    sp_select_context_item_handler): used GDK_space instead
    of GDK_BUTTON_2. Added Lauris's event mask code after 
    grabbing an item.

    * src/seltrans.c (sp_sel_trans_handle_stamp): removed.
    (sp_seltrans_handle_event): handled "pressing space" as 
    stamping.
    (gdk/gdkkeysyms.h): included.

    * src/knot.c (sp_knot_class_init): removed "stamped" signal 
    again.
    (sp_knot_handler): didn't emit stamped anymore.

2002-09-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/nr-matrix.c (nr_matrix_d_set_scale): new method
    (nr_matrix_f_set_scale): Ditto

    * src/sp-use.c (sp_use_href_changed): Use unref instead of destroy
    (sp_use_destroy): Ditto

    * src/seltrans.c (sp_sel_trans_scale): Allow scaling in one dimension,
    if it is > 0.0
    (sp_sel_trans_scale_request): Snap in one dimension, if > 0.0

    * src/sp-path.c (sp_path_bbox): Allow empty bboxen

    * src/helper/art-utils.c (sp_bpath_matrix_d_bbox_d_union): Union always,
    even if computed bbox is empty

Mon Sep 23 01:37:09 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/widgets/sp-menu-button.c: Clean up code.

    * src/widgets/sp-menu-button.c (sp_menu_button_menu_position):
    In GTK+2, button widget share its window among toplevel window,
    so I fixed offset calculation.

    * src/knot.c: Clean up unused marshaller.

    * src/knotholder.c: Ported.

2002-09-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/sp-canvas-util.c (sp_canvas_item_grab): new method to
    circumvent GnomeCanvas bug

    * src/knot.c (sp_knot_handler): Use sp_canvas_item_grab

2002-09-23  Masatake YAMATO  <jet@gyve.org>

    * src/knot.c (sp_knot_class_init): Added "stamped" signal
    (sp_knot_handler): Emit it

    * src/select-context.c (sp_select_context_item_handler): Do stamping
    (sp_select_context_root_handler): Ditto

    * src/seltrans.c (sp_sel_trans_stamp): new method
    (sp_show_handles): Connect "stamped" signal
    (sp_sel_trans_handle_stamp): new handler

2002-09-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/seltrans.c (sp_seltrans_handle_event): Just here for my debugging

    * src/knot.c (sp_knot_handler): No ungrabbing, added TOP CANVAS HACK,
    so we can now get key events and do not kill Gdk

    * configure.in: Version 0.27pre

Sun Sep 22 22:06:57 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/desktop.c: add destroy call for GtkDialog.

    * src/sp-object.c, sp-polyline.c, style.c,
    src/display/canvas-area.c, src/widgets/gradient-image.c,
    gradient-vector.c: Ported and fixed.

    * src/sp-ruler.c: Bug fixed that
    misspelling s/GtkHRuler/SPHRuler/ and s/GtkVRuler/SPVRuler/.

    * src/widgets/sp-menu-button.c, sp-menu-button.h, src/toolbox.c:
    Found duplicated signal "activate".
    So, renamed SPMenuButton::activate to "activate-item" and
    did corresponding change for toolbox.c.

    * src/helper/sp-ctrlline.c: Avoid to duplicated free call for ctrlline->svp.

2002-09-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.26

    * src/main.c: #include <locale.h>, thanks to Masatake

Sun Sep 22 22:21:14 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-ruler.c: Bug fixed that
    misspelling s/GtkHRuler/SPHRuler/ and s/GtkVRuler/SPVRuler/.

Sat Sep 21 03:02:21 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Now, sodipodi can build and start up again (but often cause segv).

    * src/display/canvas-arena.c, nr-arena-glyphs.h, nr-arena.c:
    Ported.

    * src/dialogs/export.c, text-edit.c: Ported.

    * src/widgets/sp-color-slider.c, sp-menu-button.c: Ported.

    * src/*.c, *.h: Ported.

    * glade/*.glade: conveted to glade-2.

2002-09-21  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/fill-style.c (sp_fill_style_widget_new): Fill rule selector
    (sp_fill_style_widget_update): Update fill rule selector
    (sp_fill_style_widget_update_repr): Ditto
    (sp_fill_style_widget_fill_rule_activate): Set fill-rule

    * src/document.c (sp_document_new): Do not set style

    * src/xml/repr.c (sp_repr_merge): Duplicate node without id key

    * src/sp-path.c (sp_path_build): Set fill to none for old version open path

    * src/bonobo/embeddable-document.c (sp_embeddable_document_pf_load): New
    document constructor signature, thanks to Ted Gould
    (sp_embeddable_document_ps_load): Ditto
    (sp_embeddable_document_new): Ditto

    * src/help.c (sp_help_about): use sp_text_set_repr_multiline

    * src/style.c (sp_style_write_difference): Rewind pointer

    * src/sp-ellipse.c (sp_genericellipse_set_shape): Request modified
    (sp_arc_modified): Implement, write path attribute

2002-09-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-object.c (sp_object_private_write): Duplicate repr if needed

    * src/xml/repr-util.c (sp_repr_set_double_default): New method

    * src/sp-rect.c (sp_rect_write): Set default on radiuses

    * src/sp-root.c (sp_root_write): Set namespaces here

    * src/xml/repr.c (sp_repr_document_new): Set doctype and comment

    * src/xml/repr-io.c (sp_repr_read_file): Set doctype and comment if SVG
    (sp_repr_read_mem): Ditto
    (sp_repr_save_stream): Save doctype and comment

Thu Sep 19 19:24:04 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-marshal.*, src/Makefile.am: Removed old marshaller codes.

2002-09-19  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_string_set_shape): Update position array
    (sp_text_get_cursor_coords): New method
    (sp_text_set_shape): Set tspan position to text, if unset; Limit block
    to tspans with unspecified role
    (sp_text_insert_line): Implement

    * src/text-context.c (sp_text_context_setup): Set blink to 250ms
    (sp_text_context_selection_modified): Implement, update cursor position
    (sp_text_context_selection_changed): Ditto
    (sp_text_context_root_handler): Cursor placement, insertion and deletion
    work as they should

    * src/display/nr-arena-shape.c (nr_arena_shape_update): Do not try to
    fill paths consisting of single lineto

    * src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Only keep
    if hrefcount == 1 (fixed bug)

    * src/style.c (sp_style_read): Only parse CMYK if RGBA present

2002-09-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-ellipse.c (sp_arc_set_elliptical_path_attribute): Lay 2PI arcs as 2 segments
    (sp_arc_write): Write SVG <ellipse> if it really is one

    * src/style.c (sp_style_write_ienum): We compare computed values, to
    avoid unnecessary setting of attributes
    (sp_style_merge_from_parent): Set only computed values for everything

    * src/helper/art-utils.c (sp_vpath_from_bpath_closepath): New method,
    borrowed relevant helpers from libart code

    * src/display/nr-arena-shape.c (nr_arena_shape_update): Closeall if filled,
    limit min width to 0.125 instead of cutting it to 0

2002-09-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/event-context.c (sp_event_context_destroy): Do not disconnect
    desktop signal, as there is no such
    (sp_event_context_new): Do not connect desktop signal

    * src/draw-context.c (sp_pencil_context_root_handler): Changed grabbing only
    to happen, if pointer is moved button-down. This changed irritating
    double-click total grab problem.
    (sp_pen_context_root_handler): Ditto

    * src/display/nr-arena-group.c (nr_arena_group_update): Multiply
    with group second transformation

    * src/display/nr-arena-group.h: Added child_affine member

    * src/sp-root.c (sp_root_read_attr): Use NRMatrixD for viewbox
    (sp_root_show): Implement, apply viewBox
    (sp_root_bbox): Ditto
    (sp_root_print): Ditto

    * src/sp-item.c (sp_item_i2doc_affine): Apply viewBox

Tue Sep 17 13:50:40 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/dialogs/stroke-style.c: A few fix from my office.

Mon Sep 16 21:31:33 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/display/*: Really done.

    * src/*: Half done, but partially adhock.

Mon Sep 16 14:22:10 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Start migration to GTK+2 environment.

    * Makefile.am, configure.in, acconfig.h: Use pkgconfig, GLib2,
    Pango, GTK+2, GNOME2, etc.

    * src/dialogs/*: Done.

    * src/display/*: Done.

    * src/helper/*: Done.

    * src/svg/*: Done.

    * src/widgets/*: Done.

    * src/xml/*: Done.

    * src/*: Partialy done.

2002-09-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/png-write.c (sp_png_get_block_stripe): Helper
    (sp_png_write_rgba): Use striped writer
    (sp_png_write_rgba_striped): New method

    * src/dialogs/export.c (sp_export_get_rows): Renderer
    (sp_export_do_export): Use striped exporter

    * src/file.c: Added <time.h> - Thanks to Masatake for finding it

2002-09-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/nr-arena-image.c (nr_arena_image_render): Use libnr
    transformed composition methods

    * src/libnr/nr-compose-transform.c: New file

    * src/libnr/nr-compose-transform.h: New file

2002-09-15  Masatake YAMATO  <jet@gyve.org>

    * src/toolbox.c (sp_maintoolbox_drag_data_received): made
    it a static scoped function.
    (sp_maintoolbox_create): Connected sp_maintoolbox_drag_data_received
    to maintoolbox. (glade based version is obsoleted.)

    * src/toolbox.c (sp_maintoolbox_drag_data_received): removed 
    declaration.

2002-09-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/file.c (sp_file_save_as): Added "file type" optionmenu
    (sp_file_save_type_activate): Helper
    (file_save_ok): Save plain SVG if needed

    * src/sp-namedview.c (sp_namedview_write): Implement

    * src/sp-text.c (sp_text_write): Implement

    * src/sp-use.c (sp_use_write): implement

    * src/sp-root.c (sp_root_write): Implement

    * src/sp-polyline.c (sp_polyline_write): Implement

    * src/sp-line.c (sp_line_write): Implement

    * src/sp-image.c (sp_image_write): Implement

    * src/sp-gradient.c (sp_stop_write): Implement

    * src/sp-defs.c (sp_defs_write): Implement

    * src/sp-clippath.c (sp_clippath_write): Implement

    * src/sp-anchor.c (sp_anchor_write): Implement

    * src/sp-polygon.c (sp_polygon_write): new ::write syntax

    * src/sp-spiral.c (sp_spiral_write): New ::write syntax

    * src/sp-star.c (sp_star_write): New ::write syntax

    * src/sp-ellipse.c (sp_ellipse_write): New ::write syntax
    (sp_circle_write): Ditto
    (sp_arc_write): Ditto

    * src/sp-rect.c (sp_rect_write): New ::write syntax

    * src/sp-shape.c (sp_shape_write): New ::write syntax

    * src/star-context.c (sp_star_finish): New ::write syntax

    * src/spiral-context.c (sp_spiral_finish): New ::write syntax

    * src/knotholder.c (knot_moved_handler): new ::write syntax

    * src/sp-object.c (sp_object_invoke_write): Renamed and enhanced
    ::write_repr method, can now construct trees and write plain SVG

    * src/sp-item-group.c (sp_group_write): Implement

2002-09-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_maintoolbox_menu_button_press): Construct main
    menu here dynamically

    * src/main.c (sp_main_console): Hide documents for nongui, slideshow

    * src/interface.c (sp_ui_file_menu): Recent list
    (sp_ui_main_menu): Ditto
    (sp_menu_append_recent_documents): New helper

    * src/help.c (sp_help_about): Hide document from list

    * src/file.c (sp_file_open): New method
    (sp_file_open_dialog): Renamed old sp_file_open

    * src/sodipodi.c (sodipodi_add_document): Emit "new_document"
    (sodipodi_remove_document): Emit "destroy_document", update recent list
    (sodipodi_segv_handler): Truncate filenames to sensible part

    * src/toolbox.c (sp_maintoolbox_open_one_file_with_check): Use sp_file_open

2002-09-13  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/draw-context.c (sp_pencil_context_root_handler): Clear anchors
    (spdc_finish_endpoint): Ditto
    (spdc_pen_finish): Ditto

    * src/document.h: Moved uri/base/name to main structure

    * src/draw-context.c (sp_pen_context_finish): Call parent method, fixes
    habit of crashing after using pen

2002-09-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/libnr/*: Started composing sensible library at last

    * src/document.c: Fix DTD typo

    * src/main.c (sp_main_gui): Moved setting LC_NUMERIC after gnome init
    (sp_main_console): Set LC_NUMERIC to "C" here too

2002-09-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * configure.in: Version 0.26pre

    * src/display/Makefile.am (libspdisplay_a_SOURCES): Removed fill.[c,h] and stroke.[c,h]

2002-09-11  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/node-context.c (sp_node_context_item_handler): Do not
    select, if rubberband has been dragged

    * src/widgets/sp-menu-button.c (sp_menu_button_draw): Implement,
    draw small indication arrow here
    (sp_menu_button_expose): Ditto

    * src/helper/curve.c (sp_bpath_clean): New method
    (sp_curve_new_from_bpath): Clean bpath, if not good
    (sp_curve_new_from_static_bpath): Ditto
    (sp_curve_new_from_foreign_bpath): Ditto

    * src/macros.h: Some new macros

    * src/sp-object.c (sp_object_modified): Oops! Replaced '&&' with '&',
    this fixed super-slow rendering during drag bug

2002-09-10  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/selection-chemistry.c (sp_group_cleanup): Helper
    (sp_edit_cleanup): New method

    * src/path-chemistry.c (sp_path_cleanup): New method

    * src/draw-context.c (sp_draw_context_finish): Implement

    * src/seltrans.c (sp_sel_trans_ungrab): Do not set identity

    * src/sp-item-transform.c: Do not set identity transform

    * src/sp-text.c (sp_text_write_transform): Do not write identity

    * src/sp-rect.c (sp_rect_write_transform): Do not write identity

    * src/xml/repr.c (sp_repr_remove_listener_by_data): Oops, removed excess step

    * src/sp-shape.c (sp_shape_build): Force style rewrite for old versions

    * src/view.c (sp_view_widget_view_destroy): handler
    (sp_view_widget_set_view): Connect "destroy"

    * src/main.c (sp_do_export_png): Move exporting code here, implement
    --export-width, --export-height, --export-backround arguments

    * src/helper/nr-plain-stuff.c (nr_render_r8g8b8a8_r8g8b8a8_alpha): Implement
    using internal composer

    * src/sp-item.c (sp_item_paint): Render buffer instead of copy

2002-09-09  Masatake YAMATO  <jet@gyve.org>

    * src/sp-image.c (autotrace_dialog): Used 
    gtk_signal_connect_object_while_alive and 
    gtk_signal_connect_object instead of gtk_signal_connect_while_alive
    and gtk_signal_connect.
    (object_destroyed): Removed.
    (load_trace_result): ask the user whehter loading or net.

    * configure.in (AM_PATH_FRONTLINE): Check the version of frontline(>= 0.5.1).

2002-09-09  Zbigniew Chyla  <cyba@gnome.pl>

    * src/draw-context.c, src/dyna-draw-context.c, src/select-context.c,
    src/spiral-context.c, src/star-context.c,
    src/dialogs/tool-attributes.c, src/dialogs/tool-options.c,
    src/dialogs/xml-tree.c: Added <config.h>

2002-09-09  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/gradient-chemistry.c (sp_gradient_ensure_private_normalized): Normalize
    if flag is set, but hrefcount > 1
    (sp_item_force_fill_lineargradient_vector): Check for hrefcount
    (sp_item_force_stroke_lineargradient_vector): Ditto

    * src/interface.c: Added <config.h>

    * glade/toolbox.glade: Fixed non-ASCII character

2002-09-08  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/export.c (sp_export_do_export): Fixed affine

    * src/main.c (sp_main_console): Fixed affine

    * src/toolbox.c (sp_maintoolbox_create): Construct main window by hand

    * src/interface.c (sp_ui_main_menu): New method

    * src/help.c (sp_help_about): Use document width and height

    * src/svg-view.c (sp_svg_view_rescale): Use pixel coords
    (sp_svg_view_widget_size_request): Ditto

    * src/spiral-context.c (sp_spiral_context_config_widget): Implement
    (sp_spiral_context_setup): Ditto
    (sp_spiral_context_set): Ditto

    * src/star-context.c (sp_star_context_config_widget): Implement

    * src/desktop.c (sp_desktop_new): Use repr key for initial select context

    * src/select-context.c (sp_select_context_config_widget): Implement
    (sp_select_context_transform_toggled): Helper
    (sp_select_context_show_toggled): Ditto

    * src/display/nr-arena-shape.c (nr_arena_shape_update): Do not stroke,
    if width < 0.125

    * src/display/nr-arena-glyphs.c (nr_arena_glyphs_group_update): Use paintbox
    (nr_arena_glyphs_group_set_paintbox): New method
    (nr_arena_glyphs_update): Do not stroke if width < 0.125
    (nr_arena_glyphs_render): Do not render here
    (nr_arena_glyphs_fill_mask): New helper
    (nr_arena_glyphs_stroke_mask): Ditto
    (nr_arena_glyphs_group_update): Create painters here
    (nr_arena_glyphs_group_render): Render here

    * src/dialogs/tool-attributes.c (sp_tool_attributes_dialog_setup): Added
    SPSelectContext

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_update): Use new gradient
    position widget logic
    (sp_stroke_style_paint_dragged): Ditto
    (sp_stroke_style_paint_changed): Ditto

    * src/dialogs/fill-style.c (sp_fill_style_widget_update): Use new gradient
    position widget logic
    (sp_fill_style_widget_paint_dragged): Ditto
    (sp_fill_style_widget_paint_changed): Ditto

    * src/sp-shape.c (sp_shape_show): Calculate and set paintbox
    (sp_shape_modified): Ditto

    * src/sp-gradient.c (sp_lineargradient_from_position): New method
    (sp_lineargradient_to_position): Ditto

    * src/sp-chars.c (sp_chars_print_bpath): Implement via nr plain buffers
    (sp_chars_set_paintbox): New method

    * src/seltrans.c (sp_sel_trans_shutdown): Destroy handles and canvasitems

    * src/seltrans.h: Added modifieable parameters

    * src/selection.c (sp_selection_bbox_document): New method

    * src/select-context.c (sp_select_context_set): Implement this

    * src/arc-context.c (sp_arc_finish): Oops, set sodipodi namespace

2002-09-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/style.c (sp_length_differ): Oops, if units differ check value

    * src/sp-paint-server.h: painter contructor signature change

    * src/display/nr-arena-shape.c: Remove group stuff
    (nr_arena_shape_set_paintbox): New method

    * src/display/nr-arena-shape.h: Remove group stuff

    * src/sp-object.c (sp_object_get_style_property): read presentation attr

    * src/sp-chars.c (sp_chars_style_modified): Use nr_arena_glyphs_group
    (sp_chars_show): Ditto
    (sp_chars_clear): Ditto
    (sp_chars_add_element): Ditto

    * src/sp-shape.c (sp_shape_modified): Set paintbox
    (sp_shape_style_modified): Use single nr_arena_shape
    (sp_shape_show): Ditto
    (sp_shape_remove_comp): Ditto
    (sp_shape_add_comp): Ditto

    * src/macros.h: Add total silencing

    * src/sp-gradient.c (sp_lineargradient_painter_new): Implement userSpaceOnUse
    except percentages (still not clear, what to do with those), but do
    bbox correctly

2002-09-06  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_edit_dialog_update_object): Generic method
    (sp_text_edit_dialog_set_default): New method
    (sp_text_edit_dialog_read_selection): Read defaults if no text
    (sp_text_edit_dialog_text_changed): Update default button
    (sp_text_edit_dialog_font_changed): Ditto
    (sp_text_edit_dialog_any_toggled): Ditto
    (sp_ted_get_selected_text_item): Helper

    * src/dialogs/tool-options.c (sp_tool_options_dialog_setup): Implement
    using sp_event_context_config_widget

    * src/event-context.h: Added ::config_widget virtual method

    * src/event-context.c (sp_event_context_config_widget): New method

    * src/dyna-draw-context.c (sp_dyna_draw_context_config_widget): new method

2002-09-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/stroke-style.c (sp_stroke_style_paint_construct): Handler
    (sp_stroke_style_paint_attr_changed): Ditto
    (sp_stroke_style_repr_get_style): Helper
    (sp_stroke_style_paint_update_repr): For SPRepr associated styles
    (sp_stroke_style_paint_changed): Write bare repr if needed
    (sp_stroke_style_line_construct): Handler
    (sp_stroke_style_line_attr_changed): Ditto
    (sp_stroke_style_line_update_repr): Alternate parser
    (sp_stroke_style_width_changed): Write repr if needed
    (sp_stroke_style_any_toggled): Ditto

    * src/dialogs/object-properties.c (sp_object_properties_dialog): build
    optionmenu for choosing between selection/tools

    * src/dialogs/fill-style.c (sp_fill_style_widget_new): Attach attr_changed
    (sp_fill_style_repr_get_style): Helper
    (sp_fill_style_widget_update_repr): Repr-associated version updater
    (sp_fill_style_widget_paint_changed): Write repr instead of item list if needed

    * src/widgets/sp-widget.c (spw_repr_attr_changed): Repr callback
    (sp_widget_new_global): Build from sodipodi
    (sp_widget_new_repr): Build from repr
    (sp_widget_construct_global): Constructor
    (sp_widget_construct_repr): Ditto

    * src/style.c (sp_style_new): New method
    (sp_style_read): Move evrything here
    (sp_style_read_from_object): Frontend
    (sp_style_read_from_repr): Ditto

2002-09-04  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-path.c (sp_path_build): Update SODIPODI-PATH-NODE-TYPES attribute

2002-09-03  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_text_set_shape): Oooooooops, use MAX for bbox other corner

    * src/document.c (sp_document_new): Set docname attribute after build

    * src/sp-text.c (sp_text_find_version): Helper
    (sp_text_build): Build tspans etc. if 0.0 < version < 0.25

    * src/sp-ellipse.c (sp_arc_find_version): Helper
    (sp_arc_build): Per-version attributes
    (sp_arc_read_attr): Ditto

    * src/document.c (sp_document_new): Delay namespaces etc. to determine version
    (sp_document_new_from_mem): Ditto

    * src/document.h: Bring some members here

2002-09-02  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/stroke-style.c (sp_stroke_style_line_update): Make insensitive, if not stroked

    * src/sp-rect.c (sp_rect_write_transform): Adjust stroke width, if scale changes

    * src/sp-text.c: Port to SPSVGUnits

    * src/sp-root.c: Port to SPSVGLength, use pixels as basic units from now on

    * src/sp-rect.c: Port to SPSVGLength

    * src/sp-image.c: Port to SPSVGLength

    * src/sp-gradient.c: Port to SPSVGLength

    * src/sp-ellipse.c: Port to SPSVGLength

    * src/file.c (sp_do_file_print_to_printer): Fix px/pt ratio
    (sp_do_file_print_preview): Ditto

    * src/document.c (sp_document_width): Fix px/pt ratio
    (sp_document_height): Ditto
    (sp_document_new): Add sodipodi:version
    (sp_document_new_from_mem): Ditto

    * src/desktop.c (sp_desktop_init): Fix px/pt ratio in doc2dt matrix

    * src/svg/svg-length.c (sp_svg_length_read): New method
    (sp_svg_length_read_lff): Ditto
    (sp_svg_length_unset): Ditto

    * src/svg/svg-types.h: New file

    * src/dialogs/Makefile.am (libspdialogs_a_SOURCES): Added tool-options.[c,h]

2002-08-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_text_set_shape): Do layouting here, so we can handle blocks

    * src/dialogs/text-edit.c (sp_text_edit_dialog): Layout radiobuttons
    (sp_text_edit_dialog_apply): Do layout
    (sp_text_edit_dialog_read_selection): Ditto

    * src/sp-text.c (sp_font_get_glyph_bbox): New helper
    (sp_font_get_glyph_advance): Ditto
    (sp_font_get_glyph_bbox_lr2tb): Ditto
    (sp_string_calculate_dimensions): Do vertical dimension correctly
    (sp_string_set_shape): Ditto

2002-08-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_string_calculate_dimensions): New method

    * configure.in: Rewind required gnome-print version to 0.29

    * src/sp-object.h: Added viewport and user flags

    * src/style.c: Added functional 'text-anchor' property

    * src/style.h: Added functional 'text-anchor' property

    * src/svg/svg-color.c (sp_svg_read_color): Read rgb(r,g,b) variants

    * src/style.c: Created new IEnum type with immediate and computed members,
    ported font-style, font-variant, font-weight, font-stretch to it

    * src/sp-text.c (sp_string_set_shape): Use computed 'font-style' value

    * glade/Makefile.am (glade_DATA): Removed text-dialog.glade

    * src/dialogs/text-edit.c: Get rid of glade

2002-08-28  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/display/canvas-arena.c: Ref active item, so it does not disappear

    * src/style.c: Implement SPIFontSize and various helpers for it

    * src/sp-text.c: New font size type

    * src/sp-shape.c: 24-bit opacity scale

    * src/sp-item.c (sp_item_read_attr): Reread style for font-size

    * src/sp-image.c: 24-bit opacity scale

    * src/sp-chars.c: 24-bit opacity scale

    * src/gradient-chemistry.c: 24-bit opacity scale

    * src/file.c (sp_do_file_print_preview): Ensure up-to-date
    (sp_do_file_print_to_printer): Ditto

2002-08-27  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/export.c (sp_export_do_export): Fix affine (one more time)

    * src/sp-item.c (sp_item_paint): Ensure document is up-to-date

    * src/sp-chars.c (sp_chars_print_bpath): Use new transformed bpath bbox
    (sp_chars_bbox): Ditto

    * src/sp-path.c (sp_path_bbox): Use new transformed bpath bbox

    * src/helper/art-utils.c (sp_bpath_matrix_d_bbox_d_union): New method
    (sp_bpath_segment_bbox_d): Helper

2002-08-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_dialog_apply): Oops, set size, not some crap here

    * src/sp-chars.c (sp_chars_do_print): New direct method
    (sp_chars_print_bpath): Helper

    * src/gradient-chemistry.c (sp_item_repr_set_style_gradient): Set recursive

2002-08-25  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/text-context.c (sp_text_context_finalize): Do not use desktop here
    (sp_text_context_finish): Implement, release desktop stuff here

    * src/sp-text.c (sp_text_normalized_bpath): New method
    (sp_text_print): Implement, still needs SPChars method

    * src/sp-chars.c (sp_chars_normalized_bpath): New method

    * src/path-chemistry.c (sp_selected_path_to_curves): Convert the new text object

    * src/interface.c (sp_ui_file_menu): Use helpers, the right export dialog

    * src/draw-context.c (sp_pen_context_finish): Flush object
    (sp_pen_context_root_handler): Added 'BackSpace', should work OK now

    * src/event-context.c (sp_event_context_finish): New method and virtual method

    * src/desktop.c (sp_desktop_set_event_context): Finish eventcontext

    * src/helper/curve.c (sp_curve_backspace): New method

2002-08-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/helper/curve.c (sp_curve_append): Handle open/closed end and start

    * src/preferences-skeleton.h: Added pen tool, made AI style default

    * src/draw-context.c (sp_draw_context_setup): Set attach
    (sp_draw_context_root_handler): React to '+' key
    (spdc_set_attach): Set/clear append mode
    (spdc_attach_selection): Renamed
    (spdc_detach_selection): New method
    (spdc_reset_white): Only need white, not all colors
    (sp_pencil_context_root_handler): Destroy green anchor on release
    (sp_pen_context_setup): Handle "mode" attribute
    (sp_pen_context_set): Ditto
    (sp_pen_context_root_handler): Has now AI style (default) and click-click modes
    (spdc_pen_set_ctrl): Handle modes
    (spdc_pen_finish): New method

2002-08-23  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/sp-attribute-widget.h: It can now be attached to mere SPRepr too

    * src/dialogs/sp-attribute-widget.c (sp_attribute_widget_new_repr): New constructor
    (sp_attribute_widget_set_repr): New method
    (sp_attribute_table_new_repr): New constructor
    (sp_attribute_table_set_repr): New method

    * src/star-context.c (sp_star_context_set): Attribute reader
    (sp_star_context_setup): parse attributes

    * src/marshal.c (sp_marshal_NONE__STRING_BOOL): New method

    * src/interface.c (sp_ui_dialog_menu): Tool attributes menu

    * src/event-broker.c: Added event context node location

    * src/dyna-draw-context.c (sp_dyna_draw_context_set): Attribute reader
    (sp_dyna_draw_context_setup): Parse attributes

    * src/draw-context.h: Added selection member

    * src/view.c (sp_view_set_position): Frontend to virtual method
    (sp_view_set_status): Ditto

    * src/view.h: Added virtual methods for marking status and position

    * src/desktop.c (sp_desktop_widget_view_status_set): Moved status to
    parent container, where it belongs
    (sp_desktop_widget_view_position_set): Same for position
    (sp_desktop_widget_new): Listen status and position signals

    * src/dialogs/tool-attributes.c: New file

    * src/dialogs/tool-attributes.h: New file

2002-08-20  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dyna-draw-context.c: Removed control knot, as we do not attach to anything

    * src/xml/repr.c (sp_repr_unref): Implemented launching destroy listener

    * src/xml/repr-private.h: Added destroy listener

2002-08-19  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sodipodi.c (sodipodi_segv_handler): Do better names and inform user about these

    * src/selection-chemistry.c (sp_item_list_common_parent_group): Helper
    (sp_selection_raise): Made it to work with all item combinations
    (sp_selection_lower): Ditto, do not lower under non-items

    * src/sp-item-group.c (sp_group_order_changed): Fix item order calculation

2002-08-18  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/document-undo.c (sp_document_order_changed): Set correct action type

2002-08-17  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/selection-chemistry.c (sp_selection_ungroup): Use method from item group

    * src/sp-item-group.c (sp_item_group_ungroup): Preserve order and styles

    * src/style.c (sp_style_read_from_object): Synchronized with new style structure
    (sp_style_merge_property): Ditto
    (sp_style_merge_from_object_parent): Ditto
    (sp_style_merge_ipaint): Renamed
    (sp_style_write_string): New write semantics
    (sp_style_write_difference): New method
    (sp_text_style_write): New write semantics
    (sp_style_read_ifloat): Rename
    (sp_style_read_iscale30): Ditto
    (sp_style_read_ienum): Ditto
    (sp_style_read_istring): Ditto
    (sp_style_read_ipaint): Ditto
    (sp_style_write_ifloat): Signature, semantics and name change
    (sp_style_write_iscale30): Ditto
    (sp_style_write_ienum): Ditto
    (sp_style_write_istring): Ditto
    (sp_style_write_ipaint): Ditto
    (sp_paint_differ): Helper

    * src/style.h: Renamed inherited types, changed miterlimit to ifloat

    * src/color.c (sp_color_is_equal): New method

    * src/style.c (sp_style_merge_from_style_string): Accept (although warn)
    properties without end marker

    * src/dialogs/export.c (sp_export_do_export): Use correct transformation

    * src/main.c: Added command-line export functionality
    (main): Cleanup
    (sp_main_gui): Broke GUI-specific stuff here
    (sp_main_console): Same for console mode, implement export, use current dor for print

2002-08-16  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_maintoolbox_create): Moved draw toolbox to separate method
    (sp_toolbox_draw_set_object): Callback
    (sp_toolbox_draw_create): New method, create MenuButtons
    (sp_update_draw_toolbox): Use MenuButtons

    * src/event-broker.c: Added pen context, use pencil and pen instead of draw

    * src/draw-context.c: Break draw context into parent, pencil and pen

    * src/draw-context.h: Ditto

    * src/widgets/sp-menu-button.h: New file

    * src/widgets/sp-menu-button.c: New file, implement something similar to
    GtkOptionmenu, but with some sodipodi-specific sugar

    * glade/draw_pen.xpm: New file

    * src/draw-context.c (sp_draw_context_finalize): Destroy pen controls
    (sp_draw_context_setup): Setup pen controls
    (sp_draw_context_root_handler): Do pen stuff
    (spdc_pen_set_point): New helper
    (spdc_pen_set_ctrl): Ditto
    (spdc_pen_finish_segment): Ditto

    * src/helper/sp-ctrlline.c (sp_ctrlline_set_rgba32): New method

2002-08-15  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/toolbox.c (sp_update_draw_toolbox): Freehand keeps undo/redo sensitive now

    * src/document.c (sp_document_ensure_up_to_date): New method

    * src/draw-context.c (sp_draw_context_setup): Read selection data
    (sp_draw_context_root_handler): Use colors for freehand, place green anchor
    (spdc_selection_changed): Use read_selection
    (spdc_selection_modified): Ditto
    (spdc_read_selection): New method
    (spdc_add_freehand_point): Ditto
    (spdc_concat_colors_and_flush): Check, whehter green anchor exist, do contiguous append
    (fit_and_split): Use continious append
    (sp_draw_anchor_destroy): Signature change

2002-08-14  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/draw-context.c (sp_draw_context_destroy): Do not destroy start and end anchors
    (sp_draw_context_selection_modified): Save white curves in desktop coordinates
    (sp_draw_context_root_handler): Use state indicator, change addline modes on release
    (spdc_concat_colors_and_flush): Use continuous append
    (spdc_flush_white): Translate everything to item coordinates here

    * src/draw-context.h: Replace booleans with single state indicator

    * src/helper/curve.c (sp_curve_transform): New method
    (sp_curve_append_continuous): New method

2002-08-12  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/draw-context.c (spdc_finish_endpoint): Cleanup
    (spdc_flush_white): Do concat, create object if needed, do red->white transform if needed
    (spdc_clear_red_data): Helper

    * src/draw-context.h: Member rename

    * src/helper/curve.c (sp_curve_append): Append the whole curve, not just last segment
    (sp_curve_concat): Set lengths etc. correctly, fixes draw crash

2002-08-08  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/text-edit.c (sp_text_dialog_apply): Why there were strdups here?

    * src/style.c (sp_style_read_from_object): Cleanup font-family and font-size
    (sp_style_merge_property): Ditto
    (sp_style_merge_from_object_parent): Ditto
    (sp_text_style_write): Ditto
    (sp_style_read_inherited_float): New helper
    (sp_style_read_inherited_string): Ditto
    (sp_style_write_inherited_float): Ditto
    (sp_style_write_inherited_string): Ditto

    * src/sp-text.c (sp_text_set_repr_text_multiline): Set roles and line positions

2002-08-07  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_text_read_attr): Request relayout
    (sp_text_child_added): Ditto
    (sp_text_remove_child): Ditto
    (sp_text_modified): Check, whether relayout is needed
    (sp_text_request_relayout): Helper

    * src/style.c (sp_style_merge_from_object_parent): Inherit font size (still wrong)

    * src/text-context.c (sp_text_context_root_handler): Allow control key
    to be passed, send nonbreaking space for Ctrl+Space

    * src/sp-text.c (sp_string_set_shape): Try to collect spaces across item boundaries
    (sp_tspan_set_shape): Ditto
    (sp_text_set_shape): Ditto

2002-08-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/text-context.c (sp_text_context_root_handler): Use sp_text_append

    * src/sp-text.c (sp_text_append): New method

2002-07-31  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/text-context.c (sp_text_context_finalize): Use it instead of ::destroy
    (sp_text_context_setup): Create cursor
    (sp_text_context_root_handler): Show cursor
    (sp_text_context_selection_changed): Update cursor
    (sp_text_context_timeout): Blink handler

    * src/text-context.h: Added cursor

2002-07-30  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/Makefile.am (sodipodi_SOURCES): Added macros.h

    * src/sp-text.c (sp_text_write_transform): Do multiline transforming
    the right way

    * src/macros.h: New file for useful macros

2002-07-29  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_tspan_build): Get attributes at right place, read role as well
    (sp_tspan_read_attr): Parse "sodipodi:role" attribute
    (sp_text_append_line): New method

    * src/sp-text.h: Specify role for <tspan> element

2002-07-26  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-text.c (sp_string_set_shape): Changed signature, pass layout and currentpoint
    (sp_tspan_set_shape): New method
    (sp_text_build): Use normal order, as shape will be set asynchronously
    (sp_text_read_attr): Request update everywhere
    (sp_text_child_added): Fix bug, now keep old children in list
    (sp_text_set_shape): New method, nothing interesting yet

    * src/text-context.c (sp_text_context_selection_changed): Set active object
    to NULL, if nothing selected

2002-07-24  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/sp-object.c (sp_object_modified): Merge style with parent if needed,
    moved style_modified after signal

    * src/sp-text.c (sp_tspan_modified): Include style flag in cascade
    (sp_text_modified): Ditto
    (sp_string_modified): Re-enable it (although this is probably not correct)

    * src/style.c (sp_style_merge_from_object_parent): Merge writing mode

    * src/sp-item-group.c (sp_group_modified): Include style flag in cascade

    * src/sp-gradient.c (sp_gradient_modified): Include style flag in cascade

2002-07-22  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/style.c (sp_style_new_from_object): Renamed sp_style_new
    (sp_style_read_from_object): Use SP_SCALE30 for opacity, new paint structure
    (sp_style_merge_property): Ditto
    (sp_style_merge_from_object_parent): Renamed sp_style_merge_from_object,
    read only from immediate parent (which should have merged from ancestors itself)
    (sp_style_write_string): Use SP_SCALE30 for opacity, new paint structure
    (sp_style_clear): Ditto
    (sp_style_set_opacity): Ditto
    (sp_style_read_inherited_scale30): New method
    (sp_style_write_inherited_scale30): Ditto
    (sp_style_read_inherited_paint): Renamed, parse "inherit" value
    (sp_style_write_inherited_paint): Ditto, write it
    (sp_style_merge_inherited_paint): Do hunref here
    (sp_style_set_fill_color_rgba): Do hunref instead of gtk_object_unref, new structure
    (sp_style_set_fill_color_cmyka): Ditto
    (sp_style_set_stroke_color_rgba): Ditto
    (sp_style_set_stroke_color_cmyka): Ditto
    (sp_style_read_color_cmyk): Helper method here
    (sp_style_merge_from_style_string): Renamed method

    * src/style.h: Created new 30-bit scaled value type, used for opacity
    Renamed SPPaint to SPInheritedPaint

Sat Jul 13 19:47:16 2002 Davide Puricelli <evo@debian.org>

    * po/ja.po: Updated, thanks Junichi Uekawa <dancer@netfort.gr.jp>

Sat Jul 13 05:52:15 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-item-group.c (sp_group_bbox): Fixed group selection bug -
    thanks to Ted Gould and his bug report.

2002-05-20  Lauris Kaplinski  <lauris@ximian.com>

    * src/xml/repr-io.c (sp_repr_svg_read_node): Add namespaces back -
    thanks to Pawel

    * src/dialogs/xml-tree.c: Complete refactoring by Pawel Palucha

    * src/document.c (sp_document_lookup_id): Check values

2002-04-21  Masatake YAMATO  <jet@gyve.org>

        * src/toolbox.c (sp_maintoolbox_open_files): Use 
        gnome_uri_list_extract_filenames.

        * src/interface.c (sp_ui_import_files): Ditto.

2002-04-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/text-context.c (sp_text_context_root_handler): Port to new
    text object (incomplete)
    (sp_text_context_selection_changed): Ditto

    * src/sp-text.c: Lot of new stuff, shows something on screen at last

    * src/sp-object.c (sp_object_modified): Do not allow reentrancy
    - think SPText will like it

    * src/sp-item.c: Removed sp_item_update and virtual method

    * src/sp-item-group.c: Removed ::update method

2002-04-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-rect.c (sp_rect_rx_set): Make argument const, kill warning
    (sp_rect_ry_set): Ditto

2002-04-12  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-text.h: Broke into SPText, SPTSpan and SPString objects

    * src/sp-text.c (sp_text_build): Build <tspan> and TEXT elements

    * src/forward.h: Moved SPText and SPTSpan here

2002-04-08  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item.h: Changed ::bbox signature

    * src/sp-item.c (sp_item_invoke_bbox): New generic method
    (sp_item_bbox_desktop): renamed old method

    * src/display/nr-arena-glyphs.c: Ditto

    * src/display/nr-arena-glyphs.h: New file

    * src/sp-chars.c (sp_chars_get_type): Change parent class
    (sp_chars_class_init): Ditto
    (sp_chars_destroy): New elements structure
    (sp_chars_style_modified): New virtual method
    (sp_chars_bbox): Ditto
    (sp_chars_show): Ditto
    (sp_chars_print): Ditto (not implemented)
    (sp_chars_clear): New structure
    (sp_chars_add_element): Ditto

    * src/sp-chars.h: Derive directly from item instead of shape

    * src/dialogs/align.c (sp_quick_align_arrange): New bbox logic

    * src/dialogs/export.c (sp_export_drawing): New bbox logic

Sun Apr  7 01:37:29 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/style.c: (sp_style_read_from_object): Fixed to work stroke-cmyk.

    * src/sp-item.c: (sp_item_read_attr): Ditto

2002-04-06  Lauris Kaplinski  <lauris@ximian.com>

    * src/xml/repr-io.c (sp_repr_read_file): Use new signature
    (sp_repr_read_mem): Ditto
    (sp_repr_qualified_name): New method
    (sp_repr_svg_read_node): Signature change, create text nodes

    * src/xml/repr-util.c (sp_xml_document_createTextNode): New method
    (sp_xml_document_createElement): Ditto
    (sp_xml_document_createElementNS): Ditto
    (sp_xml_node_get_Document): Ditto
    (sp_xml_element_setAttributeNS): Ditto

    * src/xml/repr.c (sp_repr_new_from_code): Set type

    * src/svg/svg-length.c (sp_svg_read_number_f): New method with right signature
    (sp_svg_read_number_d): Ditto

    * src/style.c (sp_style_privatize_text): New method
    (sp_style_merge_property): Moved text properties here

    * src/sp-text.c (sp_text_init): No properties
    (sp_text_build): No style anymore
    (sp_text_style_modified): New virtual method
    (sp_text_font_weight_to_gp): Helper
    (sp_text_font_italic_to_gp): Ditto
    (sp_text_set_shape): Use style properties, hackish support for vertical writing

    * src/sp-text.h: Removed properties from object, as these are handled by style

2002-04-04  Lauris Kaplinski  <lauris@ximian.com>

    * src/helper/canvas-bpath.c (sp_canvas_bpath_init): Can be filled now
    (sp_canvas_bpath_destroy): Ditto
    (sp_canvas_bpath_update): Ditto
    (sp_canvas_bpath_render): Ditto
    (sp_canvas_bpath_point): Ditto
    (sp_canvas_bpath_set_fill): New method
    (sp_canvas_bpath_set_stroke): Name change

    * src/display/nr-arena-shape.c (nr_arena_shape_render): No real_opacity
    anymore

    * src/sp-shape.c (sp_shape_print): No real opacity anymore

    * src/dyna-draw-context.c (sp_dyna_draw_context_setup): Port to
    canvas bpath instead of canvas shape
    (clear_current): Ditto
    (fit_and_split_line): Ditto
    (fit_and_split_calligraphics): Ditto
    (draw_temporary_box): Ditto

    * src/draw-context.c (sp_draw_context_setup): Port to new canvas bpath
    (fit_and_split): Ditto

    * src/dialogs/item-properties.c: Removed #ifdef 0 code

    * src/style.c (sp_style_new): Require object validity
    (sp_style_merge_property): Moved actual code to new method
    (sp_style_merge_from_string): Does not clear style anymore, thus name change
    (sp_style_paint_server_modified): Use sp_object_request_modified
    (sp_style_set_fill_color_rgba): Request modified
    (sp_style_set_fill_color_cmyka): Ditto
    (sp_style_set_stroke_color_rgba): Ditto
    (sp_style_set_stroke_color_cmyka): Ditto
    (sp_style_set_opacity): Ditto
    (sp_style_property_index): New enumerated property codes

    * src/sp-shape.c (sp_shape_style_modified): Renamed method

    * src/sp-item.c (sp_item_read_attr): Use sp_object_request_modified
    (sp_item_style_modified): Renamed method, otherwise same

    * src/sp-item-group.c (sp_group_class_init): No ::style_changed anymore

    * src/sp-object.c (sp_object_request_modified): Accept style modification
    flag (but not alone)
    (sp_object_modified): Ditto, invoke ::style_changed if needed

    * src/sp-object.h (SP_OBJECT_STYLE_MODIFIED_FLAG): New flag - we now
    collect style modifications into single-step async apply too

Sun Mar 31 19:09:25 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-rect.c (sp_rect_*_set): Fixed a little.

2002-03-22  Davide Puricelli <evo@debian.org>

    * Updated debian/ directory, synced with Debian unstable.

2002-03-18  Lauris Kaplinski <lauris@ximian.com>

    * configure.in: Disabled frontline check, until I find time
    to make it to work without frontline too

2002-03-18  Masatake YAMATO  <jet@gyve.org, masata-y@maa.spacetown.ne.jp>

    * src/toolbox.h (sp_maintoolbox_drag_data_received): New
    declaration.

    * src/toolbox.c (sp_maintoolbox_open_one_file) 
    (sp_maintoolbox_open_files, sp_maintoolbox_drag_data_received): 
    New functions.
    (sp_maintoolbox_create): Invoked gtk_drag_dest_set 
    against ui.
    (toolbox_drop_target_info, toolbox_drop_target_entries,
    ENTRIES_SIZE, ntoolbox_drop_target_entries): New constants
    and macros for DnD.

    * src/interface.c (sp_ui_import_one_file, sp_ui_import_files) 
    (sp_ui_drag_data_received): New functions.
    (sp_create_window): sp_ui_drag_data_received is connected
    to "drag_data_received" of ui. Invoked gtk_drag_dest_set 
    against ui.
    (nui_drop_target_entries, ENTRIES_SIZE, ui_drop_target_entries,
    ui_drop_target_info): New constants and macros for DnD.

    * glade/toolbox.glade: sp_maintoolbox_drag_data_received is
    connected to drag_data_received of maintoolbox.

2002-03-18  Masatake YAMATO  <jet@gyve.org, masatake@maa.sst.ne.jp>

    * configure.in (ENABLE_AUTOTRACE): Check Frontline.

    * acconfig.h: Added ENABLE_AUTOTRACE.

    * src/sp-image.c: Added code that supports Frontline.
    New codes are wrapped by ENABLE_AUTOTRACE. 

Tue Mar 19 02:30:40 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * New SPRect rx, ry editing feature in node context.

    * src/sp-rect.c (sp_rect_rx_get): New method for KnotHolder
    (sp_rect_rx_set): Ditto
    (sp_rect_ry_get): Ditto
    (sp_rect_ry_set): Ditto
    (sp_rect_knot_holder): Ditto
    (sp_rect_write_repr): New method
    (sp_rect_glue_set_shape): Ditto

2002-03-14  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

    * configure.in: Added "sk" to ALL_LINGUAS.

Sun Mar 10 21:00:01 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/document.c (sp_document_partial_items_in_box):
    New method. Return list of items, that the parts of the item
    containd in box.

    * select-context.h: Add button_press_shift attribute

    * select-context.c: (sp_select_context_root_handler):
    New feature to select items which is partially contained in
    rubberband box with shift key.

Wed Mar  6 01:52:09 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Support open/closed arc feature. We can edit it on node edit.

    * src/sp-ellipse.c (sp_genericellipse_side): New method to
    determine point is inside or outside.
    (sp_arc_start_set): Add is_closed feature
    (sp_arc_end_set): Ditto

    * src/sp-ellipse.h: Add SPArc::is_closed attribute

    * src/preferences-skeleton.h: Modified arc style

    * src/arc-context.c: Ditto


2002-03-05  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/nr-arena-shape.c (nr_arena_shape_pick): Use delta (tolerance)

    * src/display/canvas-arena.c (sp_canvas_arena_update): Use global delta (tolerance)
    (sp_canvas_arena_point): Ditto
    (sp_canvas_arena_event): Ditto

    * src/display/nr-arena-item.c (nr_arena_item_invoke_pick): Changed
    virtual method signature

    * src/dialogs/display-settings.c (sp_display_dialog_cursor_tolerance_changed): Implement
    (sp_display_dialog_new): Create pick tolerance spinbutton

    * src/view.c (sp_view_shutdown): New method and signal
    (sp_view_request_redraw): New virtual method

    * src/sodipodi.c (sodipodi_refresh_display): Use sp_view_request_redraw

    * src/interface.c (sp_ui_delete): Use sp_view_shutdown
    (sp_ui_menu_append_item): Helper
    (sp_ui_file_menu): New method
    (sp_ui_edit_menu): Ditto
    (sp_ui_selection_menu): Ditto
    (sp_ui_view_menu): Ditto
    (sp_ui_event_context_menu): Ditto
    (sp_ui_dialog_menu): Ditto
    (sp_ui_generic_menu): Ditto

    * src/file.c (sp_file_exit): Use sodipodi_exit method

    * src/event-context.c (sp_event_root_menu_popup): Use sp_ui_generic_menu

    * src/desktop.c (sp_desktop_request_redraw): New virtual method implementation
    (sp_desktop_widget_set_focus): Do that widget method instead

    * src/desktop-events.c (sp_dt_ruler_event): Do not use desktop->owner

    * src/Makefile.am (INCLUDES): -DSODIPODI_PIXMAPDIR

Mon Mar  4 01:23:05 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-ellipse.c (sp_genericellipse_normalize): Fixed start and
    end arg conditions.
    (sp_arc_start_set): Added per pi/4 radian constraint with control key.
    (sp_arc_end_set): Ditto

Sun Mar  3 03:40:07 2002  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * Merged from ge-arc-branch

    * src/sp-ellipse.h (SPArc): New class

    * src/sp-ellipse.c (sp_arc_*): New methods

    * src/arc-context.c: New event context for SPArc. Mainly it is
    renamed from ellipse-context.c.
    So we should remove ellipse-context.c later.

    * src/arc-context.h: Ditto

    * glade/draw_arc.xpm: New pixmap file for draw arc tool.
    Now, we does not need draw_ellipse.xpm.

    * src/pixmaps/cursor-arc.xpm: Ditto

2002-02-25  Lauris Kaplinski  <lauris@ximian.com>

    * src/helper/curve.c (sp_curve_append): Do not requite non-empty curves

    * src/draw-context.c (fit_and_split): Commetn out boundary checks

    * src/document.c (sp_document_idle_handler): Bring up uncommited undo
    warning, if compiled with debug
    (sp_action_print_pending_list): Debug method
    (sp_document_warn_undo_stack): Ditto

    * src/document-private.h: Moved idel_id into base struct

2002-02-23  Lauris Kaplinski  <lauris@ximian.com>

    * src/helper/units.c (sp_points_get_units): New method
    (sp_units_get_points): Ditto

    * src/dialogs/object-properties.c: Made layout dynamic

    * src/document-undo.c (sp_document_private_done): New static method
    (sp_document_done): Just a wrapper
    (sp_document_maybe_done): Implement the real thing

    * src/document-private.h: Moved document definition here

2002-02-21  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/stroke-style.c (sp_stroke_style_any_toggled): Handle
    cap/join style changes
    (sp_stroke_style_widget_new): Create cap/join togglebuttons
    (sp_stroke_style_widget_update): Set cap/join selector activity
    (sp_stroke_style_set_join_buttons): New method
    (sp_stroke_style_set_cap_buttons): Ditto

2002-02-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/stroke-style.c: New file

    * src/dialogs/stroke-style.h: New file

    * src/helper/units.c (sp_distance_get_units): New method
    (sp_distance_get_points): Ditto

    * src/helper/units.h: Moved SPDistance here

    * src/style.h: Moved SPDistance to units.h

    * src/display/nr-arena-shape.c (nr_arena_shape_render): Render gradient
    strokes as well

    * src/dialogs/object-properties.c: Start rewriting to use dynamic
    fill/stroke widgets instead of original glade dialog

    * src/dialogs/stroke-style.h: New file

    * src/dialogs/stroke-style.c: New file

    * src/gradient-chemistry.c (sp_style_change_property): Reimplement,
    hopefully the correct way now

    * src/widgets/gradient-position.c (sp_gradient_position_update): Pre
    build local renderer here 

    * src/helper/nr-gradient.c (nr_lgradient_renderer_setup_r8g8b8a8): Do
    not allocate renderer, allow using static ones too
    (nr_lgradient_renderer_setup_r8g8b8): Ditto

    * src/widgets/paint-selector.c (sp_paint_selector_set_style_buttons): Do not
    activate pattern and fractal fill buttons

2002-02-18  Lauris Kaplinski  <lauris@ximian.com>

    * src/widgets/paint-selector.c: Lot of rearrangements everywhere -
    I am too tired to write all these down. Basically we have one frontend
    megawidget SPPaintSelector, that interfaces to colors, gradient and more.

2002-02-10  Lauris Kaplinski  <lauris@ximian.com>

    * src/desktop.c (sp_desktop_widget_destroy): Removed stale signal
    disconnect (no idea what it was originally for)

2002-02-09  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Removed rbuf, frgba, new font checks and arena switch

    * src/sp-namedview.c (sp_namedview_setup_grid_item): Grid settings are
    always in points, units are there just for user preference
    (sp_namedview_read_attr): Ditto

    * src/desktop-snap.c (sp_desktop_horizontal_snap): Read snap distances
    from new desktop members
    (sp_desktop_vertical_snap): Ditto
    (sp_desktop_vector_snap): Ditto
    (sp_desktop_circular_snap): Ditto

    * src/desktop-handles.c (sp_desktop_canvas): Update to new desktop structure

    * src/sodipodi.c (sodipodi_activate_desktop_private): Default method
    implementation to chain activation signal on desktop
    (sodipodi_deactivate_desktop_private): Ditto

    * src/desktop.c (sp_desktop_new): Owner does not have document pointer
    any more, so had to change signature here
    (sp_desktop_widget_init): Moved activation signals to public constructor
    (sp_dtw_desktop_activate): Activation signal handler
    (sp_dtw_desktop_deactivate): Ditto
    (sp_desktop_widget_new): Use desktop "activate" and "deactivate" signals
    instead of sodipodi ones, signature change
    (sp_desktop_class_init): Added "activate" and "deactivate" signals

    * src/dialogs/display-settings.c: Removed glade, made mostly dynamic

    * src/sodipodi.c (sodipodi_remove_desktop): Emit "destroy_desktop" if
    destroyed one was not active too
    (sodipodi_refresh_display): Convenience method

2002-02-08  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/document-properties.c: Do not use glade anymore, made
    everything dynamic

    * src/helper/canvas-grid.c (sp_grid_hline): Use helpers from ctrlrect
    (sp_grid_vline): Ditto
    (sp_cgrid_render): Render real grid instead of dots

    * src/xml/repr-util.c (sp_repr_get_boolean): Saner conveninence method
    (sp_repr_get_int): Ditto
    (sp_repr_get_double): Ditto
    (sp_repr_set_boolean): Ditto
    (sp_repr_set_int): Ditto
    (sp_repr_set_double): Ditto

    * src/svg/svg-length.c (sp_svg_read_length): Added meter

    * src/dialogs/sp-attribute-widget.c (sp_attribute_widget_changed): Kill warning
    (sp_attribute_widget_set_object): Ditto
    (sp_attribute_widget_object_modified): Ditto
    (sp_attribute_table_set_object): Ditto
    (sp_attribute_table_object_modified): Ditto
    (sp_attribute_table_entry_changed): Ditto

    * src/dialogs/desktop-properties.c: Do not use glade anymore, made
    everything dynamic

    * src/sp-namedview.c (sp_namedview_init): Do not init distances here,
    as ::build invokes full reread anyways
    (sp_namedview_read_attr): Use saner structure and read measured distances
    (sp_namedview_setup_grid_item): Convert distances to points here
    (sp_str_to_bool): Convenience stuff (should be moved to some central place)
    (sp_nv_read_length): Ditto
    (sp_nv_read_opacity): Ditto

    * src/sp-namedview.h: Use real units for distances, some cleanup

    * src/desktop-snap.c (sp_desktop_horizontal_snap): Ported to namedview
    changed internals
    (sp_desktop_vertical_snap): Ditto
    (sp_desktop_vector_snap): Ditto
    (sp_desktop_circular_snap): Ditto

2002-02-04 Frank Felfe <innerspace@iname.com>

    * src/sp-item.c (sp_item_distance_to_svg_bbox): Fix compilation error

2002-02-03  Lauris Kaplinski  <lauris@ximian.com>

    * src/helper/units.c: Fix userspace/device confusion

    * src/sp-gradient.c (sp_stop_read_attr): Convert percentages to dimensionless
    units

    * src/gradient-chemistry.c (sp_gradient_vector_release_references): New
    method to prepare gradient vector for deletion

    * src/dialogs/gradient-vector.c (sp_gradient_vector_selector_init): Connect
    button dialogs
    (sp_gvs_rebuild_gui_full): Set selection to current active gradient
    (sp_gvs_gradient_edit_clicked): From old gradient selector
    (sp_gvs_gradient_add_clicked): Ditto
    (sp_gvs_gradient_delete_clicked): Ditto

2002-02-02  Kjartan Maraas  <kmaraas@gnome.org>

    * glade/object_props.glade: Fix a typo. s/Mitter/Miter/

2002-01-27  Lauris Kaplinski  <lauris@ximian.com>

    * src/bonobo/Makefile.am (INCLUDES): Remove excess -I

2002-01-21  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item.c (sp_item_distance_to_svg_viewport): New method
    (sp_item_distance_to_svg_bbox): Ditto
    (sp_item_style_changed): Use generic distance conversion method

    * src/helper/units.c: New file, ported from libgnomeprint, we collect
    all unit management into here

    * src/helper/units.h: New file

    * src/svg/svg-length.c (sp_svg_write_percentage): New unit logic
    (sp_svg_read_length): Ditto

    * src/helper/unit-menu.c: Ported widget from libgnomeprint

    * src/helper/unit-menu.h: Ported widget from libgnomeprint

    * src/dialogs/text-edit.c (sp_text_read_selection): New unit logic

    * src/dialogs/object-properties.c (sp_object_properties_apply_stroke): New
    unit logic

    * src/dialogs/gradient-selector.c (sp_gradient_widget_new): Use
    SPGradientVectorSelector here

    * src/style.c (sp_style_read_from_string): New unit logic
    (sp_style_write_string): Ditto
    (sp_style_init): Ditto

    * src/sp-text.c (sp_text_read_attr): New unit logic

    * src/sp-star.c (sp_star_read_attr): New unit logic

    * src/sp-spiral.c (sp_spiral_read_attr): New unit logic

    * src/sp-shape-style.c (sp_stroke_read): New unit logic

    * src/sp-root.c (sp_root_read_attr): New unit logic

    * src/sp-rect.c (sp_rect_read_attr): New unit logic

    * src/sp-namedview.c (sp_namedview_read_attr): New unit logic

    * src/sp-item.c (sp_item_style_changed): New unit logic

    * src/sp-image.c (sp_image_read_attr): New unit logic

    * src/sp-ellipse.c (sp_circle_read_attr): New unit logic

    * src/dyna-draw-context.c (sp_dyna_draw_context_setup): New unit logic
    (fit_and_split_line): Ditto
    (fit_and_split_calligraphics): Ditto

    * src/desktop-events.c (sp_dt_simple_guide_dialog): Use new unit widget
    (guide_dialog_apply): Ditto

2002-01-13  Wang Jian  <lark@linux.net.cn>

    * configure.in(ALL_LINGUAS): Added zh_CN for Simplifed Chinese.

2002-01-05  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/helper/bezier-utils.c (BEZIER_DEBUG): inhibit debug messages.

2002-01-04  Zbigniew Chyla  <cyba@gnome.pl>

    * src/desktop.c (sp_desktop_widget_init, sp_desktop_widget_set_title,
    sp_desktop_widget_shutdown): Marked strings for translation.

    * src/document.c (sp_document_new, sp_document_new_from_mem): Ditto.

2002-01-01  Zbigniew Chyla  <cyba@gnome.pl>

    * configure.in: Added "AC_PROG_INTLTOOL(0.11)" line.

    * Makefile.am: Use intltool.

    * GNOME_Sodipodi.oaf.in: New, copied from GNOME_Sodipodi.oafinfo.

    * sodipodi.desktop.in: New, generated from sodipodi.desktop.

    * GNOME_Sodipodi.oafinfo, sodipodi.desktop: Removed.

    * glade/Makefile.am (glade_DATA): Removed *.c.

    * glade/*.c: Removed.

    * .cvsignore: Added intltool-*, sodipodi.desktop, GNOME_Sodipodi.oaf.

    * src/bonobo/svg-doc-factory.c, src/desktop.c, src/dialogs/align.c,
    src/dialogs/display-settings.c, src/dialogs/document-properties.c,
    src/dialogs/fill-style.c, src/dialogs/gradient-selector.c,
    src/dialogs/gradient-vector.c, src/dialogs/item-properties.c,
    src/dialogs/object-attributes.c, src/dialogs/object-properties.c,
    src/help.c, src/helper/unit-menu.c, src/main.c, src/sodipodi.c,
    src/sp-anchor.c, src/sp-image.c, src/sp-item-group.c, src/sp-rect.c,
    src/sp-shape.c, src/sp-spiral.c, src/sp-star.c, src/sp-text.c,
    src/widgets/sp-color-selector.c: Added missing #include <config.h>.

2001-12-30  Lauris Kaplinski  <lauris@localhost.localdomain>

    * src/widgets/sp-color-selector.c (sp_color_selector_adjustment_changed): Set
    updating flag here, so we get single "changed" signal whatever happens

    * src/sp-gradient.c (sp_gradient_repr_set_vector): Allow setting our
    own vector too here

    * src/sp-object.h (SP_OBJECT_NEXT): New macro

    * src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): Should
    work as intended now
    (sp_gradient_ensure_private_normalized): Ditto
    (sp_gradient_repr_set_link): Set NULL link too

2001-12-30  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-spiral.c src/sp-star.c:
    Revert to previous cx, cy attribute implementation.
    Because SVG standard shape introduce cx, cy,
    so we coordinate to that policy.

    * src/sp-spiral.c (sp_spiral_get_polar): New function
    (sp_spiral_is_invalid): New function to protect attributes
    consistency. sp_spiral_read_attr use it.

2001-12-29  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/knotholder.c src/knotholder.h
    (sp_knot_holder_add_full): New method

    * src/sp-spiral.c: Removed cx, cy attribute,
    so we use item matrix for that.
    Fixed up debug code.

    * src/sp-star.c src/sp-star.h src/star-context.c:
    Removed cx, cy attribute

2001-12-29  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/knotholder.c (knot_moved_handler):
    Lauris found a incorrect invert matrix bug. I just fixed it.

2001-12-28  Simos Xenitellis  <simos@hellug.gr>

    * configure.in: Added "el" (Greek) to ALL_LINGUAS.

2001-12-28  Lauris Kaplinski  <lauris@localhost.localdomain>

    * src/sp-gradient.c: Lot of changes due to class member rearrangement
    (sp_gradient_repr_flatten_attributes): New method
    (sp_gradient_repr_set_vector): Ditto

    * src/sp-gradient.h: Moved gradientUnits and gradientTransform to
    base SPGradient class, added ::flatten_attributes virtual method

    * src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): Works
    now for lonely gradients as well

    * src/desktop-events.c (guide_dialog_apply): Flush undo
    (guide_dialog_delete): Ditto
    (sp_dt_guide_event): Ditto

    * src/widgets/sp-color-selector.c: Added 'rrggbbaa' hex value entry,
    use SPColor helpers instead of doing conversions here, added some
    generic color methods and renamed/changed signature of old ones.

    * src/widgets/sp-color-slider.c (sp_color_slider_paint): Update arrow
    the right way

    * src/helper/nr-plain-stuff.c (nr_render_rgba32_rgb): Use computed channels
    instead of plain color ones

    * src/helper/nr-plain-stuff-gdk.c (nr_gdk_draw_rgba32_solid): New method

    * src/text-context.c (sp_text_context_setup): Some XIM handling
    (sp_text_context_destroy): Ditto
    (sp_text_context_root_handler): Ditto

    * src/sp-gradient.c: Killed gcc 3 warnings

    * src/draw-context.c: Started rewriting of drawing context, added 4-member
    path cache (instead of 2 in old version), the goal is to make selection
    continuation and pen tool

    * src/draw-context.h: New members in class

    * src/color.c (sp_color_get_colorspace_class): Broke colorspace descriptor
    into class (process | spot) and type (rgb | cmyk), added new methods and
    renamed old one accordingly
    (sp_color_get_colorspace_type): Ditto
    (sp_color_rgb_to_hsv_floatv): Convenience method
    (sp_color_hsv_to_rgb_floatv): Ditto
    (sp_color_rgb_to_cmyk_floatv): Ditto
    (sp_color_cmyk_to_rgb_floatv): Ditto

    * src/color.h: New convenience macros and methods

    * configure.in (have_bonobo): Made --without-bonobo default

    * src/widgets/sp-color-preview.c: New file, implement simple
    color preview object, a la the one in Gtk+ color selector

    * src/widgets/sp-color-preview.h: New file

2001-12-21  Mitsuru Oka  <oka326@parkcity.ne.jp>

    * src/sp-spiral.*, spiral-context.c
    (sp_spiral_inner_*, sp_spiral_outer_*, sp_spiral_knot_holder):
    Add SPKnotHolder codes
    (sp_spiral_set_shape, sp_spiral_fit_and_draw):
    Fixed some drawing bugs

    * src/dyna-draw-context.*, sp-shape.c, sp-star.c:
    Clean up codes

2001-12-15  Lauris Kaplinski  <lauris@ximian.com>

    * src/helper/canvas-bpath.h: New file

    * src/helper/canvas-bpath.c: New file

    * src/helper/Makefile.am (libspchelp_a_SOURCES): Added
    canvas-bpath.[c,h]

    * src/helper/curve.c (sp_curve_ref): Signature change
    (sp_curve_unref): Ditto

    * src/display/Makefile.am (nr_sources): Removed stale files

    * src/helper/bezier-utils.c (sp_bezier_fit_cubic): Added argument
    checks, signature change, cleanup
    (sp_bezier_fit_cubic_r): Ditto
    (sp_bezier_fit_cubic_full): Ditto

    * src/helper/bezier-utils.h: Changed fit method signatures

    * src/draw-context.c (fit_and_split): Use new sp_bezier_fit signature

    * src/dyna-draw-context.c (fit_and_split_line): Use new sp_bezier_fit
    signature
    (fit_and_split_caligraphics): Ditto

2001-12-07  Lauris Kaplinski  <lauris@ximian.com>

    * src/sodipodi.c (sodipodi_application_new): Catch SIGFPE and SIGILL as well

    * src/sp-gradient.c (sp_gradient_write_colors): Skip, if integer stop
    values coincide (fixes div 0 bug with gradients)

2001-11-25 Duarte Loreto <happyguy_pt@hotmail.com>

        * Added Alvaro Lopes <alvieboy@alvie.com> portuguese translation to configure.in (ALL_LINGUAS)

01-11-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/preferences-skeleton.h: Removed '%' from opacity

2001-11-12  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/canvas-arena.c (sp_canvas_arena_render): Try to fit
    buffer, instead of just using 64x64 rectangles

    * src/sp-rect.c: Remove Gtk+ arguments

    * src/display/nr-arena-image.c (nr_arena_image_update): Request
    rendering previous area

2001-11-11  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-rect.c (sp_rect_write_transform): Scale rx and ry
    (sp_rect_menu): Implement
    (sp_rect_rect_properties): Implement

    * src/dialogs/object-properties.c (sp_object_properties_apply_fill): Use
    float value, not percentage
    (sp_object_properties_apply_stroke): Ditto

    * src/file.c (file_save_ok): Update relative image references

    * src/sp-image.c (sp_image_destroy): Unregister resource
    (sp_image_build): Register resource

    * src/sp-spiral.c (sp_spiral_menu): Implement
    (sp_spiral_spiral_properties): Generic attributes dialog

2001-11-10  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-anchor.c (sp_anchor_menu): New method
    (sp_anchor_link_properties): Ditto
    (sp_anchor_link_follow): Ditto
    (sp_anchor_link_remove): Ditto

    * src/sp-star.c (sp_star_menu): New method
    (sp_star_star_properties): Ditto

    * src/sp-item.c (sp_item_create_link): New method

    * src/sp-item-group.c (sp_item_group_ungroup): Ungroup anchors too

    * src/forward.h: Added SPAnchor

    * src/dialogs/sp-attribute-widget.h: New file, implement generic
    asynchronous attribute widget, and table of attribute widgets

    * src/dialogs/sp-attribute-widget.c: New file

    * src/dialogs/object-attributes.h: New file, implement generic
    asynchronous object attribute dialog

    * src/dialogs/object-attributes.c: New file

    * src/display/Makefile.am (INCLUDES): Added SODIPODI_CFLAGS

    * src/sp-anchor.c: New file, implement SVG <a> element. Actual event
    code is pure experimental and need some serious thinking.

    * src/sp-anchor.h: Ditto

    * src/svg-view.c (arena_handler): Forward arena events to SPEvents

    * src/sp-object-repr.c (sp_object_type_lookup): parse <a> as anchor

    * src/sp-item.h: Added ::event virtual method plus some test code

    * src/sp-item.c (sp_item_event): New method

    * src/desktop.c (sp_desktop_new): Moved drawing behind all other layers
    (sp_desktop_document_resized): Resize page frame

    * src/helper/sodipodi-ctrlrect.h: More complex structure to represent
    page frame as well

    * src/helper/sodipodi-ctrlrect.c (sp_ctrlrect_hline): New render method
    (sp_ctrlrect_vline): Ditto
    (sp_ctrlrect_area): Ditto
    (sp_ctrlrect_render): Use more complex structure
    (sp_ctrlrect_update): Ditto
    (sp_ctrlrect_set_area): New method
    (sp_ctrlrect_set_color): Ditto
    (sp_ctrlrect_set_shadow): Ditto

2001-11-09  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/nr-arena-image.c (nr_arena_image_update): Implemented
    explicit geometry
    (nr_arena_image_set_geometry): New method

    * src/sp-image.c: Implemented "x", "y", "width", "height"
    (sp_image_read_attr): Ditto
    (sp_image_bbox): Ditto
    (sp_image_print): Ditto
    (sp_image_show): Ditto
    (sp_image_write_transform): Implement

    * src/file.c (file_import_ok): Try to load pixbuf and set
    "width" and "height" attributes

    * src/desktop.c: Some cleanups of View/Widget structure

    * src/desktop.h: Ditto

    * glade/Makefile.am (images): Added about.svg

2001-11-08  Lauris Kaplinski  <lauris@ximian.com>

    * src/svg/svg-affine.c (sp_svg_write_affine): Write scale and
    translate, if everything can be represented by these

    * src/sp-text.c (sp_text_write_transform): Implement

    * src/sp-rect.c (sp_rect_write_transform): Implement

    * src/sp-item.c (sp_item_write_transform): New class and virtual
    method pair, to allow object to optimize representation (i.e.
    rects can set x,y,width,height instead of just transformation

    * src/seltrans.c (sp_sel_trans_ungrab): Use sp_item_write_transform

    * src/selection-chemistry.c: Use sp_item_write_transform

    * src/help.c (sp_help_about): Set title string to "Sodipodi VERSION"

    * src/Makefile.am (INCLUDES): Define SODIPODI_VERSION

    * src/xml/repr-io.c (repr_write): Avoid newlines in content

    * src/view.c: Sorted out lot os signalling stuff

    * src/svg-view.c: Lot of work, basically works

    * src/sp-root.c (sp_root_modified): Call parent method as well

    * src/interface.c (sp_ui_new_view_preview): New method
    (sp_create_window): Sort out editable/non-editable views

    * src/help.c (sp_help_about): Create about maunally (not much here yet)

    * src/desktop.c: Use ::document_resized virtual method

2001-10-31  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/text-edit.c (sp_text_read_selection): Use gal
    utf8/editable methods
    (sp_text_dialog_apply): Ditto
    (sp_text_dialog_text_changed): Ditto

    * src/sp-text.c (sp_text_set_shape): Use correct utf8 methods

    * src/display/nr-arena-image.c (nr_arena_image_class_init): Use
    correct parent class

2001-10-31  Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/knotholder.c:
    Removed unnecessary ref/unref.
    Added sp_object_invoke_write_repr() to reflect item changes to repr

    * src/sp-object.c: Added new virtual function SPObject::write_repr()

    * src/sp-object.h: Ditto

    * src/sp-shape.c (sp_shape_write_repr): Added

    * src/sp-star.c (sp_star_write_repr): Added.
    Moved subclass of SPShape to SPPolygon

    * src/star-context.c: Ditto

2001-10-30 Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/knotholder.c: New file
    We can manage plural SPKnot in one SPKnotHolder.
    SPKnotHolder is created by SPItem::knot_holder virtual function.
    Moving SPKnot is propageted to another SPKnot.
    * src/knotholder.h: Ditto

    * src/node-context.c: Added SPKnotHolder
    * src/node-context.h: Ditto

    * src/sp-item.c: Added knot_holder virtual function.
    * src/sp-item.h: Ditto

    * src/sp-shape.c: Added set_shape virtual function.
    It is used to build bpath from extra shape attributes.

    * src/sp-shape.h: Ditto

    * src/sp-star.c: Added knot_holder and set_shape implementations.
    (sp_star_build_repr): Modified function name.
    * src/sp-star.h: Ditto

    * src/sp-spiral.c: Added set_shape implementation.
    (sp_spiral_build_repr): Modified function name.
    * src/sp-spiral.h: Ditto

    * src/star-context.c: Modified build_repr function name.
    * src/spiral-context.c: Ditto

2001-10-29  Lauris Kaplinski  <lauris@ximian.com>

    * src/desktop.c (sp_desktop_coordinate_status): Free allocated memory

    * src/display/nr-arena-shape.c (nr_arena_shape_group_add_component): Unref
    item once it is added

2001-10-29 Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/desktop.c:
    Added gtk_object_unref() after *_add_child to fix memory leaks.

    * src/document: Ditto

    * src/selection-chemistry.c: Ditto

    * src/sp-item-group.c: Ditto

    * src/sp-clippath.c, src/sp-use.c: Ditto
    Missing to add ChangeLog before commiting.

2001-10-23  Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/sp-star.*, src/sp-spiral.*, src/star-context.* and
    spiral-context.*:
    Add SPStar, SPStarContext, SPSpiral and SPSpiralContext classes.
    SPStar and SPSpiral behave as new shape and they can convert to
    bezier curves. More works are required.

    * glade/draw_star.xpm, glade/draw_spiral.xpm, src/pixmaps/cursor-star.xpm,
    src/pixmaps/cursor-spiral.xpm:
    Add toolbox icon and mouse cursor for star and spiral.

    * src/helper/bezier-utils.*:
    Add lowlevel APIs and reformat source code.

    * src/xml/repr-io.c:
    Fix repr_write() to generate more short SVG.
    New code support <foo /> tags generation.

    * src/xml/repr-util.c, src/xml/repr.*, src/sodipodi.c:
    Add new SPRepr APIs sp_repr_lookup_child(), sp_repr_overwrite (),
    and sp_repr_document_overwrite ()
    Now, we can merge ~/.sodipodi/preferences into preferences_skeleton.

2001-10-23  Lauris Kaplinski  <lauris@ximian.com>

    * src/file.c (sp_file_new): Use new signatures
    (file_open_ok): Ditto

    * src/interface.c (sp_create_window): New signature

    * src/desktop.c: Break desktop functionality into SPView/SPViewWidget
    parts, wrap most of the old code in ugly way, but we can go on
    cleaning it up method-by-method

    * src/desktop.h: Ditto

    * src/view.h: New file

    * src/view.c: New file, we implement abstract base classes for
    all document views (editable, noneditable, widget, non-widget)
    here

    * src/svg-view.h: New file

    * src/svg-view.c: New file, implementing SVG preview

    * src/marshal.h: New file

    * src/marshal.c: New file

2001-10-20  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-root.c (sp_root_read_attr): Removed desktop->document coordinate
    setup from here - it has to be done in desktop instead

2001-10-19  Frank Felfe <innerspace@iname.com>

    * src/widgets/sp-toolbox.*: patch from MenTaLguY <mental@rydia.net>
    change seperate button into toggle button and add arrow to 
    hide button indicating state of toolbox

    * src/path-chemistry.c (sp_selected_path_to_curves): apply to all paths in selection

    * src/selection-chemistry.c (sp_selection_delete): remove widget text

    * src/desktop.c (sp_desktop_set_focus): make canvas catch key events

    * src/desktop-events.c (sp_desktop_root_handler): don't grab focus here

2001-10-18  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/nr-arena-image.c (nr_arena_image_render): Use right
    pixel coposers

    * configure.in: Version 0.25

2001-10-18  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item-group.c: Removed paint virtual method implementation

    * src/sp-image.c: Ditto

    * src/sp-shape.c: Ditto

    * src/sp-use.c: Ditto

    * src/sp-item.c (sp_item_paint): Ported to NRArena/::show()

    * src/sp-item.h: Removed ::paint()

    * samples: Removed extra sample files (these are in clipart distribution)

2001-10-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/nr-arena*: Merged NR_ARENA branch into HEAD.
    NRArena is new experimental display list engine, that replaces
    most canvas stuff for SVG items (old canvas code is still
    used for controls etc.).
    It is less integrated with Gtk widgetry, and should also allow reuse
    of code for paint-server type things (patterns, symbols etc.).
    NRArena rendering also allows higher-level graphic stuff, from
    masking to filters, to be implemented.

2001-10-13  Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/dynadraw-context.c: Removed rotating brush bug

    * src/draw-context.h: Removed duplicate bezier-fitting code

2001-10-12  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-clippath.c: New file

    * src/sp-clippath.h: New file

    * src/sp-object-group.c (sp_objectgroup_build): Check child type
    (sp_objectgroup_child_added): Ditto

    * src/sp-object-group.h: Removed useless 'tranparent' member

2001-10-07  Lauris Kaplinski  <lauris@ximian.com>

    * src/display/nr-primitives.c (nr_irect_union): New method

    * src/helper/nr-buffers.h: New file

    * src/helper/nr-buffers.c: New file

    * src/helper/nr-plain-stuff.c (nr_render_rgba32_rgba32): New method

2001-10-06  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item.c (sp_item_read_attr): Query presentation attributes

    * src/style.c (sp_style_read_from_object): Added some presentation attributes

2001-10-05  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-use.c (sp_use_build): Reinclude, change 'href' to 'xlink:href'

    * src/sp-object.c (sp_object_style_changed): Use SP_OBJECT_MODIFIED_FLAG

    * src/document.c (sp_document_new): Force "height" and "width" attributes,
    if not present already
    (sp_document_new_from_mem): Ditto

2001-10-04  Lauris Kaplinski  <lauris@ximian.com>

    * src/xml/repr-io.c (sp_repr_save_stream): Correct header

2001-10-02  Peter Moulder <pmoulder@csse.monash.edu.au>

    * src/xml/repr-io.c (repr_quote_write): New method, quotes
    special chars correctly for xml
    (repr_write): Use repr_quote_write

2001-10-02  Lauris Kaplinski  <lauris@ximian.com>

    * src/dyna-draw-context.c: Stroking by Mitsuru Oka

    * src/helper/bezier-utils.h: New file by Motsuru oka

    * src/helper/bezier-utils.c: Ditto

    * src/sp-shape.c (sp_shape_print): Translate gradients the right way

2001-10-01  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-shape.c (sp_shape_print): Use rule for clip and fill
    (sp_shape_paint): Use winding rule

2001-09-30  Lauris Kaplinski  <lauris@ximian.com>

    * src/style.c (sp_style_write_string): Write rule
    (sp_style_read_from_string): Parse rule

    * src/style.h: Made rule libart enum

    * src/display/path-archetype.c (sp_path_at): Search by rule
    (sp_path_at_new): Rewind with rule
    (sp_pat_equal): Compare rules

    * src/display/path-archetype.h: Added rule argument

    * src/display/cpath-component.c (sp_cpath_comp_new): Init rule
    (sp_cpath_comp_update): Use rule
    (sp_cpath_comp_change): Ditto

    * src/display/cpath-component.h: Added rule member

    * src/display/canvas-shape.c (sp_canvas_shape_update): Set fill rule

2001-09-29  Lauris Kaplinski  <lauris@ximian.com>

    * src/selection-chemistry.c (sp_selection_lower_to_bottom): Do not lower
    behind non-items (i.e. base <defs> object)
    (sp_selection_lower): Ditto

    * configure.in: Version 0.24.1

    * src/document.c (sp_document_new): Set xmlns:xlink
    (sp_document_new_from_mem): Ditto

    * src/sp-defs.c (sp_defs_destroy): Correct list emptying

    * src/dialogs/gradient-selector.c (sp_gradient_selector_add_vector_clicked): unref repr

    * src/gradient-chemistry.c (sp_object_ensure_fill_gradient_normalized): unref repr

    * src/helper/art-utils.c (art_rgb_run_rgba): Fix 255/256 bug

    * src/display/canvas-shape.c (sp_canvas_shape_render): Removed #ifdef 0 code

    * src/widgets/gradient-image.c (sp_gradient_image_expose): Draw grabage
    using fresh new nr functions
    (sp_gradient_image_update): Ditto (not used)

    * src/helper/nr-plain-stuff.h: New file

    * src/helper/nr-plain-stuff.c: New file

    * src/helper/nr-plain-stuff-gdk.h: New file

    * src/helper/nr-plain-stuff-gdk.c: New file

2001-09-27  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/object-properties.c (sp_object_properties_dialog): Create
    dynamic fill page

    * src/sp-shape.c (sp_shape_print): Print gradients (somewhat)
    (sp_shape_paint): Paint gradients (somewhat)

    * src/document.c (sp_document_new_from_mem): Use fresh namespace

    * src/xml/repr-io.c (sp_repr_save_stream): Write fresher descriptor

    * src/widgets/gradient-position.c: New file and widget

    * src/widgets/gradient-position.h: New file and widget

    * src/dialogs/gradient-selector.c (sp_gradient_widget_new): Make
    delete vector inactive, shorter button names, create gradient
    positioning widget
    (sp_gradient_selector_load_selection): Update positioning widget
    (sp_gradient_selection_position_dragged): Implement
    (sp_gradient_selection_position_changed): Implement

    * src/sodipodi.c (sodipodi_segv_handler): Abort on recursion

2001-09-26  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-text.c (sp_text_read_attr): Use unit-loading method for x & y

2001-09-25  Christopher R. Gabriel  <cgabriel@cgabriel.org>

    * sodipodi.1.in: new man page
    * configure.in: Likewise
    * Makefile.am (man_MANS): Likewise

2001-09-24 Frank Felfe <innerspace@iname.com>

    * src/helper/sodipodi-ctrl.*: New ctrl-shapes

    * src/knot.*: Ditto

    * src/pixmaps/cursor-node-d.xpm: New file

    * src/pixmaps/cursor-node-m.xpm: New file

    * src/pixmaps/cursor-select-d.xpm: New file

    * src/pixmaps/cursor-select-m.xpm: New file

    * src/pixmaps/handles.xpm: New file

    * src/sp-cursor.* (sp_cursor_new_from_xpm): New function

    * src/seltrans.c: Use new ctrl-shapes and cursors

    * src/seltrans-handles.*: Use new ctrl-shapes 

    * src/select-context.c (sp_node_context_class_init): Init cursors and handle pix

    * src/nodepath.* (node_event): Redirect key events
    (node_key): New key handler
    (sp_node_selected_break): Handle first and last node
    (node_ctrl_moved): Update ctrlline after setting coords
    (sp_nodepath_node_new): Use new ctrl-shapes and cursors

    * src/node-context.c (sp_node_context_class_init): Init cursors

2001-09-22  Mitsuru Oka <oka326@parkcity.ne.jp>

    * src/dynadraw-context.c: New file

    * src/dynadraw-context.h: New file

    * src/event-context.c (sp_event_context_set_dynahand): New handler

2001-09-21  Lauris Kaplinski  <lauris@ximian.com>

    * src/svg/svg-path.c: Quick port of latest librsvg path code

2001-09-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/document.c (sp_document_destroy): Remove document
    (sp_document_new): Add document
    (sp_document_new_from_mem): Ditto

    * src/sodipodi.c (sodpodi_remove_document): New method
    (sodpodi_add_document): Ditto
    (sodipodi_segv_handler): Not very intelligent signal handler

2001-09-18  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/gradient-selector.c (sp_gradient_selector_add_vector_clicked): 
    New handler
    (sp_gradient_selector_delete_vector_clicked): Ditto (empty)
    (sp_gradient_selector_load_selection): New method

    * src/desktop.c (sp_desktop_init): Typo fix

2001-09-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/gradient-vector.c (sp_gradient_vector_widget_destroy): Handler
    (sp_gradient_vector_gradient_destroy): Ditto
    (sp_gradient_vector_gradient_modified): Ditto
    (sp_gradient_vector_color_dragged): Ditto
    (sp_gradient_vector_color_changed): Ditto
    (sp_gradient_vector_widget_load_gradient): Connect/disconnect signals,
    handle NULL gradient etc.

    * src/sp-gradient.c (sp_gradient_set_vector): New method

    * src/widgets/gradient-image.c (sp_gradient_image_update): New method
    (sp_gradient_image_gradient_modified): Handler
    (sp_gradient_image_gradient_destroy): Ditto
    (sp_gradient_image_set_gradient): New method
    (sp_gradient_image_unrealize): Implement
    (sp_gradient_image_realize): Ditto

2001-09-16  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/gradient-selector.c (sp_gradient_widget_new): Added buttons
    (sp_gradient_selector_edit_vector_clicked): Handler

    * src/sp-defs.c (sp_defs_build): Use attach method

2001-09-15  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-gradient.c: Added radial gradient

    * src/sp-gradient.h: Ditto

    * src/sp-paint-server.c (sp_paint_server_destroy): Do not leak painters

    * src/gradient-chemistry.c (sp_gradient_ensure_vector_normalized): New method
    (sp_item_force_fill_lineargradient_vector): Ditto

    * src/sp-object.h (SP_OBJECT_STYLE): New macro

2001-09-14  Lauris Kaplinski  <lauris@ximian.com>

    * src/zoom-context.c (sp_zoom_2_to_1): Noop if no active desktop
    (sp_zoom_1_to_2): Ditto

2001-09-07  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-header.c: New file, implements document header, consisting
    of nested <defs> nodes, for different resource definitions

    * src/sp-header.h: New file

    * src/forward.h: Added SPHeader forward typedefs

2001-09-05  Lauris Kaplinski  <lauris@ximian.com>

    * src/document.c (sp_document_del_repr): Moved here, commented out
    (sp_document_add_repr): Moved here, made non-item compatible

    * src/style.c (sp_style_object_destroyed): Catcher method
    (sp_style_new): Signature change
    (sp_style_ref): Ditto
    (sp_style_unref): Ditto

    * src/sp-paint-server.c (sp_paint_server_destroy): Removed insane
    paint server referencing by painters and replaced it witw (a bit)
    less insane stale painter maintenance
    (sp_paint_server_painter_new): Ditto
    (sp_paint_server_painter_free): Ditto
    (sp_painter_free): Ditto
    (sp_painter_stale_fill): Ditto

    * src/sp-object.c (sp_object_invoke_build): Added verbose error

    * src/style.c (sp_style_paint_server_destroy): Implemented signal-based
    paintserver spying, instead of hardrefing it
    (sp_style_paint_server_changed): Ditto
    (sp_style_merge_paint): Ditto

    * src/sp-object.c (sp_object_ref): Wrapper method for debugging
    (sp_object_unref): Ditto
    (sp_object_attach_reref): Convenience connect method
    (sp_object_detach_unref): Ditto

2001-09-04  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-shape.c (sp_shape_print): Do not fill open paths

    * src/document.c (sp_document_add_resource): Implemented simple
    named resource lists
    (sp_document_remove_resource): Ditto
    (sp_document_get_resource_list): Ditto

2001-09-03  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-gradient.c: Added middle SPGradient class and morphed
    LinearGradient accordingly

    * src/sp-gradient.h: Added middle SPGradient Class

    * src/forward.h: Declare stops and gradients here

    * src/dialogs/gradient-vector.c: New file

    * src/dialogs/gradient-vector.h: New file

    * src/bonobo/embeddable-document.c (sp_embeddable_document_ps_save):
    Kill warning

    * src/select-context.c: Kill warning

2001-08-31  Lauris Kaplinski  <lauris@ximian.com>

    * src/forward.h: typedef SPDefs[Class] here

    * src/sp-root.h: Added pointer to root-level <defs> node

    * src/sp-gradient.c (sp_stop_get_type): Fixed type on type init

2001-08-30  Lauris Kaplinski  <lauris@ximian.com>

    * src/document.c (sp_document_new): Use fill-opacity 0.5, not 50%

2001-08-21  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/fill-style.c: Implement CMYK/RGB colorspace switching

    * src/widgets/sp-color-selector.c: Implement CMYK read/set methods

    * src/widgets/sp-color-slider.c (sp_color_slider_adjustment_value_changed): Set
    local value, even if arrow is not visible

    * src/color.c: New file

    * src/color.h: New file

    * src/sp-item.c (sp_item_read_attr): Check for "fill-cmyk"

    * src/style.c (sp_style_read_from_object): Parse "fill-cmyk" (quick hack)

2001-08-20  Lauris Kaplinski  <lauris@ximian.com>

    * src/svg/svg-path.c (svg_parse_path_data): Kill warning

    * src/widgets/sp-color-selector.c: New file & class

    * src/widgets/sp-color-slider.c: New file & class

    * src/sp-object.c (sp_object_style_changed): New virtual method

2001-08-13  Lauris Kaplinski  <lauris@ximian.com>

    * src/selection-chemistry.c (sp_selection_copy): Use prepend/reverse
    (sp_item_compare_order): New method
    (sp_item_list_sort_by_visual_order): New method

    * src/sp-path.c (sp_path_read_attr): Req modification

    * src/sp-item.c (sp_item_toggle_sensitivity): Call document::done
    (sp_item_reset_transformation): Ditto
    (sp_item_read_attr): Request modifiaction for style change

    * src/sp-object.h (SP_OBJECT_PARENT): Added convenience macros

2001-08-01  Lauris Kaplinski  <lauris@ximian.com>

    * src/document-undo.c (sp_document_undo): Fresh logic
    (sp_document_redo): Ditto
    (sp_document_child_added): Real listener
    (sp_document_child_removed): Ditto
    (sp_document_attr_changed): Ditto
    (sp_document_content_changed): Ditto
    (sp_document_order_changed): Ditto
    (sp_document_add_repr): Fresh logic, use only as wrapper
    (sp_document_del_repr): Ditto
    (sp_document_clear_undo): Use new logic, free actions at last
    (sp_document_clear_redo): Ditto
    (sp_action_list_undo): New functions, plus handful children
    (sp_action_list_redo): Ditto
    (sp_action_new): New function
    (sp_action_free): Ditto
    (sp_action_free_list): Ditto

2001-07-31  Lauris Kaplinski  <lauris@ximian.com>

    * src/xml/repr.c (sp_repr_ref): Return referenced repr
    (sp_repr_unref): Ditto
    (sp_repr_duplicate): Cleanup
    (sp_repr_set_content): Ditto, new handler signatures

    * src/xml/repr-private.h: Lot of signature changes

2001-07-30  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item-group.c: #include <config.h> for i18n

    * src/sp-item.c: Ditto

    * src/event-context.c: Ditto

    * src/toolbox.c: Ditto

2001-07-25  Lauris Kaplinski  <lauris@ximian.com>

    * src/document-undo.c (sp_document_maybe_done): New function

2001-07-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/sp-widget.c (sp_widget_modify_selection): New function
    (sp_widget_show): Connect "modify_selection"
    (sp_widget_hide): Disconnect by data
    (sp_widget_new): New function
    (sp_widget_class_init): Added signals
    (sp_widget_change_selection): Emit signal
    (sp_widget_set_selection): Ditto

    * src/sodipodi.c (sodipodi_selection_modified): New function
    (sodipodi_class_init): Added "modify_selection" signal

    * src/selection.c (sp_selection_idle_handler): Signal sodipodi

    * src/document.c (sp_document_class_init): Added "modified" signal
    (sp_document_idle_handler): Emit modified signal

    * src/seltrans.c (sp_sel_trans_sel_modified): New function

    * src/sp-item.c (sp_item_set_item_transform): New function

    * src/sp-object.c (sp_object_class_init): Add "modified" signal
    (sp_object_request_modified): New function
    (sp_object_modified): New base method

    * src/sp-object.h (SP_OBJECT_UNSET_FLAGS): Added modifiaction state flags
    and handlers for scheduling and emitting modifiaction signal

    * src/selection.c (sp_selection_class_init): Added "modified" signal
    (sp_selection_destroy): Remove pending idle, if present
    (sp_selection_selected_item_modified): Added handler for object signal
    (sp_selection_idle_handler): Emit our own modified signal in idle loop

    * src/selection.h: Added idle id and ::modified virtual member

2001-07-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-namedview.c (sp_namedview_get_name): Initialize exception

    * src/sp-item-group.c (sp_item_group_ungroup_activate): New function
    (sp_item_group_ungroup): Implement this

    * src/sp-item.c (sp_item_select_this): New function
    (sp_item_private_menu): Added "Select this"
    (sp_item_properties): Select item

    * src/desktop.c (sp_desktop_menu_popup): Use new signature

    * src/event-context.c (sp_event_root_menu_popup): Use desktop
    in signature instead of widget

    * src/sp-object.c (sp_object_getAttribute): Return NULL, if
    exception is not clear
    (sp_object_setAttribute): Ditto
    (sp_object_removeAttribute): Ditto

2001-07-08  Lauris Kaplinski  <lauris@ximian.com>

    * src/xml/repr-io.c (sp_repr_svg_read_node): Preserve namespaces for
    everything but "svg"

2001-07-07  F.J.Franklin  <F.J.Franklin@sheffield.ac.uk>

    * src/svg/svg-color.c (sp_svg_read_color): Accept ';' as
    terminator

    * src/sp_image.c (sp_image_repr_read_dataURI): New function
    (sp_image_repr_read_b64): New function
    (sp_image_read_attr): Accept embedded data

    * configure.in: Added --with-libwmf switch

    * src/xml/repr-io.c (sp_repr_read_file): Read *.wmf using libwmf
    (sp_wmf_convert): New function
    (sp_wmf_image_name): New function

2001-07-07  Frank Felfe  <innerspace@iname.com>

    * src/desktop.h: Added number field

    * src/desktop.c (sp_desktop_new): Initialize number from
    namedview viewcount
    (sp_desktop_set_title): Compose name from uri, nameview and number

    * src/document.c (sp_document_set_uri): New method

    * src/file.c (file_save_ok): Set ducument uri

    * src/interface.c (sp_create_window): Set desktop title

    * src/select-context.c (sp_select_context_root_handler): Added
    backward cycling

    * src/selection-chemistry.c (sp_selection_item_next): Cleared
    list mess
    (sp_selection_item_prev): New function

    * src/sp-item-group.c (sp_item_group_item_list): New function

    * src/sp-namedview.h: Added viewcount field

    * src/sp-namedview.c (sp_namedview_get_name): New method

    * doc/keybindings.txt: Added Shift-Tab

2001-06-07  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Version 0.24

    * src/sp-item.c (sp_item_read_attr): Quick noscale hack
    for style stroke widths

    * src/display/canvas-shape.c (sp_canvas_shape_update): Use
    stroke_width as well ;)

2001-05-24  Lauris Kaplinski  <lauris@ximian.com>

    * src/seltrans-handles.*: Make structs const

    * src/seltrans.*: Make view type variable, move it to
    header for adding GUI later

2001-05-23  Frank Felfe  <innerspace@iname.com>

    * src/desktop-snap.*: Implement circualr and list snapping

    * src/sp-item.*: New virtual function ::snappoints()

    * src/seltrans.c: New structure

    * src/sp-rect.c (sp_rect_snappointss): Implement

    * src/sp-ellipse.c (sp_ellipse_snappoints): Ditto

    * src/sp-text.c (sp_text_snappoints): Ditto

    * src/sp-image.c (sp_image_snappoints): Ditto

2001-05-18  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Version 0.23 final

    * src/sp-gradient.c (sp_lg_fill): Do opacity

    * src/document-undo.c (sp_document_redo): Fixed bug in redoing
    order changes

2001-05-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/toolbox.c (sp_maintoolbox_create): Show toolbox, if
    it already exists and reference sodipodi
    (sp_maintoolbox_close): Hide toolbox

    * glade/Makefile.am (glade_DATA): Added item.glade, item.c

    * configure.in: Version 0.23

    * src/dialogs/display-settings.h: New file

    * glade/Makefile.am (glade_DATA): Added display.glade, display.c

2001-05-06  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in (use_arena): Added with-arena flag

    * acconfig.h: Added ARENA

2001-04-16  Jesus Bravo Alvarez  <jba@pobox.com>

    * configure.in: Added gl (Galician) to ALL_LINGUAS

2001-04-14  Lauris Kaplinski  <lauris@ximian.com>

    * everywhere (TM): Changed the basic structure of Reprs (they are
    not GtkObjects any more) and SPObjects (they have own list sequence
    instead of using GLists)

2001-04-06  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item-group.c (sp_item_group_ungroup): New method

    * src/draw-context.c (set_to_accumulated): Transform path instead of
    setting initial transform, so clear transform does not do interesting
    things for freehand curves ;-)

2001-04-04  Lauris Kaplinski  <lauris@ximian.com>

    * src/file.c (sp_file_open): Do not connect "delete_event"
    (sp_file_save_as): Ditto
    (sp_file_import): Ditto, do not use static widget pointer
    (sp_file_export): Ditto
    (sp_file_save_document): Clear "modified" attribute
    (file_save_ok): Ditto

    * src/svg/svg.h: #include glib.h instead of full gtk.h

    * src/svg/svg-stroke.c: #include string.h, kill warning

    * src/svg/svg-font.c: Ditto

    * src/sp-shape-style.c: Ditto

    * src/sp-metrics.h: #include gtkruler.h intead of full gtk.h

    * src/zoom-context.c (sp_zoom_page): Get document from desktop
    instead of using ACTIVE_DOCUMENT

    * src/slide-context.c: New file, implement slideshow context

    * src/main.c (main): Create slideshow, if requested

2001-03-22  Lauris Kaplinski  <lauris@ximian.com>

    * src/svg/Makefile.am (INCLUDES): Add SODIPODI_CFLAGS

2001-03-21  Lauris Kaplinski  <lauris@ximian.com>

    * src/sodipodi.h: Remove Sodipodi typedef

    * src/forward.h: Typedef Sodipodi here

    * src/dialogs/sp-widget.c: New file

    * src/dialogs/sp-widget.h: New file, implement abstract base class for
    configuration widgets

    * glade/Makefile.am (pixmaps): Added guide_dialog.png

    * src/dialogs/document-properties.c (sp_document_dialog_delete): New function, or
    we crash if user closes dialog

    * src/dialogs/desktop-properties.c (sp_desktop_dialog_delete): New function, or
    we crash if user closes window

    * src/draw-context.c (sp_draw_context_root_handler): Do not crash for zero
    length lines PLEEAAAASSSSEEEEE!

    * src/selection-chemistry.c (sp_selection_group): Use copy/del/add to make
    undo system happy

2001-03-20  Frank Felfe  <innerspace@iname.com>

    * src/nodepath.c (node_ctrl_moved) : set coorinate status

    * src/seltrans.c (sp_sel_trans_handle_new_event) : set coordinate status

    * src/sp-guide.* : new functions sp_guide_set, sp_guide_remove

    * src/helper/unit-menu.h : add abbreviation string into unitdesc

    * src/event-context.c (set_event_location) : set coordinate status
    popup desktop-properties on double click

    * src/desktop.* : new functions for statusbars
    (sp_desktop_indicator_*) : make indicator only show when decorations are visible

    * src/desktop-events.* : new guideline dialog
    small changes in sp_dt_ruler_event, sp_dt_guide_event

    * src/*_context.c (sp_*_context_root_handler) : make desktop->acetate
    grab mouse events during drawing

    * glade/guide_dialog.png: New file

2001-03-20  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-item-group.c (sp_group_menu): Add "Ungroup" item (does nothing at moment)

    * src/display/canvas-bgroup.c (sp_canvas_bgroup_point): Test sensitivity and stickyness
    (sp_canvas_bgroup_set_sensitive): New function

    * src/display/canvas-shape.c (sp_canvas_shape_point): Test sensitivity and stickyness
    (sp_canvas_shape_set_sensitive): New function

    * src/sp-item-group.c (sp_group_read_attr): Read "insensitive" too

    * src/sp-shape.c (sp_shape_read_attr): Read "insensitive" too

    * src/sp-item.c (sp_item_private_menu): Set menuitem label depending on sensibility

    * src/desktop.c (sp_desktop_init): Bind "event" to manipulate sticky state

    * src/display/canvas-image.c (sp_canvas_image_point): Check for
    SP_CANVAS_STICKY_FLAG

    * src/desktop.c (sp_desktop_event): New function, Set SP_CANVAS_STICKY_FLAG if
    user holds Shift key

2001-03-09  Lauris Kaplinski  <lauris@ximian.com>

    * glade/Makefile.am (pixmaps): Added all pixmaps to dist

    * configure.in: Version 0.22

2001-03-09  Frank Felfe  <innerspace@iname.com>

    * src/desktop.c (sp_desktop_update_scrollbars): Cleanup

    * src/event-context.c (sp_event_context_private_root_handler): Use
    Gdk keysyms instead of numeric values. Add moving/panning keybindings,
    space for root menu popup
    (sp_event_root_menu_popup): Pop menu on space

    * select-context.c (sp_select_context_root_handler): Use Gdk keysyms
    instead of numeric values

    * selection-chemistry.c (sp_selection_move_screen): New function
    (sp_selection_item_next): New function

    * doc/keybingings.txt: New keybingings

2001-03-09  Lauris Kaplinski  <lauris@ximian.com>

    * src/nodepath.c (node_event): Update repr after deletion

    * src/file.c (file_open_ok): Destroy widget instead of hiding
    (file_open_cancel): New function
    (sp_file_open): Connect new cancel handler
    (file_save_ok): Exit from private main loop
    (file_save_cancel): New function
    (sp_file_save_as): Connect new cancel handler, enter private loop
    (file_import_cancel): New function
    (sp_file_import): Connect new cancel handler
    (file_export_cancel): New function
    (sp_file_export): Connect new cancel handler

2001-03-08  Lauris Kaplinski  <lauris@ximian.com>

    * src/interface.c (sp_ui_delete): New function presenting close
    dialog box if needed
    (sp_ui_close_view): Use sp_ui_delete ()
    (sp_create_window): Connect "delete_event" and set window title

    * src/file.c (sp_file_save_document): New function

    * src/document-undo.c (sp_document_done):  Set "modified" attribute

    * src/file.c (file_save_ok): Clear "modified" attribute

2001-03-07  Lauris Kaplinski  <lauris@ximian.com>

    * doc/keybindings.txt: Register node editing keystrokes

    * src/desktop.c (sp_desktop_new): Do not grab focus here

    * src/helper/sodipodi-ctrl.c: Added shape argument type
    (sp_ctrl_class_init): Ditto
    (sp_ctrl_init): Ditto
    (sp_ctrl_set_arg): Ditto
    (sp_ctrl_update): New logic, keep node absolute size always odd number
    (sp_ctrl_point): Ditto
    (draw_line): New function
    (draw_point): New function
    (sp_ctrl_render): New logic, draw diamond shape

    * src/desktop-events.c (sp_desktop_root_handler): Grab focus on
    acetate enter notify

    * src/knot.c (sp_knot_set_arg): Set shape attribute
    (sp_knot_handler): Grab focus on enter notify
    (sp_knot_update_ctrl): Set shape
    (sp_knot_set_ctrl_state): New function

    * src/node-context.c (sp_node_context_root_handler): Process keypresses

    * src/nodepath.c (sp_nodepath_node_new): Connect "event" and set knot shape
    (node_clicked): Toggle type on Ctrl-click
    (node_event): New signal handler for keypresses
    (sp_nodepath_set_node_type): Set knot shape

2001-02-21  Michael Meeks  <michael@ximian.com>

    * configure.in: depend on Bonobo >= 0.37.

2001-02-21  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Commented out GNOME_PRINT_CHECK

2001-02-19  Lauris Kaplinski  <lauris@ximian.com>

    * src/desktop.c (sp_desktop_connect_item): New function

    * src/sp-item.c (sp_item_view_new_prepend): View list management
    (sp_item_view_list_remove): Ditto

    * src/sp-item.h: SPItemView - new object encapsulating view. I also induced
    changes in almost all source files

    * src/sp-item-group.h: New file

    * src/bonobo/embeddable-drawing.c (sp_embeddable_drawing_get_type):
    Use new bonobo object stuff
    (sp_embeddable_drawing_factory): Ditto

    * src/bonobo/embeddable-desktop.c (sp_embeddable_desktop_get_type):
    Use new bonobo object stuff
    (sp_embeddable_desktop_factory): Ditto

    * src/bonobo/embeddable-document.c (sp_embeddable_document_get_type):
    Use new bonobo object stuff
    (sp_embeddable_document_new): Ditto

2001-02-17  Lauris Kaplinski  <lauris@ximian.com>

    * src/sp-object.c (sp_object_getAttribute): New function
    (sp_object_setAttribute): New function
    (sp_object_removeAttribute): New function

2001-02-11  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Added es to ALL_LINGUAS

2001-02-07  Lauris Kaplinski  <lauris@ximian.com>

    * src/dialogs/object-properties.c: Added channel sliders
    * glade/object_props.glade: Ditto
    * samples/mangatips6.svg: New file
    * samples/mangatips7.svg: New file
    * samples/mangatips8.svg: New file
    * samples/mangatips9.svg: New file
    * samples/mangatips10.svg: New file

2001-02-06  Lauris Kaplinski  <lauris@ximian.com>

    * samples/mangatips3.svg: New file
    * samples/mangatips4.svg: New file
    * samples/mangatips5.svg: New file

2001-01-29  Fatih Demir	<kabalak@gmx.net>

    * src/widgets/.cvsignore: Added this.

2001-01-26  Lauris Kaplinski  <lauris@ximian.com>

    * configure.in: Version 0.21

2001-01-24  Lauris Kaplinski  <lauris@ximian.com>

    * src/document-undo.c (sp_document_add_repr): Do not expect repr
    always correspond to item

    * src/toolbox.c (sp_maintoolbox_create): Save edit/undo/redo widgets
    (sp_update_draw_toolbox): Unsensitize undo/redo for draw and node
    contexts

2001-01-09  Lauris Kaplinski  <lauris@ximian.com>

    * src/desktop (sp_desktop_change_document): Update namedviews aslo

2001-01-09  Lauris Kaplinski  <lauris@ximian.com>

    * samples/mangatips1.svg: New file
    * samples/mangatips2.svg: New file

    * src/xml/Makefile.am: Use SODIPODI_CFLAGS

2001-01-08  Frank Felfe  <innerspace@iname.com>

    * desktop.*: use gnomeappbar in desktop-window,
    use gtk_combo_text widget from libgal

    * src/desktop-events.c: use gnomeappbar

    * src/event-context.c: global keybindings

    * src/select-context.c: keybindings

    * src/text-context.c: filter Ctrl-keys for keybindings

    * src/interface.c: connect to focus-in-event from desktop-window

    * glade/toolbox.glade: keybindings for the maintoolbox-menu

    * doc/keybindings.txt

2001-01-08  Lauris Kaplinski  <lauris@helixcode.com>

    * src/selection-chemistry.c (sp_selection_rotate_90): Brought
    function here from toolbox.c and renamed

    * glade/toolbox.glade: Use sp_selection_rotate_90

    * src/desktop_snap.* (sp_desktop_circular_snap): New function

    * src/rect-context.c (sp_rect_context_destroy): Finish object, if exists

    * src/ellipse-context.c: (sp_ellipse_context_destroy): Ditto

2001-01-04  Lauris Kaplinski  <lauris@helixcode.com>

    * src/helper/sodipodi-ctrlrect.*: Draw by hand instead of using
    libart. That fixed ugly-ugly freezing bug in Mandrake

    * src/preferences-skeleton.h: New file, encoding default preferences

    * glade/sodipodi.glade: Changes _Uus to _New in menu ;)

    * src_sodipodi.* (sodipodi_load_preferences): New function
    (sodipodi_save_preferences): New function
    (sodipodi_get_repr): New function for retrieving data from preferences
    DOM tree.

    * src/draw-context.c (set_to_accumulated): Use style preferences
    * src/rect-context.c (sp_rect_drag): Ditto
    * src/ellipse-context.c (sp_ellipse_drag): Ditto
    * src/text-context.c (sp_text_context_root_handler): Ditto
    (sp_text_complete): ungrab keyboard

    * src/toolbox.c (sp_toolbox_create): Use preferences

2001-01-02  Lauris Kaplinski  <lauris@helixcode.com>

    * src/widgets/sp-toolbox.*: general toolbox implementation

    * src/toolbox.c: Use SPToolBox widget, load and save toolbox states

    * src/sodipodi.* (sodipodi_set_key): New function for setting
    preference values into xml tree
    (sodipodi_get_key): Ditto
    (sodipodi_set_key_as_number): Ditto
    (sodipodi_get_key_as_number): Ditto

    * src/xml/repr-io.c (sp_repr_read_file): Load whatever element node as root
    (sp_repr_read_mem): Ditto

2000-12-31  Michael Meeks  <michael@helixcode.com>

    * src/xml/repr-io.c (sp_repr_save_file): split into
    (sp_repr_save_stream): here.

    * src/bonobo/embeddable-document.c (sp_embeddable_document_pf_load),
    (sp_embeddable_document_pf_save): update signatures for new persistfile API.

2000-12-30  Lauris Kaplinski  <lauris@helixcode.com>

    * src/main.c (main): Reenable command-line filenames

    * src/sodipodi.* (sodipodi_application_new): New function

2000-12-29  Michael Meeks  <michael@helixcode.com>

    * src/bonobo/embeddable-document.c (sp_embeddable_document_factory): upd.

    * Makefile.am (oafdir): kill gnorba bits, update naming.

    * src/bonobo/svg-doc-factory.c (sp_svg_doc_factory_init): upd.
    (sp_svg_factory): new multi factory.

    * GNOME_Sodipodi.oafinfo: add, rename stuff.

    * configure.in (have_bonobo): require bonobo >= 0.30

2000-12-28  Christopher R. Gabriel  <cgabriel@softwarelibero.org>

    * configure.in (ALL_LINGUAS): 'it'

2000-12-27  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-svp-uncross.c: Lot of clenaup

    * src/display/nr-svp-render: Comment out printouts

    * src/display/nr-primitives.h: #define NR_COORD_TOLERANCE

2000-12-26  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-svp-uncross.c (nr_svp_uncross_full): more cases -
    rays, intersection - some cleanups

    * src/display/nr-svp-render.c (nr_svp_render_rgb_rgba): Cleanups

2000-12-25  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-primitives.h: Move NRCoord and NRPoint here
    * src/display/nr-primitives.c: NRDRect methods

    * src/display/nr-svp.*: Rewrite. NRSVP is now simple ordered
    segment and we use linked (sorted) lists for describing more
    complex geometries
    * src/display/nr-svp-uncross.*: Ditto, partial implementation
    * src/display/nr-svp-render.* Ditto. Works.

2000-12-21  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-svp-render.c: Lot's of cleanup

2000-12-20  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-svp-render.c (nr_svp_render_rgb_rgba): It
    works to some extent!
    * src/display/canvas-shape.c (sp-canvas_shape_render): Use New
    Rendering, #ifdef NEW_RENDER

    * src/display/testnr.c: Silly file

2000-12-19  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-uta.*: UTA Implementation

    * src/display/nr-aa-canvas.*: RGB Buffer canvas

    * src/display/sp-arena.*: Widget, using RGB canvas

    * src/display/sp-canvas-item.*: Item subclass for arena
    * src/display/sp-canvas-group.*: Ditto

2000-12-17  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-primitves.h: typedef NRPoint

    * src/display/nr-canvas.*: More code
    * src/display/nr-canvas-item.*: Ditto
    * src/display/nr-canvas-group.*: Ditto

2000-12-16  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-canvas-group.*: Base class for canvas groups
    * src/display/nr-primitives.*: Graphic primitives

2000-12-15  Lauris Kaplinski  <lauris@helixcode.com>

    * src/display/nr-canvas.*: Experimental new rendering stuff (not working)
    * src/display/nr-canvas-item.*: Ditto (not working)
    * src/display/nr-svp.*: Ditto (works)
    * src/display/nr-svp-uncross.*: Ditto (works)
    * src/display/nr-svp-render.*: Not working yet

    * configure.in: Added {with|without}-new-render switch

2000-11-30  Szabolcs Ban  <shooby@gnome.hu>

    * glade/toolbox.c: corrected "zom factor" to "zoom factor"

2000-11-30  Szabolcs Ban  <shooby@gnome.hu>

    * configure.in (ALL_LINGUAS): add hu.

2000-11-26  Lauris Kaplinski  <lauris@helixcode.com>

    * src/toolbox.c (sp_maintoolbox_create): Strip toolbox names
    (sp_toolbox_create_widgets): Make windows toplevel

    * glade/*.glade: Make windows to be toplevel

2000-11-25  Christopher R. Gabriel  <cgabriel@softwarelibero.org>

    * debian/: added the debian scripts from package maintainer,
    Davide Puricelli <evo@debian.org>

2000-11-17  Yuri Syrota  <rasta@renome.rovno.ua>

    * glade/transformation.c
    * glade/transformation.glade: correct "vertival move" to "vertical move"

2000-11-17  Lauris Kaplinski  <lauris@helixcode.com>

    * src/dialogs/text/edit.c (sp-text-dialog-close): Destroy
    dialog, so font listing will be regenerated

2000-11-02  Michael Meeks  <michael@helixcode.com>

    * configure.in: Check for bonobo >= 0.27

2000-10-27  Michael Meeks  <michael@helixcode.com>

    * configure.in (ALL_LINGUAS): add pt_BR.

2000-10-26  Lauris Kaplinski  <lauris@helixcode.com>

    * configure.in: Define libxml include path

    * src/Makefile.am: Use libxml include path

    * src/main.c: Ditto

    * src/xml/Makefile.am: Ditto

    * src/xml/repr-io.c: Ditto

2000-10-21  Zbigniew Chyla  <cyba@gnome.pl>

    * configure.in: Added pl to ALL_LINGUAS.

2000-10-21  Zbigniew Chyla  <cyba@gnome.pl>

    * sodipodi/src/toolbox.c (sp_maintoolbox_create):
    Marked strings for translation.

2000-10-18  Christophe Merlet  <christophe@merlet.net>

    * configure.in: Oups, forgotten to add French (fr) to $ALL_LINGUAS

2000-10-18  Christophe Merlet  <christophe@merlet.net>

    * sodipodi.desktop: Added French string.

2000-10-17  Lauris Kaplinski  <lauris@helixcode.com>

    * src/nodepath.c (sp_nodepath_node_destroy): fixed YANC (Yet
    Another Nodepath Crash)

2000-10-16  Frank Felfe  <innerspace@iname.com>

    * glade/toolbox.glade: Updated zoom toolbox

    * src/desktop-events.*: Added sp_canvas_root_handler

    * src/desktop.c: Added statusbar, clean up zooming

    * src/sp-metrics.* (sp_metric_to_metric_string): A way to
    suppress metric identifier in strings

    * src/sp-ruler.c: Copy GtkRuler object

    * src/zoom-context.c: Use desktop region markup with border

    * src/bonobo/embeddable-desktop.c: Ditto

2000-10-13  Lauris Kaplinski  <lauris@helixcode.com>

    * src/text-context.c (sp_text_context_item_handler): Return
    if repr == NULL; Commit changes to undo stack.

2000-10-11  Lauris Kaplinski  <lauris@helixcode.com>

    * src/draw-context.c (sp_draw_context-destroy): Detach signal

2000-10-11  Frederic Devernay <Frederic.Devernay@sophia.inria.fr>

    * Makefile.am: Use test -r for compatibility

    * src/Makefile.am: Remove -export-dynamic

    * src/main.c: Use libxml 1.8.8/2.0

    * src/interface.c: Make fake_dialogs nonstatic

    * src/xml/repr-io.c: Use libxml 1.8.8/2.0

2000-10-09  Lauris Kaplinski  <lauris@helixcode.com>

    * configure.in: Version 0.20

    * src/helper/unit-menu.*: New convenience object

    * src/desktop.c (sp_desktop_destroy): Destroy first eventcontext,
    then selection

    * src/draw-context.c: Make silent

    * src/file.c (sp_file_import_ok): Use "xlink:href" for images

    * src/sp-image.c (sp_image_read_attr): Use "xlink:href"
    (sp_image_repr_read_image): Ditto

    * src/svg/svg.h: Use bitfield for units

2000-10-08  Lauris Kaplinski  <lauris@helixcode.com>

    * src/dialogs/object-properties.c: Do not keep CSS objects, so
    fill & stroke do not overwrite each other settings

2000-10-08  Frank Felfe  <innerspace@iname.com>

    * glade/align.glade: Improvements

    * glade/object_props.glade: New layout

    * src/sp-ruler.*: New files, implementing wrapper for Gtk rulers

    * src/sp-metrics.*: Default metrics, ruler metrics

    * src/desktop.c (sp_desktop_init): use ruler wrappers

2000-10-07  Lauris Kaplinski  <lauris@helixcode.com>

    * src/desktop.c (sp_desktop_realize): Zoom to page on first display

    * src/document-undo.c (sp_document_done): Limit undo to 128 levels

    * src/document.c (sp_document_new): Set docbase & docname before
    creating object tree

    * src/sp-image.c (sp_image_repr_read_image): Find right root repr

    * src/sp-shape.c (sp_shape_paint): Use right stroke width

    * src/dialogs/export.c (sp_export_do_export): use ::paint() method

    * src/xml/repr-io.c (sp_repr_svg_read_node): Return on comment and text
    nodes

    * src/xml/repr.c (sp_repr_document): Implement

2000-10-06  Lauris Kaplinski  <lauris@helixcode.com>

    * glade/document.glade: Page setup dialog

    * src/dialogs/document-properties.c: Implement page
    setup dialog

    * src/desktop.*: Keep page rectangle in SPDesktop

    * src/sp-root.c: Update page rectangle

    * src/file.c (sp_file_print_to_printer): gnome_print_bgeinpage ()
    Remove FRGBA creation

    * src/dialogs/export.c (sp_export_do_export): gnome_print_beginpage ()

    * glade/sodipodi.glade: Add document & xml tree to properties menu

    * src/interface.c (sp_create_window): Remove ugly buttons

    * src/mdi-ui.*: Removed
    * src/dialogs/object-fill.*, object-stroke.*: Removed

2000-10-05  Lauris Kaplinski  <lauris@helixcode.com>

    * src/helper/canvas-grid.*: Grid item for canvas

    * src/sp-namedview.c: Use & update grid

    * src/desktop-snap.c: Snap to grid

2000-10-04  Frank Felfe <innerspace@iname.com>

    * glade/transformation.glade: Improved dialog

    * glade/*.xpm: New icons

    * src/dialogs/transformation.*: Improved dialog

    * src/selection-chemistry.*: new transformation functions

    * src/sp-metrics.*: New files

2000-10-04  Lauris Kaplinski  <lauris@helixcode.com>

    * src/nodepath.c: #define reasonable knot colors
    (sp_nodepath_selected_nodes_move): Implement snapping
    (node_ctrl_request): Implement snapping

2000-10-03  Lauris Kaplinski  <lauris@helixcode.com>

    * src/nodepath.c (update_repr): Call sp_document_done ()

    * src/dialogs/desktop-properties.*: Use new dialog layout

    * glade/desktop.glade: Use new dialog layout

    * src/sp-guide.*: "color" and "hicolor" attributes

    * src/sp-namedview.*: Bunch of new attributes

    * src/desktop-events.c (sp_dt_guide_event): Use guide colors
    (sp_dt_ruler_event): Use guide colors

2000-10-02  Lauris Kaplinski  <lauris@helixcode.com>

    * src/knot.c (sp_knot_set_flag): Implement different outlines
    (sp_knot_update_ctrl): New function to set SPCtrl colors

    * src/nodepath.*: Mostly rewritten

    * src/node-context.*: Use new SPNodePath

2000-09-30  Yukihiro Nakai  <nakai@gnome.gr.jp>

    * configure.in ALL_LINGUAS: Add Japanese 'ja'

2000-09-21  Pablo Saratxaga <pablo@mandrakesoft.com>

    * configure.in: ALL_LINGUAS: added 'ca' for Catalan translation.

2000-09-18  Lauris Kaplinski  <lauris@helixcode.com>

    * src/dialogs/object-properties.*: New combined fill + stroke +
    transformation dialog by Frank Felfe

    * glade/*.xpm: Lots of new icons etc. by Frank Felfe

    * src/desktop.*, interface.c, select-context.c, seltrans.c: Changes

    * selection-chemistry.* (sp_selection_apply_affine): New function by
    Frank Felfe
    (sp_selection_remove_transforms): Same

2000-09-17  Lauris Kaplinski  <lauris@helixcode.com>

    * src/draw-context.c (sp_draw_context_root_handler): Handle Ctrl
    and fix an missing segment, while continuing Ctrl-aligned line.

    * src/ellipse-context.c (sp_ellipse_read-attr): Use sodipodi namespace
    for "start", "end". Replace "closed" with "open", so closed is default

    * src/sp-ellipse_context.c: Ditto

    * src/sp-object.c: #define SP_OBJECT_CLONED_FLAG

    * src/sp-root.c (sp_root_read_attr): Tru to read "viewBox" attribute.
    The implementation is hackish, but it works, until document size is fixed

    * src/display/canvas-shape.c (sp_canvas_shape_update): Calculate correct
    line thickness

2000-09-16  Lauris Kaplinski  <lauris@helixcode.com>

    * src/draw-context.*: Freehand should work OK now

    * src/display/canvas-shape.c (sp_canvas_shape_render): Test, if
    archetype has stroke SVP

    * src/display/path-archetype.c (sp_path_at_new): Disturb Vpaths
    before stroking - this removes ugly random crashing in art_uta_from_svp

2000-09-15  Lauris Kaplinski  <lauris@helixcode.com>

    * src/sp-line.h, sp-line.c: <line> item

    * src/sp-polyline.h, sp-polyline.c: <polyline> item

    * src/sp-polygon.c, sp-polygon.h: <polygon> item

    * src/sp-object-repr.c (sp_object_type_lookup): Register new item types

    * src/helper/curve.c (sp_curve_closepath): Add point, if end != start

2000-09-14  Lauris Kaplinski  <lauris@helixcode.com>

    * src/Makefile.am: Define GNOME_PIXMAPDIR

    * src/main.c (main): Set default icon

    * interface.c (sp_create_window): Set icon

    * src/sp-text.c (sp_text_set_shape): Use helvetica for unknown font

    * src/helper/art-utils.* (art_svp_translate): New function
    (art_uta_from_svp_translated): Use art_svp_translate ()

    * draw-context.*: Use experimental spline fitting for freehand
    lines, during drawing generate many small lines, instead of
    one big.

2000-09-13  Lauris Kaplinski  <lauris@helixcode.com>

    * desktop-snap.c, desktop-snap.h (sp_desktop_horizontal_snap):
    Implemented
    (sp_desktop_vertical_snap): Ditto
    (sp_desktop_free_snap): Rewrote, using horiz. and vert. snapping
    (sp-desktop_vector_snap): Implemented

    * rect-context.c, rect-context.h: Rewrote event handling stuff,
    so it now supports (hopefully) all snapping chemistry

    * sp-namedview.c (sp_namedview_build, sp_namedview_read_arg):
    Implemented arguments "snaptoguides" and "guidetolerance"

    * sp-rect.c (sp_rect_set_arg): Implemented Gtk+ argument setting

    * ellipse-context.c, ellipse-context.h: Ditto

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

    * src/*.c, glade/desktop.*, src/dialog/desktop-properties.*:
    Hacked together a preliminary guideline support stuff.	It
    sucks really for anything other than scaling, but now we have
    at least something to improve in future.

2000-09-09  Lauris Kaplinski  <lauris@helixcode.com>

    * sodipodi.c, sodipodi-private.h: New filed. Bye-bye to
    Gnome-MDI interface, instead we have much more convenient
    sodipodi object.
    This introduced many changes mostly everywhere.

    * src/helper/gt1*, src/helper/parseAFM.*: removed gt1 library,
    as it is now accessible through gnome-print

    * Makefile.am, src/Makefile.am, glade/Makefile.am: We'll pass
    'make distcheck' again

    * src/sp-item-group.c: Children update, if parent's style is
    changed

2000-09-06  Lauris Kaplinski  <lauris@helixcode.com>

    * glade/*: Added Frank Felfe new icons and toolbopx stuff

    * src/toolbox.*: Toolbox stuff (Frank Felfe)

    * src/sp-item-transform.*: Same

2000-08-24 Alastait McKinstry <mckinstry@computer.org>

    * configure.in: ALL_LINGUAS: added 'ga' for Irish translation.

2000-08-19  Lauris Kaplinski  <lauris@helixcode.com>

    * glade/transformation.glade: Transformation dialog (Frank Felfe)

    * src/dilaogs/transfomration.*: Transfomration dialog (Frank Felfe)

    * src/mdi-ui.c: Added transformation dialog

    * po/POTFILES.in: Added glade/transformation.c

2000-08-18  Lauris Kaplinski  <lauris@helixcode.com>

    * configure.in: Version 0.19
    * Makefile.am: Comment out dist-hook
    * sodipodi.spec.in: Build 0

    * glade/align.glade: Added alignment base selection

    * po/POTFILES.in: Added src/dialogs/align.c

    * src/desktop.c: Display page borders

    * src/sp-text.c: break text at newlines

    * src/dialogs/align.c: New algorithm plus alignment base selection

2000-08-15  Lauris Kaplinski  <lauris@helixcode.com>

    * glade/stroke.glade: Moved dialog to separate file
    * Added Frank Felfe icons, that I forgot last time

2000-08-10  Lauris Kaplinski  <lauris@helixcode.com>

    * src/main.c (main): Commented out arg parsing - it segfaulted for me

    * glade/align.glade
    * glade/al*
    * src/dialogs/align.*: Alignmeant dialog by Frank Felfe <innerspace@iname.com>

    * configure.in: Need bonobo >= 0.17

    * src/bonobo/embeddable-document.c (sp_bonobo_stream_read): Bonobo API change

2000-08-10  Lauris Kaplinski  <lauris@helixcode.com>

    * doc/architecture.txt: First step in generating developers documentation

2000-08-09  Lauris Kaplinski  <lauris@helixcode.com>

    * glade/*.xpm: Added Frank Felfe's node editing icons and node dialog

    * src/sp-ellipse.c (sp_ellipse_description): return "Ellipse"

    * src/sp-text.c (sp_text_description): Return either contents or "Text" if NULL

2000-08-07  Lauris Kaplinski  <lauris@helixcode.com>

    * configure.in: Require gnome-print >= 0.21

    * glade/text-dialog.glade: New layout, suitable for gnome-font-selection

    * src/Makefile.am: Add libunicode

    * src/sp-chars.h:
    * src/sp-chars.c:
    * src/sp-text.h:
    * src/sp-text.c: Use gnome-font instead of wrapper

    * src/dialogs/text-edit.c: Use new GnomeFontSelection and GnomeFontPreview

2000-08-03  Michael Meeks  <michael@helixcode.com>

    * configure.in: update for BonoboX

2000-07-01  Lauris Kaplinski  <lauris@helixcode.com>

    * src/sp-namedview.c (and everywhere else): Guides are visible,
    although not functional yet.

    * src/desktop.c (sp_desktop_new): Use document + namedview
    combination for creating desktop.

2000-07-01  Lauris Kaplinski  <lauris@helixcode.com>

    * src/file.c (sp_do_file_print_preview): Don't use FRGBA, as
    print preview can handle alpha itself

    * src/sp-object-group.h
    * src/object-group.c: Added SPObjectGroup to handle groups of
    invisible objects (such as NamedViews)

    * src/sp-namedview.h:
    * src/sp-namedview.c: Extends SPObjectGroup

    * src/xml/sp-repr.c (sp-repr-destroy): fix hash table destroy

2000-06-21  Chema Celorio  <chema@celorio.com>

    * src/file.c (sp_do_file_print_preview): added print preview
    stuff. new function
    (sp_print_preview_destroy_cb): new function
    (sp_file_print_preview): new function
    modified the menu to include a print preview item

2000-06-21  Lauris Kaplinski  <lauris@helixcode.com>

    * src/selection.c (sp_selection_update_statusbar): Added original
    idea of printing sp_image_description (), if single item is
    selected

    * glade/*.xpm: Jeff's icons. I need to find a way to use png
    variants, xpm sucks

2000-06-21  Chema Celorio  <chema@celorio.com>

    * src/desktop.c (sp_desktop_set_status): it was #if'ed out,
    reenabel it.

    * src/selection.c (SP_SELECTION_C): added debug messages and macro
    If lauris does not like them I will take them away.
    (sp_selection_update_statusbar): new function

    * src/mdi.c (sp_mdi_app_created): add statusbar to main window.

2000-06-11  Benedikt Roth  <Benedikt.Roth@gmx.net>

    * configure.in: Added de to ALL_LINGUAS.
    * sodipodi.desktop: Added German translations

2000-06-05  Lauris Kaplinski  <lauris@kaplinski.com>

    * src/dialogs/export.c (sp_export_do_export): use pixbuf context,
    instead of rbuf

2000-06-05  Michael Meeks  <michael@helixcode.com>

    * src/dialogs/export.c (sp_export_do_export): s/rbuf_rgba_new/rbuf_new/

    * src/bonobo/embeddable-document.c: kill a load of redundant prototypes,
    and re-order to suit. (sp_embeddable_document_ps_save),
    (sp_embeddable_document_ps_load): fix for new stream API.
    (sp_embeddable_document_factory): update stream constructor.

2000-05-14  Lauris Kaplinski  <lauris@ariman.ee>

    * src/knot.*: Lot of rearranging, new signals

    * src/seltrans.c: Changes induced by new knot signalling
    Added fake snapping to PostScript points (remove it, if you dare ;)

2000-05-13  Lauris Kaplinski  <lauris@ariman.ee>

    * src/document-private.h: Removed width and height attributes

    * src/sp-root.c: Added "width" and "height" readable attributes

2000-05-12  Lauris Kaplinski  <lauris@ariman.ee>

    * src/xml/repr.h: A bit rearranging, added SPReprDoc, induces
    changes almost everywhere else

    * src/document-private.h: Hide all document internal structure

2000-05-12  Lauris Kaplinski  <lauris@ariman.ee>

    * src/sp-namedview.*: Implemented skeleton

    * src/sp-guide.*: Implemented skeleton

    * src/sp-object-repr.c: Added NamedView and Guide

    * src/helper/sp-guide.*: Changed name to SPGuideLine

2000-05-11  Lauris Kaplinski  <lauris@ariman.ee>

    * src/desktop-events.c: Collected events to separate file
    Added guidline and grid positioning skeleton

    * src/helper/sp-guide.*: Guideline implementation

2000-05-10  Lauris Kaplinski  <lauris@ariman.ee>

    * glade/*.xpm: Some new icons (thanks to Jeff Mrochuk)

    * src/knot.*: signals clicked, grabbed, ungrabbed, moved
    Many fixes and enhancements

    * src/seltrans.c: Use knots instead of Ctrl canvas items

2000-05-09  Michael Meeks  <michael@helixcode.com>

    * src/bonobo/svg-doc-factory.c (sp_svg_doc_factory_init): add
    config.h + OAFIID.

    * Makefile.am: Install oaf data.

    * src/main.c (main): re-tool for oaf.

    * configure.in: Check for oaf.

2000-05-06  Lauris Kaplinski  <lauris@ariman.ee>

    * src/knot.h: Added signals "grab", "ungrab" and "move"
    * src/knot.c: Implemented signals, event etc.

2000-05-05  Lauris Kaplinski  <lauris@ariman.ee>

    * src/desktop-handles.h: Added SP_DT_IS_EDITABLE
    * src/knot.*: started implementing universal handle object for
    all contexts

2000-05-05  Lauris Kaplinski  <lauris@ariman.ee>

    * src/Makefile.am: Define $gladedir, which has been forgotten :)
    * src/sp-image.c (sp_image_print): Do it :)

2000-05-03  Lauris Kaplinski  <lauris@ariman.ee>

    * src/main.c: Uncommented line interpreting unknown command-line
    arguments as filenames
    * src/document-undo.c (sp_document_undo): If attribute is 'id', find
    affected object from 'new' instead of 'key'
    * src/dialogs/xml-tree.c: Added missing sp_document_done flushes
    * src/sp-object.c (sp_object_read_attr): Fixed def-ing repr
    id attribute instead of objects one

2000-05-02  Lauris Kaplinski  <lauris@ariman.ee>

    * src/sp-item-group.c (sp_group_build): Check that xml node is
    known, before trying to build object from it

2000-05-02  Lauris Kaplinski  <lauris@ariman.ee>

    * src/sp-gradient.*: Implemented skeleton for gradient fills
    * src/sp-object-repr.c: Gradient parsing

2000-05-01  Lauris Kaplinski  <lauris@ariman.ee>

    * src/helper/sodipodi-ctrl.c: Fixed bug in ::render, which left
    buffer->is_bg untouched
    * src/sp-defs.*: New objects, implementing <defs> nodes
    * src/sp-group.*: Groups have both item and non-item members
    * src/sp-image.c: Changed "src" attribute to "href"

2000-04-29  Lauris Kaplinski  <lauris@ariman.ee>

    * xml/repr.*: Reprs are now GtkObjects
    * xml/repr-io.c: Preliminary namespacing (xmlns:sodipodi)

2000-04-29  Lauris Kaplinski  <lauris@ariman.ee>

    * src/dialogs/xml-tree.c (sp_xml_tree_change_attribute_long):
    new function to change long attribute (GtkEntry does not like
    long strings). Also attribute changing in xml pushes Undo stack.

2000-04-28  Lauris Kaplinski  <lauris@ariman.ee>

    * glade/Makefile.am: Added xml-tree.glade

    * src/dialogs/xml-tree.c (sp_xml_tree_change_attribute): implemented
    this

2000-04-27  Miguel de Icaza  <miguel@helixcode.com>

    * glade/Makefile.am: New file.

    * src/dialogs/Makefile.am (gladedir): Define gladedir based on
    $datadir

    * Makefile.am: Remove the local install hack stuff.  And process
    the glade directory.

    * configure.in: Do not define PACKAGE_GLADEDIR based on the output
    of gnome-config.  Let the Makefile.am compute that value from the
    various $prefix settings.

2000-04-27  Lauris Kaplinski  <lauris@ariman.ee>

    * src/dialogs/xml-tree.c: Attribute deletion mostly work

2000-04-27  Lauris Kaplinski  <lauris@ariman.ee>

    * src/dialogs/xml-tree.*: Started implementing direct xml editing

    * glade/xml-tree.glade: XML editing dialogs

2000-04-26  Lauris Kaplinski  <lauris@ariman.ee>

    * helper/curve.c (sp_curve_split): Fixed evil memcpy size bug

2000-04-24  Lauris Kaplinski  <lauris@ariman.ee>

    * src/selection-chemistry.c: Implemented Cut/Copy/Paste

2000-04-23  Lauris Kaplinski  <lauris@ariman.ee>

    * src/document.h: added aspect and clip attributes

    * src/bonobo/embeddable-desktop.c: keep full page always visible

    * src/bonobo/embeddable-document.c: print scaled full page

2000-04-21  Lauris Kaplinski  <lauris@ariman.ee>

    * src/mdi-document.c: extract ACTIVE_DOCUMENT for ACTIVE_DESKTOP
    instead of MDIChild

    * glade/sodipodi.glade: Popup menu

    * src/event-context.c: (sp_event_context_private_root_handler)
    Popup menu on button 3, if event is not consumed

    * src/zoom-context.c: (sp_zoom_context_root_handler)
    Assign zoom_out to Shift+Button1 to free Button3 for popup

    * src/draw-context.c: (sp_draw_context_root_handler)
    Invoke parent handler, if event is not consumed

2000-04-21  Lauris Kaplinski  <lauris@ariman.ee>

    * configure.in: removed plugins/Makefile (not yet folks!)

    * src/bonobo/embeddable-document.c (sp_embeddable_document_factory):
    switched to original gnome-print-context instead of FRGBA

2000-04-21  Michael Meeks  <michael@helixcode.com>

    * configure.in (have_bonobo): add -lbonobo-print

    * src/bonobo/embeddable-document.c (sp_embeddable_document_factory):
    add the print interface.

2000-04-21  Fatih Demir	<kabalak@gmx.net>

    * configure.in : Added tr to ALL_LINGUAS .

    * sodipodi.desktop : Added [tr] ..

2000-04-20  Lauris Kaplinski  <lauris@ariman.ee>

    * glade/sodipodi.glade: toggling rulers and scrollbars on/off
    * desktop.c: construct it by hand, borders can be removed
    * mdi-desktop.c: new logic for activating desktops (bonobo needed it)
    * bonobo/embeddable-document.c: removed MDI refcounting
    * bonobo/embeddable-desktop.c: added MDI refcounting, active desktop
    management and hiding borders, if not active

2000-04-20  Andreas Hyden  <a.hyden@cyberpoint.se>

    * sodipodi.desktop: Added Swedish translation.
    * configure.in: Added sv to ALL_LINGUAS.

2000-04-19  Lauris Kaplinski  <lauris@ariman.ee>

    * configure.in: Added chack for GnomePrintRBuf and GnomePrintFRGBA
    * sp-shape.c: if FRGBA is present, do not emulate alpha
    * file.c: print via FRGBA, if present
    * dialogs/export.c: export via RBuf, if present
    * sp-object.c: fixed infinite loop in allocating id-s

2000-04-17  Lauris Kaplinski  <lauris@ariman.ee>

    * src/sp-image.c: completed migration to new gdk-pixbuf
    * src/display/canvas-image.c: completed migration

2000-04-17  Michael Meeks  <michael@helixcode.com>

    * src/sp-image.c (sp_image_pixbuf_force_rgba): fix.
    (sp_image_bbox): fix.

2000-04-14  Lauris Kaplinski <lauris@ariman.ee>

    * Makefile.am: fixed .desktop inclusion to distribution

2000-04-12  Pablo Saratxaga Pablo <pablo@mandrakesoft.com>

    * configure.in (ALL_LINGUAS): Add Danish

200-04-09  Lauris Kaplinski  <lauris@ariman.ee>

    * bonobo/canvas-translator.*: implemented a translator group, which
        translates xlib canvas calls to antialiased canvas ones.

200-04-09  Lauris Kaplinski  <lauris@ariman.ee>

    * document.c: Removed bad memory corruption bug in ::destroy
    * embeddable-document.c: Added PersistentFile interface
    * embeddable-drawing.*: Added BonoboCanvasComponent interface

200-04-08  Lauris Kaplinski  <lauris@ariman.ee>

    * Makefile.am: create sodipodi-bonobo symlink if we use bonobo
    * src/sodipodi/*: Added bonobo component, nothing interesting yet

200-04-07  Lauris Kaplinski  <lauris@ariman.ee>

    * sodipodi.gnorba: added this, embeddable document will follow soon
    * configure.in: added bonobo check

200-04-07  Lauris Kaplinski  <lauris@ariman.ee>

    * sp-shape.c: It prints now semitransparent shapes, rendering these
        to bitmaps. No clipping yet and resolution is hardcoded to 72dpi

200-04-05  Kjartan Maraas  <kmaraas@online.no>

    * no.po: Added no to ALL_LINGUAS.

2000-04-05  Lauris Kaplinski <lauris@ariman.ee>

    * sp-document.c, sp-file.c, sp-image.c: removed namespace. How to
    extract this correctly from libxml?

2000-04-05  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr.c: added order_changed_pre callback
    * document-undo.c: stacking order changes are now undoable
    * sp-document.c, sp-file.c, sp-image.c: added namespace "sodipodi",
    still have to do official definition

2000-04-04  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr-io.c: save DTD & standard header
    * dialogs/object-*: modify default fill & stroke, if nothing selected

2000-04-04  Lauris Kaplinski <lauris@ariman.ee>

    * selection.*: Added functions to select via reprs (now when we have
    unique id-s there isn't any reason thare wasn't such)

2000-04-02  Lauris Kaplinski <lauris@ariman.ee>

    * xml/repr-io.c: A very quick hack to load real svg code (DTD & stuff).
    * sp-shape.c: Fixed bug in exporting open paths, so they are not filled
    anymore.
    * sp-image.c: We can print semitransparent images, although better do not
    stretch these very much

2000-04-02  Lauris Kaplinski <lauris@ariman.ee>

    * document-undo.c, document.c: Undo should now work!

2000-04-01  Lauris Kaplinski <lauris@ariman.ee>

    * document.c: Some undoing/redoing works (duplicate & delete)

2000-04-01  Lauris Kaplinski <lauris@ariman.ee>

    * sp-item-group.c: cleaned up signals, reordering should work now
    * hunted memory leaks & removed most obvious ones

2000-03-31  Lauris Kaplinski <lauris@ariman.ee>

    * Basically completed rewrite, most things do not work

2000-03-30  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version number to 0.18 & started rewrite of object system

2000-03-29  Lauris Kaplinski <lauris@ariman.ee>

    * Modified argument parsing, --without-gui, if present, has to be first
    * argument, but otherwise now all GNOME/Gtk args work
    * You can also specify multiple files for displaying or printing

2000-03-28  Lauris Kaplinski <lauris@ariman.ee>

    * Added cute little squirrel to /gnome/apps/Graphics ;-)
    * src/desktop.c: Set canvas background to white
    * Makefile.am: added samples to tarball

2000-03-27  Lauris Kaplinski <lauris@ariman.ee>

    * main.c: Applied Yukihiro Nakai FreeBSD patches
    * main.c: Set LC_NUMERIC to "C", to avoid localisation of SVG files :-(

2000-01-25  Lauris Kaplinski <lauris@ariman.ee>

    * dialogs/export.*: a bit better png exporting, still sucks

2000-01-25  Lauris Kaplinski <lauris@ariman.ee>

    * sp-image.c: Cleanups here and there
    * display/canvas-image.c: point method uses alpha, removed SVP-s

2000-01-23  Lauris Kaplinski <lauris@ariman.ee>

    * helper/art*: functions for rendering into RGBA buffer
    * file.*, sp-shape.*, sp-image.*: exporting png bitmaps

2000-01-23  Lauris Kaplinski <lauris@ariman.ee>

    * Uses SPCurve everywhere

2000-01-19  Lauris Kaplinski <lauris@ariman.ee>

    * src/helper/sodipodi-ctrl.*: removed aa rendering

2000-01-18 David Metcalfe (crdjm@sgi.com)

    * Added command line options:
    . [ -f ] file  to load file at startup
    . -p file      to print the file without the GUI starting
    . -t file      to send the print output to the named file
    * -t is currently required for -p as I couldn't find a way of creating
        a GnomePrinter that goes to the default printer. ??
    * Printing doesn't require that X be started

2000-01-16  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version to 0.17
    * Most things, that worked in 0.15 work again
    * still looses selections, dialogs suck etc.

2000-01-14  Lauris Kaplinski <lauris@ariman.ee>

    * Now uses Gnome MDI
    * Stroke & fill dialogs almost work for multiple displays

2000-01-08  Lauris Kaplinski <lauris@ariman.ee>

    * Major rewrite of object system
    * Multiple views almost work
    * Multiple documents almost work
    * Rects, Ellipses, Drawing and Nodes almost work
    * Nothing else works ;-(

1999-12-30  Lauris Kaplinski <lauris@ariman.ee>

    * Bumped version number to 0.15
    * Node editing works enough to be usable
    * Images use relative paths, if possible
    * Text can show accented chars

1999-12-25  Lauris Kaplinski <lauris@ariman.ee>

    * Increased version number to 0.14
    * Preliminary node editing mode
    * Stacking order can be changed again
    * Convert to Curves, Combine & Separate functions
    * Corrected repr refcounting - much fewer segfaults now
    * Countless bugfixes here & there

1999-12-23  Lauris Kaplinski <lauris@ariman.ee>

    * Major cleanup - most things work better now, but some
    don't work at all :-(
    * Implemented SPChars class
    * Text editing
    * svg importing
    * loading, saving and printing almost works

1999-09-02  Lauris Kaplinski <lauris@ariman.ee>

    * Rewrote many things and hacked up the rest.
    Removed Gdome dependency, as I had neither time nor patience
    to mess with it. As a temporary solution I've created SPRepr objects,
    which can contain xml data.
    Added functions: group, ungroup, delete, duplicate, to_front,
    to_back, up, down
    Freehand drawing almost works although need some cleanup
    Outlines are implemented, although not usable yet
    Rect can handle round corners i hope
    Ellipse can be sliced

