Commit Graph
1768 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto 8c4a0ca613 event-widget: always hide color box on vertical events
Otherwise we get weird borders on Week view.
2017-12-01 11:26:59 -02:00
Georges Basile Stavracas Neto e8468ec0df event-widget: use a 16px rounded rectangle for event colors
This looks better than the thin borders, helps a lot colorblind
people and makes the overall layout just as good.

Ship it!

[#211]
2017-11-30 14:45:47 -02:00
Günther Wutz fff12ced31 source-dialog: fixed URI label in dialog
Show new the correct URI scheme and port for calendar location in
source dialog. We had a hard coded URI label and always showed https
even when the calendar source used http, and no port. So the showed
label was most of the time wrong.

Related to #41
2017-11-28 18:10:17 -02:00
Georges Basile Stavracas Neto ea8b9e76e7 event-widget: use a stack to handle orientation
Instead of setting the position of the labels in a grid,
use two different grids and switch between them using a
stack.
2017-11-25 11:43:52 -02:00
Georges Basile Stavracas Neto f8ce4937c2 month-view: move variables around
Just to make it clear that these variables are only used when
we really need to reprocess the event widgets.
2017-11-25 11:43:52 -02:00
Georges Basile Stavracas Neto 63f3078a80 week-grid: don't try to optimize allocation
This is making the week grid miss some valid reallocation
cases.
2017-11-25 11:43:52 -02:00
Caio Marcelo de Oliveira Filho ad404c26ed utils: simplify gcal_dup_icaltime
Instead of copying member by member, copy the entire struct contents.
It works as before, but doesn't depend on the member names.

This fixes compiling gnome-calendar with libical 3.0.0, since the
struct icaltimetype had one of the members removed (is_utc).

https://bugzilla.gnome.org/show_bug.cgi?id=790072
2017-11-24 15:13:02 -02:00
Georges Basile Stavracas Neto cbcffe3bcd trivial: remove obsolete TODO 2017-11-21 22:51:57 -02:00
Georges Basile Stavracas Neto e73240bc9a trivial: style fix 2017-11-21 20:13:28 -02:00
Georges Basile Stavracas Neto e34964802c month-view: remove unused variable 2017-11-21 20:13:28 -02:00
Georges Basile Stavracas Neto a3d1bfcfc5 application: load custom css files
So that theme maintainers can drop their CSS here,
and make Calendar look beautiful everywhere.
2017-11-19 13:42:11 -02:00
Georges Basile Stavracas Neto bb2566dab8 month-view: hide last row if it's empty
This can make it put up to 5 events in my 1366x768 screen!

\o/
2017-11-19 12:29:29 -02:00
Georges Basile Stavracas Neto 0f1a8c93f2 month-view: fix hiding event widgets when removing 2017-11-19 12:18:32 -02:00
Georges Basile Stavracas Neto 1f1e351c47 month-view: remove useless field
This also fixes the bug where changing the text
direction doesn't reposition the event widgets.
2017-11-19 12:11:02 -02:00
Georges Basile Stavracas Neto 2e750b69e5 month-view: reorganize code
This is another major reorganization of the Month view's
allocation code. The goal is not to reduce the number
of lines, but to make them readable and maintainable.

During this reorganization, multiple bugs that were never
hit were ironed out! That itself would be a major win, but
since the code is actually more readable, we can expect
more improvements from now on.
2017-11-19 12:05:52 -02:00
Georges Basile Stavracas Neto 192e860edc trivial: style fix 2017-11-18 21:57:25 -02:00
Georges Basile Stavracas Neto 9fa9de2df7 month-view: use a custom structure to help multiday allocation
Instead of using 3 different, barely synchronized arrays. This
makes the code easier to read, and is more semantic too.
2017-11-18 21:57:25 -02:00
Günther Wutz 35c8d0d363 event-widget: reposition drag source to initial position 2017-11-16 18:35:25 -02:00
Günther Wutz b83b2b4e46 month-popover: typo fix in comment 2017-11-16 17:14:25 -02:00
Georges Basile Stavracas Neto 34d20a07ec month-popover: remove leftover comment 2017-11-15 21:04:46 -02:00
Georges Basile Stavracas Neto 4d23949a99 month-view: properly update today mark
https://bugzilla.gnome.org/show_bug.cgi?id=775103
2017-11-15 20:15:28 -02:00
Georges Basile Stavracas Neto 54839efbf4 month-view: fix rtl
This removes much of the subtle complexities of the size allocation
function in month view, and finally delivers a readable and working
implementation of the month view.

This also introduces a small code refactoring, and fixes clicking
on a cell on RTL.
2017-11-15 19:03:10 -02:00
Georges Basile Stavracas Neto b638a1537c event-widget: also compare by multiday 2017-11-15 15:32:37 -02:00
Georges Basile Stavracas Neto 09cd5d05cb month-popover: sort events 2017-11-15 03:17:04 -02:00
Georges Basile Stavracas Neto 72b9b34235 month-view: win the fight against the sizing machinery
We can now guarantee that the month cells unconditionally get
their desired allocations, but the event widgets are only created
when necessary.

I won.
2017-11-15 02:31:03 -02:00
Georges Basile Stavracas Neto eff50668d4 month-view: introduce new overflow popover window
This ~almost~ implements a perfectly semantic transition (which
is kinda impossible now).
2017-11-15 02:03:26 -02:00
Georges Basile Stavracas Neto 8d6785b6f7 month-view: implement a different hiding algorithm
As if the previous one wasn't crazy enough :(
2017-11-13 19:27:55 -02:00
Georges Basile Stavracas Neto b4cc36b344 month-view: fight the sizing machinery even harder
Make sure something changed in child widgets AND events,
otherwise just top allocating at all.
2017-11-13 17:06:38 -02:00
Georges Basile Stavracas Neto 31409b6e44 month-view: improve layout algorithm
Multiday event handling was a mess, and still it. But this commit
makes it at least layout things correctly.

It's not perfect, though; This commit brought back that terrible
allocation cycle issue, since we're showing and hiding events in
size-allocate.
2017-11-13 14:23:35 -02:00
Georges Basile Stavracas Neto 2c9f7e2041 month-view: reorganize header 2017-11-13 12:44:04 -02:00
Georges Basile Stavracas Neto 86b565a817 month-view: Improve code readability
No real changes except code reorganization and refactoring, just
to make it a little bit less painful to read and maintain.
2017-11-13 12:40:45 -02:00
Georges Basile Stavracas Neto 2a11959bdd month-cell: show +X in overflow label
Instead of "Other X Events".
2017-11-11 18:15:18 -02:00
Georges Basile Stavracas Neto b5ad149261 month-cell: improve calculation of header box height
Should also consider the top and bottom margins.
2017-11-11 18:15:02 -02:00
Georges Basile Stavracas Neto 4dd4c2410f month-cell: Move day label to top, split from overflow 2017-11-11 17:48:59 -02:00
Florian Brosch 22b0014bf9 source-dialog: Use the right file chooser action 2017-11-08 23:44:21 -02:00
Florian Brosch 1e1216d3f7 sourc-edialog: rename owncloud to nextcloud 2017-11-08 23:43:48 -02:00
Florian Brosch 8d55c7ea04 source-dialog: Avoid known file extensions in calendar name suggestions 2017-11-08 23:40:45 -02:00
Florian Brosch 4b3351d549 source-dialog: Convert filename to utf8 before displaying it 2017-11-08 23:32:31 -02:00
Florian Brosch 4c84cfbbdb source-dialog: plug two memory leaks 2017-11-08 23:28:19 -02:00
Georges Basile Stavracas Neto caffb60065 utils: add autoptr support for ESource 2017-11-08 23:26:25 -02:00
Georges Basile Stavracas Neto 5977eeefc8 month-cell: only update label when date changes
If the date is the same, we don't need to update the label.
This might cause an infinite resize loop.
2017-10-31 01:11:26 -02:00
Georges Basile Stavracas Neto 907e55ccbe month-view: remove reminescent dnd code
Month view does not manage Drag n' Drop anymore, but
this code was left behind by accident.
2017-10-31 01:00:15 -02:00
Georges Basile Stavracas Neto 1e54c9db12 month-view: only idle add month cell update when necessary 2017-10-31 00:34:45 -02:00
Georges Basile Stavracas Neto 523609f2c0 month-view: always update month cells in idle
This way, we can schedule the multiple resizing queueing
operations to after the size-allocate phase is over.
2017-10-29 19:05:42 -02:00
Georges Basile Stavracas Neto e04b7f0fd3 event-widget: lazily relayout main grid 2017-10-29 19:05:34 -02:00
Georges Basile Stavracas Neto 3411dbb13d month-view: don't outsmart GTK resizing machinery
If we need to resize, then let's just accept we need to
resize the month view (event if that's an expensive
operation) and do the resizing.

This fixed many minor annoyances like invisible overflow
labels, on-the-fly text direction changes, etc.
2017-10-07 11:40:48 -03:00
Georges Basile Stavracas Neto ff9c663c8c month-view: only update selection if there's a start date
We can potentially not have an end date set, but there's always
a start date. If there isn't, it means the user clicked from
outside of month view, or at an invalid cell, in which cases we
shouldn't display the quick add popover anyway.
2017-10-07 11:20:23 -03:00
Georges Basile Stavracas Neto a0c224a0d5 edit-dialog: alarm rows are not activatable
Otherwise, they show that annoying hover effect
that is ultimately useless, since clicking on the
row won't do anything.
2017-10-07 11:08:51 -03:00
Georges Basile Stavracas Neto df40a4d8bf month-view: don't hide month view when dragging from popover 2017-10-07 11:01:32 -03:00
Georges Basile Stavracas Neto 37fb5e8492 month-view: fix event positioning on RTL locales
We have to pick the mirrored column index on RTL locales.
2017-10-06 21:23:05 -03:00