Joyjit Choudhury
06cdeb61ed
week-view: set the first weekday for week-header & week-grid
...
In this commit, the first weekday is set for week-header & week-grid.
The issue is, the first weekday is being set only for week-view,
resulting in incorrect display of weekdays in the week-header.
To fix this, the first weekday for week-header & week-grid is set
along with that of week-view.
https://bugzilla.gnome.org/show_bug.cgi?id=779346
2017-03-02 07:20:31 -03:00
Georges Basile Stavracas Neto
e69c9aa09c
week-header: fix untranslated strings
2017-02-27 08:46:52 -03:00
Georges Basile Stavracas Neto
ce52cdd9ce
week-header: fix double dnd highlight
2017-02-14 18:00:05 -02:00
Georges Basile Stavracas Neto
7cf41f8f45
month-view: fix warning on closing overflow popover
2017-02-14 18:00:05 -02:00
Georges Basile Stavracas Neto
8f34049793
views: sync header labels' style
...
The Week view exposed a bug where we had different
CSS selectors for the exact same label. This made
them look inconsistent, with different colors and
paddings.
Fix that by ensuring they all use the same style
class. The Year view drawing code needed to be
reworked a little.
https://bugzilla.gnome.org/show_bug.cgi?id=778391
2017-02-09 10:28:28 -02:00
Georges Basile Stavracas Neto
d63e007a7a
week-grid, week-view: improve hour sidebar rendering
...
The hour strings are too soft and can barely be read. Fix
that by setting a stronger color.
https://bugzilla.gnome.org/show_bug.cgi?id=777420
2017-02-09 09:21:28 -02:00
Georges Basile Stavracas Neto
6c2653809b
week-grid: simplify drawing function
...
This patch simplifies the drawing function by removing
the unused layout and font descriptions.
https://bugzilla.gnome.org/show_bug.cgi?id=777420
2017-02-09 09:21:28 -02:00
Georges Basile Stavracas Neto
cdc5bde96a
week-grid: make sure events span at least 1 minute
...
When adding an event with the same start and end dates and
times, the event effectively spans 0 minutes, leading a division
by zero and causing varius UI glitches.
Fix that by making sure events span at least 1 minute.
https://bugzilla.gnome.org/show_bug.cgi?id=777414
2017-02-01 15:06:56 -02:00
Georges Basile Stavracas Neto
e119d27718
week-grid: enforce a minimum width
...
https://bugzilla.gnome.org/show_bug.cgi?id=777414
2017-02-01 15:06:56 -02:00
Georges Basile Stavracas Neto
e74cfc0e22
project: move views to views/ folder
2017-01-17 11:28:48 -02:00
Georges Basile Stavracas Neto
7a21e1e5ac
week-header: implement drag n' drop
2017-01-17 11:24:22 -02:00
Georges Basile Stavracas Neto
530aaa24c4
week-grid: implement drag n' drop
2017-01-17 11:24:22 -02:00
Georges Basile Stavracas Neto
096327e046
week-view: set the header's and grid's manager as well
2017-01-17 10:50:32 -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
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
ffaf7153d7
week-header: implement event creation
2016-12-14 17:00:11 -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
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
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
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
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