Commit Graph

13846 Commits

Author SHA1 Message Date
c197e1fd69 New. New.
* e-lang-utils.c: New.
* e-lang-utils.h: New.

svn path=/trunk/; revision=16231
2002-03-22 20:47:53 +00:00
8c9e640194 *** empty log message ***
svn path=/trunk/; revision=16230
2002-03-22 18:09:06 +00:00
65193c5db2 (evolution_storage_removed_folder): Oops. Fix here too.
(evolution_storage_has_subfolders): And here. When cut and paste
	goes bad...

svn path=/trunk/; revision=16229
2002-03-22 18:08:58 +00:00
5f0988d34e Fix a "how can this ever have worked" bug to make unread message counts
* evolution-storage.c (evolution_storage_update_folder): Fix a
	"how can this ever have worked" bug to make unread message counts
	start working again. (#22293 etc)

svn path=/trunk/; revision=16228
2002-03-22 18:03:29 +00:00
dfbbbf2baf Use e_folder_get_name. Don't assume it's the same as the last path
* e-shell-folder-commands.c (e_shell_command_rename_folder): Use
	e_folder_get_name. Don't assume it's the same as the last path
	element.

svn path=/trunk/; revision=16227
2002-03-22 16:44:23 +00:00
3e6b83577e Document the fact that this takes two locale charset strings and one UTF8
* e-request.c (e_request_string): Document the fact that this
	takes two locale charset strings and one UTF8 string and returns a
	UTF8 string. (Huh.)

svn path=/trunk/; revision=16226
2002-03-22 15:46:20 +00:00
209b7548bc Use the date in the received header for the received_date.
2002-03-21  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-folder-summary.c (camel_message_info_new_from_header): Use
	the date in the received header for the received_date.

svn path=/trunk/; revision=16225
2002-03-22 00:19:58 +00:00
46c0e7a054 +2002-03-20 Christopher James Lahey <clahey@ximian.com>
+
+	* e-table-header-item.c: Adjust this to handle the new EPopupMenu
+	API.
+

svn path=/trunk/; revision=16223
2002-03-21 20:14:26 +00:00
cd1ef6be6d Set the wmclass to "evolution-splash" so sawfish knows it's not the same
* e-splash.c (e_splash_construct): Set the wmclass to
	"evolution-splash" so sawfish knows it's not the same kind of
	window as the main window.

svn path=/trunk/; revision=16222
2002-03-21 14:48:08 +00:00
06cb9c4e95 Make all the verb/menu arrays appropriately static.
* e-shell-view-menu.c: Make all the verb/menu arrays appropriately
static.

svn path=/trunk/; revision=16221
2002-03-21 00:09:34 +00:00
364cb04c2b Move the ComponentActionsPlaceholder into the Actions menu, instead of the
* evolution.xml: Move the ComponentActionsPlaceholder into the
Actions menu, instead of the Actions menu being in the
ComponentActionsPlaceholder.
* evolution-addressbook.xml: Updated accordingly.
* evolution-calendar.xml: Updated accordingly.
* evolution-mail-global.xml: Updated accordingly.
* evolution-mail-list.xml: Updated accordingly.
* evolution-mail-message.xml: Updated accordingly.
* evolution-mail-messagedisplay.xml: Updated accordingly.
* evolution-tasks.xml: Updated accordingly.

* evolution.xml: Add "SendReceive" verb, menu item and toolbar
button.

* evolution-mail-global.xml: Remove "MailGetSend" verb and menu
item.

* e-shell-view-menu.c (command_send_receive): New, implementation
for the "SendReceive" verb.

* e-shell.c (e_shell_send_receive): New.

* evolution-shell-component.c (impl_sendReceive): Implementation
of ShellComponent::sendReceive.
(class_init): Add the "send_receive" signal.

* evolution-shell-component.h: Added `send_receive' signal.

* Evolution-ShellComponent.idl: Added ShellComponent::sendReceive.

* component-factory.c (send_receive_cb): New, callback for the
"send_receive" signal on the EvolutionShellComponent.
(create_component): Connect.

* folder-browser-ui.c: Remove verb "MailGetSend".

* mail-callbacks.c (send_receive_mail): Removed.

* mail-send-recv.c: Remove member current_folder from struct
_send_data.
(free_send_data): No need to unref here.
(build_dialogue): Removed arg @current_folder.
(mail_send_receive): Likewise.

svn path=/trunk/; revision=16220
2002-03-21 00:07:49 +00:00
9eeff8bfec Add accelerators for "Find Now" and "Clear".
* e-search-bar.c (update_bonobo_menus): Add accelerators for "Find
Now" and "Clear".

* e-filter-bar.h: Change search labels as suggested in Anna's
redesign [#16246].

* folder-browser.c: Reorder folder_browser_search_menu_items
according to #16246.

svn path=/trunk/; revision=16219
2002-03-20 22:25:06 +00:00
bc11ab14a5 Remove all the SearchBar items before setting them up again.
* e-search-bar.c (update_bonobo_menus): Remove all the SearchBar
items before setting them up again.
(free_menu_items): New.
(impl_destroy): Call it.
(set_menu): Call it here too before adding the new items.

svn path=/trunk/; revision=16218
2002-03-20 21:18:08 +00:00
c18057139c Fix this to work right. We need to convert the input buffer to the charset
2002-03-19  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-mime-utils.c (header_encode_param): Fix this to work
	right. We need to convert the input buffer to the charset we claim
	in the encoded param (duh).

svn path=/trunk/; revision=16214
2002-03-19 23:29:41 +00:00
acbbc0a7cd add missing NULL closure data to popup menu initialization.
2002-03-19  Larry Ewing  <lewing@ximian.com>

	* mail-display.c: add missing NULL closure data to popup menu
	initialization.

svn path=/trunk/; revision=16212
2002-03-19 23:13:06 +00:00
291190adfd more fixes for libversit.la -> libversit.a
svn path=/trunk/; revision=16211
2002-03-19 20:30:52 +00:00
8d616bac31 Update for libversit change: Use .a rather than .la now.
* backend/ebook/Makefile.am: Update for libversit change: Use .a
	rather than .la now.

	* printing/Makefile.am: Likewise

	* gui/component/Makefile.am: Likewise

svn path=/trunk/; revision=16210
2002-03-19 19:29:37 +00:00
84e13e5584 Move the preferences from a per-view setting to a global setting
svn path=/trunk/; revision=16205
2002-03-19 13:25:33 +00:00
02b379173a Report a message before entering bonobo_main() to simplify debugging.
* main.c (main): Report a message before entering bonobo_main() to
simplify debugging.

svn path=/trunk/; revision=16204
2002-03-18 22:13:39 +00:00
17ef9cfeaf Updated to use the same logic as the POP code.
2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c
	(connect_to_server_wrapper): Updated to use the same logic as the
	POP code.

svn path=/trunk/; revision=16203
2002-03-18 21:59:54 +00:00
ae8129bbb2 No longer takes a stls_supported argument since we no longer need it with
2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/pop3/camel-pop3-store.c (connect_to_server): No longer
	takes a stls_supported argument since we no longer need it with
	the new logic.
	(connect_to_server_wrapper): New logic: First try connecting to
	the SSL port (995 by default), if that fails with
	SERVICE_UNAVAILABLE, then we attempt to connect (to port 110 by
	default) and try to use STARTTLS.

svn path=/trunk/; revision=16202
2002-03-18 21:31:25 +00:00
91c17571fd No accelerator for "FindNow". (add_button): Add a one-pixel padding to the
* e-search-bar.c (update_bonobo_menus): No accelerator for
"FindNow".
(add_button): Add a one-pixel padding to the button.

svn path=/trunk/; revision=16201
2002-03-18 21:20:57 +00:00
74eff81d8f Rename the "Search Now" menu entry to "Find Now". Rename the corresponding
* e-search-bar.c (update_bonobo_menus): Rename the "Search Now"
menu entry to "Find Now".  Rename the corresponding verb to
"ESearchBar:FindNow".
(update_sensitivity): Updated accordingly.
(setup_standard_verbs): Likewise.

svn path=/trunk/; revision=16200
2002-03-18 20:56:15 +00:00
1657404cf7 New halper function to update the sensitivity of the commands.
* e-search-bar.c (update_sensitivity): New halper function to
update the sensitivity of the commands.
(entry_changed_cb): New callback to make the activate_button and
the "Find Now" verb sensitive only if the entry has some contents.
(activate_by_subitems): Connect the callback here.
(setup_standard_verbs): Call update_sensitivity() here.

svn path=/trunk/; revision=16199
2002-03-18 20:54:36 +00:00
ad1e6e7f44 Init clear_button to NULL. (add_button): New helper function to add a
* e-search-bar.c (init): Init clear_button to NULL.
(add_button): New helper function to add a button to the search
bar with the right spacing etc.
(clear_search): New helper function.
(add_activate_button): Removed.
(clear_button_clicked_cb): New.
(e_search_bar_construct): Just add the button here using
`add_button'.  Also add a clear_button.
(clear_verb_cb): Rewritten by means of `clear_search()'.

* e-search-bar.h (ESearchBar): Add clear_button.

svn path=/trunk/; revision=16198
2002-03-18 20:37:14 +00:00
6b5f07ff01 New, implementation for a new "SearchNow" verb. (setup_standard_verbs):
* e-search-bar.c (search_now_verb_cb): New, implementation for a
new "SearchNow" verb.
(setup_standard_verbs): Create verb here.
(update_bonobo_menus): Add SearchNow menu item.

svn path=/trunk/; revision=16197
2002-03-18 20:14:42 +00:00
007a437688 Free account_name so we don't leak. Also after getting the source uri, use
2002-03-18  Jeffrey Stedfast  <fejj@ximian.com>

	* filter-source.c (filter_source_get_sources): Free account_name
	so we don't leak. Also after getting the source uri, use camel-url
	to hide unwanted stuff.
	(xml_decode): Use xmlFree on the buffer returned from
	xmlNodeGetContent rather than g_free, as I think they are
	incompatable. Also use camel-url here to hide any params in the
	decoded url (to make things compatable with what older versions
	may have saved).

svn path=/trunk/; revision=16196
2002-03-18 20:11:05 +00:00
3c2af0d4d8 Add `search="string"' for the keyboard navigability search thingy.
* e-storage-set-view.etspec: Add `search="string"' for the
keyboard navigability search thingy.

svn path=/trunk/; revision=16195
2002-03-18 20:06:34 +00:00
6f9b8ecfb3 [Search bar re-design implementation, Take 2.]
* e-search-bar.c (clear_verb_cb): New.
(setup_standard_verbs): New.
(e_search_bar_set_ui_component): Call it if a new
BonoboUIComponent is set.
(append_xml_menu_item): New helper function.
(update_bonobo_menus): Use it.  Also add a "Clear" menu item.
(e_search_bar_construct): @menu_items can be NULL now.
(e_search_bar_new): Same here.
(set_menu): Work with NULL items.

* e-filter-bar.c (menubar_activated): Don't handle
E_FILTERBAR_RESET_ID anymore.

* e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'.

* folder-browser.c: Remove E_FILTERBAR_RESET menu entry.

* gui/cal-search-bar.c: Removed `search_menu_items'.
(cal_search_bar_menu_activated): Removed.
(cal_search_bar_class_init): Don't install.
(cal_search_bar_construct): No menu items here.

* gui/component/addressbook.c (addressbook_menu_activated):
Removed.
(addressbook_factory_new_control): Don't connect anymore, as this
signal has been removed from the ESearchBar.
(addressbook_factory_new_control): No more custom menu items here.

svn path=/trunk/; revision=16194
2002-03-18 20:06:00 +00:00
16af96a2ab "Forward as iCalendar" uses set_body, so we can't make the composer
* Evolution-Composer.idl, evolution-composer.c
	(impl_Composer_show): "Forward as iCalendar" uses set_body, so we
	can't make the composer un-showable after doing that. So get rid
	of the "cannot show" exception.

	* e-msg-composer.c (e_msg_composer_set_body): Prepare the composer
	to be shown in its weird state: Put an explanatory message in the
	body, then call disable_editor.
	(disable_editor): Common editor-disabling code - makes the editor
	and attachment bar insensitive and disables any menu items that
	could be used to modify them.
	(e_msg_composer_new_redirect): Use disable_editor here now.

svn path=/trunk/; revision=16191
2002-03-18 16:52:27 +00:00
bc73d24d04 VFolders in the summary
svn path=/trunk/; revision=16190
2002-03-18 15:47:04 +00:00
0ae3f73824 Draw colour rectangles for each of the colour items and set a closure on
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (on_right_click): Draw colour rectangles for
	each of the colour items and set a closure on each.
	(colourise_msg): colourise the message, yo.

svn path=/trunk/; revision=16187
2002-03-16 04:40:07 +00:00
4c1a78e612 New callback to set a colour on a message.
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (colour_msg): New callback to set a colour on a
	message.

	* folder-browser.c (on_right_click): Setup our popup icons and
	stuff. Also add a submenu for Labels.

	* mail-display.c (pixmap_press): Sync up with the new EPopupMenu
	API. Note: This code can probably now be fixed to use per-item
	closures - yay!

	* mail-accounts.c (construct): Connect to the label GtkEntry's and
	GnomeColorPickers and also to the Restore Defaults button.

	* mail-config.c (mail_config_get_label_name): New function to get
	a label's name.
	(mail_config_set_label_name): New function to set the label name.
	(mail_config_get_label_color): New function to get the label
	color.
	(mail_config_set_label_color): New function to set the label
	color.
	(config_read): Read in the config options for the labels and their
	colors.
	(mail_config_write_on_exit): Save the label options.

svn path=/trunk/; revision=16186
2002-03-16 02:22:54 +00:00
eaaa45115f Updated to use new EPopupMenu API.
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* e-activity-handler.c (show_cancellation_popup): Updated to use
	new EPopupMenu API.

svn path=/trunk/; revision=16185
2002-03-16 02:20:31 +00:00
e91db1e5a1 Updated to use new EPopupMenu API.
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* gui/e-day-view.c: Updated to use new EPopupMenu API.

	* gui/e-week-view.c: Updated to use new EPopupMenu API.

	* gui/e-calendar-table.c: Updated to use new EPopupMenu API.

svn path=/trunk/; revision=16184
2002-03-16 02:19:47 +00:00
0709fc318f Update to use new EPopupMenu API.
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* gui/widgets/e-addressbook-view.c (table_right_click): Update to
	use new EPopupMenu API.

	* gui/widgets/e-addressbook-reflow-adapter.c
	(e_addressbook_reflow_adapter_right_click): Update to use new
	EPopupMenu API.

	* gui/component/select-names/e-select-names.c
	(section_right_click_cb): Update to match new EPopupMenu api.

svn path=/trunk/; revision=16183
2002-03-16 02:18:40 +00:00
066b7b5e9f Allow for per-item closures and also instead of taking a const char
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* gal/gal/widgets/e-popup-menu.c: Allow for per-item closures and
	also instead of taking a const char *pixname, take a GtkWidget
	*pixmap instead.

	* gal/widgets/e-categories.c: Update to sync up with changes made
	to the EPopupMenu Api.

svn path=/trunk/; revision=16182
2002-03-16 02:17:13 +00:00
b171dcc269 expand the relative urls of the object at the point so that relative
2002-03-15  Larry Ewing  <lewing@ximian.com>

	* mail-display.c: expand the relative urls of the object at the
	point so that relative images can be saved correctly.

	* folder-browser.c: add a closing quote in a comment.

svn path=/trunk/; revision=16181
2002-03-15 23:27:04 +00:00
88a322f15d Check for a style_set signal on all the contained GnomeCanvasItems.
2002-03-15  Christopher James Lahey  <clahey@ximian.com>

	* gal/widgets/e-canvas.c (e_canvas_style_set): Check for a
	style_set signal on all the contained GnomeCanvasItems.

From gal/e-table/ChangeLog:

2002-03-15  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-toggle.c: Clear the pixmap cache in e_cell_style_set.

	* e-cell.c, e-cell.h (e_cell_style_set): Added this virtual
	method.

	* e-table-item.c, e-table-item.h: Call e_cell_style_set in out
	style_set signal.

svn path=/trunk/; revision=16180
2002-03-15 23:16:01 +00:00
f8f95421a6 Commit ChangeLog.
svn path=/trunk/; revision=16179
2002-03-15 22:52:23 +00:00
c85ad2279b [Start implementing the new Search Bar design.]
* e-search-bar.c (init): Init various members to NULL.
(set_dropdown): Removed.
(add_dropdown): Removed.
(set_menu): New.
(add_menu_items): New.
(set_option): No need to setup the dropdown size here anymore.
(verb_cb): Function implementing the search menu verbs.
(update_bonobo_menus): New.
(e_search_bar_set_ui_component): New.

* e-search-bar.h: Remove the dropdown button stuff from struct
ESearchBar.  Add `uic' and `items' members.

* e-filter-bar.c (e_filter_bar_new): Get a @uic arg.

* folder-browser-factory.c (control_activate): Set the UI
component on the search bar.

* gui/tasks-control.c (tasks_control_activate): Call
`e_tasks_set_ui_component()' here to give it the
BonoboUIComponent.
(tasks_control_deactivate): Likewise, call it here to unset the
BonoboUIComponent.

* gui/e-tasks.c (e_tasks_set_ui_component): New.

* gui/calendar-commands.c (calendar_control_activate): Call
gnome_calendar_set_ui_component() here.
(calendar_control_deactivate): ...And here, with a NULL
BonoboUIComponent.

* gui/gnome-cal.c (gnome_calendar_set_ui_component): New.

* gui/component/addressbook.c (control_activate): Call
`e_search_bar_set_ui_component()' to set the BonoboUIComponent for
the search bar.

* gui/component/GNOME_Evolution_Addressbook.oaf.in: Add an icon
for the LDAP sources configuration control.

svn path=/trunk/; revision=16178
2002-03-15 22:51:13 +00:00
95c4e2623b Add a GdkPixmap * cache of rendered toggle images. This should
2002-03-15  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-toggle.c: Add a GdkPixmap * cache of rendered toggle
	images.  This should considerably speed up over the wire
	performance of ECellToggle.

svn path=/trunk/; revision=16177
2002-03-15 21:51:06 +00:00
524e5c62c0 Set horizontal scroll policy to GTK_POLICY_NEVER here. Don't set usize
2002-03-15  Christopher James Lahey  <clahey@ximian.com>

	* e-multi-config-dialog.c (init): Set horizontal scroll policy to
	GTK_POLICY_NEVER here.  Don't set usize here.  Changed RGBA_COLOR
	to RGB_COLOR.  Turned on horizontal resize.

svn path=/trunk/; revision=16176
2002-03-15 20:39:43 +00:00
a17d29d26c New function that returns the total minimum width of all the columns.
2002-03-15  Christopher James Lahey  <clahey@ximian.com>

	* e-table-header.c, e-table-header.h (e_table_header_min_width):
	New function that returns the total minimum width of all the
	columns.

	* e-table.c, e-table.h (set_header_width): Call
	e_table_header_min_width here instead of total_width.
	(et_size_request): Override the size_request method instead of
	doing set_usize.

svn path=/trunk/; revision=16175
2002-03-15 20:36:07 +00:00
cbbaa07125 Don't allow any empty structs. If !ENABLE_THREADS, provide a gpointer
2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-private.h: Don't allow any empty structs. If
	!ENABLE_THREADS, provide a gpointer dummy member. Fixes bug #6382.

svn path=/trunk/; revision=16174
2002-03-15 19:06:30 +00:00
7947a64780 use gtkhtml editor API version 1.1
2002-03-15  Radek Doulik  <rodo@ximian.com>

	* e-msg-composer.c: use gtkhtml editor API version 1.1

svn path=/trunk/; revision=16173
2002-03-15 16:52:46 +00:00
ac6299d7a4 use bonobo exception macros to tidy
2002-03-15  JP Rosevear  <jpr@ximian.com>

	* gui/main.c: use bonobo exception macros to tidy

	* gui/itip-control-factory.c: ditto

	* gui/gnome-cal.c: ditto

	* gui/comp-editor-factory.c: ditto

	* gui/calendar-commands.c: ditto

svn path=/trunk/; revision=16172
2002-03-15 14:05:33 +00:00
02d39bf7b3 Updated Norwegian (bokmål) translation.
2002-03-15  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokmål) translation.

