Commit graph

1802 commits

Author SHA1 Message Date
Sven Neumann d53a10c004 app/display/gimpdisplayshell-render.c renamed overlay to mask and added a
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]: renamed overlay to mask and
	added a different overlay implementation that will be needed to
	finish the new foreground-select tool.

	* app/tools/gimpforegroundselecttool.c: changed accordingly.
2005-07-30 22:29:02 +00:00
Sven Neumann 7e92212593 transparently handle cursor vs. toggle cursor in the cursor accessor
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptoolcontrol.[ch]: transparently handle cursor
	vs. toggle cursor in the cursor accessor functions.

	* app/tools/gimpconvolvetool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimptool.c: simplifies things here.

	* app/tools/gimpforegroundselecttool.c: set a toggle cursor and
	toggle the tool if a mask is set.
2005-07-30 20:46:05 +00:00
Sven Neumann 029fbdae02 implement cursor_update(). Suppress standard selection tool functionality
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpforegroundselecttool.c: implement cursor_update().
	Suppress standard selection tool functionality if a mask exists.
2005-07-30 19:48:49 +00:00
Sven Neumann 98c40b9ae0 implement oper_update() and give some hints in the statusbar.
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpforegroundselecttool.c: implement oper_update()
	and give some hints in the statusbar.
2005-07-30 19:21:47 +00:00
Sven Neumann 5bb14cfd9d more code cleanup 2005-07-30 18:56:08 +00:00
Sven Neumann b4bda18ac2 code cleanup 2005-07-30 18:45:03 +00:00
Sven Neumann 1016a3dc14 app/display/gimpdisplayshell-render.c added
2005-07-30  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell.[ch]: added
	gimp_display_shell_set_overlay(); allows to overlay a mask over the
	display to visualize a selection.

	* app/tools/gimpforegroundselecttool.[ch]: use the new functionality
	to display the selection. Escape cancels the tool, Enter applies the
	selection.
2005-07-30 18:19:54 +00:00
Sven Neumann f4adf361db added "tools-foreground-select" to the Selection Tools menu.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* menus/image-menu.xml.in: added "tools-foreground-select" to the
	Selection Tools menu.

	* app/tools/gimpforegroundselecttool.c: resolved clashing mnemonic.
2005-07-29 20:26:29 +00:00
Sven Neumann b8fc8e6050 themes/Default/images/Makefile.am
2005-07-29  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/stock-tool-foreground-select-16.png
	* themes/Default/images/tools/stock-tool-foreground-select-22.png:
	added placeholder for yet-to-be-drawn tool icon.

	* libgimpwidgets/gimpstock.[ch]: register it.

	* app/tools/gimpforegroundselecttool.c: use it.

	* app/widgets/gimpclipboard.[ch] (gimp_clipboard_get_svg): return
	a signed char pointer.

	* app/actions/edit-commands.c
	* app/tools/gimpinkoptions-gui.c: fixed signedness issues.
2005-07-29 18:04:59 +00:00
Sven Neumann 2580f0c04e added a progress parameter.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpdrawable-foreground-extract.[ch]: added a progress
	parameter.

	* app/tools/gimpforegroundselecttool.[ch]: changed the "select"
	method to take a GimpDisplay instead of a GimpImage.

	* tools/pdbgen/pdb/drawable.pdb
	* app/tools/gimpforegroundselecttool.c: changed accordingly.

	* app/pdb/drawable_cmds.c: regenerated.
2005-07-29 03:28:27 +00:00
Sven Neumann 23666d8f19 added GimpForegroundExtractMode in preparation for other implementations
2005-07-29  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: added GimpForegroundExtractMode
	in preparation for other implementations to be added in the future.

	* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

	* app/core/gimpdrawable-foreground-extract.[ch]
	* app/tools/gimpforegroundselecttool.c
	* tools/pdbgen/pdb/drawable.pdb: added the mode parameter.

	* app/pdb/drawable_cmds.c
	* libgimp/gimpdrawable_pdb.[ch]: regenerated.
