Added methods to get color, summary of an event.

This commit is contained in:
Erick Pérez Castellanos
2012-05-17 14:54:56 -04:00
parent c0aa703b6f
commit 61f2b0f778
2 changed files with 75 additions and 17 deletions
+53 -3
View File
@@ -820,9 +820,9 @@ gcal_manager_set_new_range (GcalManager *manager,
}
icaltimetype*
gcal_manager_get_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid)
gcal_manager_get_event_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid)
{
GcalManagerPrivate *priv;
GcalManagerUnit *unit;
@@ -840,3 +840,53 @@ gcal_manager_get_start_date (GcalManager *manager,
e_cal_component_free_datetime (&dt);
return dtstart;
}
gchar*
gcal_manager_get_event_summary (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid)
{
GcalManagerPrivate *priv;
GcalManagerUnit *unit;
ECalComponent *event;
ECalComponentText e_summary;
gchar *summary;
priv = manager->priv;
unit = g_hash_table_lookup (priv->clients, source_uid);
event = g_hash_table_lookup (unit->events, event_uid);
e_cal_component_get_summary (event, &e_summary);
summary = g_strdup (e_summary.value);
return summary;
}
GdkRGBA*
gcal_manager_get_event_color (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid)
{
GcalManagerPrivate *priv;
GcalManagerUnit *unit;
GdkRGBA *color;
GdkColor gdk_color;
priv = manager->priv;
color = g_new0 (GdkRGBA, 1);
unit = g_hash_table_lookup (priv->clients, source_uid);
gdk_color_parse (e_source_peek_color_spec (unit->source), &gdk_color);
g_debug ("Obtained color %s for %s",
gdk_color_to_string (&gdk_color),
event_uid);
color->red = (gdouble) gdk_color.red / 65535;
color->green = (gdouble) gdk_color.green / 65535;
color->blue = (gdouble) gdk_color.blue / 65535;
color->alpha = 1;
g_debug ("color %s for %s", gdk_rgba_to_string (color), event_uid);
return color;
}
+22 -14
View File
@@ -57,25 +57,33 @@ struct _GcalManagerClass
};
GType gcal_manager_get_type (void);
GType gcal_manager_get_type (void);
GcalManager* gcal_manager_new (void);
GcalManager* gcal_manager_new (void);
GtkListStore* gcal_manager_get_sources_model (GcalManager *manager);
GtkListStore* gcal_manager_get_sources_model (GcalManager *manager);
gchar* gcal_manager_add_source (GcalManager *manager,
const gchar *name,
const gchar *base_uri,
const gchar *relative_uri,
const gchar *color);
gchar* gcal_manager_add_source (GcalManager *manager,
const gchar *name,
const gchar *base_uri,
const gchar *relative_uri,
const gchar *color);
void gcal_manager_set_new_range (GcalManager *manager,
const icaltimetype *initial_date,
const icaltimetype *final_date);
void gcal_manager_set_new_range (GcalManager *manager,
const icaltimetype *initial_date,
const icaltimetype *final_date);
icaltimetype* gcal_manager_get_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
icaltimetype* gcal_manager_get_event_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gchar* gcal_manager_get_event_summary (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
GdkRGBA* gcal_manager_get_event_color (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
G_END_DECLS