diff --git a/src/gcal-subscriber-view.c b/src/gcal-subscriber-view.c index eabe3caa..25e346e1 100644 --- a/src/gcal-subscriber-view.c +++ b/src/gcal-subscriber-view.c @@ -56,6 +56,8 @@ static gboolean gcal_subscriber_view_is_child_multicell (GcalSubscr static guint gcal_subscriber_view_get_child_cell (GcalSubscriberView *subscriber, GcalEventWidget *child); +static void gcal_subscriber_view_clear_state (GcalSubscriberView *subscriber_view); + static void gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber, ECalClient *client, ECalComponent *comp); @@ -82,7 +84,8 @@ static void event_activated (GcalEventWidget *widget, gpointer user_data) { - /* FIXME: clear_widget marks + popover + any state */ + /* FIXME: implement clear_state vfunc in descendants */ + gcal_subscriber_view_clear_state (GCAL_SUBSCRIBER_VIEW (user_data)); g_signal_emit (GCAL_SUBSCRIBER_VIEW (user_data), signals[EVENT_ACTIVATED], 0, widget); } @@ -320,6 +323,18 @@ gcal_subscriber_view_get_child_cell (GcalSubscriberView *subscriber, return 0; } +static void +gcal_subscriber_view_clear_state (GcalSubscriberView *subscriber_view) +{ + GcalSubscriberViewClass *klass; + + g_return_if_fail (GCAL_IS_SUBSCRIBER_VIEW (subscriber_view)); + + klass = GCAL_SUBSCRIBER_VIEW_GET_CLASS (subscriber_view); + if (klass->clear_state) + klass->clear_state (subscriber_view); +} + /* ECalDataModelSubscriber interface API */ static void gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber, diff --git a/src/gcal-subscriber-view.h b/src/gcal-subscriber-view.h index b3831c88..d052ca1a 100644 --- a/src/gcal-subscriber-view.h +++ b/src/gcal-subscriber-view.h @@ -53,8 +53,9 @@ struct _GcalSubscriberViewClass void (*event_activated) (GcalSubscriberView *subscriber_view, GcalEventWidget *event_widget); /*< public >*/ - gboolean (*is_child_multicell) (GcalSubscriberView *subscriber, GcalEventWidget *child); - guint (*get_child_cell) (GcalSubscriberView *subscriber, GcalEventWidget *child); + gboolean (*is_child_multicell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child); + guint (*get_child_cell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child); + void (*clear_state) (GcalSubscriberView *subscriber_view); /* gcal-view replacements */ GtkWidget* (*get_child_by_uuid) (GcalSubscriberView *subscriber_view, const gchar *uuid);