Commit Graph
77 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto cfa8794313 manager: Move GcalClock to GcalApplication
GcalManager is basically an object that is shared
among classes that need to modify calendars, while
GcalClock is just a wall clock implementation.

Move it to GcalApplication, so that objects without
access to GcalManager can still access the clock.
2018-05-04 21:37:53 -03:00
Georges Basile Stavracas Neto f698981aa8 application: Improve order of statup
This commit makes sure that logging is set before
actually logging anything. It also sychronizes the
application startup with the manager startup.
2018-01-28 12:39:13 -02:00
Georges Basile Stavracas Neto 1dcf0d1f24 project: Unify headers 2018-01-27 22:35:20 -02:00
Georges Basile Stavracas Neto a0b6bdb04a application: move GSettings object to GcalManager
The first outcome of the test suite. This separation does
not make much sense now, and GcalManager is basically a
holder for all data types.

This commit moves the GSettings to the GcalManager instance
of the application. Of course, in the future, the plan is to
split GcalManager nicely.
2017-09-07 12:52:49 -03:00
Georges Basile Stavracas Neto de780276f9 manager: user the new code style 2017-09-07 02:23:56 -03:00
Georges Basile Stavracas Neto 3b6b536663 recurrence: add GcalRecurrenceModType
Instead of reusing the ECalObjModType and mixing the
prefixes all around, do this small cleanup and add a
gcal-prefixed enum.
2017-09-07 00:02:40 -03:00
Yash Singh 9ffa913ad4 manager: pass ECalObjModType to update and remove
Currently, GcalManager always assumes E_CAL_OBJ_MOD_THIS
when modifying or deleting events. Since we're landing
the groundwork for recurrence management, we can't assume
this anymore.

This patch, then, allows GcalManager:modify_event() and
:remove_event() receive the ECalObjModType instead of
assuming E_CAL_OBJ_MOD_THIS. However, this commit does
not add recurrence support yet, and every call to these
functions are still passing E_CAL_OBJ_MOD_THIS.

