Commit Graph
100 Commits
Author SHA1 Message Date
Erick Pérez Castellanos 362dc68898 subscriber: rework ::remove and ::modified vfuncs
Since we have now access to the hash keeping the children of thw widget
there's no more need of calling GcalView::get_by_uuid
2015-01-05 10:33:23 -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
Erick Pérez Castellanos 098d8a79d8 window: fix search_button/search_bar binding
Remove unneeded placeholder declaration
This code was accidentally touched on commit:
2970729324
This is kind-of a revert of that patch
2015-01-05 10:33:23 -05:00
Erick Pérez Castellanos 11324a6712 month-view: fix all-day events end-date
All-day events has an end-date one day after they really end.
2014-12-26 16:53:05 -05:00
Erick Pérez Castellanos 443a502b1f month-view: fix ::forall impl leaking 2014-12-26 12:02:15 -05:00
Erick Pérez Castellanos b66d4eb21c misc: fix memory leak 2014-12-26 12:01:53 -05:00
Erick Pérez Castellanos e6a929f3fd view: remove ::mark_current_unit
New event action will open edit-dialog directly so this method is not needed
2014-12-25 20:24:36 -05:00
Erick Pérez Castellanos 2261ea6909 month-view: fix memory leak
Remove unneeded debug instructions
2014-12-25 18:47:54 -05:00
Erick Pérez Castellanos 43dd2e207f utils: fix memory leak 2014-12-25 18:47:32 -05:00
Erick Pérez Castellanos 9638db32e6 date-selector: fix memory leak 2014-12-25 18:47:04 -05:00
Erick Pérez Castellanos 070be33262 search-view: remove unused GtkSizeGroup 2014-12-25 15:46:13 -05:00
Erick Pérez Castellanos de2cb4c9b9 window: use edit-dialog on new event action
New event action triggered from the menu on the header bar or the app
menu should not use new-event popover.
2014-12-25 13:34:30 -05:00
Erick Pérez Castellanos 5395dca4f2 date-selector: make it GtkMenuButton descendant
Added GtkBuilder's UI file definition
2014-12-25 13:03:15 -05:00
Erick Pérez Castellanos 7cd5a40a0d build: remove autogen warnings
Copied autogen.sh from folks projects where pwithnall cares for
autotools stuff.
2014-12-24 15:55:56 -05:00
Erick Pérez Castellanos f988f74560 Bump version to 3.15.3.1 for release 2014-12-24 15:21:55 -05:00
Erick Pérez Castellanos acc9dc4748 NEWS: updated for release 2014-12-24 15:17:47 -05:00
Erick Pérez Castellanos bc1560c609 manager: cleaner way of returning enabled sources 2014-12-24 15:12:20 -05:00
Erick Pérez Castellanos d1315de42a date-selector: fixed re-entry in ::set_date
This was causing double actualization of internal day,month,year
variables because GtkCalendar::day-selected signal handler is run by
default after the user connected ones.
2014-12-24 15:00:56 -05:00
Erick Pérez Castellanos a7aed0987a month-view: fix draw and allocation on 6 rows months
Sometimes months expand 6 rows completely instead of the regular
5. March, 2015 is an example of it. Allocation of widgets, drawing
of indicators, placement of the overflow popover was wrong.
2014-12-24 13:33:29 -05:00
Erick Pérez Castellanos cf69b68288 date-selector: always use 4 digits entry for years
Since GtkCalendar widget is a bit clunky to navigate fast between years,
using a four years digits it's better because we are still
very close to the change of the century.
2014-12-24 13:31:54 -05:00
Erick Pérez Castellanos 8877e89e65 manager: add debug statements 2014-12-24 11:09:46 -05:00
Erick Pérez Castellanos 358b3766a0 manager: don't query disconnected clients 2014-12-24 11:09:46 -05:00
Erick Pérez Castellanos 375425573d edit-dialog: fix memory leak
Also, evolution set altrep to NULL usually, we better do the same.
2014-12-24 11:09:45 -05:00
Erick Pérez Castellanos 9926c3a01b Bump version to 3.15.3 for release 2014-12-23 12:11:33 -05:00
Erick Pérez Castellanos 1557245a19 Updated POTFILES.in
Fix make distcheck
2014-12-23 12:10:46 -05:00
Erick Pérez Castellanos eba5a341bb NEWS: updated for release 2014-12-23 12:01:43 -05:00
Erick Pérez Castellanos ef3b4f059f build: fix make distcheck 2014-12-23 12:01:42 -05:00
Erick Pérez Castellanos c4c2ae3517 build: autogen does not need git submodule mojo 2014-12-23 12:01:42 -05:00
Erick Pérez Castellanos 64a00b78b5 ignore: updated 2014-12-22 23:37:40 -05:00
Erick Pérez Castellanos 1b31d419d4 app: make DBus-activatable
This commit installs a service file, renames the desktop file
to follow the bus name, and adds the DBusActivatable key to the
desktop file, following
https://wiki.gnome.org/HowDoI/DBusApplicationLaunching

