diff --git a/Makefile.am b/Makefile.am index f258dc24..4484fa1c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 = \ diff --git a/TODO b/TODO index 9fcfb854..cf4e7d2a 100644 --- a/TODO +++ b/TODO @@ -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 diff --git a/configure.ac b/configure.ac index 14ea8200..9de07984 100644 --- a/configure.ac +++ b/configure.ac @@ -99,7 +99,6 @@ AC_CONFIG_FILES([ data/Makefile data/gnome-calendar.desktop.in po/Makefile.in - doc/Makefile ]) AC_OUTPUT diff --git a/doc/Assumptions b/doc/Assumptions deleted file mode 100644 index c4859f4b..00000000 --- a/doc/Assumptions +++ /dev/null @@ -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 diff --git a/doc/Drawing b/doc/Drawing deleted file mode 100644 index 028f646d..00000000 --- a/doc/Drawing +++ /dev/null @@ -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 | -| | -| +- - - - - - - - - - -| | -| | -+------------------------------------- diff --git a/doc/Flows b/doc/Flows deleted file mode 100644 index 3fde7367..00000000 --- a/doc/Flows +++ /dev/null @@ -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) diff --git a/doc/Internals b/doc/Internals deleted file mode 100644 index b5138dd9..00000000 --- a/doc/Internals +++ /dev/null @@ -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` - (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 diff --git a/doc/Makefile.am b/doc/Makefile.am deleted file mode 100644 index 7beef3e8..00000000 --- a/doc/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -EXTRA_DIST = \ - Assumptions \ - Drawing \ - Flows \ - Views \ - Internals diff --git a/doc/Views b/doc/Views deleted file mode 100644 index de1f3141..00000000 --- a/doc/Views +++ /dev/null @@ -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.