build: move docs out of source tree.

TODO file left as developer guide
I plan to host the docs on a web apart, not decision on it yet,
maybe a projects.gnome.org site.
This commit is contained in:
Erick Pérez Castellanos
2014-12-04 17:10:23 -05:00
parent c22792e65e
commit d3c07fdf3d
9 changed files with 17 additions and 269 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
ACLOCAL_AMFLAGS = -I m4 -I libgd ${ACLOCAL_FLAGS}
SUBDIRS = libgd src data po doc
SUBDIRS = libgd src data po
gnome_calendardocdir = ${datadir}/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}
gnome_calendardoc_DATA = \
+16 -3
View File
@@ -1,15 +1,28 @@
TODO
- Rework toolbar, migrate to GdHeaderBar
- Add disable/enable of views
- [DONE] Create AllDayGrid
1. Add child placement policy
2. Make it reactive
- [DONE] Create DaysGrid [Cause can be 1, 2 or 7 days]
1. Add child placement policy
2. Make it reactive
- Rework toolbar, migrate to GtkHeaderBar
- Update NewEvent widget to use GtkOverlay
- Rework internal GcalWindow working
- Clean GcalWindow compilation, no warnings
- Remove Clutter dependecy
- Clean gcal-enums for removing toolbar related enums
- Add disable/enable of views
- Handle GObject bindings update to not work on hidden views
e.g.: when removing a child is he view is hidden not update
- Rework GcalViews as grid only (WeekView, MonthView, YearView)
- Rework GcalViews to get the new API
- Rework GcalViews to implement the new API (remove every "New API" comment)
- Review views title string: "Year 2013", shouldn't say "Year"
- Review gtk-styles.css file for actually working css definitions
- Add css file and svg image to resources files
- Reorder funcs inside GcalWindow
- Fix nav-button css to matches pushed-down state (font-color goes white)
- Review all-day checkbox and date/time fields interaction in GcalEditDialog
- Check width of read-only layer in GcalEditDialog
- Review the real need of GcalFloatingContainer
-1
View File
@@ -99,7 +99,6 @@ AC_CONFIG_FILES([
data/Makefile
data/gnome-calendar.desktop.in
po/Makefile.in
doc/Makefile
])
AC_OUTPUT
-19
View File
@@ -1,19 +0,0 @@
# Some words about how do we work so far #
1. We load calendar sources from Online Accounts, and the default sources.
(So we'll need a view for adding sources)
2. Using sexp for getting objects between two dates:
(occur-in-time-range? (make-time "20001116T230000Z") (make-time "20001217T230000Z") "America/Havana")
3. We'll merge all the description from `e_cal_component_get_description_list`
into one big description for an event. Actually the thing is for now we'll just handle E_CAL_COMPONENT_EVENT
any other VType will cause unknown behavior
4. I've done a lot of simplication from what the API of e-d-s offers to how we
show alarms of events. The code is marked with comments inside GcalManager.
Among other stuff we'll show only reminders set before the event, and just
before the start time of the event.
5. All-day events are those that fall under one of these conditions:
- Both, start date and end date are marked with is_date, so doesn't have time specified
-110
View File
@@ -1,110 +0,0 @@
GcalWindow
+- GtkGrid ------------------------------------------------------------------+
| +- GdHeaderBar -------------------------------------------------------+ |
| | | |
| +---------------------------------------------------------------------+ |
| +- GtkSearchBar ------------------------------------------------------+ |
| | | |
| +---------------------------------------------------------------------+ |
| +- GcalNavBar -------------------------------------------------------+ |
| | < > May 2013 | |
| +---------------------------------------------------------------------+ |
| +- GtkOverlay --------------------------------------------------------+ |
| | +- GdStack (views) ---------------------------------------------+ | |
| | | | | |
| | +---------------------------------------------------------------+ | |
| | | |
| | +- GcalNewEvent (overlayed) ------------------------------------+ | |
| | | | | |
| | +---------------------------------------------------------------+ | |
| +---------------------------------------------------------------------+ |
+----------------------------------------------------------------------------+
Year View
+--------------------
| header > padding.top
|-l- - - - - - - - -
| e |Year 2021
|-f- - - - - - - - -
| t | header > padding.bottom
|----------------------------+-------
| | top |
|- - - - - - - |
| l |January |
| e |
| f | |
| t |
| | |
Month View
+--------------------
| header > padding.top
|- - - - - - - - - -
| |July, 2021
|- - - - - - - - - -
| l | header > bottom
| e - - - - - - - -
| f |Sun
| t - - - - - - - -
| | normal > top
|----------------------------+-------
| | top |
|- - - - - - - |
| l |1 |
| e |
| f | |
| t |
| | |
Week View
+--------------------
| l | header_padding.top
|- e - - - - -
| f |July 13, 2021
|- t - - - - -
| header > bot| l |
|- - - - e - - - -
| | f |Sun
|- - - - t - - - -
| normal > top| |
|- - - -+-----------------+
| | |
| | All-day event |
| | |
| | |
|-------------------------------+
| | top r | ^ |
|- - -| i | | |
| l |9 AM g | cell_height |
| e | h | v |
| f |--------+-----------------+
| t | |
| | | |
Notes: cell_height is equal to: padding.top + padding.bottom + 3*font_height
Week View Grid
+----------------+--------------------
| Midnight |
| |
| +- - - - - - - - - - -
| |
| |
+-------------------------------------
| 1:00 AM |
| |
| +- - - - - - - - - - -
| |
| |
+-------------------------------------
| 2:00 AM |
| |
| +- - - - - - - - - -
| |
| |
+-------------------------------------
-38
View File
@@ -1,38 +0,0 @@
# 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)
-73
View File
@@ -1,73 +0,0 @@
# Internals #
Description of some internals of Gnome Calendar Application
* mainToolbar object (GdHeaderBar type):
Has 2 states:
1. Overview
2. Search
* GcalApplication
* Has dconf-key attribute (To keep the last view and last day selected)
* Has command-line option (To open on a specified day)
* Has a GcalManager object (To manage source and events, and everything else)
* GcalManager
* Has a list of GcalStoreUnit containing:
1. Esource, ECalClient,ECalClientView,
2. `GHashTable<uid, ECalComponent>`
(representing *active events* of the view)
* Has a list of ESourceGroup
* Has `icaltimetype *initial_date, *final_date;`
For defining a range to get events from
Could have an active query representing the range (s-exp)
* Has a list of Events in the active range (a list of ECalComponent)
* Emit signals for:
1. objects-added (wrapping ECalClientView)
2. objects-removed (wrapping ECalClientView)
3. events-changed (for time range changing)
This signal is emitted so the views knows they have to update the
GcalEvent widgets they contain. E.g. when you disable/enable a Calendar in
SourcesView widget.
* Has a GtkListStore with calendar/sources info.
* GcalView
* Has NavigationPane
* Has icaltimetype: `selected_date` attribute
* Has child classes
1. GcalDayView
* GcalEvent
* Has one source
* GcalMainWindow
* Has an `active_view` attribute
For keeping the type view is actually showing
* Has views
1. GcalDayView
2. GcalWeekView
3. GcalMonthView
...
* Has icaltimetype attribute
For keeping current date
* Has `set_view/update_view` method
For updating the view content by talking to GcalManager
about events and dates of the view
-6
View File
@@ -1,6 +0,0 @@
EXTRA_DIST = \
Assumptions \
Drawing \
Flows \
Views \
Internals
-18
View File
@@ -1,18 +0,0 @@
### Views ###
Here, I'll place some notes about views
- For the creation of new events:
Views will provide one date or two (a range), in both cases the event created from
views are all day event, so the date passed by the views to GcalEventOverlay
should be marked as is_date views
- For marking current unit:
View will draw with selected_color the font of the current unit, so:
December, 14, or the hour (in day view) will be drawn in a different color.
View will provide a two pixels mark for the current unit in every view.
So:
week-view will mark the day of week of the current date, no matters
which week we are seeing.
month-view will mark the day of the month of the current date.
year-view will mark as current unit the month we're living today.