https://bugzilla.gnome.org/show_bug.cgi?id=782755
2017-05-27 11:36:05 -03:00
Georges Basile Stavracas Neto 15563607dd manager: create and keep an internal clock
This clock will be used in the future by other classes
to update stuff.
2017-05-16 14:57:13 -03:00
Georges Basile Stavracas Neto 2544773645 manager: use EDS selectable property to track disabled agendas
This way, we can keep GNOME Calendar and Evolution synchronized.
And we can save some code too.
2017-03-17 21:25:23 -03:00
Georges Basile Stavracas Neto be137fca02 manager: unify completion flags
Instead of having a completion flag for GOA and calendars,
unify both of them and simplify some code.
2017-03-17 12:46:40 -03:00
Georges Basile Stavracas Neto 0b07d7d27d manager: improve code
This is a big cleanup commit where I tried my best to
make GcalManager code more structured and readable. This
included both cosmetic and functional changes.
2017-03-17 10:14:25 -03:00
Georges Basile Stavracas Neto 2775012346 manager: use GcalEvent on it's API
To make things consistend and clear, use the
GcalEvent class to handle events.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto c65fe989fe window: use a GcalEvent to delete events
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.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto eb360dc809 shell-provider: use GcalEvent instead of event data
Following the sequence of porting commits, make the Shell's
search provider class handle events using GcalEvent classes
instead of the old GcalEventData structure.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 80b03531f2 manager: turn into a final class 2016-01-19 19:31:04 -02:00
Georges Basile Stavracas Neto 6080b62368 manager: implement ::move method 2015-07-16 00:22:54 -03:00
Georges Basile Stavracas Neto 27fa9983f4 manager: change ::get_client to ::get_goa_client
This explains better the purpose of the methods, and also
don't collide with the ECalClient prefix we already use.
2015-05-25 12:35:58 -04:00
Georges Basile Stavracas Neto 2b4e46a4b6 manager: notify when sources are enabled/disabled
Add the new signal for GcalManager::source-enabled that
notifies connected widgets about the source change. With
that, we can keep checkboxes syncronizes.
2015-05-25 12:35:58 -04:00
Georges Basile Stavracas Neto 7942677b8e application: move GoaClient to manager 2015-05-25 12:35:56 -04:00
Georges Basile Stavracas Neto c48edbd682 manager: implement GcalManager::query_client_data 2015-05-25 12:35:26 -04:00
Georges Basile Stavracas Neto e5a2361274 manager: implemented GcalManager::get_source method 2015-05-25 12:35:26 -04:00
Georges Basile Stavracas Neto 18fa205916 manager: initial implementation of GcalManager::save_source method 2015-05-25 12:31:07 -04:00
Georges Basile Stavracas Neto 3070922f5e manager: implement GcalManager::set_default_source method 2015-05-25 12:31:07 -04:00
Erick Pérez Castellanos f0e35881e7 manager: add ::source_enabled API 2015-02-06 09:21:36 -05:00
Erick Pérez Castellanos 023dbb0632 manager: obtain event data from its uuid
This is only enable on the shell search provider model for now. If it
proves useful we can extend it to some other place
2015-02-06 09:21:34 -05:00
Erick Pérez Castellanos 25fd4ab5a9 manager: add shell search provider helpers
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
2015-02-06 09:21:34 -05:00
Erick Pérez Castellanos 4527ddfa64 manager: added load_completed public API
The idea is to be able to retrieve the status as well listen to the
signal when needed.
2015-02-06 09:21:33 -05:00
Erick Pérez Castellanos 8f7d931340 manager: add :load-completed signal
:load-completed signals the end of the opening of the sources initially
read from ESourceRegistry.
2015-02-06 09:21:33 -05:00
Erick Pérez Castellanos 1dd50951f6 app: add shell provider implementation skeleton 2015-02-06 09:21:33 -05:00
Erick Pérez Castellanos 01f5276764 manager: retrieve events on a range 2015-01-20 13:11:59 -05:00
Erick Pérez Castellanos 0b2367200b copyright: update year 2015-01-20 13:11:58 -05:00
Erick Pérez Castellanos 073719ef35 manager: get all connected sources
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.
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos c4de15eeef window: unmark disabled sources checkbox
Calendars selector menu needs to know which source is enable to properly
mark the checkbox
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos 9af65c8f1f manager: hold a reference of the application's settings
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
2014-12-22 08:38:19 -05:00
Georges Basile Stavracas Neto 75143200cb manager: change signal name to ::'source-activated' 2014-12-16 13:01:29 -02:00
Georges Basile Stavracas Neto 96e0055fcb manager: added missing signal signature 2014-12-16 11:16:10 -02:00
Georges Basile Stavracas Neto 0cefc9f5ea manager: implemented GcalManager::source-added and GcalManager::source-removed signals 2014-12-16 11:12:48 -02:00
Georges Basile Stavracas Neto e53e514a7e manager: stub functions for enabling/disabling sources 2014-12-15 15:34:58 -02:00
Erick Pérez Castellanos 9188d37e53 manager: removed EVENT_CREATED signal
Since we are opening edit-dialog on event creation directly, we don't
need this notification anymore.
2014-12-05 08:17:30 -05:00
Erick Pérez Castellanos b36a390292 manager: updated GcalManager::create_event
Move the API to use ECalComponent instead of uids.
2014-12-04 17:10:56 -05:00
Erick Pérez Castellanos 83eb99efba manager: update retrieve sources API
The move to newer API is to drop GtkListStore dependency on the manager.
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos 329118079d manager: update GcalManager::remove_event API
Move GcalManager::remove_event API to new style using ESource and
ECalComponent instead of uuid
Update GcalWindow uses of this API
2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos 7fa696c137 manager: added ECalDataModel for search alone 2014-12-04 17:10:54 -05:00
Georges Basile Stavracas Neto 2e8b677d6a app: implemented sync action
Useful when the local calendar differs from the remote calendar (i.e. you added an event at Google Calendar).
2014-12-04 17:10:52 -05:00
Erick Pérez Castellanos f4eaf2217d search: added initial search implementation 2014-12-04 17:10:49 -05:00
Georges Basile Stavracas Neto 56e69f7c88 edit-dialog: implements GCAL_RESPONSE_SAVE_EVENT
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>
2014-12-04 17:10:49 -05:00
Erick Pérez Castellanos 792c6a9cec manager: remove internal query
The internal query is not needed since that's handled now by the
ECalDataModel instance
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos bc2a348d0b manager: use ECalDataModel to handle events
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
2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos 6d3e30b160 edit-dialog: added stub code
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.
2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 65653d16b4 manager: remove get_event* methods
Now those values are accesible from inside GcalEventWidget and
GcalEditDialog using its internals copies of ECalComponent of the event
they represent
2014-12-04 17:10:39 -05:00