aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-store.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-05-30 01:08:53 +0800
committerDan Winship <danw@src.gnome.org>2001-05-30 01:08:53 +0800
commit11ea26d0e33405490795a766406d5e065b6b9234 (patch)
treebe249f7528c0a8b17cdd0890d40684f12eeb50e5 /camel/camel-disco-store.h
parentefabbb93c9f61e583d835d1735834cc5bd0ce63c (diff)
downloadgsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.tar.gz
gsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.tar.zst
gsoc2013-evolution-11ea26d0e33405490795a766406d5e065b6b9234.zip
Code for logging and replaying offline operations.
* camel-disco-diary.c: Code for logging and replaying offline operations. * camel-disco-store.c (disco_construct): Set disco->status here (where we can base it on the session's offline status) rather than at init time. (disco_connect): If we connect online and have a non-empty diary, switch to RESYNCING mode and replay the diary to the server. (disco_get_folder, disco_get_folder_info): Add _resyncing variants. * camel-disco-folder.c (disco_sync, disco_expunge_uids, disco_append_message, disco_copy_messages_to, disco_move_messages_to): Add _resyncing variants to switches. (disco_expunge_uids, disco_append_message, disco_copy_messages_to, disco_move_messages_to): Remove #ifdef'ed out diary code: let the provider do it. (disco_append_message): Redo the append methods to no longer return the UID, since we're no longer doing the logging from here. svn path=/trunk/; revision=10040
Diffstat (limited to 'camel/camel-disco-store.h')
-rw-r--r--camel/camel-disco-store.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/camel/camel-disco-store.h b/camel/camel-disco-store.h
index cb40cf4590..73ba677c34 100644
--- a/camel/camel-disco-store.h
+++ b/camel/camel-disco-store.h
@@ -42,15 +42,14 @@ extern "C" {
typedef enum {
CAMEL_DISCO_STORE_ONLINE,
CAMEL_DISCO_STORE_OFFLINE,
-#ifdef NOTYET
CAMEL_DISCO_STORE_RESYNCING
-#endif
} CamelDiscoStoreStatus;
struct _CamelDiscoStore {
CamelRemoteStore parent_object;
CamelDiscoStoreStatus status;
+ CamelDiscoDiary *diary;
};
@@ -62,6 +61,7 @@ typedef struct {
CamelException *);
gboolean (*can_work_offline) (CamelDiscoStore *);
+
gboolean (*connect_online) (CamelService *,
CamelException *);
gboolean (*connect_offline) (CamelService *,
@@ -80,16 +80,24 @@ typedef struct {
const char *name,
guint32 flags,
CamelException *ex);
-
- CamelFolderInfo * (*get_folder_info_online) (CamelStore *store,
- const char *top,
- guint32 flags,
- CamelException *ex);
- CamelFolderInfo * (*get_folder_info_offline) (CamelStore *store,
- const char *top,
+ CamelFolder * (*get_folder_resyncing) (CamelStore *store,
+ const char *name,
guint32 flags,
CamelException *ex);
+ CamelFolderInfo * (*get_folder_info_online) (CamelStore *store,
+ const char *top,
+ guint32 flags,
+ CamelException *ex);
+ CamelFolderInfo * (*get_folder_info_offline) (CamelStore *store,
+ const char *top,
+ guint32 flags,
+ CamelException *ex);
+ CamelFolderInfo * (*get_folder_info_resyncing) (CamelStore *store,
+ const char *top,
+ guint32 flags,
+ CamelException *ex);
+
} CamelDiscoStoreClass;
@@ -103,6 +111,7 @@ void camel_disco_store_set_status (CamelDiscoStore *,
CamelException *);
gboolean camel_disco_store_can_work_offline (CamelDiscoStore *);
+
/* Convenience functions */
gboolean camel_disco_store_check_online (CamelDiscoStore *store, CamelException *ex);
2effef3f1a63ec539'>Free the uri_string once we're done with it.Jeffrey Stedfast2002-06-132-1/+8 * Fix a typo.Kjartan Maraas2002-06-132-1/+5 * removed already loaded client when asked to be opened again, and *really*Rodrigo Moya2002-06-122-11/+13 * gal_view_menus_set_show_define_views (..., FALSE);Christopher James Lahey2002-06-052-0/+6 * Set the title of our GalViewCollection.Christopher James Lahey2002-06-043-0/+10 * In an attempt to clean up the config dialog (and to reduce its overallAnna Marie Dirks2002-06-042-179/+288 * keep a reference to the Query object, to avoid crashes when the queriesRodrigo Moya2002-06-042-4/+12 * update protoJP Rosevear2002-05-274-11/+39 * if there are remaining items, return false (foreach_close_cb): don'tJP Rosevear2002-05-277-15/+37 * a registry of comp editors so we can close them all centrallyJP Rosevear2002-05-2713-205/+451 * check the value returned by gnome_vfs_uri_to_string before using it.Rodrigo Moya2002-05-252-1/+10 * Pass the @component_pixmaps in so we give the new "Meeting" button anEttore Perazzoli2002-05-215-4/+25 * ported changes from evolution-1-0 to make it work with reminders on remoteRodrigo Moya2002-05-213-9/+66 * check the string returned by gnome_vfs_uri_to_string, which can be empty.Rodrigo Moya2002-05-202-0/+10 * set the view to the current viewJP Rosevear2002-05-172-0/+7 * added support for CAL_CLIENT_OPEN_PERMISSION_DENIED error code.Rodrigo Moya2002-05-177-1/+72 * added PermissionDenied exception and make it be raised in open,Rodrigo Moya2002-05-1717-116/+249 * Check with e_shell_prepare_for_quit() before quitting.Ettore Perazzoli2002-05-163-0/+7 * set the working hours for the meeting time selectorJP Rosevear2002-05-152-0/+11 * make the range datetime member a struct not a pointerJP Rosevear2002-05-155-9/+22 * Rename NotPrepared to notPrepared and NotSyncing to notSyncing.Ettore Perazzoli2002-05-092-1/+8 * start a server a uri (start_default_server): start a default serverJP Rosevear2002-05-087-42/+399 * show progress messages on the status bar.Rodrigo Moya2002-05-032-0/+11 * #include <gtk/gtkmain.h> to avoid warnings.Rodrigo Moya2002-05-032-0/+5 * only discard the popup if we created oneJP Rosevear2002-05-022-0/+9 * refactored a bit, to not do things in idle loops.Rodrigo Moya2002-05-022-83/+80 * modify the start and end hours to accomodate all the events in the dayJP Rosevear2002-05-023-0/+35 * remove setup_widgets from here (gnome_calendar_init): move setup_widgetsJP Rosevear2002-05-012-2/+7 * can't even spell my own name right!!Jeffrey Stedfast2002-04-271-1/+1 * Don't link to libibex anymore!!Jeffrey Stefdast2002-04-272-1/+4 * launch pilot settings cappletJP Rosevear2002-04-243-0/+65 * free the view popup (e_week_view_show_popup_menu): add the view popup toJP Rosevear2002-04-247-30/+112 * raise an exception if the backend's method returns NULL, since we can'tRodrigo Moya2002-04-222-0/+11 * Collapsed notebook into two pages and added accelerators for everything,Anna Marie Dirks2002-04-202-354/+332 * properly handle -ve recurrence valuesJP Rosevear2002-04-192-67/+273 * show the settingsJP Rosevear2002-04-196-6/+90 * Bumped required gal version number to 0.19.99.11.Christopher James Lahey2002-04-185-119/+77 * new method.Rodrigo Moya2002-04-127-2/+69 * Fix this: Rodrigo's patch used one of the functions I just removed. :)Dan Winship2002-04-112-12/+11 * use the default uri for tasks (as stored in the configuration) when theRodrigo Moya2002-04-112-22/+14 * Use new-and-improved default folder URI config paths.Dan Winship2002-04-116-103/+31 * Add view_info arg. If the view_info is non-empty and this is a calendarDan Winship2002-04-095-9/+76 * Oops.JP Rosevear2002-04-071-0/+4 * Remove dead files.JP Rosevear2002-04-072-1250/+0 * add config_item:typeJP Rosevear2002-04-072-0/+9 * ignore .pureChris Toshok2002-04-022-0/+2 * Fix a string.Kjartan Maraas2002-04-022-1/+5 * simple fix for DB3 header inclusion in Mac OS X, by Max HornRodrigo Moya2002-04-022-0/+9 * free the my_address member (find_my_address): fall back on a CN match ifJP Rosevear2002-04-012-97/+158 * Set a priority for the config item. Rename to "Calendar and Tasks".Ettore Perazzoli2002-03-302-2/+9 * s/libversit.la/libversit.a/JP Rosevear2002-03-303-2/+8 * implement new pop up menu items for "Save as", "Print", "Assign Task",JP Rosevear2002-03-307-116/+664 * Remove old fileJP Rosevear2002-03-302-490/+0 * more fixes for libversit.la -> libversit.aDan Winship2002-03-204-4/+11 * [Search bar re-design implementation, Take 2.]Ettore Perazzoli2002-03-192-31/+8 * Updated to use new EPopupMenu API.Jeffrey Stedfast2002-03-165-61/+72 * [Start implementing the new Search Bar design.]Ettore Perazzoli2002-03-168-8/+66 * use bonobo exception macros to tidyJP Rosevear2002-03-157-41/+43 * add all day event editor modeJP Rosevear2002-03-156-117/+119 * Add an "evolution:config_item:icon_path" attribute so we get an icon forEttore Perazzoli2002-03-142-0/+9 * Add <visible>False</visible> to cal-prefs-dialog so it doesn't get shownEttore Perazzoli2002-03-1312-395/+447 * Should fix #21240Rodrigo Moya2002-03-072-22/+38 * reverted my last change of adding the METHOD property to the incomingRodrigo Moya2002-03-063-2/+37 * [pullup from evolution-1-0-branch]Dan Winship2002-03-062-0/+11 * remove unneeded parameter from print_text_size everywhereJP Rosevear2002-03-066-69/+131 * added support for printing the Tasks table. I hacked it a bit so the userDamon Chaplin2002-03-052-0/+220 * [pullup from evolution-1-0-branch]Dan Winship2002-03-042-80/+93 * added the METHOD property to the top level component we create.Rodrigo Moya2002-03-012-0/+7 * display an error message if the call to gnome_calendar_open orRodrigo Moya2002-02-273-2/+29 * [pullup from evolution-1-0-branch]Dan Winship2002-02-262-33/+17 * change query_changed to search_activated.Chris Toshok2002-02-252-4/+11 * New helper function. (create_object): Add icons for the various userEttore Perazzoli2002-02-223-32/+88 * pass extra itip_send_comp params (send_freebusy): ditto (ok_clicked_cb):JP Rosevear2002-02-2010-63/+177 * use new column enums (set_value_at): emit pre-change/cell change signalsJP Rosevear2002-02-167-318/+570 * don't append 'calendar.ics' to the URI. (get_prop): finished.Rodrigo Moya2002-02-145-32/+57 * check if the CalComponentDateTime values are set before trying to useDamon Chaplin2002-02-092-15/+28 * added vCalendar importer and intelligent GnomeCalendar importer code here,Damon Chaplin2002-02-097-102/+627 * change custom widget creator to e_url_entry_newJP Rosevear2002-02-093-41/+20 * add a custom widget created with e_url_button_newJP Rosevear2002-02-094-10/+56 * pass meeting boolean for gnome_calendar_edit_object andJP Rosevear2002-02-0815-100/+212 * Bumped the required version of gal.Christopher James Lahey2002-02-073-67/+85 * convert months from 1-12 to 0-11. Fixes bug #19235.Damon Chaplin2002-02-072-0/+11 * new gui routines for conduit settings (e_todo_gui_fill_config): dittoJP Rosevear2002-02-052-6/+88 * if this is a reply, print the attendee statusJP Rosevear2002-01-312-0/+39 * Use 1 instead of zero as the minimum value for the repetitions spin buttonFederico Mena Quintero2002-01-262-1/+8 * Ooops. Forgot to use EVOLUTION_CALENDAR_LIBS here.Ettore Perazzoli2002-01-252-1/+6 * Clean up some of the Makefiles so we dont' link every library multipleEttore Perazzoli2002-01-2510-68/+45 * Pass a NULL @icon toEttore Perazzoli2002-01-243-8/+13 * Buffers Files Tools Edit Search Mule HelpJP Rosevear2002-01-223-11/+31 * save the alarm string in the correct variable (str), so it actually getsDamon Chaplin2002-01-182-2/+7 * default component classification to PUBLIC. Fixes internal bug #1066Rodrigo Moya2002-01-172-3/+10 * move all functions here, get rid of header files, use e-pilot-settings toJP Rosevear2002-01-1511-568/+509 * use icaltimetype_to_tmJP Rosevear2002-01-152-7/+5 * figure out when today is and highlight if it is not selectedJP Rosevear2002-01-154-3/+30 * add protosJP Rosevear2002-01-144-21/+164 * translate timezone names when displayed. Fixes bug #6544.Damon Chaplin2002-01-124-15/+59 * new verb callback (sensitize_commands): set sensitivity of mark completeJP Rosevear2002-01-046-3/+79 * only need one warning message nowJP Rosevear2002-01-043-46/+14 * confirm expunging of the tasks (tasks_control_expunge_cmd): verb callbackJP Rosevear2002-01-0311-822/+302 * remove needs send signal related cruft (save_comp_with_send): withJP Rosevear2001-12-228-59/+58 * inherit from bonobo window12001-12-213-34/+58 * -- Merge fix for #17377 from the evolution-1-0-branch.Ettore Perazzoli2001-12-202-0/+9 * go slow and clear the map if the last uri and the current uri do not matchJP Rosevear2001-12-1910-77/+243 * use get_real_item (get_refresh_options): uncomment out (get_real_item):JP Rosevear2001-12-184-41/+151 * new file to contain all timezone names for translation. We won't be usingDamon Chaplin2001-12-143-0/+393 * ungrab the pointer before calling e_day_view_finish_long_event_resizeJP Rosevear2001-12-133-9/+50 * properly convert the dtstart and dtend times if they are UTC (cursor_cb):JP Rosevear2001-12-124-38/+97 * removed code that connects to GnomeCalendar's "dates_shown_changed"Damon Chaplin2001-12-113-10/+24 * fixed executable name. Fixes bug #16880.Damon Chaplin2001-12-112-1/+6 * if we have an alarm that can be represented on the pilot, set theJP Rosevear2001-12-093-14/+137 * s/%/%sRodrigo Moya2001-12-082-2/+7 * (committed by Damon)Federico Mena Quintero2001-12-082-25/+72 * if the key in the config database does not exist, just return the localRodrigo Moya2001-12-072-2/+27 * default component classification to PUBLICRodrigo Moya2001-12-072-3/+10 * Explicitly destroy the EMeetingModel. This is a hack to work aroundJon Trowbridge2001-12-074-0/+28 * added entry for the LOCATION fieldRodrigo Moya2001-12-063-2/+82 * Marked strings for translation.Zbigniew Chyla2001-12-062-13/+21 * make sure we call e_table_model_pre_change() before changing the model.Damon Chaplin2001-12-044-8/+34 * disabled 'Alarms', 'End Date' and 'Show Time As' fields, as these are notDamon Chaplin2001-12-042-3/+9 * connect to "cal_set_mode" signal before calling cal_client_set_mode. Also,Rodrigo Moya2001-12-032-7/+13 * only show the dialog if we created it. Hopefully fixes bug #15774. AlsoDamon Chaplin2001-12-012-3/+27 * Set the category of the new task to that of the search bar. Fixes bugFederico Mena Quintero2001-11-302-0/+9 * fixed typos in translatable strings. Fixes Ximian #15456Rodrigo Moya2001-11-283-2/+8 * Substituted gnome_font_get_width_string() with gnome_font_get_width_utf8()Damon Chaplin2001-11-152-8/+14 * Convert the buffer to UTF8. (calendar_model_value_to_string): Do notFederico Mena Quintero2001-11-152-2/+10 * #ifdef'ed out the LOCATION field for now, since it wasn't supportedDamon Chaplin2001-11-153-0/+16 * don't abort when e_table_selected_count() returns odd values. There seemsDamon Chaplin2001-11-152-4/+14 * (committed to CVS by Damon) Fixes bug #15137.Federico Mena Quintero2001-11-153-13/+144 * remove silly debug warningJP Rosevear2001-11-152-2/+5 * make the timezone default to UTC. Fixes bug #14362.Damon Chaplin2001-11-145-25/+36 * only change the day, month and year for the start date, for not screwingRodrigo Moya2001-11-133-61/+81 * The last argument to the bonobo_config_get_XXX_with_default() is aFederico Mena Quintero2001-11-122-14/+15 * recurrence expansion callback for free/busy (create_user_free_busy):JP Rosevear2001-11-122-18/+51 * new protosJP Rosevear2001-11-124-20/+68 * don't subtract a day from DTEND. For DATE values we don't include theDamon Chaplin2001-11-102-2/+6 * fix buffer overflow. Fixes bug #10285 (the printing of lines & dates inDamon Chaplin2001-11-102-1/+7 * Convert strings to GTK+ encoding. (meeting_page_destroy): Free allocatedChyla Zbigniew2001-11-102-2/+12 * don't let an empty event occur for all days when auto scrollingJP Rosevear2001-11-092-0/+16 * don't leak the string returned by cal_component_get_as_string nor theRodrigo Moya2001-11-092-1/+14 * don't add the item, remove it if declining (in case it was added before)JP Rosevear2001-11-082-4/+9 * Convert generated string to UTF-8.Chyla Zbigniew2001-11-082-1/+6 * emit changed signal (e_meeting_time_selector_on_end_time_changed): emitJP Rosevear2001-11-082-18/+60 * make sure to remove all attendees from the model when we edit a new comp,JP Rosevear2001-11-074-10/+34 * <ettore> ok so <ettore> should I build this tarball again? ettore doesn'tDan Winship2001-11-063-1/+8 * add a changed signal (e_meeting_time_selector_construct): emit changedJP Rosevear2001-11-066-73/+194 * removed ';' in the wrong place. Fixes bug #14421.Damon Chaplin2001-11-062-1/+6 * -export-dynamic for libglade custom widget.Dan Winship2001-11-052-0/+7 * use TZID from the builtin timezone, instead of using the location name.Damon Chaplin2001-11-052-1/+10 * Short-circuit the calculation of the repeat time if there are zeroFederico Mena Quintero2001-11-032-4/+14 * Argh, missing commit from yesterday to fix building of the tarball.Ettore Perazzoli2001-11-021-1/+1 * Added rules to generate `Evolution-Addressbook-SelectNames.h'.Ettore Perazzoli2001-11-012-18/+40 * #include <string.h>Federico Mena Quintero2001-10-312-0/+5 * If a query is not in progress, just retag the whole thing. An event mayFederico Mena Quintero2001-10-313-41/+67 * Fix bug #13723.Federico Mena Quintero2001-10-316-90/+495 * Make the pre_changes and changes match here.Christopher James Lahey2001-10-312-0/+7 * send as mixed rather than alternativeJP Rosevear2001-10-312-1/+6 * Removed. (KEY_NUM_CALENDARS_TO_LOAD): New key, containing the number ofEttore Perazzoli2001-10-312-64/+42 * disconnect signals added in append_page(). Fixes Gtk-Critical warningDamon Chaplin2001-10-312-0/+11 * set a body for the messageJP Rosevear2001-10-312-1/+11 * call GNOME_Evolution_Composer_setMultipartType to get aDan Winship2001-10-312-0/+12 * Revert.JP Rosevear2001-10-311-12/+1 * don't overwrite memory (e_meeting_time_selector_on_end_time_changed):JP Rosevear2001-10-313-3/+27 * return NULL if passed NULL. Should fix bug #14048.Damon Chaplin2001-10-312-0/+8 * Do not ignore the exceptions of the cases that do not have defaults.Federico Mena Quintero2001-10-312-3/+29 * if we are doing all day stuff, make the drag increment 1 day at a timeJP Rosevear2001-10-312-7/+21 * Add _() to a string that was missing it.Federico Mena Quintero2001-10-312-1/+6 * Commit the ETable click-to-add for if the dialog is being destroyed.Federico Mena Quintero2001-10-312-1/+29 * Allocate enough space for the string! (was missing the null terminator)Federico Mena Quintero2001-10-312-2/+8 * move in whole day increments if we are in all day modeJP Rosevear2001-10-315-43/+65 * s/BONOBO_HTML_GNOME_LIBS/BONOBO_HTML_GNOME_CFLAGS/Dan Winship2001-10-312-2/+6 * Oops.JP Rosevear2001-10-311-1/+29 * count the actual attendees (doesn't include people delegatingJP Rosevear2001-10-315-20/+108 * set to the default timezone for DATE values, in case the user switches toDamon Chaplin2001-10-302-10/+14 * handle DATE values for Start and Due dates.Damon Chaplin2001-10-302-30/+64 * updated code to handle DATE values.Damon Chaplin2001-10-3011-58/+156 * Fix bug #10016.Federico Mena Quintero2001-10-304-151/+153 * Use an EMessageBox instead of a gnome_dialog_question so that the labelFederico Mena Quintero2001-10-3013-89/+433 * process an individual section here (select_names_ok_cb): call aboveJP Rosevear2001-10-303-84/+123 * Require gal 0.15.99.8Joe Shaw2001-10-306-6/+6 * use libical-evolution.laDamon Chaplin2001-10-3011-33/+96 * Launch the alarm daemon as soon as the calendar component is started.Federico Mena Quintero2001-10-302-0/+37 * Fix the verb names for the pixmaps in the Edit menu; they were out ofFederico Mena Quintero2001-10-302-4/+10 * new function. (dump_backend): new function.Chris Toshok2001-10-303-0/+34 * Fix bug #12163.Federico Mena Quintero2001-10-304-55/+119 * include the header as a source so it gets dist'ed.JP Rosevear2001-10-302-0/+6 * s/BONOBO_CFLAGS/BONOBO_GNOME_CFLAGS/.Ettore Perazzoli2001-10-302-1/+6 * fixed URI construction, which was preventing importing into the rootRodrigo Moya2001-10-302-2/+11 * handle date valuesJP Rosevear2001-10-302-1/+9 * Forgot this oneRodrigo Moya2001-10-301-1/+1 * added evolution-calendar-importer binary, starting with an iCalendar fileRodrigo Moya2001-10-307-0/+430 * get the management object by idJP Rosevear2001-10-304-3/+10 * new functions for setting and retrieving the default calendar URIsRodrigo Moya2001-10-304-9/+101 * unref the comp when finishedJP Rosevear2001-10-295-21/+14 * added break statements after each case, when setting the classification.Damon Chaplin2001-10-292-0/+12 * removed this function, as we don't need to unref at all the WombatClientRodrigo Moya2001-10-292-25/+15 * get the tasks directly from the CalendarModel, so we get the filtering &Damon Chaplin2001-10-298-84/+113 * when the week start day is set to Sunday, we have to be careful to makeDamon Chaplin2001-10-287-51/+160 * Cancel editing if the user presses Escape.Federico Mena Quintero2001-10-283-0/+75 * More fixing of the license texts.Ettore Perazzoli2001-10-282-18/+18 * Delete appointments with empty summaries. Fixes Ximian bug #780.Federico Mena Quintero2001-10-2812-14/+306 * Fixing the license text.Ettore Perazzoli2001-10-28122-488/+366 * Fixing the license text.Ettore Perazzoli2001-10-2860-60/+0 * touch on lookup (check_for_slow_setting): write touched only if slow syncJP Rosevear2001-10-273-13/+30 * remove the merges as valid sync typesJP Rosevear2001-10-277-18/+53 * Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-2759-118/+118 * Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2 * convert the formatted date to UTF-8.Damon Chaplin2001-10-2719-84/+286 * make debug output more accurateJP Rosevear2001-10-273-20/+23 * remove the uid from the map if was archived and is now deletedJP Rosevear2001-10-273-2/+13 * added status bar messagesRodrigo Moya2001-10-274-0/+35 * modify fieldsJP Rosevear2001-10-266-439/+177 * Get a fresh CORBA_Environment for every CORBA call. Hopefully will fixFederico Mena Quintero2001-10-262-1/+13 * used functions to get PUBLISH_OPTIONS etc., so we can translate them.Damon Chaplin2001-10-262-23/+125 * added bug numberDamon Chaplin2001-10-261-1/+1 * subtract 1 from any positive BYSETPOS value, since our array is 0-based.Damon Chaplin2001-10-26