[evolution-patches] patch for showin the progress indication while loading the calendar items from eds [calendar]



Hi,
    Have attached the patch.

thanks, chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.470
diff -u -p -r1.470 ChangeLog
--- ChangeLog	23 Jun 2005 05:39:02 -0000	1.470
+++ ChangeLog	1 Jul 2005 11:29:35 -0000
@@ -1,3 +1,30 @@
+2005-07-01  Chenthill Palanisamy  <pchenthill novell com>
+
+	* backends/groupwise/e-cal-backend-groupwise.c
+	(populate_cache): Send the progress notification.
+	(set_container_id_with_count), (connect_to_server): Get
+	the number of items present in the calendar folder from
+	the server.
+	* idl/Evolution-DataServer-Calendar.idl: Changed the type of
+       	percent to double from int.
+	* libecal/e-cal-marshal.list: Added a new item to marshal arg's
+	string, double.
+	* libedata-cal/e-data-cal-view.c:
+	(e_data_cal_view_notify_progress):
+	* libedata-cal/e-data-cal-view.h:
+	* libecal/e-cal-view-listener.c (impl_notifyQueryProgress),
+	(e_cal_view_listener_class_init):
+	* libecal/e-cal-view-listener.h:
+	* libecal/e-cal-view.c (view_progress_cb),
+	(e_cal_view_class_init):
+	* libecal/e-cal-view.h:Changed the percent element
+	to double.
+	* libedata-cal/e-cal-backend.h:
+	* libedata-cal/e-cal-backend.c:
+	(e_cal_backend_notify_view_progress),
+	(e_cal_backend_notify_view_done): Added the new function to notify the
+	progress information.
+
 2005-06-23  Chenthill Palanisamy  <pchenthill novell com>
 
 	* backends/http/Makefile.am: Removed unnecessary
Index: backends/groupwise/e-cal-backend-groupwise.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/groupwise/e-cal-backend-groupwise.c,v
retrieving revision 1.146
diff -u -p -r1.146 e-cal-backend-groupwise.c
--- backends/groupwise/e-cal-backend-groupwise.c	20 Jun 2005 16:41:17 -0000	1.146
+++ backends/groupwise/e-cal-backend-groupwise.c	1 Jul 2005 11:29:38 -0000
@@ -61,6 +61,9 @@ struct _ECalBackendGroupwisePrivate {
 	GHashTable *categories_by_id;
 	GHashTable *categories_by_name;
 
+	/* number of calendar items in the folder */
+	guint32 total_count;
+	
 	/* fields for storing info while offline */
 	char *user_email;
 	char *local_attachments_store;
@@ -128,11 +131,15 @@ populate_cache (ECalBackendGroupwise *cb
         GList *list = NULL, *l;
 	gboolean done = FALSE;
 	int cursor = 0;
+	guint32	total, num = 0;
+	double progress = 0;
 	const char *position = E_GW_CURSOR_POSITION_END; 
 	icalcomponent_kind kind;
+	const char *type;
 	
 	priv = cbgw->priv;
 	kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbgw));
