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:
+1
-1
@@ -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 = \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -99,7 +99,6 @@ AC_CONFIG_FILES([
|
||||
data/Makefile
|
||||
data/gnome-calendar.desktop.in
|
||||
po/Makefile.in
|
||||
doc/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
@@ -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
@@ -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 |
|
||||
| |
|
||||
| +- - - - - - - - - -
|
||||
| |
|
||||
| |
|
||||
+-------------------------------------
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -1,6 +0,0 @@
|
||||
EXTRA_DIST = \
|
||||
Assumptions \
|
||||
Drawing \
|
||||
Flows \
|
||||
Views \
|
||||
Internals
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user