Starting the application
- Create
GcalManager
instance - Creating a gcal_window
- Connect the handlers to
GcalManager
signals - Get the date the app will show either from settings or from the actual view
- Instantiate every view
- Show the last active view (got from the settings)
- Connect the handlers to
Showing a view in a window
- Clean previous states (new event creation/search)
- API:
gcal_window_view_changed
- Update
GcalMainWindow.view_type
- Call
update_view
Update the app date
- API:
update_view
: update only the active view 4. update NavBar headers
Update the app date. v2
- API:
update_view
: 3. update NavBar headers
Create an event
- First approach
- call
gcal_window_new_event
(from N or [New Event] menu item) - set
#GcalWindow:new-event-mode
to TRUE - disable toolbar
- call
gcal_view_mark_current_unit
- call
gcal_view_get_current_position
- call
- Second approach:
- Receive
#GcalView:create-event
signal - set
#GcalWindow:new-event-mode
to TRUE - disable toolbar
- Receive
- call
gcal_window_show_new_event_widget
- handle outcome of the widget
- call
gcal_view_clear_marks
- unset
#GcalWindow:new-event-mode
- enable toolbar
Search events
- Init search
- set
#GcalWindow:search-mode
- create
#GcalSearchView
- update
priv->header_bar
- add it to
GtkStack
, show it
- set
- End search
- unset
#GcalWindow:search-mode
- free
GcalSearchView
- update
header_bar
- reinstate last active view
- unset
Edit/show events
- API:
event_activated
`#GcalManager:events-created