2005-07-29 02:35:12 +00:00
Sven Neumann 74345379e9 no antialiasing for the foreground selection tool (yet).
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c (gimp_selection_options_gui): no
	antialiasing for the foreground selection tool (yet).
2005-07-29 02:07:49 +00:00
Sven Neumann a5abd45337 added gimp_scan_convert_render_value(), a variant of
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpscanconvert.[ch]: added
	gimp_scan_convert_render_value(), a variant of
	gimp_scan_convert_render() that allows to pass the foreground value.

	* app/tools/gimpfreeselecttool.[ch]: added a virtual "select" method.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimpforegroundselecttool.[ch]: added a rough first
	version of foreground selection tool based on the SIOX algorithm.
	Work in progress...

	* app/widgets/gimphelp-ids.h: added help-id for the new tool.
2005-07-29 01:48:56 +00:00
Sven Neumann 81b81e3318 minor cleanup.
2005-07-29  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpfreeselecttool.c: minor cleanup.
2005-07-29 00:16:45 +00:00
Sven Neumann 3e74368a3b return FALSE if the keypress event isn't handled because of a display
2005-07-19  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectortool.c (gimp_vector_tool_key_press): return
	FALSE if the keypress event isn't handled because of a display
	mismatch.
2005-07-19 21:26:12 +00:00
Sven Neumann 6466e3b82d need to sort the boundary here since gimp_draw_tool_draw_boundary()
2005-07-18  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_start):
	need to sort the boundary here since gimp_draw_tool_draw_boundary()
	expects a sorted boundary now. Fixes bug #310432.

	* app/tools/gimppainttool.c: formatting.
2005-07-18 15:54:49 +00:00
Michael Natterer 153748330a added new public function gimp_dockable_blink_cancel() which stops title
2005-07-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added new public function
	gimp_dockable_blink_cancel() which stops title blinking.

	* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
	cancel blinking when updating a picked color so the dockable
	doesn't flicker for each cursor movement.
2005-07-13 17:03:44 +00:00
Michael Natterer 470c11a8f0 swapped the opacity scale and the paint mode menu to be consistent with
2005-07-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui):
	swapped the opacity scale and the paint mode menu to be consistent
	with the layers dialog. Also makes the paint options look more
	balanced.
2005-07-11 22:03:22 +00:00
Michael Natterer d64bf3564f added GimpPickable::get_opacity_at()
2005-07-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppickable.[ch]: added GimpPickable::get_opacity_at()

	* app/core/gimpchannel.[ch]: removed gimp_channel_value() and
	implement ::get_opacity_at() instead.

	* app/core/gimplayer.[ch]: removed gimp_layer_pick_correlate()
	and implement ::get_opacity_at() instead.

	* app/core/gimpselection.c: GimpChannel::value() doesn't exist
	any more.

	* app/core/gimpprojection.c: implement ::get_opacity_at(), always
	returns OPAQUE.

	* app/core/gimpimage.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpnewrectselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptransformtool.c
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/selection_cmds.c: regenerated.
2005-07-11 19:21:52 +00:00
Michael Natterer d420a5bf58 simplify check for "inside selected region".
2005-07-11  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpclonetool.c (gimp_clone_tool_cursor_update):
	simplify check for "inside selected region".
2005-07-11 17:59:08 +00:00
Hans Breuer d9ac028c50 updated dont include "gimpmessagedialog.c" to avoid redefinitions. Instead
2005-07-10  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc app/gimpcore.def : updated
	* app/widgets/gimpcontrollerlist.c : dont include
	"gimpmessagedialog.c" to avoid redefinitions.
	Instead include gimpmessagebox.h and gimpmessagedialog.h

	* plug-ins/common/raw.c : include <io.h>
	* plug-ins/common/screenshot.c : make it compile. It
	still has no code to actually work on win32.
2005-07-10 16:24:57 +00:00
Michael Natterer ddfcad7703 initialize the parent_class pointer with NULL.
2005-07-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpclonetool.c: initialize the parent_class pointer
	with NULL.