+	total = priv->total_count;
 	
 	if (!mutex) {
 		mutex = g_mutex_new ();
@@ -140,6 +147,10 @@ populate_cache (ECalBackendGroupwise *cb
 
 	g_mutex_lock (mutex);
 
+	if (kind == ICAL_VEVENT_COMPONENT)
+		type = "Calendar";
+	else
+		type = "Task";
 	
 	status = e_gw_connection_create_cursor (priv->cnc,
 			priv->container_id, 
@@ -160,10 +171,18 @@ populate_cache (ECalBackendGroupwise *cb
 		}
 		for (l = list; l != NULL; l = g_list_next(l)) {
 			EGwItem *item;
+			char *progress_string = NULL;
+			num++;
 			
 			item = E_GW_ITEM (l->data);
 			comp = e_gw_item_to_cal_component (item, cbgw);
 			g_object_unref (item);
+			
+			/* Show the progress information */
+			progress = ((double) num/total);
+			progress_string = g_strdup_printf (_("Loading %s items"), type);
+			e_cal_backend_notify_view_progress (E_CAL_BACKEND (cbgw), progress_string, progress);
+			
 			if (E_IS_CAL_COMPONENT (comp)) {
 				char *comp_str;
 				
@@ -176,6 +195,7 @@ populate_cache (ECalBackendGroupwise *cb
 				e_cal_backend_cache_put_component (priv->cache, comp);
 				g_object_unref (comp);
 			}
+			g_free (progress_string);
 		}
 		
 		if (!list  || g_list_length (list) == 0)
@@ -185,6 +205,7 @@ populate_cache (ECalBackendGroupwise *cb
 		position = E_GW_CURSOR_POSITION_CURRENT;
         }
 	e_gw_connection_destroy_cursor (priv->cnc, priv->container_id, cursor);
+	e_cal_backend_notify_view_done (E_CAL_BACKEND (cbgw), GNOME_Evolution_Calendar_Success);
 
 	g_mutex_unlock (mutex);
 
@@ -553,6 +574,55 @@ cache_init (ECalBackendGroupwise *cbgw)
 }
 
 static ECalBackendSyncStatus
+set_container_id_with_count (ECalBackendGroupwise *cbgw) 
+{
+	ECalBackendGroupwisePrivate *priv;
+	EGwContainer *our_container;
+	GList *container_list = NULL, *l;
+	EGwConnectionStatus status;
+	icalcomponent_kind kind;
+
+	priv = cbgw->priv;
+
+	kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbgw));
+	
+	switch (kind) {
+	case ICAL_VEVENT_COMPONENT:
+	case ICAL_VTODO_COMPONENT:
+		e_source_set_name (e_cal_backend_get_source (E_CAL_BACKEND (cbgw)), _("Calendar"));
+		break;
+	default:
+		priv->container_id = NULL;
+		return GNOME_Evolution_Calendar_UnsupportedMethod;
+	}
+	
+	status = e_gw_connection_get_container_list (priv->cnc, "folders", &container_list);
+	
+	if (status == E_GW_CONNECTION_STATUS_INVALID_CONNECTION)
+		status = e_gw_connection_get_container_list (priv->cnc, "folders", &container_list);
+	
+	if (status != E_GW_CONNECTION_STATUS_OK)
+		return GNOME_Evolution_Calendar_OtherError;
+
+	for (l = container_list; l != NULL; l = l->next) {
+		EGwContainer *container = E_GW_CONTAINER (l->data);
+		const char *name = e_gw_container_get_name (container);
+		
+		if (name && strcmp (name, "Calendar") == 0) {
+			our_container = container;
+			break;
+		}
+	}
+
+	priv->container_id = g_strdup (e_gw_container_get_id (our_container));
+	priv->total_count = e_gw_container_get_total_count (our_container);
+
+	e_gw_connection_free_container_list (container_list);
+
+	return GNOME_Evolution_Calendar_Success;
+}
+	
+static ECalBackendSyncStatus
 connect_to_server (ECalBackendGroupwise *cbgw)
 {
 	char *real_uri;
@@ -614,23 +684,15 @@ connect_to_server (ECalBackendGroupwise 
 		priv->mode_changed = FALSE;
 
 		if (E_IS_GW_CONNECTION (priv->cnc)) {
-			icalcomponent_kind kind;
-
+			ECalBackendSyncStatus status;
 			/* get the ID for the container */
 			if (priv->container_id)
 				g_free (priv->container_id);
 			
-			kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbgw));
-
-			if (kind == ICAL_VEVENT_COMPONENT) {
-				priv->container_id = g_strdup (e_gw_connection_get_container_id (priv->cnc, "Calendar"));
-				e_source_set_name (e_cal_backend_get_source (E_CAL_BACKEND (cbgw)), _("Calendar"));
-			} else if (kind == ICAL_VTODO_COMPONENT) {
-				priv->container_id = g_strdup (e_gw_connection_get_container_id (priv->cnc, "Calendar"));
-				e_source_set_name (e_cal_backend_get_source (E_CAL_BACKEND (cbgw)), _("Calendar"));
-			} else
-				priv->container_id = NULL;
-
+			if ((status = set_container_id_with_count (cbgw)) != GNOME_Evolution_Calendar_Success) {
+				return status;
+			}
+		
 			priv->cache = e_cal_backend_cache_new (e_cal_backend_get_uri (E_CAL_BACKEND (cbgw)));
 			if (!priv->cache) {
 				g_mutex_unlock (priv->mutex);
Index: idl/Evolution-DataServer-Calendar.idl
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/idl/Evolution-DataServer-Calendar.idl,v
retrieving revision 1.10
diff -u -p -r1.10 Evolution-DataServer-Calendar.idl
--- idl/Evolution-DataServer-Calendar.idl	3 Feb 2005 13:27:54 -0000	1.10
+++ idl/Evolution-DataServer-Calendar.idl	1 Jul 2005 11:29:38 -0000
@@ -53,6 +53,8 @@ module Calendar {
 	const CalObjType TYPE_JOURNAL = 1 << 2;
 	const CalObjType TYPE_ANY     = 0x07;
 
+	typedef double CalProgress;
+
 	/* Flags for getting UID sequences */
 	typedef long CalObjModType;
 	const CalObjModType MOD_THIS          = 1 << 0;
@@ -146,7 +148,7 @@ module Calendar {
 		oneway void notifyObjectsAdded (in stringlist objects);		
 		oneway void notifyObjectsModified (in stringlist objects);		
 		oneway void notifyObjectsRemoved (in CalObjUIDSeq uids);
-		oneway void notifyQueryProgress (in string message, in short percent);
+		oneway void notifyQueryProgress (in string message, in CalProgress progress);
 		oneway void notifyQueryDone (in CallStatus status);
 	};
 
Index: libecal/e-cal-marshal.list
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-marshal.list,v
retrieving revision 1.5
diff -u -p -r1.5 e-cal-marshal.list
--- libecal/e-cal-marshal.list	23 Dec 2004 17:16:33 -0000	1.5
+++ libecal/e-cal-marshal.list	1 Jul 2005 11:29:38 -0000
@@ -16,3 +16,4 @@ NONE:STRING,STRING,STRING
 NONE:POINTER,ENUM
 NONE:POINTER,STRING
 NONE:POINTER,POINTER
+NONE:STRING,DOUBLE
Index: libecal/e-cal-view-listener.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-view-listener.c,v
retrieving revision 1.5
diff -u -p -r1.5 e-cal-view-listener.c
--- libecal/e-cal-view-listener.c	6 May 2005 05:19:57 -0000	1.5
+++ libecal/e-cal-view-listener.c	1 Jul 2005 11:29:39 -0000
@@ -175,7 +175,7 @@ impl_notifyObjectsRemoved (PortableServe
 static void
 impl_notifyQueryProgress (PortableServer_Servant servant,
 			  const CORBA_char *message,
-			  const CORBA_short percent,
+			  const CORBA_double progress,
 			  CORBA_Environment *ev)
 {
 	ECalViewListener *ql;
@@ -184,7 +184,7 @@ impl_notifyQueryProgress (PortableServer
 	ql = E_CAL_VIEW_LISTENER (bonobo_object_from_servant (servant));
 	priv = ql->priv;
 	
-	g_signal_emit (G_OBJECT (ql), signals[VIEW_PROGRESS], 0, message, percent);
+	g_signal_emit (G_OBJECT (ql), signals[VIEW_PROGRESS], 0, message, progress);
 }
 
 static void
@@ -278,8 +278,8 @@ e_cal_view_listener_class_init (ECalView
 			      G_SIGNAL_RUN_FIRST,
 			      G_STRUCT_OFFSET (ECalViewListenerClass, view_progress),
 			      NULL, NULL,
-			      e_cal_marshal_VOID__POINTER,
-			      G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT);
+			      e_cal_marshal_VOID__STRING_DOUBLE,
+			      G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_DOUBLE);
 	signals[VIEW_DONE] =
 		g_signal_new ("view_done",
 			      G_TYPE_FROM_CLASS (klass),
Index: libecal/e-cal-view-listener.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-view-listener.h,v
retrieving revision 1.4
diff -u -p -r1.4 e-cal-view-listener.h
--- libecal/e-cal-view-listener.h	11 Nov 2003 01:34:46 -0000	1.4
+++ libecal/e-cal-view-listener.h	1 Jul 2005 11:29:39 -0000
@@ -53,7 +53,7 @@ struct _ECalViewListenerClass {
 	void (*objects_added) (ECalViewListener *listener, GList *objects);
 	void (*objects_modified) (ECalViewListener *listener, GList *objects);
 	void (*objects_removed) (ECalViewListener *listener, GList *uids);
-	void (*view_progress) (ECalViewListener *listener, const char *message, int percent);
+	void (*view_progress) (ECalViewListener *listener, const char *message, double progress);
 	void (*view_done) (ECalViewListener *listener, ECalendarStatus status);
 };
 
Index: libecal/e-cal-view.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-view.c,v
retrieving revision 1.5
diff -u -p -r1.5 e-cal-view.c
--- libecal/e-cal-view.c	6 May 2005 05:19:57 -0000	1.5
+++ libecal/e-cal-view.c	1 Jul 2005 11:29:39 -0000
@@ -104,13 +104,13 @@ objects_removed_cb (ECalViewListener *li
 }
 
 static void
-view_progress_cb (ECalViewListener *listener, const char *message, int percent, gpointer data)
+view_progress_cb (ECalViewListener *listener, const char *message, double progress, gpointer data)
 {
 	ECalView *view;
 
 	view = E_CAL_VIEW (data);
 
-	g_signal_emit (G_OBJECT (view), signals[VIEW_PROGRESS], 0, message, percent);
+	g_signal_emit (G_OBJECT (view), signals[VIEW_PROGRESS], 0, message, progress);
 }
 
 static void
@@ -287,8 +287,8 @@ e_cal_view_class_init (ECalViewClass *kl
 			      G_SIGNAL_RUN_FIRST,
 			      G_STRUCT_OFFSET (ECalViewClass, view_progress),
 			      NULL, NULL,
-			      e_cal_marshal_VOID__POINTER,
-			      G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT);
+	                      e_cal_marshal_VOID__STRING_DOUBLE,
+			      G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_DOUBLE);
 	signals[VIEW_DONE] =
 		g_signal_new ("view_done",
 			      G_TYPE_FROM_CLASS (klass),
Index: libecal/e-cal-view.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-view.h,v
retrieving revision 1.3
diff -u -p -r1.3 e-cal-view.h
--- libecal/e-cal-view.h	11 Nov 2003 01:34:46 -0000	1.3
+++ libecal/e-cal-view.h	1 Jul 2005 11:29:40 -0000
@@ -53,7 +53,7 @@ struct _ECalViewClass {
 	void (* objects_added) (ECalView *view, GList *objects);
 	void (* objects_modified) (ECalView *view, GList *objects);
 	void (* objects_removed) (ECalView *view, GList *uids);
-	void (* view_progress) (ECalView *view, char *message, int percent);
+	void (* view_progress) (ECalView *view, char *message, double progress);
 	void (* view_done) (ECalView *view, ECalendarStatus status);
 };
 
Index: libedata-cal/e-cal-backend.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libedata-cal/e-cal-backend.c,v
retrieving revision 1.16
diff -u -p -r1.16 e-cal-backend.c
--- libedata-cal/e-cal-backend.c	13 May 2005 07:13:30 -0000	1.16
+++ libedata-cal/e-cal-backend.c	1 Jul 2005 11:29:41 -0000
@@ -1101,6 +1101,85 @@ match_query_and_notify (EDataCalView *qu
 }
 
 /**
+ * e_cal_backend_notify_view_progress:
+ * @backend: A calendar backend.
+ * @message: the UID of the removed object
+ * @progress: send the decimal part of the progress information
+ *
+ * Notifies each of the backend's listeners about the view_progress in downloading the items.
+ **/
+void
+e_cal_backend_notify_view_progress (ECalBackend *backend, const char *message, double progress)
+{
+	ECalBackendPrivate *priv;
+	EList *queries;
+	EIterator *iter;
+	EDataCalView *query;
+
+	priv = backend->priv;
+
+	if (priv->notification_proxy) {
+		e_cal_backend_notify_view_progress (priv->notification_proxy, message, progress);
+		return;
+	}
+
+	queries = e_cal_backend_get_queries (backend);
+	iter = e_list_get_iterator (queries);
+
+	while (e_iterator_is_valid (iter)) {
+		query = QUERY (e_iterator_get (iter));
+
+		bonobo_object_ref (query);
+
+		e_data_cal_view_notify_progress (query, message, progress);
+
+		bonobo_object_unref (query);
+
+		e_iterator_next (iter);
+	}
+	g_object_unref (iter);
+}
+
+/**
+ * e_cal_backend_notify_view_done:
+ * @backend: A calendar backend.
+ * @status: returns the status once the view is fully populated.
+ *
+ * Notifies each of the backend's listeners about the view_done in downloading the items.
+ **/
+void
+e_cal_backend_notify_view_done (ECalBackend *backend, GNOME_Evolution_Calendar_CallStatus status)
+{
+	ECalBackendPrivate *priv;
+	EList *queries;
+	EIterator *iter;
+	EDataCalView *query;
+
+	priv = backend->priv;
+
+	if (priv->notification_proxy) {
+		e_cal_backend_notify_view_done (priv->notification_proxy, status);
+		return;
+	}
+
+	queries = e_cal_backend_get_queries (backend);
+	iter = e_list_get_iterator (queries);
+
+	while (e_iterator_is_valid (iter)) {
+		query = QUERY (e_iterator_get (iter));
+
+		bonobo_object_ref (query);
+
+		e_data_cal_view_notify_done (query, status);
+
+		bonobo_object_unref (query);
+
+		e_iterator_next (iter);
+	}
+	g_object_unref (iter);
+}
+
+/**
  * e_cal_backend_notify_object_modified:
  * @backend: A calendar backend.
  * @old_object: iCalendar representation of the original form of the object
Index: libedata-cal/e-cal-backend.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libedata-cal/e-cal-backend.h,v
retrieving revision 1.10
diff -u -p -r1.10 e-cal-backend.h
--- libedata-cal/e-cal-backend.h	28 Jan 2005 13:17:37 -0000	1.10
+++ libedata-cal/e-cal-backend.h	1 Jul 2005 11:29:41 -0000
@@ -173,6 +173,9 @@ void e_cal_backend_notify_mode      (ECa
 void e_cal_backend_notify_auth_required (ECalBackend *backend);
 void e_cal_backend_notify_error     (ECalBackend *backend, const char *message);
 
+void e_cal_backend_notify_view_done (ECalBackend *backend, GNOME_Evolution_Calendar_CallStatus status);
+void e_cal_backend_notify_view_progress (ECalBackend *backend, const char *message, double percent);
+
 
 
 G_END_DECLS
Index: libedata-cal/e-data-cal-view.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libedata-cal/e-data-cal-view.c,v
retrieving revision 1.5
diff -u -p -r1.5 e-data-cal-view.c
--- libedata-cal/e-data-cal-view.c	16 May 2005 09:05:51 -0000	1.5
+++ libedata-cal/e-data-cal-view.c	1 Jul 2005 11:29:41 -0000
@@ -845,12 +845,12 @@ e_data_cal_view_notify_objects_removed_1
  * e_data_cal_view_notify_progress:
  * @query: A query object.
  * @message: Progress message to send to listeners.
- * @percent: Percentage completed.
+ * @progress: Percentage completed.
  *
  * Notifies all query listeners of progress messages.
  */
 void
-e_data_cal_view_notify_progress (EDataCalView *query, const char *message, int percent)
+e_data_cal_view_notify_progress (EDataCalView *query, const char *message, double progress)
 {
 	EDataCalViewPrivate *priv;	
 	CORBA_Environment ev;
@@ -867,7 +867,7 @@ e_data_cal_view_notify_progress (EDataCa
 
 		CORBA_exception_init (&ev);
 
-		GNOME_Evolution_Calendar_CalViewListener_notifyQueryProgress (ld->listener, message, percent, &ev);
+		GNOME_Evolution_Calendar_CalViewListener_notifyQueryProgress (ld->listener, message, progress, &ev);
 		if (BONOBO_EX (&ev))
 			g_warning (G_STRLOC ": could not notify the listener of query progress");
 
Index: libedata-cal/e-data-cal-view.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libedata-cal/e-data-cal-view.h,v
retrieving revision 1.4
diff -u -p -r1.4 e-data-cal-view.h
--- libedata-cal/e-data-cal-view.h	23 Sep 2004 21:06:46 -0000	1.4
+++ libedata-cal/e-data-cal-view.h	1 Jul 2005 11:29:41 -0000
@@ -79,7 +79,7 @@ void                  e_data_cal_view_no
 								const char *uid);
 void                  e_data_cal_view_notify_progress (EDataCalView      *query,
 						       const char *message,
-						       int         percent);
+						       double         percent);
 void                  e_data_cal_view_notify_done (EDataCalView                               *query,
 						   GNOME_Evolution_Calendar_CallStatus status);
 
? 272114.diff
? 274188.diff
? award.pdf
? calendar.error
? calendar_tcd.xls
? evo_progress
? freebusy_patch.diff
? hey
? patch
? progress
? temp
? temp0
? test
? ui
? gui/apps_evolution_calendar-2.4.schemas
? gui/e-meeting-attendee.h_bak
? gui/dialogs/event-page.gladep
? gui/dialogs/meeting-page.gladep
? gui/dialogs/temp
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2754
diff -u -p -r1.2754 ChangeLog
--- ChangeLog	1 Jul 2005 09:49:31 -0000	1.2754
+++ ChangeLog	1 Jul 2005 11:26:18 -0000
@@ -1,3 +1,28 @@
+2005-07-01  Chenthill Palanisamy  <pchenthill novell com>
+
+	* gui/e-cal-model.c: (e_cal_model_class_init),
+	(e_cal_view_progress_cb), (e_cal_view_done_cb):
+	* gui/e-cal-model.h: Added two new signals to notify
+	the progress information from the model to UI.
+	* gui/e-calendar-marshal.list: Added a new item to marshal
+	the string,double,int arguments.
+	* gui/e-calendar-table.c: (delete_selected_components),
+	(clipboard_get_text_cb), (e_calendar_table_set_status_message):
+	* gui/e-calendar-table.h:
+	* gui/e-calendar-view.c: (e_calendar_view_set_status_message),
+	(e_calendar_view_cut_clipboard), (clipboard_get_text_cb),
+	(transfer_selected_items):
+	* gui/e-calendar-view.h:
+	* gui/e-tasks.c: (view_progress_cb), (view_done_cb),
+	(setup_widgets), (set_status_message), (backend_died_cb):
+	* gui/gnome-cal.c: (update_query), (view_progress_cb),
+	(view_done_cb), (setup_widgets), (client_cal_opened_cb),
+	(default_client_cal_opened_cb), (open_ecal), (backend_died_cb),
+	(gnome_calendar_purge): Added a new variable to 
+	e_calendar_view_set_status_message and
+      	e_calendar_table_set_status_message methods to show the progress
+	information.
+
 2005-07-01  Praveen Kumar <kpraveen novell com>
 
 	* gui/e-cal-config.h : Added the source type field in
Index: gui/e-cal-model.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-cal-model.c,v
retrieving revision 1.58
diff -u -p -r1.58 e-cal-model.c
--- gui/e-cal-model.c	6 May 2005 04:26:38 -0000	1.58
+++ gui/e-cal-model.c	1 Jul 2005 11:26:18 -0000
@@ -100,6 +100,8 @@ static void remove_client (ECalModel *mo
 enum {
 	TIME_RANGE_CHANGED,
 	ROW_APPENDED,
+	CAL_VIEW_PROGRESS,
+	CAL_VIEW_DONE,
 	LAST_SIGNAL
 };
 
@@ -148,6 +150,23 @@ e_cal_model_class_init (ECalModelClass *
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE, 0);
+	signals[CAL_VIEW_PROGRESS] =
+		g_signal_new ("cal_view_progress",
+			      G_TYPE_FROM_CLASS (klass),
+			      G_SIGNAL_RUN_LAST,
+			      G_STRUCT_OFFSET (ECalModelClass, cal_view_progress),
+			      NULL, NULL,
+			      e_calendar_marshal_VOID__STRING_DOUBLE_INT,
+			      G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_INT);
+	signals[CAL_VIEW_DONE] =
+		g_signal_new ("cal_view_done",
+			      G_TYPE_FROM_CLASS (klass),
+			      G_SIGNAL_RUN_LAST,
+			      G_STRUCT_OFFSET (ECalModelClass, cal_view_done),
+			      NULL, NULL,
+			      e_calendar_marshal_VOID__INT_INT,
+			      G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+
 }
 
 static void
@@ -1414,23 +1433,28 @@ e_cal_view_objects_removed_cb (ECalView 
 }
 
 static void
-e_cal_view_progress_cb (ECalView *query, const char *message, int percent, gpointer user_data)
+e_cal_view_progress_cb (ECalView *query, const char *message, double progress, gpointer user_data)
 {
 	ECalModel *model = (ECalModel *) user_data;
+	ECal *client = e_cal_view_get_client (query);
 
 	g_return_if_fail (E_IS_CAL_MODEL (model));
 
-	/* FIXME Update status bar */
+	g_signal_emit (G_OBJECT (model), signals[CAL_VIEW_PROGRESS], 0, message, 
+			progress, e_cal_get_source_type (client));
 }
 
 static void
 e_cal_view_done_cb (ECalView *query, ECalendarStatus status, gpointer user_data)
 {
  	ECalModel *model = (ECalModel *) user_data;
+	ECal *client = e_cal_view_get_client (query);
 
 	g_return_if_fail (E_IS_CAL_MODEL (model));
 
-	/* FIXME Clear status bar */
+	/* emit the signal on the model and let the view catch it to display */
+	g_signal_emit (G_OBJECT (model), signals[CAL_VIEW_DONE], 0, status,
+			e_cal_get_source_type (client));
 }
 
 static void
Index: gui/e-cal-model.h
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-cal-model.h,v
retrieving revision 1.15
diff -u -p -r1.15 e-cal-model.h
--- gui/e-cal-model.h	17 Jun 2005 15:20:27 -0000	1.15
+++ gui/e-cal-model.h	1 Jul 2005 11:26:18 -0000
@@ -92,6 +92,8 @@ typedef struct {
 	/* Signals */
 	void (* time_range_changed) (ECalModel *model, time_t start, time_t end);
 	void (* row_appended) (ECalModel *model);
+	void (* cal_view_progress) (ECalModel *model, const char *message, double progress, ECalSourceType type);
+	void (* cal_view_done) (ECalModel *model, ECalendarStatus status, ECalSourceType type);
 } ECalModelClass;
 
 GType               e_cal_model_get_type                       (void);
Index: gui/e-calendar-marshal.list
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-marshal.list,v
retrieving revision 1.4
diff -u -p -r1.4 e-calendar-marshal.list
--- gui/e-calendar-marshal.list	23 Feb 2005 01:28:20 -0000	1.4
+++ gui/e-calendar-marshal.list	1 Jul 2005 11:26:18 -0000
@@ -17,3 +17,4 @@ NONE:POINTER,ENUM
 NONE:POINTER,STRING
 NONE:POINTER,POINTER
 NONE:LONG,LONG
+NONE:STRING,DOUBLE,INT
Index: gui/e-calendar-table.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-table.c,v
retrieving revision 1.134
diff -u -p -r1.134 e-calendar-table.c
--- gui/e-calendar-table.c	23 Jun 2005 09:11:05 -0000	1.134
+++ gui/e-calendar-table.c	1 Jul 2005 11:26:19 -0000
@@ -691,7 +691,7 @@ delete_selected_components (ECalendarTab
 
 	objs = get_selected_objects (cal_table);
 
-	e_calendar_table_set_status_message (cal_table, _("Deleting selected objects"));
+	e_calendar_table_set_status_message (cal_table, _("Deleting selected objects"), -1.0);
 
 	for (l = objs; l; l = l->next) {
 		ECalModelComponent *comp_data = (ECalModelComponent *) l->data;
@@ -703,7 +703,7 @@ delete_selected_components (ECalendarTab
 		g_clear_error (&error);
 	}
 
-	e_calendar_table_set_status_message (cal_table, NULL);
+	e_calendar_table_set_status_message (cal_table, NULL, -1.0);
 
 	g_slist_free (objs);
 }
@@ -870,7 +870,7 @@ clipboard_get_text_cb (GtkClipboard *cli
 
 	client = e_cal_model_get_default_client (cal_table->model);
 	
-	e_calendar_table_set_status_message (cal_table, _("Updating objects"));
+	e_calendar_table_set_status_message (cal_table, _("Updating objects"), -1.0);
 
 	if (kind == ICAL_VCALENDAR_COMPONENT) {
 		icalcomponent_kind child_kind;
@@ -916,7 +916,7 @@ clipboard_get_text_cb (GtkClipboard *cli
 		g_object_unref (comp);
 	}
 
-	e_calendar_table_set_status_message (cal_table, NULL);
+	e_calendar_table_set_status_message (cal_table, NULL, -1.0);
 }
 
 /**
@@ -1343,7 +1343,7 @@ e_calendar_table_set_activity_handler (E
 }
 
 void
-e_calendar_table_set_status_message (ECalendarTable *cal_table, const gchar *message)
+e_calendar_table_set_status_message (ECalendarTable *cal_table, const gchar *message, double progress)
 {
         g_return_if_fail (E_IS_CALENDAR_TABLE (cal_table));
 
@@ -1366,6 +1366,6 @@ e_calendar_table_set_status_message (ECa
 
                 g_free (client_id);
         } else {
-                e_activity_handler_operation_progressing (cal_table->activity_handler, cal_table->activity_id, message, -1.0);
+                e_activity_handler_operation_progressing (cal_table->activity_handler, cal_table->activity_id, message, progress);
 	}
 }
Index: gui/e-calendar-table.h
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-table.h,v
retrieving revision 1.26
diff -u -p -r1.26 e-calendar-table.h
--- gui/e-calendar-table.h	23 Jun 2005 09:11:05 -0000	1.26
+++ gui/e-calendar-table.h	1 Jul 2005 11:26:19 -0000
@@ -102,7 +102,8 @@ void	   e_calendar_table_save_state		(EC
 void       e_calendar_table_set_activity_handler (ECalendarTable *cal_table,
 						  EActivityHandler *activity_handler);
 void       e_calendar_table_set_status_message (ECalendarTable *cal_table,
-						const gchar *message);
+						const gchar *message,
+						double progress);
 
 G_END_DECLS
 
Index: gui/e-calendar-view.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-view.c,v
retrieving revision 1.83
diff -u -p -r1.83 e-calendar-view.c
--- gui/e-calendar-view.c	22 Jun 2005 14:32:35 -0000	1.83
+++ gui/e-calendar-view.c	1 Jul 2005 11:26:20 -0000
@@ -550,7 +550,7 @@ e_calendar_view_set_activity_handler (EC
 }
 
 void
-e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message)
+e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message, double progress)
 {
 	ECalendarViewPrivate *priv;
 	
@@ -576,7 +576,7 @@ e_calendar_view_set_status_message (ECal
 
 		g_free (client_id);
 	} else {
-		e_activity_handler_operation_progressing (priv->activity_handler, priv->activity_id, message, -1.0);
+		e_activity_handler_operation_progressing (priv->activity_handler, priv->activity_id, message, progress);
 	}
 }
 
@@ -650,7 +650,7 @@ e_calendar_view_cut_clipboard (ECalendar
 	if (!selected)
 		return;
 
-	e_calendar_view_set_status_message (cal_view, _("Deleting selected objects"));
+	e_calendar_view_set_status_message (cal_view, _("Deleting selected objects"), -1.0);
 
 	e_calendar_view_copy_clipboard (cal_view);
 	for (l = selected; l != NULL; l = l->next) {
@@ -693,7 +693,7 @@ e_calendar_view_cut_clipboard (ECalendar
 		g_object_unref (comp);
 	}
 
-	e_calendar_view_set_status_message (cal_view, NULL);
+	e_calendar_view_set_status_message (cal_view, NULL, -1.0);
 
 	g_list_free (selected);
 }
@@ -777,7 +777,7 @@ clipboard_get_text_cb (GtkClipboard *cli
 	if (kind != ICAL_VCALENDAR_COMPONENT && kind != ICAL_VEVENT_COMPONENT)
 		return;
 
-	e_calendar_view_set_status_message (cal_view, _("Updating objects"));
+	e_calendar_view_set_status_message (cal_view, _("Updating objects"), -1.0);
 	e_calendar_view_get_selected_time_range (cal_view, &selected_time_start, &selected_time_end);
 
 	if ((selected_time_end - selected_time_start) == 60 * 60 * 24)
@@ -816,7 +816,7 @@ clipboard_get_text_cb (GtkClipboard *cli
 		e_calendar_view_add_event (cal_view, client, selected_time_start, default_zone, icalcomp, in_top_canvas);
 	}
 
-	e_calendar_view_set_status_message (cal_view, NULL);
+	e_calendar_view_set_status_message (cal_view, NULL, -1.0);
 }
 
 void
@@ -1201,14 +1201,14 @@ transfer_selected_items (ECalendarView *
 
 	/* process all selected events */
 	if (remove_item)
-		e_calendar_view_set_status_message (cal_view, _("Moving items"));
+		e_calendar_view_set_status_message (cal_view, _("Moving items"), -1.0);
 	else
-		e_calendar_view_set_status_message (cal_view, _("Copying items"));
+		e_calendar_view_set_status_message (cal_view, _("Copying items"), -1.0);
 
 	for (l = selected; l != NULL; l = l->next)
 		transfer_item_to ((ECalendarViewEvent *) l->data, dest_client, remove_item);
 
-	e_calendar_view_set_status_message (cal_view, NULL);
+	e_calendar_view_set_status_message (cal_view, NULL, -1.0);
 
 	/* free memory */
 	g_object_unref (destination_source);
Index: gui/e-calendar-view.h
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-view.h,v
retrieving revision 1.27
diff -u -p -r1.27 e-calendar-view.h
--- gui/e-calendar-view.h	7 Oct 2004 21:03:36 -0000	1.27
+++ gui/e-calendar-view.h	1 Jul 2005 11:26:20 -0000
@@ -113,7 +113,7 @@ gboolean       e_calendar_view_get_use_2
 void           e_calendar_view_set_use_24_hour_format (ECalendarView *view, gboolean use_24_hour);
 
 void           e_calendar_view_set_activity_handler (ECalendarView *cal_view, EActivityHandler *activity_handler);
-void           e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message);
+void           e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message, double percent);
 
 GList         *e_calendar_view_get_selected_events (ECalendarView *cal_view);
 gboolean       e_calendar_view_get_selected_time_range (ECalendarView *cal_view, time_t *start_time, time_t *end_time);
Index: gui/e-tasks.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-tasks.c,v
retrieving revision 1.115
diff -u -p -r1.115 e-tasks.c
--- gui/e-tasks.c	17 Jun 2005 15:20:27 -0000	1.115
+++ gui/e-tasks.c	1 Jul 2005 11:26:20 -0000
@@ -330,6 +330,21 @@ model_row_changed_cb (ETableModel *etm, 
 }
 
 static void
+view_progress_cb (ECalModel *model, const char *message, double progress, ECalSourceType type, ETasks *tasks)
+{
+	e_calendar_table_set_status_message (E_CALENDAR_TABLE (e_tasks_get_calendar_table (tasks)), 
+			message, progress);
+}
+
+static void
+view_done_cb (ECalModel *model, ECalendarStatus status, ECalSourceType type, ETasks *tasks)
+{
+	e_calendar_table_set_status_message (E_CALENDAR_TABLE (e_tasks_get_calendar_table (tasks)), 
+			NULL, -1.0);
+			
+}
+
+static void
 setup_config (ETasks *tasks)
 {
 	ETasksPrivate *priv;
@@ -540,6 +555,11 @@ setup_widgets (ETasks *tasks)
 	model = e_calendar_table_get_model (E_CALENDAR_TABLE (priv->tasks_view));
 	g_signal_connect (G_OBJECT (model), "model_row_changed",
 			  G_CALLBACK (model_row_changed_cb), tasks);
+	
+	g_signal_connect (G_OBJECT (model), "cal_view_progress",
+				G_CALLBACK (view_progress_cb), tasks);
+	g_signal_connect (G_OBJECT (model), "cal_view_done",
+				G_CALLBACK (view_done_cb), tasks);
 }
 
 /* Class initialization function for the gnome calendar */
@@ -744,7 +764,7 @@ set_status_message (ETasks *tasks, const
 
 	priv = tasks->priv;
 	
-	e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->tasks_view), msg_string);
+	e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->tasks_view), msg_string, -1.0);
 }
 
 /* Callback from the calendar client when an error occurs in the backend */
@@ -784,7 +804,7 @@ backend_died_cb (ECal *client, gpointer 
 
 	gtk_signal_emit (GTK_OBJECT (tasks), e_tasks_signals[SOURCE_REMOVED], source);
 
-	e_calendar_table_set_status_message (E_CALENDAR_TABLE (e_tasks_get_calendar_table (tasks)), NULL);
+	e_calendar_table_set_status_message (E_CALENDAR_TABLE (e_tasks_get_calendar_table (tasks)), NULL, -1.0);
 	
 	e_error_run (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (tasks))),
 		     "calendar:tasks-crashed", NULL);
Index: gui/gnome-cal.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/gnome-cal.c,v
retrieving revision 1.379
diff -u -p -r1.379 gnome-cal.c
--- gui/gnome-cal.c	27 Jun 2005 00:43:07 -0000	1.379
+++ gui/gnome-cal.c	1 Jul 2005 11:26:22 -0000
@@ -719,7 +719,7 @@ update_query (GnomeCalendar *gcal)
 	if (priv->updating == TRUE) {
 		return;
 	}
-	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), _("Updating query"));
+	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), _("Updating query"), -1.0);
 	e_calendar_item_clear_marks (priv->date_navigator->calitem);
 
 	priv->updating = TRUE;