Updates POTFILE files accordingly
2014-12-22 23:34:29 -05:00
Erick Pérez Castellanos 43522b8845 build: update GLib required version
g_strv_contains is a new acquisition of Glib, so we need to bump the
dependency up.
2014-12-22 22:50:31 -05:00
Erick Pérez Castellanos 1b88c2fd89 build: remove mention to non-existent file
Fix make distcheck
2014-12-22 22:08:50 -05:00
Erick Pérez Castellanos 1de6a8b87a misc: whitespace and code style minor fixes 2014-12-22 21:56:38 -05:00
Erick Pérez Castellanos 0ff177c1d8 comments: document utils functions, add FIXME 2014-12-22 21:55:55 -05:00
Erick Pérez Castellanos 4eabc0223b build: remove unneeded code
GObject type system zeroing instance private data, so initialization to
NULL and FALSE is not needed.
Misc code styles fixes.
2014-12-22 21:52:35 -05:00
Erick Pérez Castellanos 8f8bb21534 event-widget: use custom class for background colors 2014-12-22 21:41:14 -05:00
Erick Pérez Castellanos 64f9e45c76 app: create custom provider for background colors
GcalEventWidgets get its background colors dynamically, so we are
creating a custom provider with a CSS class per calendar color, and
later on the proper class will be applied to the widget.
2014-12-22 21:37:24 -05:00
Erick Pérez Castellanos 442b26b5ea month-view: properly handle all-day events
Note: when the marking of break events is made, this have to be taken
into account.
2014-12-22 14:54:05 -05:00
Erick Pérez Castellanos 5a36689e07 event-widget: advertise properly multiday status
When an event is marked all day, the end-date is always one day ahead of
the true end of the event, and both dates are marked as date. We need to
take this into account.
2014-12-22 14:52:34 -05:00
Erick Pérez Castellanos 748b3f74c0 manager: fix gchar** memory allocation
I had totally forgot you need to end the array with NULL.
2014-12-22 14:36:18 -05:00
Erick Pérez Castellanos c00ae959d1 manager: chains ::constructed up 2014-12-22 13:10:25 -05:00
Erick Pérez Castellanos 3f093c5e13 month-view: fix drawing of overflow indicator
The drawing was happening but the clipping was not including the full
widget. Queuing a new draw expands the clip to the whole area of the widget.
2014-12-22 10:01:58 -05:00
Erick Pérez Castellanos 073719ef35 manager: get all connected sources
Added ::get_sources_connected API to retrieve a list of every source the
application has connected, no matter whether they are enabled or not.
Use ::get_sources_connected on calendars menu in GcalWindow to enable
disabled sources.
2014-12-22 08:38:20 -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
Erick Pérez Castellanos 6081b9547c manager: emit ::source-activated on enabled sources
The ::source-activated signal has no much sense right now, I'm leaving
it around, for a while, in case some use case pop up. Otherwise in time,
it will go.
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos bfeef45983 manager: make ::get_sources retrieve only enabled sources 2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos f0d35f60fb Revert "edit-dialog: update sources when their readonly state changes"
This reverts commit 31fa4e8e06.
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos c4de15eeef window: unmark disabled sources checkbox
Calendars selector menu needs to know which source is enable to properly
mark the checkbox
2014-12-22 08:38:20 -05:00
Erick Pérez Castellanos 5a00fddfb3 manager: use "disabled-sources" settings 2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos 9af65c8f1f manager: hold a reference of the application's settings
We need to keep on the settings the list of the disabled sources
Moved code from ::init vfunc to ::constructed vfunc in order to wait for
construction properties to be set
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos c28e345b5b app: settings gained "disabled-sources" key
This key will keep a list of the uid of the sources marked as disabled
in the interface in order to keep the same state between runs of the application
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos a08a0a66c1 event-widget: remove unused CSS tag name
Since Gtk+ parses automatically widgets' name, there's no need of custom class
2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos e2d4e52ec7 month-view: monitor click only on overflow indicator 2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos 83bd285f3d window: use GcalView::create-event-detailed signal 2014-12-22 08:38:19 -05:00
Erick Pérez Castellanos c97473e955 month-view: emit ::create-event-detailed
Emit this signal from the "Add new event..." button of overflow popover,
the reason is mainly aesthetics since it won't look good showing one
popover after another.
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos 09f42ad955 gcal-view: signal the opening of edit-dialog directly 2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos 0749520a35 edit-dialog: don't open with summary entry empty 2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos 56f7f88572 month-view: fix insert ordered widgets
The head of the list might changed when ordering the list at insertion,
then, some events was getting lost
2014-12-22 08:38:18 -05:00
Erick Pérez Castellanos 4bef6148f9 month-view: sort single-day event widgets by start date
This guarantee that events widgets appear sorted by its start date on
the overflow popover
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos 420e66bdb1 event-widget: add ::compare_by_start_date
This function will eventually deprecate gcal_compare_event_widget_by_date()
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos f9627fcf98 month-view: show start time header on overflow popover 2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos 9badd9f502 month-view: read 12/24 time format setting
The setting will be used when showing the start time of events in the
overflow popover.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos 5051ba600f month-view: draw a background on the overflow indicator
This code suffer from a similar bug to ::queue_area on
::size_allocate. This need some revisiting to make it work properly.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos 7a00364efb month-view: preserve hovered cell on popover show
The hovered cell is the indicator to draw the background and the
coloring of the overflow indicator. Preserve its value as long as the
overflow is shown.
2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos d63d23bc16 month-view: add title to overflow popover 2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos 96a939ab48 month-view: update note about Gtk+ clipping bug 2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos bd62b96a75 month-view: FIXME removed, feature added 2014-12-20 09:10:00 -05:00
Erick Pérez Castellanos ca20726959 month-view: fix popover placement on RTL locales 2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos 046dac4fe9 month-view: highlight overflow indicator on hover 2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos 07b4ee4862 month-view: initial impl of overflow popover 2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos e5f507b95a month-view: track events on overflow indicator area
We keep to state variables to handle hovering and clicking on the
indicator.
Note: This commit does not build because requires of upcoming work
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos 9bfa048101 month-view: add proper count of overflowed events
Keep a list of the hidden events per cell in order to add them later to
the popover
2014-12-20 09:09:59 -05:00
Erick Pérez Castellanos 06e43d836f month-view: amend fix ::forall impl 2014-12-19 10:40:39 -05:00
Erick Pérez Castellanos 2c639d2d00 month-view: queue draw on size_allocate
It should not be necessary to queue a draw operation after
::size_allocate. This has been discussed over with Gtk+ devs, as soon as
the bug is fixed these statements will goes away.
2014-12-18 22:21:18 -05:00
Erick Pérez Castellanos 780bebf871 month-view: optimize text direction query
By keeping the value of the direction factor k around we save code and
function calling every time we need to use it.
2014-12-18 19:58:13 -05:00
Erick Pérez Castellanos 232b93095d month-view: fix ::forall and ::remove impl
Take care of removing parts-widgets first whenever a master widgets is removed
2014-12-18 19:25:23 -05:00
Erick Pérez Castellanos 5b4e7d470d month-view: implement GcalView::get_by_uuid 2014-12-18 15:43:13 -05:00
Erick Pérez Castellanos 170501bbdd month-view: add helper method 2014-12-18 14:50:29 -05:00
Erick Pérez Castellanos ceabae5e2c month-view: rework handling of widget's hiding
Previously, we were hoping keeping a list of the widgets hidden by the
application, but the implementation did not work.
Now we keep a hash of those widgets hidden because of the overflow, when
a widget is not visible, and it's not in GcalMonthView::hidden_as_overflow
hash, then was hidden by the application.
2014-12-18 14:44:05 -05:00
Erick Pérez Castellanos 1f9b380238 month-view: overflow indicator drawn centered 2014-12-18 01:54:24 -05:00
Erick Pérez Castellanos fbeb6d35b2 month-view: initial implementation of size alloc
This implements breaking of events, and showing of its parts. It also
provides the information need for the drawing of the overflow indicator.
This implementation brings support to RTL locales as well as LTR.

