Commit Graph
727 Commits
Author SHA1 Message Date
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
Balázs Úr 56788946fa Updated Hungarian translation 2014-12-20 11:51:58 +00:00
Piotr Drąg f4e782fd07 Updated POTFILES.in 2014-12-19 19:00:02 +01: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
Georges Basile Stavracas Neto a2a2a9c8d5 time-selector: removed unneeded code 2014-12-18 09:55:11 -05:00
Georges Basile Stavracas Neto fa7bc69192 edit-dialog: properly set time selector's sensivity
Instead of simply not settings them at all, it is now set according to the writable and all day values.
2014-12-18 09:55:11 -05:00
Georges Basile Stavracas Neto 448594325e edit-dialog: remove useless code
I'm not really sure of this one, but it seems very correct. At least, things work now.
2014-12-18 09:55:11 -05:00
Georges Basile Stavracas Neto 7f1277062e time-selector: send GcalTimeSelector::modified signal when date changes 2014-12-18 09:55:11 -05:00
Georges Basile Stavracas Neto 1c76779143 time-selector: update label when hour or minute changes 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto 78140e7b79 time-selector: always show the popover at the bottom 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto ff15bd3a05 time-selector: format time label when the day period changes
Also, factor out date formatting code.
2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto ee62cdab92 time-selector: format hour according to the 12/24h setting 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto 5c570e0140 time-selector: select AM by default 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto de04c78cc0 time-selector: limit to 11 hours when using 12h format 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto 37a38b6acb time-select: hide period selector when not 12h format 2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto c6ada8c356 time-selector: ref builder objects before destroying it
Fixes the annoying bug
2014-12-18 09:55:10 -05:00
Georges Basile Stavracas Neto 9372b3ff3f time-selector: removed unused var 2014-12-18 09:55:09 -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 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