@@ -741,7 +741,7 @@ update_query (GnomeCalendar *gcal)
 
 	real_sexp = adjust_e_cal_view_sexp (gcal, priv->sexp);
 	if (!real_sexp) {
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 		priv->updating = FALSE;
 		return; /* No time range is set, so don't start a query */
 	}
@@ -776,7 +776,7 @@ update_query (GnomeCalendar *gcal)
 	/* free memory */
 	priv->updating = FALSE;
 	g_free (real_sexp);
-	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 	update_todo_view (gcal);
 }
 
@@ -1226,6 +1226,28 @@ config_categories_changed_cb (EConfigLis
 	g_ptr_array_free (cat_array, TRUE);
 }
 
+
+static void
+view_progress_cb (ECalModel *model, const char *message, double progress, ECalSourceType type, GnomeCalendar *gcal)
+{
+	if (type == E_CAL_SOURCE_TYPE_EVENT) {
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (gcal->priv->week_view), message, progress);
+	} else if (type == E_CAL_SOURCE_TYPE_TODO) {
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (gcal->priv->todo), message, progress);
+	}
+}
+
+static void
+view_done_cb (ECalModel *model, ECalendarStatus status, ECalSourceType type, GnomeCalendar *gcal)
+{
+	if (type == E_CAL_SOURCE_TYPE_EVENT) {
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (gcal->priv->week_view), NULL, -1.0);
+	} else if (type == E_CAL_SOURCE_TYPE_TODO) {
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (gcal->priv->todo), NULL, -1.0);
+	}
+			
+}
+
 static void
 setup_widgets (GnomeCalendar *gcal)
 {
@@ -1234,6 +1256,7 @@ setup_widgets (GnomeCalendar *gcal)
 	gchar *filename;
 	ETable *etable;
 	GtkAdjustment *adjustment;
+	ECalModel *w_model;
 	int i;
 
 	priv = gcal->priv;
@@ -1313,6 +1336,11 @@ setup_widgets (GnomeCalendar *gcal)
 
 	g_signal_connect (etable, "selection_change",
 			  G_CALLBACK (table_selection_change_cb), gcal);
+	
+	g_signal_connect (e_calendar_table_get_model (priv->todo), "cal_view_progress",
+				G_CALLBACK (view_progress_cb), gcal);
+	g_signal_connect (e_calendar_table_get_model (priv->todo), "cal_view_done",
+				G_CALLBACK (view_done_cb), gcal);
 
 	/* Timeout check to hide completed items */
 	priv->update_timeout = g_timeout_add_full (G_PRIORITY_LOW, 60000, (GSourceFunc) update_todo_view_cb, gcal, NULL);	
@@ -1350,6 +1378,11 @@ setup_widgets (GnomeCalendar *gcal)
 	g_signal_connect (adjustment, "value_changed",
 			  G_CALLBACK (week_view_adjustment_changed_cb),
 			  gcal);
+	w_model = e_calendar_view_get_model (priv->week_view);
+	g_signal_connect (w_model, "cal_view_progress",
+				G_CALLBACK (view_progress_cb), gcal);
+	g_signal_connect (w_model, "cal_view_done",
+				G_CALLBACK (view_done_cb), gcal);
 	
 	/* The Month View. */
 	priv->month_view = e_week_view_new ();
@@ -1366,7 +1399,7 @@ setup_widgets (GnomeCalendar *gcal)
 	g_signal_connect (adjustment, "value_changed",
 			  G_CALLBACK (month_view_adjustment_changed_cb),
 			  gcal);
-
+			
 	/* The List View. */
 	priv->list_view = e_cal_list_view_new ();
 
@@ -2212,10 +2245,10 @@ client_cal_opened_cb (ECal *ecal, ECalen
 
 	switch (source_type) {
 	case E_CAL_SOURCE_TYPE_EVENT:
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 		break;
 	case E_CAL_SOURCE_TYPE_TODO:
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL, -1.0);
 		break;
 	default:
 		break;
@@ -2255,7 +2288,7 @@ client_cal_opened_cb (ECal *ecal, ECalen
 	switch (source_type) {
 	case E_CAL_SOURCE_TYPE_EVENT :
 		msg = g_strdup_printf (_("Loading appointments at %s"), e_cal_get_uri (ecal));
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), msg);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), msg, -1.0);
 		g_free (msg);
 
 		/* add client to the views */
