The event editor could show incorrect timezone, thus better lookup
it based on the TZID parameter, than rely on the icaltimetype::zone
property, which is not always set. Also force timezone entry show
when the timezones do not match, rather than hide it when they match.
The main problems used to be that the .ui file definitions were stored
in a system directory and that an evolution update overwrote any changes
there.
Since now on, the .ui files are versioned and they can be copied into
~/.config/evolution/ui/ and modified there. The evolution will use those
files as long as their version will match the version of the file
in the system directory (it's the "evolution-ui-version" attribute
of the root "ui" element). In case the versions do not match,
the system file will be used instead and a warning about version
mismatch will be printed on the console, thus the users can notice
the change and either update their file or remove it, as needed.
Split the process_elements function to:
* process_node_to_plain_text_for_exporting
* process_node_to_plain_text_changing_composer_mode
* process_node_to_html_changing_composer_mode
* process_node_to_html_for_exporting
that process the given nodes (usually just BODY) for purposes described by the
function names - i.e. the first function will process the BODY and will transform
the lists to their plain text version, fill the indentation or alignment with
spaces and so on; the process_node_to_html_for_exporting will remove all the
classes, ids and other attributes from the DOM.
Also in the process_node_to_plain_text_for_exporting correctly process the block
elements to avoid situations when an extra new line could be added on the end of
the block or not added at all. Always look if the new line is indeed there, if
not add it there explicitly. This fixes the bug 767681. Also avoid working with
the innerHTML of the BODY (that was previously leaked), but instead copy the
nodes. Also remove images from the BODY if they are presented to avoid unneeded
line break.
After this change the indented elements will be preserved when switching between
composer modes.
When removing an image also remove its wrappers and the block where the image
was, if the block is empty after the image was removed, otherwise an extra line
will be added to the output.
This could cause a runtime warning
eti_rows_deleted: assertion 'row + count <= old_nrows' failed
which was due to old_nrows being zero, because no model-rows-inserted
signal was received.
There used to be used the default source, which is not that nice as being
able to change it just by changed selection in the left tree of the calendars
(the source selector). Similar applies for tasks and memos.