35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# 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`)
|
|
* Create ECalClientView using the existing query.
|
|
* Hook to ECalClientView signals
|
|
* Retrieve capabilities ? (ask IRC, what's this)
|
|
//FIXME this wil be later implemented, when needed
|
|
* Get Object list based on the existing query
|
|
|
|
### 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`
|