Commit Graph
100 Commits
Author SHA1 Message Date
Erick Pérez Castellanos 2b92e0977f event-widget: include recurid on event uuid
By taking recur id into event uuid we are able to properly handle events recurrences
2014-12-04 17:10:43 -05:00
Erick Pérez Castellanos c777d4c852 views: use new comparison function 2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos ab2050b695 month-view: change widget comparison for inclusion
Using new function ensure checking recurid besides everything else
2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos 2a100b5fce event-widget: add method to test equality 2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos cf7e6be614 window: hook GcalView:event-activated signal 2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos 2bb8b6f4c4 month-view: add ECalDataModelSubscriber iface impl
Initial work implementing ECalDataModelSubscriber interface. As
explained before, on each set of GcalView:active-date property the range
the view its subscribing gets updated. Allowing this to obtain
notification through ECalDataModelSubscriber::components_added and
ECalDataModelSubscriber::components_removed vfuncs.
2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos a05d114859 window: add :manager property to construction
Since a pointer to the GcalManager instance it's needed at construction
time and GtkWindow::application property is not set as construction
property. We need to add this property to have a reference to pass to
the instantiated views.
Just like the views, this isn't ref/copied or anything, it's just a
dummy pointer. The application objects is the respnsible of handling
GcalManager instance initialization and destruction.
2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos c55caa89c6 window: removed unused code
Events related signals from GcalManager had been removed previously,
those handlers aren't needed anymore.
Second, there's no need to inform GcalManager of the new range since
every view will do so internally. Also, there's no need of removing
children widgets from the active view, since each view will do so on its
own by implementing ECalDataMoelSubscriber::components_removed vfunc.
2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos 3a151894be views: implemented :manager property
As explained before, this is only intended to keep a reference to the
GcalManager instance of the application.
Misc: fixed some documentation and whitespace issues
2014-12-04 17:10:42 -05:00
Erick Pérez Castellanos 8ba7f431fd view: gained a :manager property
Forcing every GcalView implementing class to keep a reference (actually
it is a simple pointer) to GcalManager instance coming from the application.
2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos e1737a0930 view: added :event-activated signal
Since the events widget are handled entirely inside GcalView
implementations (aka the views), we need a way to hook event-widget
activation with GcalWindow which is handling the dialogs (as expected).
This signal serve as a bridge between those two objects.
2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos 1cb862900e docs: updated HACKING style guide 2014-12-04 17:10:41 -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 bc2a348d0b manager: use ECalDataModel to handle events
Initial work. Code is marked all over the place with comments
GcalManager:set_subscriber will set a view and a new range in the
internal ECalDataModel instance.
More cleaning is needed, along the way unneeded methods will be removed
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
Erick Pérez Castellanos e175ca2f66 manager: overwrite constructed vfunc is not needed
Since GcalManager does not have any properties or use in way GObject's
initialization system there's no need of having initialization code
split between vfunc _init and vfunc _contructed.
2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos 33235fda67 manager: add back dates marking range 2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos 7b97248c8b window: fix memory leak 2014-12-04 17:10:41 -05:00
Erick Pérez Castellanos b8525fc0f6 app: fix about dialog build 2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 21356d926d app: update about dialog 2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 6fa533ba79 manager: improved ESource/EClient connection flow 2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 503d0345d9 window: restore GcalEditDialog:response handling
Now, this method will be improved later since the modify response will
use some new API
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 6d3e30b160 edit-dialog: added stub code
The code added make the dialog show up. Probably anything else works,
but it's start to keep the project building while GcalManager migration
is finished and new GcalEditDialog is built.
2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 67fc66a8f4 window: migrated to match latest GcalManager API
Reorganized some code as mentioned on HACKING code style file
Removed unused methods
Started migration on new EditDialog flow to match latest GcalManager API
Updated GcalManager:events-modified handler to match lastet GcalManager
API
2014-12-04 17:10:40 -05:00
Erick Pérez Castellanos 65653d16b4 manager: remove get_event* methods
Now those values are accesible from inside GcalEventWidget and
GcalEditDialog using its internals copies of ECalComponent of the event
they represent
2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos b88e6574b4 utils: fixed debug method 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos 19c3c4e94f event-widget: add method to pass its internal data 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos 4bd4322cf8 manager: enable sources by default 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos def5345fce manager: update functions docs 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos d8cc980a1d month-view: implement GcalView::wil_add_event vfunc 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos 714e2c93f3 event-widget: set :uuid property from data 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos 8ca256b130 window: update GcalManager:objects-added handler 2014-12-04 17:10:39 -05:00
Erick Pérez Castellanos bc4663f8c8 event-widget: add internal #ECalComponent object
The changes made here are minimal to get this building. GcalEventWidget
needs a new rethink and rework to accommodate to those new internal
attributes, which replaces some of the old ones.
2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos 76582329ef view: add :will_add_event vfunc and stub methods
Note: this commit probably won't build, but this is the right order of
keeping history.
2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos ef6d464071 manager: migrate :objects-added signal
GcalManager:objects-added signal pass a list of struct containing
ECalComponents for the event widgets. This ECalComponent instance will
be owned and released by the event widget. Look at: GcalEventWidget::finalize
2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos 43eb35fc6e manager: more work into migration
1. Some code style updated
2. Remove unneeded function
2014-12-04 17:10:38 -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 000b1a843b docs: update code style 2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos 84ca745eb4 build: fix distcheck 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 1d95b5e8a9 window: new-event-mode doesn't need CONSTRUCT flag 2014-12-04 17:10:38 -05:00
Erick Pérez Castellanos 27565d487e time: properly set time and timezone 2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 7ab1af4e96 app: remove unused view type action 2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 333363205c app: update application menu
Use only application wide actions in the menu, as stated in GNOME HIG
Migrated to use GtkBuilder files
2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 693b34da28 build: update requirements 2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 80fdc33e0d window: queue draw on update view 2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 9afcc4dfa5 nav_bar: remove deprecated margin definitions 2014-12-04 17:10:37 -05:00
Erick Pérez Castellanos 6c893eb333 window: remove geometry related debug sentences 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos ed9342b237 window: hook key events to search-mode 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos 1d8cc8a01c manager: use timezone info in time_t conversion 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos 48f5b36c29 views: ensure initial/final dates have timezones 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos e06033910c utils: add print_date debug method 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos db9d2dfa6b week-view: fixed doc sections 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos f37e2f6416 event-widget: use single click activation
Use pointer cursor
2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos b63c59b1d1 week-view: remove deprecated methods and warnings 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos ee1d760398 week-view: modernize Gobject boilerplate code 2014-12-04 17:10:36 -05:00
Erick Pérez Castellanos 5ed966dfda week-view: draw header updated 2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 04dfcd582a week-view: remove navigation controls
This commit just remove the related code. We will make the view work
further along the way.
2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 5b617388ce week-view: modernize accessing private instance 2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 7cc4ab07b1 week-view: implement get_left/right_header methods
Add macro to include private instance data into GcalWeekView objects
2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 50cd68273d year-view: fixed drawing and colors 2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos ff11049f30 build: remove calls to deprecated methods 2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 1ad998b54b month-view: fixed drawing of the grid
Updated colors and line widths
2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos 420db914db window: changed system icon for menu icon 2014-12-04 17:10:35 -05:00
Erick Pérez Castellanos c5131db240 application: load css file from resources 2014-12-04 17:10:34 -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 bee7b6fa1c build: rename instance variable and add docs 2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos 8a3ad4fc98 gcal-window: fixed minor sigsegv when no positionis saved 2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos 258283a01d gcal-window: use toolkit's close-button in HeaderBar 2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos ca64eb190d gcal-event-widget: symbolic icon match the height of the text 2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos 724435872c gcal-all-day-grid: fixed y coordinate calculation 2014-12-04 17:10:34 -05:00
Erick Pérez Castellanos 37b93f6d48 gcal-day-view: hooked to AllDayGrid signals
Added :clear_marks calls chaining
This code is full of debugging statements yet.
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 948aae4d6f gcal-all-day-grid: added get_cell_position helper
Helper to detect the position of a marked cell
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 34707c5253 gcal-days-grid: reworked size calculations
GcalDaysGridPrivate:scale_width includes left and right padding.
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 94ff8dc538 gcal-days-grid: reworded comments 2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos fd87ba68c6 gcal-days-grid: refactored a bit :draw method
Moved querying the background color to only when
it's needed
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 2ee59deedf gcal-all-day-grid: make it reactive
Added button press/release/motion handlers.
Added signaling mechanism to communicate to its
parent about the marked cells
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 5e4488c315 gcal-window: fixed bug on split event uuid
Fixed the case when the event uid have a ':' colon
character on it.
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 2919eedc5f gcal-window: added cute close button 2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos a7fed37be4 gcal-edit-dialog: remove title
This shoul work along with the WM setting only border and
not titlebar on the dialog
2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 4246e45e80 gcal-all-day-grid: fixed unmap bug 2014-12-04 17:10:33 -05:00
Erick Pérez Castellanos 24ffb7f13d gcal-days-grid: fixed cell order in:marked signal
The ordering of the cell is done here to make it transparent
t0o gcal-day-view and gcal-week-view.
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos 062d244fe3 bug: fixing double free when g_list_delete_link 2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos 270eadf717 css: updated selection color 2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos c5d97764b8 gcal-day-view: initial new-flow implementation
Connect to GcalDaysGrid:marked signal, and send :create-event signal properly
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos ec3c6ea165 gcal-day-view: added GcalView API
Wrapped GcalDaysGrid marking calls
Reordered methods position
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos e9df332422 gcal-days-grid: added marks related code
GcalDaysGrid emit signal when marked in order to communicate with
GcalDayView container.
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos fd464a11a4 gcal-days-grid: remove :spacing property
Updated drawing to use CSS provided paddings
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos c46a4edd7d gcal-all-day-grid: remove :spacing property
Updated drawing to work CSS provided padding
2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos b6c0635ae3 dayv-view-children: added relevant CSS class 2014-12-04 17:10:32 -05:00
Erick Pérez Castellanos 3c25ccb4e2 gcal-event-widget: remove unneeded call 2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 5bc4998346 gcal-days-grid: fixed unmap bug 2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 76a0211377 gcal-window: added dates adjusting on event-creation
Adjust dates according to the active view when necessary
2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos fa73bb5e90 gcal-window: fixed bug on events-modified signal
On GcalDayView objects fail to reparent easily.
2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 78b4a9c879 gcal-window: improved new-event widget placement 2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos e997fa8fc6 format: ordering content of headers
Make gcal-application.h and gcal-event-widget.h the same as
the rest.
2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 8d9e88013e gcal-year-view: refactored draw new-event marks
Make it more readable.
2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 7c976b5a86 gcal-window: handled reentrancy of new-event widget 2014-12-04 17:10:31 -05:00
Erick Pérez Castellanos 0527350db7 gcal-month-view: added security check
Prevented button release handling when not needed
2014-12-04 17:10:31 -05:00