The recurrence-dialog opens only if the event to be modified
is a recurring event and only if the user doesn't cancel
the modification in the edit-dialog. If the user presses
'Cancel' in the recurrence-dialog after making modifications
in the edit-dialog, then no changes are applied.
https://bugzilla.gnome.org/show_bug.cgi?id=782755
Whenever a user chooses to modify an event which is
recurring, a new dialog will open automatically when
the user clicks 'Done' or 'Delete' in edit-dialog,
after making the desired changes. This new dialog
will ask the user to choose the set of events to
which the changes will be applied. The options
include 'This Event Only', 'Subsequent Events'
and 'All Events'. The function returns true and
the changes take place only if the user chooses any
option other than 'Cancel' or <Alt+F4>.
https://bugzilla.gnome.org/show_bug.cgi?id=782755
Don't hardcode month-day order, use g_date_time_format() and
mark the format string for translation and let translators choose
their preferred formats.
This patch also removes context from the existing "%B %d" date
format because it is unnecessary and this allows the format to be
reused by the patch.
https://bugzilla.gnome.org/show_bug.cgi?id=780629
Currently, GcalManager always assumes E_CAL_OBJ_MOD_THIS
when modifying or deleting events. Since we're landing
the groundwork for recurrence management, we can't assume
this anymore.
This patch, then, allows GcalManager:modify_event() and
:remove_event() receive the ECalObjModType instead of
assuming E_CAL_OBJ_MOD_THIS. However, this commit does
not add recurrence support yet, and every call to these
functions are still passing E_CAL_OBJ_MOD_THIS.
https://bugzilla.gnome.org/show_bug.cgi?id=782755
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
When setting an event, we might modify the event in such a way that
the edit dialog can be broken if it doesn't update.
Fix that by unconditionally updating the event dialog when setting
an event.
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
In a Flatpak'd world, we cannot rely on the fact that
gnome-control-center binary will be installed at the
app's sandbox. But since it's a core app, we can rely
on the fact that it's available outside the sandbox.
To make it work, use DBus rather than raw spawn to
open control center.
GcalClock is an internal clock for GNOME Calendar that
sends a few utility signals, such as :day-changed and
:minute-changed.
It also watches for suspend/resume events to properly
send the signal right after the resume.
Dnd at week header crashes with segmentation fault
The problem, calculation of dnd_date returns NULL when week_start is
in previous month.
Fix that by using g_date_time_add_days() function
https://bugzilla.gnome.org/show_bug.cgi?id=781955
When we escape first, then truncate, we might end up truncating at
the middle of a special character sequence, breaking the markup.
Fix that by escaping after truncating.
The Problem: When user remove 4rt fullday event, header only shows two
events and not shows 3rd fullday event
Because, we check and set visibility of event that user wants to remove
from calendar, before remove event from event list which causes 3rd
event unvisible.
Fix that with check and set visibility of event after remove event
from event list, then visibilties and overflow corretly calculated
https://bugzilla.gnome.org/show_bug.cgi?id=777423
g_strcmp0() is used when comparing the display name of the ESource.
This is not a valid sort, because in this case we will get an order
like "a" < "z" < "B" < "Z", but it should be like "a", "B", "z", "Z".
We will use g_ascii_strcasecmp to fix it.
https://bugzilla.gnome.org/show_bug.cgi?id=781231
g_strcmp0() is used when comparing the display name of the ESource.
This is not a valid sort, because in this case we will get an order
like "a" < "z" < "B" < "Z", but it should be like "a", "B", "z", "Z".
We will use g_ascii_strcasecmp() to fix it.
https://bugzilla.gnome.org/show_bug.cgi?id=781231
Since gcal_manager_get_sources() returns a GList of ESource received
from the hash table, they are not sorted alphabetically. Because of
this, edit-dialog shows the unsorted list.
I added a function for sorting this GList that is case-insensitive.
https://bugzilla.gnome.org/show_bug.cgi?id=781231
Valgrind was reporting some "Conditional jump or move depends on
uninitialised value(s)" and "Invalid read of size 4" when hovering
year-view.
It was found some uninitialised variables in the code and they were
initialised before being used.
https://bugzilla.gnome.org/show_bug.cgi?id=781430
By storing the coordinates array in a local pointer,
we avoid 9 super slow full memory lookups. That matters
when we're inside the drawing function, trying to keep
60fps.
There was a typo in function name, which was only setting
the upper bound for 24 hour time format. As the default
lower bound is 0, no issue was known so far.
But in cases like the user switched from 12 hour to 24 hour
format there is a chance for some issues to appear as the lower
bound of 12 Hour format is 1, and it won't be reset to 0 when
the user has switched to 24 hour format.
https://bugzilla.gnome.org/show_bug.cgi?id=781448
The function is supposed to run once every minute. So after
the function is run, just remove it from main thread. So that it won't
act as a time bomb.
https://bugzilla.gnome.org/show_bug.cgi?id=781081