@@ -2269,17 +2302,17 @@ client_cal_opened_cb (ECal *ecal, ECalen
 		/* update date navigator query */
 		update_query (gcal);
 
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 		break;
 		
 	case E_CAL_SOURCE_TYPE_TODO :
 		msg = g_strdup_printf (_("Loading tasks at %s"), e_cal_get_uri (ecal));
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), msg);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), msg, -1.0);
 		g_free (msg);
 
 		e_cal_model_add_client (e_calendar_table_get_model (E_CALENDAR_TABLE (priv->todo)), ecal);
 
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL, -1.0);
 		break;
 		
 	default:
@@ -2305,10 +2338,10 @@ default_client_cal_opened_cb (ECal *ecal
 
 	switch (source_type) {
 	case E_CAL_SOURCE_TYPE_EVENT:
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 		break;		
 	case E_CAL_SOURCE_TYPE_TODO:
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL, -1.0);
 		break;
 	default:
 		break;
@@ -2377,10 +2410,10 @@ open_ecal (GnomeCalendar *gcal, ECal *ca
 	msg = g_strdup_printf (_("Opening %s"), e_cal_get_uri (cal));
 	switch (e_cal_get_source_type (cal)) {
 	case E_CAL_SOURCE_TYPE_EVENT :
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), msg);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), msg, -1.0);
 		break;
 	case E_CAL_SOURCE_TYPE_TODO :
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), msg);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), msg, -1.0);
 		break;
 	default:
 		g_assert_not_reached ();
