static void location_changed_cb (CcTimezoneMap *map, TzLocation *location, CcDateTimePanel *self) { CcDateTimePanelPrivate *priv = self->priv; GtkWidget *region_combo, *city_combo; g_debug ("location changed to %s/%s", location->country, location->zone); self->priv->current_location = location; /* Update the combo boxes */ region_combo = W("region_combobox"); city_combo = W("city_combobox"); g_signal_handlers_block_by_func (region_combo, region_changed_cb, self); g_signal_handlers_block_by_func (city_combo, city_changed_cb, self); update_timezone (self); g_signal_handlers_unblock_by_func (region_combo, region_changed_cb, self); g_signal_handlers_unblock_by_func (city_combo, city_changed_cb, self); queue_set_timezone (self); }
static void location_changed_cb (CcTimezoneMap *map, TzLocation *location, CcDateTimePanel *self) { CcDateTimePanelPrivate *priv = self->priv; GDateTime *old_date; GTimeZone *timezone; g_debug ("location changed to %s/%s", location->country, location->zone); priv->current_location = location; old_date = priv->date; timezone = g_time_zone_new (location->zone); priv->date = g_date_time_to_timezone (old_date, timezone); g_time_zone_unref (timezone); g_date_time_unref (old_date); update_timezone (self); queue_set_timezone (self); }