There's some things still missing here:
1. Mark the widgets with CSS classes for styling its broken status
2. Draw properly the overflow indicator
2014-12-18 01:23:46 -05:00
Erick Pérez Castellanos 7f7739db6d month-view: add helper for hidden event-widgets
When an event is deleted we hide it while the notification with the Undo
option is shown and after a while the event is actually destroyed. This
helper is meant for keeping a set of the event-widgets hidden in that situation
2014-12-18 01:11:17 -05:00
Erick Pérez Castellanos 87856ec31c month-view: initial drawing of overflow indicator
Added FIXME for properly wording the message
2014-12-18 01:11:04 -05:00
Erick Pérez Castellanos 4c7626cad2 month-view: fix ::add, ::remove, ::forall vfuncs
Fixed some bugs:
1. Insert single-day event-widgets on the proper structure
(GcalMonthView::single_day_children)
2. Add FIXME for keep single-day events-widgets ordered
3. Properly handle hash table replacement. GHashTable::replace call
key_destroy_func() and value_destroy_func() if those are provided
4. Don't keep NULL lists on any of the hashes kept by GcalMonthView
5. Change the order in which forall is executed. Don't modify the hashes
while iterating over it.
2014-12-18 01:03:45 -05:00
Erick Pérez Castellanos 9c29618fb6 month-view: helper to calculate the split of widgets
This calculates the split according to the space left on each cell
2014-12-18 00:59:58 -05:00
Erick Pérez Castellanos 51c7e5e2ea event-widget: add convenient API to query dates
Simply it is faster not to allocate memory when there is no need of it
2014-12-18 00:56:46 -05:00
Erick Pérez Castellanos f5a08f24bb month-view: rework internals data structures
Changed internals data structures in order to handle allocation of
multidays events properly.
Modified GtkContainer::add, GtkContainer::remove and
GtkContainer::forall according to this new internal structure.
Commented out GcalView::get_by_uuid since it might get deprecated.
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos 719a294fae event-widget: add helper API
Added GcalEventWidget::is_multiday to check if an event span more than
one day.
Added GcalEventWidget::compare_by_length which compares two event
widgets according to the duration of the events they represent.
2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos d1a7c6ee24 month-view: fix sigsegv if end_date is not created 2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos 52a4e617b5 month-view: draw selected days marks 2014-12-16 10:06:09 -05:00
Erick Pérez Castellanos 70d69ac966 month-view: organize, clean code 2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos 268ef17484 month-view: updated press/release/motions handlers
Now internal values of button press, motion and releases are kept
according the cell numbers alone, as explained in the comments.
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos aaee4a2657 month-view: initial work to new mockup from Lapo
There's a bunch of stuff missing here, but this code is already working.
This includes only part of the drawing code, I already take into account
here LTR and RTL languages.
Here month-view make use of classes for styling different regions of the
grid, there are:
1. header class, which is used for the font and color details of the
days naming on the top of the grid
2. current class, which is used for drawing the current day number and
its background
3. lines class: which set the color property of the lines in the grid
4. :selected pseudo-class is used for drawing the font on the days
marked when creating an event. This will work as well for keyboard
navigation

What's missing here:
1. properly update click/press marks to new model
2. draw border around the selected days
2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos 60946551b3 event-widget: add ::clone API 2014-12-16 10:06:08 -05:00
Erick Pérez Castellanos 069ea90d57 manager: implement ::enable/disable methods 2014-12-15 13:38:42 -05:00
Erick Pérez Castellanos 9e42922543 manager: Keep references of the clients internally
In order to remove clients from the ECalDataModel without destroying we
need to keep a reference to it.
2014-12-15 13:38:37 -05:00
Erick Pérez Castellanos 2a6b9a31ce app: fix sigsegv when not getting a date from cli 2014-12-10 01:21:19 -05:00
Erick Pérez Castellanos e2a2721e9e window: add safety check 2014-12-09 15:37:02 -05:00
Erick Pérez Castellanos 83345b2fb4 app: gained --date option
GcalWindow loads the date from GcalApplication.
2014-12-09 15:36:01 -05:00
Erick Pérez Castellanos 738bb89d94 edit-dialog: fix memory leaks 2014-12-08 12:33:41 -05:00