aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-util
diff options
context:
space:
mode:
authorDamon Chaplin <damon@ximian.com>2001-09-27 12:02:17 +0800
committerDamon Chaplin <damon@src.gnome.org>2001-09-27 12:02:17 +0800
commitb235a79effc13b17b0bffc78189b831493bd37d6 (patch)
tree1717b8309b347b794dd05f7bfd657c57d1707f82 /calendar/cal-util
parentf0c38138fa31e7e03c289f75c85d4c214ff9dcca (diff)
downloadgsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar.gz
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar.bz2
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar.lz
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar.xz
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.tar.zst
gsoc2013-evolution-b235a79effc13b17b0bffc78189b831493bd37d6.zip
added comparison functions for these special cell types. But the date and
2001-09-26 Damon Chaplin <damon@ximian.com> * gui/e-calendar-table.c (date_compare_cb): (percent_compare_cb): (priority_compare_cb): added comparison functions for these special cell types. But the date and percent ones don't work yet due to the use of static text buffers for return cell values. (e_calendar_table_init): added the comparison functions to the ETableExtras. NOTE: task_compare_cb() never seems to be called. I'm not sure why it is there. * gui/e-calendar-table.etspec: set the comparison function names for the date/percent/priority fields. * cal-util/cal-util.c (cal_util_priority_to_string): (cal_util_priority_from_string): new utility functions. * gui/calendar-model.c (get_priority): (set_priority): used above utility functions, and removed the warning dialog which isn't useful now that the field isn't editable. * gui/dialogs/event-page.c (times_updated): handle timezones and for all-day events make sure it stays an all-day event after adjusting. Fixes bugs #5945 and #10222. * gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the edit items were moved beneath 'EditPlaceholder'. This gets rid of those long Bonobo warnings! (and we get the icons back) * gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar icon, since it doesn't appear in the xml file. Gets rid of warning. * gui/dialogs/event-page.c (notify_dates_changed): new function to emit the notification signal when the dates are changed. It also handles timezones now. * gui/dialogs/comp-editor-page.h (CompEditorPageDates): used CalComponentDateTime for start/end/due so we have the timezone as well as the time. * gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get the timezones as well as the times. (comp_editor_free_dates): new function needed to free all the structs. * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call to preview_recur() to make sure the preview gets updated. * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the CompEditorPageDates struct after use. * gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server' argument. If FALSE, we try to use builtin timezones first. This is needed for the recurrence page of the event editor, because the timezones may not have been added to the server yet. This and the changes to the notification stuff should fix bug #5034. * gui/gnome-cal.c (dn_query_obj_updated_cb): call above tag_calendar_by_comp() with TRUE since the events will be on the server in this case. * gui/e-day-view-layout.c: * gui/e-day-view.c: made sure an event always takes up at least one row, even when the start & end times are the same. Fixes bug #5944. I don't know if we should try to also handle events with the end time before the start time. * gui/e-week-view.c (e_week_view_style_set): check that the small font is actually smaller than the normal font. If it isn't, don't use it. Hopefully fixes bug #6876. (e_week_view_on_new_appointment): if only one day is selected, then we set the initial time of the event to 1/2-hour from the start of the working day, to differentiate 'New Appointment' from 'New All Day Event'. Fixes bug #8892. * gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the above. svn path=/trunk/; revision=13186
Diffstat (limited to 'calendar/cal-util')
-rw-r--r--calendar/cal-util/cal-util.c48
-rw-r--r--calendar/cal-util/cal-util.h4
2 files changed, 52 insertions, 0 deletions
diff --git a/calendar/cal-util/cal-util.c b/calendar/cal-util/cal-util.c
index 1df57bacec..774b9aca11 100644
--- a/calendar/cal-util/cal-util.c
+++ b/calendar/cal-util/cal-util.c
@@ -22,6 +22,9 @@
#include <config.h>
#include <stdlib.h>
+#include <glib.h>
+#include <libgnome/gnome-defs.h>
+#include <libgnome/gnome-i18n.h>
#include "cal-util.h"
@@ -400,3 +403,48 @@ cal_util_generate_alarms_for_list (GList *comps,
return n;
}
+
+
+/* Converts an iCalendar PRIORITY value to a translated string. Any unknown
+ priority value (i.e. not 0-9) will be returned as "" (undefined). */
+char *
+cal_util_priority_to_string (int priority)
+{
+ char *retval;
+
+ if (priority <= 0)
+ retval = "";
+ else if (priority <= 4)
+ retval = _("High");
+ else if (priority == 5)
+ retval = _("Normal");
+ else if (priority <= 9)
+ retval = _("Low");
+ else
+ retval = "";
+
+ return retval;
+}
+
+
+/* Converts a translated priority string to an iCalendar priority value.
+ Returns -1 if the priority string is not valid. */
+int
+cal_util_priority_from_string (const char *string)
+{
+ int priority;
+
+ /* An empty string is the same as 'None'. */
+ if (!string || !string[0] || !g_strcasecmp (string, _("Undefined")))
+ priority = 0;
+ else if (!g_strcasecmp (string, _("High")))
+ priority = 3;
+ else if (!g_strcasecmp (string, _("Normal")))
+ priority = 5;
+ else if (!g_strcasecmp (string, _("Low")))
+ priority = 7;
+ else
+ priority = -1;
+
+ return priority;
+}
diff --git a/calendar/cal-util/cal-util.h b/calendar/cal-util/cal-util.h
index 362d9eaae5..9e7c7ce5e4 100644
--- a/calendar/cal-util/cal-util.h
+++ b/calendar/cal-util/cal-util.h
@@ -79,6 +79,10 @@ int cal_util_generate_alarms_for_list (GList *comps,
icaltimezone *cal_util_resolve_tzid (const char *tzid, gpointer data);
+char *cal_util_priority_to_string (int priority);
+int cal_util_priority_from_string (const char *string);
+
+
END_GNOME_DECLS
#endif