Added methods to get color, summary of an event.
This commit is contained in:
+53
-3
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user