svn path=/trunk/; revision=16171
2002-03-15 13:52:21 +00:00
7df203024e Remove "mailstorage", since it's not needed any more. (storage_activate):
* component-factory.c (folder_types): Remove "mailstorage", since
	it's not needed any more.
	(storage_activate): Gone, although some of it is moved to
	storage_connect.
	(create_view): Remove mailstorage code.
	(add_storage): Connect to the storage's open_folder signal.
	Instead of creating a "mailstorage" folder, call
	evolution_storage_has_subfolders to let the shell know we haven't
	finished filling it in yet.
	(storage_connect): Handler for the storage's asyncOpenFolder
	signal. Call mail_note_store() to try to connect.
	(storage_connected): Callback for above. If the connection attempt
	failed, call evolution_storage_has_subfolders again to make the
	shell re-close the storage.

	* mail-folder-cache.c (update_folders): Remove a piece of
	mailstorage legacy code from here.

svn path=/trunk/; revision=16170
2002-03-14 22:23:06 +00:00
86b700d089 Support for delayed filling-in of storages/folders.
* Evolution-Storage.idl (StorageListener): add
	notifyHasSubfolders, to announce that a folder has currently-
	unknown subfolders.
	(Storage): add asyncOpenFolder, to request that previously-
	announced subfolders be filled in.

	* evolution-storage.c (impl_Storage_async_open_folder): emit
	OPEN_FOLDER.
	(evolution_storage_has_subfolders): Implement by calling
	notifyHasSubfolders on all of its listeners.

	* evolution-storage-listener.c
	(impl_GNOME_Evolution_StorageListener_notifyHasSubfolders): emit
	HAS_SUBFOLDERS.

	* e-corba-storage.c (impl_StorageListener_notifyHasSubfolders):
	Implement by calling e_storage_has_subfolders.
	(async_open_folder): Implement by calling asyncOpenFolder on the
	CORBA storage.

	* e-storage.c (EStoragePrivate, init, destroy): Keep a list of
	pseudofolders representing un-filled-in subtrees.
	(impl_async_open_folder): No-op default implementation
	(e_storage_async_open_folder): New function to request that
	un-filled-in subtrees be filled in.
	(e_storage_new_folder): If the new folder's parent has an
	"un-filled-in children" pseudofolder, remove it.
	(e_storage_has_subfolders): New function to note that a folder has
	unknown children. If the folder previously was marked as having
	real children, remove them, and emit CLOSE_FOLDER to reset it back
	to an a "unknown subfolders" state.

	* e-storage-set.c (make_full_path): Make this deal with path being
	"/", since that case gets used from storage_close_folder_cb
	sometimes.
	(storage_close_folder_cb): Proxy EStorage's CLOSE_FOLDER signal.
	(storage_set_view_folder_opened): Handle EStorageSetView's
	FOLDER_OPENED signal by calling e_storage_async_open_folder.

	* e-storage-set-view.c (etree_fill_in_children): If the given node
	is its parent's first child, emit FOLDER_OPENED for the parent.
	(close_folder_cb): Handler for EStorageSet's CLOSE_FOLDER signal.
	Ask the model to close that node.
	(e_storage_set_view_construct): Set the default expanded state for
	the tree to FALSE rather than TRUE, to prevent unwanted expansion
	of delayed nodes. (This only affects the very first time the tree
	is displayed anyway: after that its state is loaded off disk.)

	* e-shell.c (e_shell_construct): Register the "noselect" type with
	the folder type registry, so icon lookups on placeholder folders
	will work.

svn path=/trunk/; revision=16169
2002-03-14 22:22:35 +00:00