aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/itip-formatter/itip-view.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@novell.com>2005-01-08 06:17:49 +0800
committerJP Rosevear <jpr@src.gnome.org>2005-01-08 06:17:49 +0800
commita4e1cd2c0d5c28812be48fa8394d36c9c7003ced (patch)
tree4c5404832b4ac8e6214b52ce2f29ec81c5822cde /plugins/itip-formatter/itip-view.c
parentb12dec1c48fba6202e9e854f23f1975f8329c0ec (diff)
downloadgsoc2013-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.c119
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;