Commit Graph
80 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto e7a05bdc4c clock: introduce GcalClock
GcalClock is an internal clock for GNOME Calendar that
sends a few utility signals, such as :day-changed and
:minute-changed.

It also watches for suspend/resume events to properly
send the signal right after the resume.
2017-05-16 14:57:11 -03:00
Georges Basile Stavracas Neto 014bcfddc5 doc: add skeleton documentation
This adds API documentation, generated at compile time.
2017-04-08 20:59:50 -03:00
Georges Basile Stavracas Neto 7b05abea90 debug: add debug macros 2017-03-17 10:14:25 -03:00
Georges Basile Stavracas Neto 5d980de797 log: add initial logging capabilities 2017-03-17 10:14:25 -03:00
Georges Basile Stavracas Neto e74cfc0e22 project: move views to views/ folder 2017-01-17 11:28:48 -02:00
Georges Basile Stavracas Neto 29ad51b19a project: introduce GcalRangeTree
In order to correctly implement the week grid, we must
have a fast and optimized data structure to handle date
intervals.

This commit introduces, then, GcalRangeTree. The range tree
is an augmented AVL tree designed to handle intervals (i.e.
ranges) rather than single-dimensional keys.

It is a very good struct since common operations like insert
and removal are O(log n). It also is optimized for the ranges
we work on, so the nodes only take up the absolutely minimum
space required.
2016-12-07 21:27:25 -02:00
pandusonu2 c658d030b8 week-grid: created the basic skeleton of week-grid
Created the .h, .c and .ui file of week grid. Also made changes in the Makefile.am for it to get built.
2016-12-01 23:48:52 -02:00
pandusonu2 69cade3d77 week-header: created the basic skeleton of the week-header
Created the .h, .c and .ui file of week header. Also made changes in the Makefile.am for it to get built.
2016-12-01 23:48:52 -02:00
pandusonu2 3656c781da build: move week view to views/ subfolder
Moved the gcal-week-view.{h,c} into views folder. Made changes in the src/Makefile.am and configure.ac to include the views/gcal-week-view.h.
2016-12-01 23:48:52 -02:00
Georges Basile Stavracas Neto cd50bec506 project: fix build warnings
https://bugzilla.gnome.org/show_bug.cgi?id=770466
2016-08-29 23:08:39 -03:00
Ernestas Kulik 1cb71ea4a9 Don’t use GNOME_COMPILE_WARNINGS
GNOME_COMPILE_WARNINGS is still being used, despite its deprecated
status. This commit also tweaks configure.ac a little, removing
redundant macro calls and definitions and quoting all macro arguments.

https://bugzilla.gnome.org/show_bug.cgi?id=770466
2016-08-29 21:43:08 -03:00
Georges Basile Stavracas Neto c2dca8a3dc date-chooser: add date chooser widget
This is mainly a copy-paste from an old branch authored
by Matthias Clasen. The code style was updated to match
Calendar's one, and the theming was improved a little bit.
2016-07-23 17:47:11 -03:00
Georges Basile Stavracas Neto 33c7031164 project: remove GbScrolledWindow
The max-content-height property was ported to GtkScrolledWindow,
which means we don't have to use a custom class anymore.
2016-06-17 18:18:38 -03:00
Georges Basile Stavracas Neto 11070f1d17 quick-add-popover: new class to handle new events
Instead of throwing it all for GcalWindow to handle,
add a new class called GcalQuickAddPopover that handles
event creation.

Events are always all day when created from the quick
add popover, unless the user wants to change it and click
'Edit Details' button.

