translate timezone names, and provide a function to get back to the
2002-01-11 Damon Chaplin <damon@ximian.com> * e-timezone-dialog/e-timezone-dialog.[hc]: translate timezone names, and provide a function to get back to the English version. svn path=/trunk/; revision=15303
This commit is contained in:
committed by
Damon Chaplin
parent
b2512674a0
commit
8ac60f4e7e
@ -1,3 +1,8 @@
|
||||
2002-01-11 Damon Chaplin <damon@ximian.com>
|
||||
|
||||
* e-timezone-dialog/e-timezone-dialog.[hc]: translate timezone names,
|
||||
and provide a function to get back to the English version.
|
||||
|
||||
2001-10-24 Jon Trowbridge <trow@ximian.com>
|
||||
|
||||
* menus/gal-view-menus.c (gal_view_menus_apply): Ref the
|
||||
|
||||
@ -26,7 +26,6 @@
|
||||
#include <gtk/gtkentry.h>
|
||||
#include <gtk/gtklabel.h>
|
||||
#include <gnome.h>
|
||||
#include <ical.h>
|
||||
#include <glade/glade.h>
|
||||
#include <widgets/misc/e-map.h>
|
||||
#include "e-timezone-dialog.h"
|
||||
@ -205,8 +204,7 @@ e_timezone_dialog_add_timezones (ETimezoneDialog *etd)
|
||||
gtk_widget_show (listitem);
|
||||
gtk_container_add (GTK_CONTAINER (combo->list), listitem);
|
||||
|
||||
/* Note: We don't translate timezone names at the moment. */
|
||||
listitem = gtk_list_item_new_with_label ("UTC");
|
||||
listitem = gtk_list_item_new_with_label (_("UTC"));
|
||||
gtk_widget_show (listitem);
|
||||
gtk_container_add (GTK_CONTAINER (combo->list), listitem);
|
||||
|
||||
@ -219,7 +217,7 @@ e_timezone_dialog_add_timezones (ETimezoneDialog *etd)
|
||||
|
||||
zone = icalarray_element_at (zones, i);
|
||||
|
||||
location = icaltimezone_get_location (zone);
|
||||
location = _(icaltimezone_get_location (zone));
|
||||
|
||||
e_map_add_point (priv->map, location,
|
||||
icaltimezone_get_longitude (zone),
|
||||
@ -246,7 +244,6 @@ e_timezone_dialog_construct (ETimezoneDialog *etd)
|
||||
|
||||
/* Load the content widgets */
|
||||
|
||||
g_print ("Loading: %s\n", EVOLUTION_GLADEDIR "/e-timezone-dialog.glade");
|
||||
priv->xml = glade_xml_new (EVOLUTION_GLADEDIR "/e-timezone-dialog.glade",
|
||||
NULL);
|
||||
if (!priv->xml) {
|
||||
@ -495,6 +492,8 @@ on_map_button_pressed (GtkWidget *w, GdkEventButton *event, gpointer data)
|
||||
}
|
||||
|
||||
|
||||
/* Returns the translated timezone location of the fiven EMapPoint,
|
||||
e.g. "Europe/London", in the current locale's encoding (not UTF-8). */
|
||||
static char*
|
||||
get_zone_from_point (ETimezoneDialog *etd,
|
||||
EMapPoint *point)
|
||||
@ -527,7 +526,7 @@ get_zone_from_point (ETimezoneDialog *etd,
|
||||
zone_latitude - 0.005 <= latitude &&
|
||||
zone_latitude + 0.005 >= latitude)
|
||||
{
|
||||
return icaltimezone_get_location (zone);
|
||||
return _(icaltimezone_get_location (zone));
|
||||
}
|
||||
}
|
||||
|
||||
@ -540,7 +539,9 @@ get_zone_from_point (ETimezoneDialog *etd,
|
||||
/* Returns the TZID of the timezone set, and optionally its displayed name.
|
||||
The TZID may be NULL, in which case the builtin timezone with the city name
|
||||
of display_name should be used. If display_name is also NULL or "", then it
|
||||
is assumed to be a 'local time'. */
|
||||
is assumed to be a 'local time'. Note that display_name may be translated,
|
||||
so you need to convert it back to English before trying to load it.
|
||||
It will be in the GTK+ encoding, i.e. not UTF-8. */
|
||||
char*
|
||||
e_timezone_dialog_get_timezone (ETimezoneDialog *etd,
|
||||
char **display_name)
|
||||
@ -562,7 +563,8 @@ e_timezone_dialog_get_timezone (ETimezoneDialog *etd,
|
||||
/* Sets the TZID and displayed name of the timezone. The TZID may be NULL for
|
||||
a 'local time' (i.e. display_name is NULL or "") or if it is a builtin
|
||||
timezone which hasn't been loaded yet. (This is done so we don't load
|
||||
timezones until we really need them.) */
|
||||
timezones until we really need them.) The display_name should be the
|
||||
translated name in the GTK+ - it will be displayed exactly as it is. */
|
||||
void
|
||||
e_timezone_dialog_set_timezone (ETimezoneDialog *etd,
|
||||
char *tzid,
|
||||
@ -625,7 +627,7 @@ find_selected_point (ETimezoneDialog *etd)
|
||||
|
||||
zone = icalarray_element_at (zones, i);
|
||||
|
||||
location = icaltimezone_get_location (zone);
|
||||
location = _(icaltimezone_get_location (zone));
|
||||
|
||||
if (!strcmp (current_zone, location)) {
|
||||
double zone_longitude, zone_latitude;
|
||||
@ -679,3 +681,37 @@ e_timezone_dialog_reparent (ETimezoneDialog *etd,
|
||||
|
||||
gtk_widget_reparent (priv->table, new_parent);
|
||||
}
|
||||
|
||||
|
||||
/* Returns the builtin timezone corresponding to display_name, which is
|
||||
the translated location, e.g. 'Europe/London', in the locale's encoding.
|
||||
If display_name is NULL or "" it returns NULL. */
|
||||
icaltimezone*
|
||||
e_timezone_dialog_get_builtin_timezone (char *display_name)
|
||||
{
|
||||
icalarray *zones;
|
||||
int i;
|
||||
|
||||
/* If the field is empty, return NULL (i.e. a floating time). */
|
||||
if (!display_name || !display_name[0])
|
||||
return NULL;
|
||||
|
||||
/* Check for UTC. */
|
||||
if (!strcmp (display_name, _("UTC")))
|
||||
return icaltimezone_get_utc_timezone ();
|
||||
|
||||
/* Get the array of builtin timezones. */
|
||||
zones = icaltimezone_get_builtin_timezones ();
|
||||
|
||||
for (i = 0; i < zones->num_elements; i++) {
|
||||
icaltimezone *zone;
|
||||
char *location;
|
||||
|
||||
zone = icalarray_element_at (zones, i);
|
||||
location = icaltimezone_get_location (zone);
|
||||
if (!strcmp (display_name, _(location)))
|
||||
return zone;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
|
||||
#include <libgnome/gnome-defs.h>
|
||||
#include <gtk/gtkwidget.h>
|
||||
#include <ical.h>
|
||||
|
||||
|
||||
|
||||
@ -59,14 +60,17 @@ ETimezoneDialog* e_timezone_dialog_new (void);
|
||||
/* Returns the TZID of the timezone set, and optionally its displayed name.
|
||||
The TZID may be NULL, in which case the builtin timezone with the city name
|
||||
of display_name should be used. If display_name is also NULL or "", then it
|
||||
is assumed to be a 'local time'. */
|
||||
is assumed to be a 'local time'. Note that display_name may be translated,
|
||||
so you need to convert it back to English before trying to load it.
|
||||
It will be in the GTK+ encoding, i.e. not UTF-8. */
|
||||
char* e_timezone_dialog_get_timezone (ETimezoneDialog *etd,
|
||||
char **display_name);
|
||||
|
||||
/* Sets the TZID and displayed name of the timezone. The TZID may be NULL for
|
||||
a 'local time' (i.e. display_name is NULL or "") or if it is a builtin
|
||||
timezone which hasn't been loaded yet. (This is done so we don't load
|
||||
timezones until we really need them.) */
|
||||
timezones until we really need them.) The display_name should be the
|
||||
translated name in the GTK+ - it will be displayed exactly as it is. */
|
||||
void e_timezone_dialog_set_timezone (ETimezoneDialog *etd,
|
||||
char *tzid,
|
||||
char *display_name);
|
||||
@ -76,6 +80,11 @@ GtkWidget* e_timezone_dialog_get_toplevel (ETimezoneDialog *etd);
|
||||
void e_timezone_dialog_reparent (ETimezoneDialog *etd,
|
||||
GtkWidget *new_parent);
|
||||
|
||||
/* Returns the builtin timezone corresponding to display_name, which is
|
||||
the translated location, e.g. 'Europe/London', in the GTK+ encoding.
|
||||
If display_name is NULL or "" it returns NULL. */
|
||||
icaltimezone* e_timezone_dialog_get_builtin_timezone (char *display_name);
|
||||
|
||||
|
||||
|
||||
#endif /* __E_TIMEZONE_DIALOG_H__ */
|
||||
|
||||
@ -2412,6 +2412,14 @@ e_calendar_item_mark_days (ECalendarItem *calitem,
|
||||
if (month_offset == end_month_offset && day > end_day)
|
||||
break;
|
||||
|
||||
if (month_offset < -1 || month_offset > calitem->rows * calitem->cols)
|
||||
g_warning ("Bad month offset: %i\n", month_offset);
|
||||
if (day < 1 || day > 31)
|
||||
g_warning ("Bad day: %i\n", day);
|
||||
|
||||
#if 0
|
||||
g_print ("Marking Month:%i Day:%i\n", month_offset, day);
|
||||
#endif
|
||||
calitem->styles[(month_offset + 1) * 32 + day] = day_style;
|
||||
|
||||
day++;
|
||||
|
||||
Reference in New Issue
Block a user