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}
|
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_calendardocdir = ${datadir}/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}
|
||||||
gnome_calendardoc_DATA = \
|
gnome_calendardoc_DATA = \
|
||||||
|
|||||||
@@ -1,15 +1,28 @@
|
|||||||
TODO
|
TODO
|
||||||
|
|
||||||
- Rework toolbar, migrate to GdHeaderBar
|
- [DONE] Create AllDayGrid
|
||||||
- Add disable/enable of views
|
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
|
- Update NewEvent widget to use GtkOverlay
|
||||||
|
- Rework internal GcalWindow working
|
||||||
- Clean GcalWindow compilation, no warnings
|
- Clean GcalWindow compilation, no warnings
|
||||||
- Remove Clutter dependecy
|
- 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 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 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
|
- 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
|
- Review all-day checkbox and date/time fields interaction in GcalEditDialog
|
||||||
- Check width of read-only layer in GcalEditDialog
|
- Check width of read-only layer in GcalEditDialog
|
||||||
- Review the real need of GcalFloatingContainer
|
- Review the real need of GcalFloatingContainer
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ AC_CONFIG_FILES([
|
|||||||
data/Makefile
|
data/Makefile
|
||||||
data/gnome-calendar.desktop.in
|
data/gnome-calendar.desktop.in
|
||||||
po/Makefile.in
|
po/Makefile.in
|
||||||
doc/Makefile
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
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