2005-07-08 18:44:59 +00:00
Sven Neumann d9c4bdc4aa app/tools/gimpcurvestool.c app/tools/gimplevelstool.c added missing casts.
2005-06-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpwidgets-constructors.c: added missing casts.
2005-06-27 15:28:44 +00:00
Sven Neumann b23b035062 added new constructor gimp_enum_combo_box_new_with_model(). Also override
2005-06-27  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpenumcombobox.[ch]: added new constructor
	gimp_enum_combo_box_new_with_model(). Also override the "model"
	property to make it clear that GimpEnumComboBox expects to be
	used with GimpEnumStore.

	* libgimpwidgets/gimpwidgets.def: updated.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpwidgets-constructors.c: use the new constructor.

	* libgimpwidgets/gimpenumlabel.h
	* libgimpwidgets/gimpenumstore.h
	* libgimpwidgets/gimpintcombobox.h
	* libgimpwidgets/gimpintstore.h: use "parent_class", not
	"parent_instance" when including the parent struct.
2005-06-27 13:41:11 +00:00
Tor Lillqvist 8cf79496a2 Store the GimpBrushCore::brush_bound_segs as sorted (the result of
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* app/tools/gimppainttool.c (gimp_paint_tool_draw): Store the
	GimpBrushCore::brush_bound_segs as sorted (the result of
	sort_boundary), as the only place where it is used
	(gimp_draw_tool_draw_boundary()) would sort it each time it is
	called anyway.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary):
	Correspondingly we now don't have to sort the boundary here.
2005-06-26 16:51:13 +00:00
Tor Lillqvist de642dd10f Add new GimpCanvasStyle value, GIMP_CANVAS_STYLE_XOR_DOTTED.
2005-06-24  Tor Lillqvist  <tml@novell.com>

	* app/display/gimpcanvas.h: Add new GimpCanvasStyle value,
	GIMP_CANVAS_STYLE_XOR_DOTTED.

	* app/display/gimpcanvas.c (gimp_canvas_gc_new): Implement it like
	GIMP_CANVAS_STYLE_XOR_DASHED, except that we set the dash pattern
	to a single-pixel on-off one.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_boundary): Sort
	the boundary so that we can draw each connected group of segments
	using gimp_canvas_draw_lines(). (Even if we would still use
	gimp_canvas_draw_segments(), the boundary would have to be sorted
	so that the XOR drawing and GDK_CAP_NOT_LAST cooperate properly.)

	Use GIMP_CANVAS_STYLE_XOR_DOTTED so the outline doesn't look too
	heavy.

	Remove the dubious code snippet that offset some segments by one
	pixel. It didn't do what the comment claimed, and why one would
	need to do what the comment said, or what it actually did, is
	unclear.

	Now brush outlines shouldn't have gaps any longer. (#308710)
2005-06-24 23:28:38 +00:00
Sven Neumann 2665b357da app/actions/file-actions.c app/actions/plug-in-actions.c removed ellipsis
2005-06-15  Sven Neumann  <sven@gimp.org>

	* app/actions/file-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tool-options-actions.c: removed ellipsis from commands
	that only present a confirmation dialog.

	* app/actions/file-actions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimpgrideditor.c: capitalization.
