Files
federated-calendar/doc/Flows.markdown
T

1.3 KiB

Flows

These are some of the flows followed inside the application.

Adding calendar (gcal_store_add_source)

Sources are added defined by an URI, at least for now. I think there's work been done on improving this, but for now, there and URI defining every source we're adding.

  • Check if the URI already existed (here will have to take into account relative and absolute URIs)
  • If it isn't new end processing.
  • Create the ECalClient, add it to the list.
  • Open the ECalClient (e_client_open)
  • Retrieve capabilities ? (ask IRC, what's this) //FIXME this wil be later implemented, when needed
  • Get Object list based on the existing query
  • Create ECalClientView using the existing query.
  • Hook to ECalClientView signals

Setting a view in the main window (gcal_main_window_set_view)

This will work for setting a new view (the app hasn't instanced a view of that type yet), or for updating an old view with a new time lapse

  • Update GSettings key for keeping active-view-type
  • Create/Update the view with the active date from GcalMainWindow.active_date
  • Retrieve new time range from view.
  • Update time range in store (a GcalStore)
  • Hook up to signals emitted from GcalStore to read active events from updated time range
  • Hook up to signals emitted from GcalStore to get events updates lively
  • Update GcalMainWindow.view_type