# 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 * Create/Update the view with the selected_date * Retrieve new time range from view. * Update time range in store (a `GcalStore`) * Update `GcalMainWindow.view_type` ### Starting the application ### * Instantiate every view (here I'm doubt yet if I'll fill the view with it's children event widgets) * Set every view to the actual date (or the one got from the settings) * Set the last active view as active (got from the settings)