2005-06-15 21:38:00 +00:00
Michael Natterer 699ad10f79 Allow to use the selected font in the text editor (bug #170299):
2005-06-11  Michael Natterer  <mitch@gimp.org>

	Allow to use the selected font in the text editor (bug #170299):

	* app/widgets/gimptexteditor.[ch]: added a "Use selected font"
	toggle and an API to set/get the selected font name.

	* app/tools/gimptextoptions.c: update the editor's font when the
	text option's font changes. Renamed text editor callbacks to
	gimp_text_options_editor_foo().
2005-06-11 14:18:51 +00:00
William Skaggs 78e6016aaa Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpaligntool.[ch]: improve layout of controls.  Add
	radio buttons allowing selection of reference layer without
	using Ctrl modifier.  Handle removal of target or reference
	layers from image more correctly.  More to come.
2005-06-07 20:12:23 +00:00
Sven Neumann 498171fe1e fix calculation of zoom offsets in the case that dot-for-dot mode is not
2005-06-04  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
	fix calculation of zoom offsets in the case that dot-for-dot mode
	is not enabled (bug #306476).
2005-06-04 14:57:06 +00:00
William Skaggs cfed1f28ea Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpitem-align.c
	* app/core/gimpitem-align.h (gimp_item_align): remove push_undo
	arg, useless as pointed out by mitch.

	* app/tools/gimpaligntool.c: changed correspondingly.
2005-06-03 22:46:58 +00:00
William Skaggs 643e2257f5 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpitem-align.[ch]: newly created to
	hold code for gimp_item_align().

	* app/core/Makefile.am: add new files

	* app/core/gimpitem.[ch]: remove code from here.

	* app/tools/gimpaligntool.c: fix includes and remove
	unneeded includes.
2005-06-03 21:52:39 +00:00
William Skaggs 7250297297 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* gimp/app/tools/Makefile.am
	* gimp/app/tools/gimp-tools.c
	* gimp/app/tools/gimpalignoptions.c
	* gimp/app/tools/gimpalignoptions.h
	* gimp/app/tools/gimpaligntool.c
	* gimp/app/tools/gimpaligntool.h: Add new tool for
	aligning layers etc, as described in bug #147437.

	* gimp/app/core/gimpitem.c
	* gimp/app/core/gimpitem.h (gimp_item_align): add
	function required by new tool.

	* gimp/app/core/core-enums.c
	* gimp/app/core/core-enums.h: add enum for alignment
	types.

	* gimp/themes/Default/images/stock-hcenter-24.png
	* gimp/themes/Default/images/stock-vcenter-24.png
	* gimp/libgimpwidgets/gimpstock.c
	* gimp/libgimpwidgets/gimpstock.h
	* gimp/themes/Default/images/Makefile.am
	* gimp/themes/Default/images/makefile.msc: add two
	stock symbols, modeled on the gravity symbols.
2005-06-03 17:05:01 +00:00
William Skaggs b91651fe8f Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	Don't change function before creating new rectangle;
	cause of problem identified by Karine Delvare.
2005-06-02 22:48:43 +00:00
William Skaggs 5a5651ec58 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpbrightnesscontrasttool.[ch]: Allow tool to be
	operating by clicking and dragging inside the image, as
	described in bug #165330.
2005-05-31 19:33:14 +00:00
Sven Neumann 93eab43eef Use the canonical form for signal names.
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names.
2005-05-27 16:51:39 +00:00
Simon Budig af8320ea63 reset the vector tool to Design mode whenever a new vectors object gets
2005-05-12  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: reset the vector tool to Design
	mode whenever a new vectors object gets connected to the tool.
	This time also when you pick a path in Edit mode (Oops).
2005-05-12 21:35:45 +00:00
Simon Budig 9ddc6cafcc reset the vector tool to Design mode whenever a new vectors object gets
2005-05-11  Simon Budig  <simon@gimp.org>

	* app/tools/gimpvectortool.c: reset the vector tool to Design
	mode whenever a new vectors object gets connected to the tool.

	Attempt to fix #300663, please report there if you like / dislike
	the new behaviour.
2005-05-11 13:59:17 +00:00
Sven Neumann 27042a7b36 app/tools/gimppainttool.[ch] unified tool and paint-tool statusbar APIs.
2005-05-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppainttool.[ch]
	* app/tools/gimptool.[ch]: unified tool and paint-tool statusbar APIs.

	* app/tools/gimpblendtool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpnewrectselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimpvectortool.c: changed accordingly.

	* app/tools/gimpselectiontool.c: give more hints in the statusbar.
	Some of the selection tools should probably override these.
2005-05-07 13:24:47 +00:00
Sven Neumann 3d83d3a0a2 added modifier keys to the tooltips of the selection mode buttons.
2005-05-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c: added modifier keys to the
	tooltips of the selection mode buttons.
2005-05-07 10:16:01 +00:00
Sven Neumann 8d055544f4 oops, I didn't meant to commit that yet 2005-05-07 09:38:29 +00:00
Sven Neumann 98fdc459ab removed the GUI for the Threshold option; it is more confusing than
2005-05-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpmagnifyoptions.c (gimp_magnify_options_gui):
	removed the GUI for the Threshold option; it is more confusing
	than useful.
2005-05-07 09:37:03 +00:00
Hans Breuer 28a2b13581 build menus with nmake, too menus/Makefile.am : added to EXTRA_DIST
2005-04-24  Hans Breuer  <hans@breuer.org>

	* menus/makefile.msc : build menus with nmake, too
	  menus/Makefile.am : added to EXTRA_DIST

	* **/makefile.msc app/gimpcore.def : updated

	* app/base/tmp-buf.c : there is no pid_t with msvc so typedef one
2005-04-24 15:39:15 +00:00
Sven Neumann b73e908ca5 use gimp_spin_button_new() which calls gtk_spin_button_set_numeric() for
2005-04-17  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpsizeentry.c: use gimp_spin_button_new() which
	calls gtk_spin_button_set_numeric() for us. Part of a fix for bug
	#300935.

	* libgimpwidgets/gimpwidgets.c: improved the API docs for
	gimp_spin_button_new().

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimplevelstool.c
	* plug-ins/common/screenshot.c
	* plug-ins/ifscompose/ifscompose.c
	* plug-ins/rcm/rcm_dialog.c
	* plug-ins/script-fu/script-fu-interface.c
	* plug-ins/winsnap/winsnap.c: use gimp_spin_button_new().
2005-04-17 15:28:28 +00:00
Simon Budig 7295b9cec4 NULLified the Keyboard Shortcut for the new rect select tool (clash with
2005-04-15  Simon Budig  <simon@gimp.org>

	* app/tools/gimpnewrectselecttool.c: NULLified the Keyboard
	Shortcut for the new rect select tool (clash with the Crop tool).
2005-04-15 01:13:47 +00:00
Sven Neumann aca3e85384 register handler for the "GimpPaint" log domain.
2005-04-13  Sven Neumann  <sven@gimp.org>

	* app/app_procs.c: register handler for the "GimpPaint" log domain.

	* app/core/gimpdatafactory.c (gimp_data_factory_init): don't load
	any data if TRUE is passed for no_data.

	* app/tools/gimppainttool.c (gimp_paint_tool_draw): handle a NULL
	brush gracefully.
2005-04-13 00:16:24 +00:00
Michael Natterer e6063f61a2 Let the user decide whether tool options are persistant or not as
2005-04-11  Michael Natterer  <mitch@gimp.org>

	Let the user decide whether tool options are persistant or not as
	suggested in bug #165078:

	* app/config/gimprc-blurbs.h
	* app/config/gimpguiconfig.[ch]: added "gboolean save_tool_options".

	* app/tools/gimp-tools.[ch]: implement the same logic as for
	devicerc and essionrc: added gimp_tools_clear() which deletes the
	stored tool options and added "save_tool_options" and
	"always_save" parameters to gimp_tools_save(). Everything affects
	just the primary tool options, *not* the separately saved presets
	for each tool.

	* app/gui/gui.c (gui_exit_callback): changed accordingly.

	* app/dialogs/preferences-dialog.c: added GUI for the stuff above
	in the style of the devicerc and seccionrc prefs GUIs.
2005-04-11 21:17:59 +00:00
Sven Neumann 77379e882a added a hint to the statusbar. Closes bug #300125.
2005-04-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpfuzzyselecttool.c: added a hint to the statusbar.
	Closes bug #300125.
2005-04-11 12:10:39 +00:00
Michael Natterer 09ef4b1d00 app/file/file-utils.c app/tools/gimpfliptool.c
2005-04-10  Michael Natterer  <mitch@gimp.org>

	* app/file/file-utils.c
	* app/tools/gimpfliptool.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimppaletteselect.c: removed unneeded base/ includes.
2005-04-09 22:47:51 +00:00
William Skaggs b41d8898e9 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpnewrectselecttool.[ch]
	* app/tools/gimprectangletool.[ch]: more work on rectangle
	tool ui.
2005-04-09 18:08:47 +00:00