This magical commit finally implements the Drag n' Drop
feature for Month view by changing the start and end dates
of the events according to the cell where the user drops
the event.
When dragging an event, it is very important to have
a visual feedback of the possible target areas.
As such, add a gtk_render_background() call to render
the drag cell's background.
Ideally, every single view will support drag and drop. So
let's just assume that and make the event widget set itself
as a drag source, and let each view set itself as a drag
target.
When we modify an event, the start date may change
and there is no way to retrieve it back. Since we're
relying on the start date to get the cell number and,
remove the widget, it leads to a crash because the
widget is not removed.
Fix that by brute-forcely search the widget in the
correct table.
The current implementation of the Year navigator gives
absolutely no clue that the days are actually selectable,
which may confuse some users.
A simple way to inform the user that the Year navigator
is actually interactive is the hovering effect.
Fix the lack of feedback by adding the hover effect to the
year navigator.
https://bugzilla.gnome.org/show_bug.cgi?id=762462
The view had a maximum of 6 month columns, leading to a huge amount of
vertical spaces, so it was requested to reduce that.
The maximum number of columns was reduced to 4, so the view will have a
maximum 4x3 months layout.
https://bugzilla.gnome.org/show_bug.cgi?id=753533
The previous commit introduced many changes in the way
the conditions are done. Unfortunately, one of these
conditions was only partially fixed.
Fix that by using the correct function to compare dates.
The current code does multiple needless unrefs, uses the
GDateTime API in a wrongly manner and leaks references
all around.
This causes the Calendar application to emit multiple warning
messages and in the worst case, crash immediately.
Fix that by rewriting the critical sections of the code that
deals with the start and end mark cells.
https://bugzilla.gnome.org/show_bug.cgi?id=763641
Improve year-view code, removing hardcoded values.
year-view have hardcoded values for grid cell sizes (width and height).
Those values need to be recalculated every time a change in font or any
other style are changed.
Sidebar width was also hardcoded instead of getting its value directly
from the ui file. That would prevent it from drawing the content
accordingly when ui file is changed.
This patch fixes those two issues by retrieving those values from CSS or
ui files.
This patch also adds code to resize and redraw the window when
show-week-numbers property is changed.
Popover mode was also changed and now sidebar will always be shown when
show-week-numbers is set or when there is space for only 3 or less
columns.
https://bugzilla.gnome.org/show_bug.cgi?id=753533
The default class for content viewers in Gtk+ is .view and
ideally provided by the theme. Not only that, but it provides
the exact same functionality of ours, but in a way that is
overridable for theme designers.
Fix this issue by removing the class from out CSS.
https://bugzilla.gnome.org/show_bug.cgi?id=765664
Calendar is not handling locale correctly, e.g. user’ set language to
English (en-us) and format to Norwegian (nb-no), but Calendar assumes
English format rather than Norwegian.
Calendar code was ready to use the correct format, just like Shell and
GtkCalendar. The issue was in the build script which was setting the
correct locale variable responsible to make that code work.
This patch fixes the build script.
https://bugzilla.gnome.org/show_bug.cgi?id=762428
When the mouse button is released, only the bottom padding was being
taken into account to calculate whether the click was in the "Show
N events" area.
This commit fixes this issue by considering the top padding as well.
https://bugzilla.gnome.org/show_bug.cgi?id=765678
e_webdav_discover_sources_finish can discover no user addresses and
return a NULL user_addresses. Check for that before calling
e_source_webdav_set_email_address.
https://bugzilla.gnome.org/show_bug.cgi?id=765170
In this commit we change the data type of start_mark_cell and end_mark_cell to GDateTime from gint
Currently, the mark_cell's are gint and while moving across months, they cause a problem as they don't take the new month into consideration but the cell value of the selector.
To fix this, we changed the data type of the mark_cell's and modified all the functions dependant on it.
https://bugzilla.gnome.org/show_bug.cgi?id=763641