weather: Rework weather management

This commit brings a few changes that I was too lazy to
split in different commits:

 * Remove a few useless arguments in the GcalWeatherService API
 * Move the weather management code from GcalWindow to GcalWeatherSettings
 * A few style changes
This commit is contained in:
Georges Basile Stavracas Neto
2018-01-27 20:36:29 -02:00
parent ab20672aeb
commit 499db7bfd4
13 changed files with 568 additions and 392 deletions
+4 -3
View File
@@ -1674,7 +1674,7 @@ gcal_week_header_init (GcalWeekHeader *self)
self->selection_end = -1;
self->dnd_cell = -1;
self->weather_service = NULL;
memset (self->weather_infos, 0, sizeof(self->weather_infos));
gtk_widget_init_template (GTK_WIDGET (self));
/* This is to avoid stray lines when adding and removing events */
@@ -1712,7 +1712,8 @@ gcal_week_header_add_weather_infos (GcalWeekHeader *self,
gint consumed = 0;
guint i;
g_return_val_if_fail (self != NULL, 0);
if (!self->active_date)
return 0;
week_start_dt = get_start_of_week (self->active_date);
g_date_set_dmy (&week_start,
@@ -2066,7 +2067,7 @@ gcal_week_header_set_date (GcalWeekHeader *self,
* Elements are owned by the widget. Do not modify.
*/
GSList*
gcal_week_header_get_shown_weather_infos (GcalWeekHeader *self)
gcal_week_header_get_shown_weather_infos (GcalWeekHeader *self)
{
g_return_val_if_fail (GCAL_IS_WEEK_HEADER (self), NULL);
GSList* lst = NULL; /* owned[unowned] */
+5 -17
View File
@@ -546,23 +546,9 @@ gcal_week_view_set_property (GObject *object,
break;
case PROP_WEATHER_SERVICE:
{
GcalWeatherService* weather_service; /* unowned */
weather_service = g_value_get_object (value);
g_return_if_fail (weather_service == NULL || GCAL_IS_WEATHER_SERVICE (weather_service));
if (self->weather_service != weather_service)
{
g_set_object (&self->weather_service, weather_service);
gcal_week_header_set_weather_service (GCAL_WEEK_HEADER (self->header),
self->weather_service);
g_object_notify (object, "weather-service");
}
break;
}
if (g_set_object (&self->weather_service, g_value_get_object (value)))
g_object_notify (object, "weather-service");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -639,6 +625,8 @@ gcal_week_view_init (GcalWeekView *self)
update_hours_sidebar_size (self);
self->weather_service = NULL;
g_object_bind_property (self, "weather-service", self->header, "weather-service", G_BINDING_DEFAULT);
}
/* Public API */