Added method for faking ::events-added signal.

Added a method for sending a fake signal to newly created that don't cause an
update of the timespan covered by the actual query of GcalManager.
Added get_event_all_day method for find out if and event is all-day.
This commit is contained in:
Erick Pérez Castellanos
2012-07-11 10:50:29 -04:00
parent 63c7b1a91c
commit ade7c97aed
2 changed files with 40 additions and 0 deletions
+36
View File
@@ -1316,6 +1316,42 @@ gcal_manager_get_event_reminders (GcalManager *manager,
return reminders;
}
gboolean
gcal_manager_get_event_all_day (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid)
{
GcalManagerPrivate *priv;
GcalManagerUnit *unit;
ECalComponent *event;
ECalComponentDateTime dt;
icaltimetype *dtstart;
icaltimetype *dtend;
gboolean all_day;
g_return_val_if_fail (GCAL_IS_MANAGER (manager), FALSE);
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_dtstart (event, &dt);
dtstart = gcal_dup_icaltime (dt.value);
e_cal_component_free_datetime (&dt);
e_cal_component_get_dtend (event, &dt);
dtend = gcal_dup_icaltime (dt.value);
e_cal_component_free_datetime (&dt);
all_day = (dtstart->is_date == 1) && (dtend->is_date == 1);
g_free (dtstart);
g_free (dtend);
return all_day;
}
void
gcal_manager_remove_event (GcalManager *manager,
const gchar *source_uid,
+4
View File
@@ -112,6 +112,10 @@ GList* gcal_manager_get_event_reminders (GcalManager *manager
const gchar *source_uid,
const gchar *event_uid);
gboolean gcal_manager_get_event_all_day (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
void gcal_manager_remove_event (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);