@@ -2440,7 +2473,7 @@ backend_died_cb (ECal *ecal, gpointer da
 	case E_CAL_SOURCE_TYPE_EVENT:		
 		id = "calendar:calendar-crashed";
 		
-		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+		e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 
 		gtk_signal_emit (GTK_OBJECT (gcal), gnome_calendar_signals[SOURCE_REMOVED], source_type, source);
 		break;
@@ -2448,7 +2481,7 @@ backend_died_cb (ECal *ecal, gpointer da
 	case E_CAL_SOURCE_TYPE_TODO:
 		id = "calendar:tasks-crashed";
 		
-		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL);
+		e_calendar_table_set_status_message (E_CALENDAR_TABLE (priv->todo), NULL, -1.0);
 
 		gtk_signal_emit (GTK_OBJECT (gcal), gnome_calendar_signals[SOURCE_REMOVED], source_type, source);
 		break;
@@ -3264,7 +3297,7 @@ gnome_calendar_purge (GnomeCalendar *gca
 				"                      (make-time \"%s\"))",
 				start, end);
 
-	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), _("Purging"));
+	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), _("Purging"), -1.0);
 
 	/* FIXME Confirm expunge */
 	for (l = priv->clients_list[E_CAL_SOURCE_TYPE_EVENT]; l != NULL; l = l->next) {
@@ -3301,7 +3334,7 @@ gnome_calendar_purge (GnomeCalendar *gca
 		g_list_free (objects);
 	}
 
-	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+	e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL, -1.0);
 
 	g_free (sexp);
 	g_free (start);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]