All events in month-popover displays hour-label indicating their start time,
but all-day events should not display their start time.
This is caused by gtk_widget_show_all recursively setting the events list-box
and all its childrens visible.
We replace gtk_widget_show_all with gtk_widget_show to show the events list-box
and its childrens.
https://gitlab.gnome.org/GNOME/gnome-calendar/issues/250
The revealer widget in edit dialog's event time interval row uses to hide the
time selector widgets when the event is checked as all-day and also reveal the
widgets when not checked as all-day.
Sometimes edit dialog may turn on the visibility of the time selector
widgets when the revealer's animation already starts, causing a flickering of the widgets.
We remove the revealer widget and leave edit dialog to toggle the
visibility of time selector widgets when needed.
https://bugzilla.gnome.org/show_bug.cgi?id=771572
The overflow layout displays "Other n events" when there are too much event
that a cell can accomodate.
But on rtl languages, due to the layering out of the cell, the position of the
overflow is not renderend on the mirrored date.
We fix that by mirroring the positon of the day on which the events occur so
that the events can appear on the right day.
https://bugzilla.gnome.org/show_bug.cgi?id=777427
Month view used to calculate the event's start date and end date from
the physical layout of the month and compare it with the event's
original start date and end date to see if there is a change and then
update as necessary by either slanted start or end, when either is/are
not equal to the one in the original start and end dates.
However, the way in which the start date and end date in RTL language are
calculated must be different since the layering of the days in the weeks
are opposite. Month view uses precalculated days number to mirror the
last week, which already chop off the days_delay number from cell_idx value.
In RTL, this cause issues such that the days are calculated wrongly and a
slanted start or end is visible. Because the date is not the same as the
original events date, month view thinks that the view needs an update and
so tries to update the view wrongly.
We can fix this by using the cell_idx value to calculate the days and then
substracting the days_delay value after that.
https://bugzilla.gnome.org/show_bug.cgi?id=777426
The week view can display mutilple events that can partly or fully span
same time ranges.
But week view fails to make correct assumption about the width of events when
two or more events span some time ranges in which these events also span some
time ranges with other events, and whereby the number of these other events
that they span time ranges with does not coincide with the number of the events
that the other event also span. Week view ended up calculating cells that
appears horizontally jointed up. Also int16_compare() does not dereference the
pointer from g_ptr_array_sort() correctly and that makes it sort events
incorrectly and hence making events appears vertically jointed up.
If an event have other events in which they span some time, we calcuate its width
by taking into consideration of all the events that the other event may span
time with. The event that has the higher number of time spans is considered.
We also save and retrieve our positions using UINT_TO_POINTER and POINTER_TO_UINT()
respectively, and then dereference the pointer from g_ptr_array_sort() correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=777416
The overflow layout used to display "Other X events" text when
there is no enough space to accomodate more events.
But due to the way the events were sorted, some events are folded to
'Other events' popover even when the cell has enough space to accomodate
the event(s) or when it is not required to be folded.
We rework how the events will be sorted. First, the events are sorted by their
start dates(starting with the closest). But if two or more events have same start date
then they are sorted according to their lengths. And still if they have same start
date and length then they are sorted according to their modified times(the closest first).
https://bugzilla.gnome.org/show_bug.cgi?id=778478
The overflow layout sit at the bottom of a cell to display "Other X events"
when there is no room to accomodate more.
The issue is that the overflow layout does not have margin property like
other views(layouts) in the cell, so instead it appears either too far from or
too close to the border depending on the text it accomodates.
We can fix this by setting the margin property.
https://bugzilla.gnome.com/show_bug.cgi?id=771581
The overflow layout used to display "Other X events" text when
there is no enough space to accomodate more events.
This used to get mixed-up/overlapped with the date label because the
overflow label uses whole cell width as width.
We can fix this by substracting date label width from overflow label
width to accomodate the date label.
https://bugzilla.gnome.com/show_bug.cgi?id=7771581https://bugzilla.gnome.org/show_bug.cgi?id=771581
The overflow layout sit at the bottom of a cell to display "Other X events"
when there is no room to accomodate more.
The issue is that the overflow layout does not have margin property like
other views(layouts) in the cell, so instead it appears either too far from or
too close to the border depending on the text it accomodates.
We can fix this by setting the margin property.
https://bugzilla.gnome.com/show_bug.cgi?id=7771581