aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-calendar-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-calendar-view.c')
-rw-r--r--calendar/gui/e-calendar-view.c39
1 files changed, 28 insertions, 11 deletions
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c
index 5aae73b6a0..7562d83912 100644
--- a/calendar/gui/e-calendar-view.c
+++ b/calendar/gui/e-calendar-view.c
@@ -30,7 +30,8 @@
#include <gtk/gtkbindings.h>
#include <libgnome/gnome-i18n.h>
#include <gal/util/e-util.h>
-#include "e-util/e-dialog-utils.h"
+#include <e-util/e-dialog-utils.h>
+#include <e-util/e-icon-factory.h>
#include "e-calendar-marshal.h"
#include <libecal/e-cal-time-util.h>
#include <libecal/e-cal-component.h>
@@ -67,6 +68,7 @@ struct _ECalendarViewPrivate {
ECalModel *model;
/* Current activity (for the EActivityHandler, i.e. the status bar). */
+ EActivityHandler *activity_handler;
guint activity_id;
/* The popup menu */
@@ -529,31 +531,46 @@ e_calendar_view_set_use_24_hour_format (ECalendarView *cal_view, gboolean use_24
}
void
-e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message)
+e_calendar_view_set_activity_handler (ECalendarView *cal_view, EActivityHandler *activity_handler)
{
-#if 0
- EActivityHandler *activity_handler = calendar_component_peek_activity_handler (calendar_component_peek ());
+ ECalendarViewPrivate *priv;
+
+ g_return_if_fail (E_IS_CALENDAR_VIEW (cal_view));
+ priv = cal_view->priv;
+
+ priv->activity_handler = activity_handler;
+}
+
+void
+e_calendar_view_set_status_message (ECalendarView *cal_view, const gchar *message)
+{
+ ECalendarViewPrivate *priv;
+
g_return_if_fail (E_IS_CALENDAR_VIEW (cal_view));
+ priv = cal_view->priv;
+
+ if (!priv->activity_handler)
+ return;
+
if (!message || !*message) {
- if (cal_view->priv->activity_id != 0) {
- e_activity_handler_operation_finished (activity_handler, cal_view->priv->activity_id);
- cal_view->priv->activity_id = 0;
+ if (priv->activity_id != 0) {
+ e_activity_handler_operation_finished (priv->activity_handler, priv->activity_id);
+ priv->activity_id = 0;
}
- } else if (cal_view->priv->activity_id == 0) {
+ } else if (priv->activity_id == 0) {
char *client_id = g_strdup_printf ("%p", cal_view);
if (progress_icon == NULL)
progress_icon = e_icon_factory_get_icon (EVOLUTION_CALENDAR_PROGRESS_IMAGE, 16);
- cal_view->priv->activity_id = e_activity_handler_operation_started (activity_handler, client_id, progress_icon, message, TRUE);
+ priv->activity_id = e_activity_handler_operation_started (priv->activity_handler, client_id, progress_icon, message, TRUE);
g_free (client_id);
} else {
- e_activity_handler_operation_progressing (activity_handler, cal_view->priv->activity_id, message, -1.0);
+ e_activity_handler_operation_progressing (priv->activity_handler, priv->activity_id, message, -1.0);
}
-#endif
}
GList *