Georges Basile Stavracas Neto
661d1d0926
Update POTFILES.in
2017-01-17 09:37:04 -02:00
Georges Basile Stavracas Neto
529acca239
week-grid: fix index sorting
...
This was causing conflicts on event overlapping calculation.
2017-01-09 18:25:55 -02:00
Georges Basile Stavracas Neto
30cb8a5020
week-header: improve rendering of selection
2016-12-15 17:32:27 -02:00
Georges Basile Stavracas Neto
f013d7442e
week-header: fix event margins
2016-12-15 17:09:45 -02:00
Georges Basile Stavracas Neto
9da0704e37
week-grid: set child widgets' orientation to vertical
2016-12-15 17:03:26 -02:00
Georges Basile Stavracas Neto
4074bee50e
event-widget: implement GtkOrientable
...
So that we can control how much information, and how this
information is displayed, depending on the widget orientation.
2016-12-15 17:02:51 -02:00
Georges Basile Stavracas Neto
69ad53352d
week-grid: remove unused vars
2016-12-15 17:01:20 -02:00
Georges Basile Stavracas Neto
33f1e4cd31
week-header: minor improvements on date selection
2016-12-14 17:18:48 -02:00
Georges Basile Stavracas Neto
84c411e505
week-grid: fix inversed selection on RTL languages
2016-12-14 17:11:37 -02:00
Georges Basile Stavracas Neto
1cab5278f1
style: smoother selection background
2016-12-14 17:11:11 -02:00
Georges Basile Stavracas Neto
ffaf7153d7
week-header: implement event creation
2016-12-14 17:00:11 -02:00
Georges Basile Stavracas Neto
55d9232b0c
quick-add-popover: fix creation of timed events
...
On week view, we want to create events that span 1 day, but with
different hours. The current code of Quick Add popover, however,
doesn't support that, as the only test case up to now was month
and year views - both not making use of timed events.
Fix that by adding the necessary comparisons, adapting the strings
and allowing events with the same date but different times.
2016-12-13 20:19:28 -02:00
Georges Basile Stavracas Neto
ab3b80f3b9
event-widget: factor out clock format function
...
This function will be used by other pieces of code later. We also gain
a tiny performance improvement, as only one GSetting is ever created.
2016-12-13 20:17:28 -02:00
Georges Basile Stavracas Neto
9a07dad0e9
week-grid: minor fixups
2016-12-13 16:29:24 -02:00
Georges Basile Stavracas Neto
e8906c9e04
week-view: smoothly scroll the grid when moving to today
2016-12-13 16:29:07 -02:00
Georges Basile Stavracas Neto
f134da5a1d
week-view: avoid segfault when scrolling when unmapped
2016-12-13 16:29:07 -02:00
Georges Basile Stavracas Neto
343283e37a
week-grid: implement event creation
2016-12-13 16:29:07 -02:00
Georges Basile Stavracas Neto
112b82c179
utils: add utility to unref datetimes
2016-12-09 14:45:45 -02:00
Georges Basile Stavracas Neto
93acf26507
week-grid: properly position overlapping events
...
When two or more events overlap, the week grid almost
does the right thing and correctly calculates the width
of the events.
It fails, however, in calculating the position of the
events.
This commit introduces a simple yet efficient way to
position the events. It uses a temporary range tree to
efficiently store already positioned widgets, and checks
for their indexes looking for a hole to position the
new event.
2016-12-09 00:06:26 -02:00
Georges Basile Stavracas Neto
bcfe13bcbc
week-view: adapt view and widgets to handle RTL
2016-12-08 20:33:34 -02:00
Georges Basile Stavracas Neto
6d4f719829
week-header, week-grid: update drawing when time changes
...
When minutes change, the week grid should update the today strip
if it's visible and, if the day change, week header should update
the blue week name.
2016-12-08 19:33:20 -02:00
Georges Basile Stavracas Neto
23010afa1a
window: fix today button sensitivitiness on week view
2016-12-08 19:20:45 -02:00
Georges Basile Stavracas Neto
7e53c433b7
week-view: center grid on date change
2016-12-08 19:14:03 -02:00
Georges Basile Stavracas Neto
c1ab1c2d3b
week-header, week-grid: remove duplicate code
2016-12-08 18:53:34 -02:00
Georges Basile Stavracas Neto
7a6ca3d711
week-view: simplify code
2016-12-08 18:34:06 -02:00
Georges Basile Stavracas Neto
b8a297fdde
week-header: small ui fix
...
Add 2px at the bottom so events don't overlap with the
bottom line.
2016-12-08 18:31:01 -02:00
Georges Basile Stavracas Neto
36f716ebf4
week-view: reimplement editing events
2016-12-08 18:23:25 -02:00
Georges Basile Stavracas Neto
5238e6ff9d
week-header: don't rearrange events if week didn't change
2016-12-08 17:50:30 -02:00
Georges Basile Stavracas Neto
f98a465612
week-header: don't set a minimum content height
2016-12-08 16:40:00 -02:00
Georges Basile Stavracas Neto
f7658bede2
week-header: fix various issues with dates
...
When breaking and merging event widgets, the start
and end dates must be updated to reflect the current
widget state.
2016-12-08 16:39:02 -02:00
Georges Basile Stavracas Neto
e474ac1902
week-header: redraw the whole background on draw()
2016-12-08 16:21:08 -02:00
Georges Basile Stavracas Neto
6e3b4a5f04
week-header: don't leak overflow labels when expanded
2016-12-08 16:20:10 -02:00
Georges Basile Stavracas Neto
21c9f721ae
week-header: properly propagate height when expanded
2016-12-08 16:10:46 -02:00
Georges Basile Stavracas Neto
3f4715fd4a
week-header: batch fix overflow management
...
It's getting close to be completely working.
2016-12-08 16:04:07 -02:00
Georges Basile Stavracas Neto
13906a3000
week-header: fix all-day events, add comments
2016-12-08 16:00:39 -02:00
Georges Basile Stavracas Neto
74ac2d83ee
week-view: fix active and current date handling
...
The active date is the visible date, while the current date
is today. We shouldn't confuse those two.
2016-12-08 14:18:37 -02:00
Georges Basile Stavracas Neto
6fc89fb626
week-header: remove needless margin
2016-12-08 03:14:40 -02:00
Georges Basile Stavracas Neto
e897f38eee
week-header: simplify event addition
2016-12-08 03:09:35 -02:00
Georges Basile Stavracas Neto
7e68588cfb
week-header: rework drawing model
2016-12-08 03:09:35 -02:00
Georges Basile Stavracas Neto
f50a258f05
week-header: fix initial overflow check
2016-12-08 03:09:35 -02:00
Georges Basile Stavracas Neto
1c48d0a543
week-header: fix date handling
2016-12-08 03:09:35 -02:00
Georges Basile Stavracas Neto
e5407d8c72
week-grid, week-header: special-case today when drawing
...
The week grid should display a horizontal strip on the today
column, and the week header should draw the week day labels
with a custom color.
2016-12-08 03:09:35 -02:00
Georges Basile Stavracas Neto
1c048fb538
week-grid, week-header: improve rendering of vertical lines
2016-12-07 22:56:10 -02:00
Georges Basile Stavracas Neto
336e584099
week-grid: implement event handling
...
This is the glorious commit where Week grid starts
showing and handing events.
2016-12-07 21:31:30 -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
Georges Basile Stavracas Neto
c93d634454
week-view: add events to the grid when needed
2016-12-07 17:02:47 -02:00
Georges Basile Stavracas Neto
8a9a58419a
week-grid: add stub add_event() and remove_event()
2016-12-07 17:02:14 -02:00
Georges Basile Stavracas Neto
54ff4eefc3
week-header: reimplement header expansion and collapsing
2016-12-03 01:40:10 -02:00
Georges Basile Stavracas Neto
4a7754c677
week-header: fix merging events
2016-12-03 00:04:06 -02:00
Georges Basile Stavracas Neto
adc4bbae9e
week-header: simplify event removal
2016-12-02 21:05:54 -02:00