diff options
author | JP Rosevear <jpr@novell.com> | 2005-01-08 06:17:49 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2005-01-08 06:17:49 +0800 |
commit | a4e1cd2c0d5c28812be48fa8394d36c9c7003ced (patch) | |
tree | 4c5404832b4ac8e6214b52ce2f29ec81c5822cde /plugins/itip-formatter/itip-view.c | |
parent | b12dec1c48fba6202e9e854f23f1975f8329c0ec (diff) | |
download | gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar.gz gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar.bz2 gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar.lz gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar.xz gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.tar.zst gsoc2013-evolution-a4e1cd2c0d5c28812be48fa8394d36c9c7003ced.zip |
new protos
2005-01-07 JP Rosevear <jpr@novell.com>
* itip-view.h: new protos
* itip-view.c (set_tasklist_sender_text): task sender messages
(set_calendar_sender_text): calendar sender messages
(set_sender_text): select above as appropriate
(itip_view_set_item_type): accessor
(itip_view_get_item_type): ditto
* itip-formatter.c (find_cal_opened_cb): messages for
meetings/tasks/journals
(send_item): ditto
(format_itip_object): ditto
(itip_formatter_page_factory): change page title
svn path=/trunk/; revision=28280
Diffstat (limited to 'plugins/itip-formatter/itip-view.c')
-rw-r--r-- | plugins/itip-formatter/itip-view.c | 119 |
1 files changed, 118 insertions, 1 deletions
diff --git a/plugins/itip-formatter/itip-view.c b/plugins/itip-formatter/itip-view.c index 455325db15..0ab931b0b4 100644 --- a/plugins/itip-formatter/itip-view.c +++ b/plugins/itip-formatter/itip-view.c @@ -59,6 +59,7 @@ typedef struct { struct _ItipViewPrivate { ItipViewMode mode; + ECalSourceType type; GtkWidget *sender_label; char *organizer; @@ -273,7 +274,7 @@ format_date_and_time_x (struct tm *date_tm, } static void -set_sender_text (ItipView *view) +set_calendar_sender_text (ItipView *view) { ItipViewPrivate *priv; const char *organizer, *attendee; @@ -341,6 +342,93 @@ set_sender_text (ItipView *view) } static void +set_tasklist_sender_text (ItipView *view) +{ + ItipViewPrivate *priv; + const char *organizer, *attendee; + char *sender = NULL; + + priv = view->priv; + + organizer = priv->organizer ? priv->organizer : _("An unknown person"); + attendee = priv->attendee ? priv->attendee : _("An unknown person"); + + switch (priv->mode) { + case ITIP_VIEW_MODE_PUBLISH: + if (priv->sentby) + sender = g_strdup_printf (_("<b>%s</b> through %s has published the following task:"), organizer, priv->sentby); + else + sender = g_strdup_printf (_("<b>%s</b> has published the following task:"), organizer); + break; + case ITIP_VIEW_MODE_REQUEST: + /* FIXME is the delegator stuff handled correctly here? */ + if (priv->delegator) { + sender = g_strdup_printf (_("<b>%s</b> requests the assignment of %s to the following task:"), organizer, priv->delegator); + } else { + if (priv->sentby) + sender = g_strdup_printf (_("<b>%s</b> through %s has assigned you a task:"), organizer, priv->sentby); + else + sender = g_strdup_printf (_("<b>%s</b> has assigned you a task:"), organizer); + } + break; + case ITIP_VIEW_MODE_ADD: + /* FIXME What text for this? */ + if (priv->sentby) + sender = g_strdup_printf (_("<b>%s</b> through %s wishes to add to an existing task:"), organizer, priv->sentby); + else + sender = g_strdup_printf (_("<b>%s</b> wishes to add to an existing task:"), organizer); + break; + case ITIP_VIEW_MODE_REFRESH: + sender = g_strdup_printf (_("<b>%s</b> wishes to receive the latest information for the following assigned task:"), attendee); + break; + case ITIP_VIEW_MODE_REPLY: + sender = g_strdup_printf (_("<b>%s</b> has sent back the following assigned task response:"), attendee); + break; + case ITIP_VIEW_MODE_CANCEL: + if (priv->sentby) + sender = g_strdup_printf (_("<b>%s</b> through %s has cancelled the following assigned task:"), organizer, priv->sentby); + else + sender = g_strdup_printf (_("<b>%s</b> has cancelled the following assigned task:"), organizer); + break; + case ITIP_VIEW_MODE_COUNTER: + sender = g_strdup_printf (_("<b>%s</b> has proposed the following task assignment changes:"), attendee); + break; + case ITIP_VIEW_MODE_DECLINECOUNTER: + if (priv->sentby) + sender = g_strdup_printf (_("<b>%s</b> through %s has declined the following assigned task:"), organizer, priv->sentby); + else + sender = g_strdup_printf (_("<b>%s</b> has declined the following assigned task:"), organizer); + break; + default: + break; + } + + gtk_label_set_text (GTK_LABEL (priv->sender_label), sender); + gtk_label_set_use_markup (GTK_LABEL (priv->sender_label), TRUE); + + g_free (sender); +} + +static void +set_sender_text (ItipView *view) +{ + ItipViewPrivate *priv; + + priv = view->priv; + + switch (priv->type) { + case E_CAL_SOURCE_TYPE_EVENT: + set_calendar_sender_text (view); + break; + case E_CAL_SOURCE_TYPE_TODO: + set_tasklist_sender_text (view); + break; + default: + break; + } +} + +static void set_summary_text (ItipView *view) { ItipViewPrivate *priv; @@ -863,6 +951,35 @@ itip_view_get_mode (ItipView *view) } void +itip_view_set_item_type (ItipView *view, ECalSourceType type) +{ + ItipViewPrivate *priv; + + g_return_if_fail (view != NULL); + g_return_if_fail (ITIP_IS_VIEW (view)); + + priv = view->priv; + + priv->type = type; + + set_sender_text (view); +} + +ECalSourceType +itip_view_get_item_type (ItipView *view) +{ + ItipViewPrivate *priv; + + g_return_val_if_fail (view != NULL, ITIP_VIEW_MODE_NONE); + g_return_val_if_fail (ITIP_IS_VIEW (view), ITIP_VIEW_MODE_NONE); + + priv = view->priv; + + return priv->type; +} + + +void itip_view_set_organizer (ItipView *view, const char *organizer) { ItipViewPrivate *priv; |