In the future, we'll look forward adding natural language
support, so the user can type the times directly from the
entry (like e.g. "soccer at park from 10am to 11:30am").
2016-02-16 13:32:35 -02:00
Georges Basile Stavracas Neto 5e0d4018f4 event: add a wrapper around events
Instead of relying on confusing structures, raw data
and direct access to components, add a wrapper for
events.
2016-02-14 12:17:37 -02:00
Georges Basile Stavracas Neto 9515c5e627 build: alphabetically sort source files 2016-02-12 15:17:48 -02:00
Erick Pérez Castellanos 3d7ffdbaa7 app: add GbScrolledWindow
GbScrolledWindow comes from Builder, courtesy of christian Hergert.
We'll use it in calendars' popover.
2015-05-25 12:36:54 -04:00
Georges Basile Stavracas Neto 6f8199c488 project: add Goa dependency 2015-05-25 12:35:56 -04:00
Georges Basile Stavracas Neto b91f732fba project: remove ESourceLocal extension
Milan Crha exported some extensions at EDS,
and ESourceLocal was one of them.
2015-05-25 12:35:32 -04:00
Georges Basile Stavracas Neto 16f12f600e local-source: copy code from Evolution regarding local sources 2015-05-25 12:31:07 -04:00
Georges Basile Stavracas Neto 08f4853a2a source-dialog: rename class to GcalSourceDialog 2015-05-25 12:31:04 -04:00
Georges Basile Stavracas Neto 095fd60ba8 source-dialog: initial stub implementation 2015-05-25 12:31:04 -04:00
Erick Pérez Castellanos 1dd50951f6 app: add shell provider implementation skeleton 2015-02-06 09:21:33 -05:00
Erick Pérez Castellanos a704b244b9 css-code: added harcoded styles of widgets 2015-01-22 13:46:54 -05:00
Erick Pérez Castellanos a9ca220457 build: remove nav-bar unused files 2015-01-20 13:47:39 -05:00
Erick Pérez Castellanos bdaf2dbc25 subscriber: files renaming before class renaming 2015-01-09 09:02:02 -05:00
Erick Pérez Castellanos c1e68032c9 subscriber: added protected internal structure
The idea here is to make GcalSubscriber handle the container
responsibilities of the view, and the view will handle only the drawing
an allocating, this would allow us to remove GcalView interface and
merge its methods in GcalSubscriber.
2015-01-09 08:43:21 -05:00
Erick Pérez Castellanos 0aba9c55d2 subscriber: files renaming before class renaming 2015-01-05 10:33:25 -05:00
Erick Pérez Castellanos 8e899465e9 subscriber: added protected internal structure
The idea here is to make GcalSubscriber handle the container
responsibilities of the view, and the view will handle only the drawing
an allocating, this would allow us to remove GcalView interface and
merge its methods in GcalSubscriber.
2015-01-05 10:33:23 -05:00
Georges Basile Stavracas Neto 40683e5e10 date-selector: initial implementetation
No functionality is ready, only project settings and class type.
2014-12-23 12:01:38 -05:00
Erick Pérez Castellanos 761475e47b build: remove unusued code
Since we don't build treeview anymore using cell renderer, this code is
not needed.
2014-12-22 08:38:20 -05:00
Georges Basile Stavracas Neto 33d101062d time-selector: implemented time selection with spin buttons 2014-12-18 09:55:09 -05:00
Erick Pérez Castellanos 927233cabb build: remove GcalNewEventWidget related files 2014-12-04 17:10:55 -05:00
Erick Pérez Castellanos f4eaf2217d search: added initial search implementation 2014-12-04 17:10:49 -05:00
Erick Pérez Castellanos cfb2c39a7d build: add GcalSubscriber abstract class
GcalSubscriber abstract class is meant for handling the implementation
of ECalDataModelSubscriber interface. The code in each vfunc implemented
is the same for each view, then it makes sense to have a class holding
these implementations and make every views descend from it. This class
sits in the middle between GtkContainer and each of the views.
2014-12-04 17:10:46 -05:00
Erick Pérez Castellanos d5f2b21f37 build: removed unused/faulty code
This cleaning is made in order to merge this branch into master as soon
as possible.
The implementation of GcalDayView is planned to go on the same lines as
GcalWeekView but for two days alone, so much of the code of the latter
could be reused. The approach of using shallow container and kinda
layout manager objects inside GcalDayView didn't worked that well for my
expertise at this time.
2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos bed94963d0 build: added ECalDataModel related files
Implements an ECalDataModel object from evolution courtesy of Milan Crha
ECalDataModel hides the details of events retrieving from
calendars. Provides a time range and a subscriber system allowing
objects implements the necessary callbacks to be notified of events
happening on the selected time range.
2014-12-04 17:10:41 -05:00
Georges Basile Stavracas Neto a5c65af0fb project: remove libgd dependency
This patch fixes bug #737729, removing all libgd dependencies.

Every GdHeaderButton was replaced by GtkButton, and GdNotification was replaced by a custom-styled GtkFrame inside a GtkRevealer.
2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos b094f39288 build: remove unused GcalArrowBin 2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 9752b719f0 manager: initial work on new design
GcalManager new design includes:
1. remove deprecated methods from eds
2. remove event cache
3. remove the need for keeping date range logic
4. reorder code according to HACKING code style document

This changes will cause some other changes among the application. While
this commit build just fine, work is missing yet. Next I will fix
GcalEventWigdet and the rest of the affected components.
2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos 24ea81583d build: update/clean autotools machinery 2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos e0e1517061 build: moved resource file to data
Add css style to resources
2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos 005e583341 gcal-window: started migration to GcalNewEventWidget
Removed GcalEventOverlay
Hooked GcalView:create-event signal from views
2014-12-04 17:10:28 -05:00
Erick Pérez Castellanos 984ec9f07f gcal-new-event-widget: initial rework of new-event-widget
Moved into new-style composited widget
Added GtkBuilder ui file
Added gmodule-export-2.0 dependency
2014-12-04 17:10:28 -05:00
Erick Pérez Castellanos 42ff2e76da ui: added GcalDayView widget
Initial approach, it doesn't do anything but painting the background.
Still missing to handle chidlren allocation.

Integrated GcalAllDayGrid, GcalViewport and GcalDaysGrid.
2014-12-04 17:10:22 -05:00
Erick Pérez Castellanos 728ea4db16 ui: added GcalDaysGrid widget
The widget for keeping event widgets. It will be used in DayView and WeekView
2014-12-04 17:10:22 -05:00
Erick Pérez Castellanos 984b65780a ui: added GcalViewport widget.
Basically a Viewport with overlaying scrollbars, for using inside the views
2014-12-04 17:10:22 -05:00
Erick Pérez Castellanos bfa996b982 ui: added GcalAllDayGrid widget.
GcalAllDayGrid will work for day and week view.
This is the initial implementation, that doesn't respond
to events (mouse clicks)
2014-12-04 17:10:21 -05:00
Erick Pérez Castellanos c8b155270b ui: Added GcalNavBar widget.
GcalNavBar widget is composited using templates.
Great work of Tristan Van Berkom <tristanvb@openismus.com> on
using this.
2014-12-04 17:10:20 -05:00
Erick Pérez Castellanos 6f42fc093a build: Added gresources to binary
GcalNavBar ui added as a resource.
2014-12-04 17:10:20 -05:00