Commit Graph
411 Commits
Author SHA1 Message Date
Erick Pérez Castellanos 605cb7fc25 build: stop complaints from gcc
Gcc complaints this variable may be used uninitialized
2014-12-04 17:10:46 -05:00
Erick Pérez Castellanos 68a427528c manager: fix remove source from ECalDataModel
When a source is removed should be removed from the internal
ECalDataModel instance as well
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 772fa7b586 manager: remove internal date range
This is not needed since the range is kept by ECalDataModel instance
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 792c6a9cec manager: remove internal query
The internal query is not needed since that's handled now by the
ECalDataModel instance
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 5f8cadb650 manager: fix clients' hash construction
free_manager_unit should have been removed from clients construction previously
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 4c0938e5cb manager: free clients' hash-table with g_free
Since ECalDataModel keeps a ref to the connected EClients there's no
need of keeping another and using a custom free function for clients' hash
2014-12-04 17:10:45 -05:00
Georges Basile Stavracas Neto 37be39e9d0 edit-dialog: implement composite widget of edit dialog
Also, this patch implements a major design review of the dialog.
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 9b281eff69 month-view: implement ECalDataModel::components_modified vfunc 2014-12-04 17:10:45 -05:00
Georges Basile Stavracas Neto 19d380e80f project: replace GdkColor by GdkRGBA
Fixes bug #738553
2014-12-04 17:10:45 -05:00
Erick Pérez Castellanos 39318534cd window: fix focus issue when creating event
https://bugzilla.gnome.org/show_bug.cgi?id=738858
2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos 3805496dbb event-widget: fix memory leak.
According to valgrind pango leaks memory when creating a PangoLayout
using gtk_widget_create_pango_layout with a literal string.
2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos c2eda0e446 event-widget: fix memory corruption
GdkRBA should not be allocated using g_new0. Used G_SLICE=debug-blocks
to find it.
2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos cf96da6308 memory: fix memory leaks scattered around 2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos a158fc5757 application: handle ref count of GtkCssProvider correctly
It seems gtk_style_context_add_provider_for_screen increase the ref
count of the GtkCssProvider (maybe copy it to GdkScreen and this isn't
releasing it correctly). We're forcing an _unref to keep the destruction
process working as expected. Previously gtk_css_provider_finalize was
not called at any time on the closing process.
2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos 6c7593dbb1 application: free properties' memory on finalize
Note: GtkCssProvider doesn't finalize correctly yet, but it is correct
to clear the reference belonging to the application.
2014-12-04 17:10:44 -05:00
Erick Pérez Castellanos fb2461b813 application: properly quit application
Fixes destruction process. Calling g_application_quit skip the reference
decreasing process of GApplication and that resulted in a bunch of
_finalize methods not being called. By removing the windows GApplication
finalize properly.
2014-12-04 17:10:43 -05:00
Erick Pérez Castellanos ed32e8d624 application: do not access instance data on _new
The settings setup could be delayed to _init vfunc of the
application.
2014-12-04 17:10:43 -05:00
Erick Pérez Castellanos bddf1d2104 event-widget: fixed memory leak
Each property was owned by the widget, and I was not freeing its memory
at destruction time
2014-12-04 17:10:43 -05:00
Erick Pérez Castellanos d37347418b month-view: implement ECalDataModel::components_removed vfunc
Previous fixes on GcalEventWidget allow to use the recurid in order to
differentiate instances of the same event.
2014-12-04 17:10:43 -05:00
Erick Pérez Castellanos a9b302b205 month-view: fix double free of the passed component 2014-12-04 17:10:43 -05:00
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 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
Georges Basile Stavracas Neto 7dc4ae6a84 nav-bar: implemented today button
Implements today button between previous and forward buttons.

Fix bug #703316.
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
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 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