Instead of using the GcalEventData struct, use the
deleted event. It holds a reference until the event
gets destroyed.
With this commit, we can safely drop GcalEventData
structure, since it's not used anymore.
Following the sequence of porting commits, make the Shell's
search provider class handle events using GcalEvent classes
instead of the old GcalEventData structure.
Add the new signal for GcalManager::source-enabled that
notifies connected widgets about the source change. With
that, we can keep checkboxes syncronizes.
Added:
+ :query-completed signal. This would allow to know when the search has
completed and the shell search provider will be able to sort and rank
the results
Added API to:
+ set the query for the shell provider model
+ set the subscription of the view on the shell provider model
+ know when the querying of the views completed on the model and all the
events are available for retrieving
Added ::get_sources_connected API to retrieve a list of every source the
application has connected, no matter whether they are enabled or not.
Use ::get_sources_connected on calendars menu in GcalWindow to enable
disabled sources.
We need to keep on the settings the list of the disabled sources
Moved code from ::init vfunc to ::constructed vfunc in order to wait for
construction properties to be set
This patch mainly implements GCAL_RESPONSE_SAVE_EVENT. It updates the event correctly, no matter in which source it is.
Signed-off-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
Initial work. Code is marked all over the place with comments
GcalManager:set_subscriber will set a view and a new range in the
internal ECalDataModel instance.
More cleaning is needed, along the way unneeded methods will be removed
The code added make the dialog show up. Probably anything else works,
but it's start to keep the project building while GcalManager migration
is finished and new GcalEditDialog is built.
GcalManager:objects-added signal pass a list of struct containing
ECalComponents for the event widgets. This ECalComponent instance will
be owned and released by the event widget. Look at: GcalEventWidget::finalize
GcalManager new design includes:
1. remove deprecated methods from eds
2. remove event cache
3. remove the need for keeping date range logic
4. reorder code according to HACKING code style document
This changes will cause some other changes among the application. While
this commit build just fine, work is missing yet. Next I will fix
GcalEventWigdet and the rest of the affected components.
Added support in GcalManager for moving events.
The implementation is pretty simplistic. It doesn't handle
any errors, but since I'm lazy I'm planning to let it that
way till the day bugs start appearing.
New APIS:
GcalManager::set_event_summary
GcalManager::set_event_location
GcalManager::set_event_description
GcalManager::set_event_start_date
Note: GcalManager::set_event_start_date isn't finished since still
needs to handle all-day status of the event.