aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/cal-config-weather/e-source-weather.c17
-rw-r--r--modules/cal-config-weather/e-source-weather.h5
-rw-r--r--modules/cal-config-weather/evolution-cal-config-weather.c24
3 files changed, 37 insertions, 9 deletions
diff --git a/modules/cal-config-weather/e-source-weather.c b/modules/cal-config-weather/e-source-weather.c
index fb0ede7aa9..0bdf8f304e 100644
--- a/modules/cal-config-weather/e-source-weather.c
+++ b/modules/cal-config-weather/e-source-weather.c
@@ -140,7 +140,7 @@ e_source_weather_class_init (ESourceWeatherClass *class)
"Units",
"Metric or imperial units",
E_TYPE_SOURCE_WEATHER_UNITS,
- E_SOURCE_WEATHER_UNITS_METRIC,
+ E_SOURCE_WEATHER_UNITS_FAHRENHEIT,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT |
E_SOURCE_PARAM_SETTING));
@@ -162,12 +162,15 @@ void
e_source_weather_type_register (GTypeModule *type_module)
{
static const GEnumValue e_source_weather_units_values[] = {
- { E_SOURCE_WEATHER_UNITS_METRIC,
- "E_SOURCE_WEATHER_UNITS_METRIC",
- "metric" },
- { E_SOURCE_WEATHER_UNITS_IMPERIAL,
- "E_SOURCE_WEATHER_UNITS_IMPERIAL",
- "imperial" },
+ { E_SOURCE_WEATHER_UNITS_FAHRENHEIT,
+ "E_SOURCE_WEATHER_UNITS_FAHRENHEIT",
+ "fahrenheit" },
+ { E_SOURCE_WEATHER_UNITS_CENTIGRADE,
+ "E_SOURCE_WEATHER_UNITS_CENTIGRADE",
+ "centigrade" },
+ { E_SOURCE_WEATHER_UNITS_KELVIN,
+ "E_SOURCE_WEATHER_UNITS_KELVIN",
+ "kelvin" },
{ 0, NULL, NULL }
};
diff --git a/modules/cal-config-weather/e-source-weather.h b/modules/cal-config-weather/e-source-weather.h
index fd191cf27b..765edd749f 100644
--- a/modules/cal-config-weather/e-source-weather.h
+++ b/modules/cal-config-weather/e-source-weather.h
@@ -61,8 +61,9 @@ struct _ESourceWeatherClass {
};
typedef enum {
- E_SOURCE_WEATHER_UNITS_METRIC,
- E_SOURCE_WEATHER_UNITS_IMPERIAL
+ E_SOURCE_WEATHER_UNITS_FAHRENHEIT = 0,
+ E_SOURCE_WEATHER_UNITS_CENTIGRADE,
+ E_SOURCE_WEATHER_UNITS_KELVIN
} ESourceWeatherUnits;
GType e_source_weather_get_type (void);
diff --git a/modules/cal-config-weather/evolution-cal-config-weather.c b/modules/cal-config-weather/evolution-cal-config-weather.c
index 5bdd6f9d20..3d01669e8b 100644
--- a/modules/cal-config-weather/evolution-cal-config-weather.c
+++ b/modules/cal-config-weather/evolution-cal-config-weather.c
@@ -207,6 +207,24 @@ cal_config_weather_insert_widgets (ESourceConfigBackend *backend,
context->location_entry = g_object_ref (widget);
gtk_widget_show (widget);
+ widget = gtk_combo_box_text_new ();
+ /* keep the same order as in the ESourceWeatherUnits */
+ gtk_combo_box_text_append_text (
+ GTK_COMBO_BOX_TEXT (widget),
+ /* TRANSLATOR: This is the temperature in degrees Fahrenheit (\302\260 is U+00B0 DEGREE SIGN) */
+ _("Fahrenheit (\302\260F)"));
+ gtk_combo_box_text_append_text (
+ GTK_COMBO_BOX_TEXT (widget),
+ /* TRANSLATOR: This is the temperature in degrees Celsius (\302\260 is U+00B0 DEGREE SIGN) */
+ _("Centigrade (\302\260C)"));
+ gtk_combo_box_text_append_text (
+ GTK_COMBO_BOX_TEXT (widget),
+ /* TRANSLATOR: This is the temperature in kelvin */
+ _("Kelvin (K)"));
+ e_source_config_insert_widget (
+ config, scratch_source, _("Units:"), widget);
+ gtk_widget_show (widget);
+
e_source_config_add_refresh_interval (config, scratch_source);
extension_name = E_SOURCE_EXTENSION_WEATHER_BACKEND;
@@ -222,6 +240,12 @@ cal_config_weather_insert_widgets (ESourceConfigBackend *backend,
gweather_location_ref (world),
(GDestroyNotify) gweather_location_unref);
+ g_object_bind_property (
+ extension, "units",
+ widget, "active",
+ G_BINDING_BIDIRECTIONAL |
+ G_BINDING_SYNC_CREATE);
+
gweather_location_unref (world);
}