- Move common actions from toolbar to headerbar
- Add EHeaderBarButton to mimic and replace EMenuToolButton
- Add EShellHeaderBar for "New button" handling
While the files are checked for in the main CMakeLists.txt file,
it'll be better to require the two pkg-config files, in case they
are renamed or any such change.
When an invitation mail is part of a multipart/alternative only with
a text/plain (and text/calendar) subparts and the text/plain is empty,
then it could fail to read empty body, or it read empty body, which
is not useful for showing as an alternative invitation description.
This could be reproduced for example when forwarding an HTML message
and having Evolution set to format text in Plain Text. In such case
a "lose formatting" question is shown and when choosing to not lose
it, the content shows an HTML variant, but the format combo still
shows "Plain Text", which means the sent message will be plain text,
despite editing in HTML.
This way the password stored with the collection account can be used
with the child sources, thus users are not asked for their password
for each child source.
This can be used to have predefined some time between events to move
between rooms and such things, without a need to modify the end time
for every single new event manually.
Since the 'Year View' addition a new cal_comp_util_dup_tooltip() function
had been added, which constructs a tooltip markup suitable for the GtkWidget,
thus use that, instead of custom tooltip components with a lot of complicated
code to manually handle the tooltip create and destroy.
The option can be found in Edit->Preferences->Calendar and Tasks->General
tab->Miscellaneous section->Use markdown for Description in the component editor.
This allows to save JavaScript plugins, files with .js extension,
into `$PREFIX/share/evolution/webkit/preview-plugins/` or into
`~/.local/share/evolution/preview-plugins/` for the message preview
and into `$PREFIX/share/evolution/webkit/webkit-editor-plugins/` or
into `~/.local/share/evolution/webkit-editor-plugins/` for
the WebKit composer.
The plugin is an object, which contains two members:
* `name` - a string with a name of the plugin
* `setup(doc)` - a setup function
The argument of the `setup` function is a `document`, which can
be either the main document or an iframe document. The function
can be called multiple times for the same document.
The preview plugin registers itself by calling `Evo.RegisterPlugin(plugin_instance)`.
The WebKit editor plugin registers itself by calling `EvoEditor.RegisterPlugin(plugin_instance)`.
This could happen when the Evolution had been started in the Tasks view
and then switched to the Calendar view, the task panel was left empty.
It was because all the task lists had been opened already, thus none
emitted the "client-opened" signal, thus the related data model did
not have added the clients.
This applies to the memos panel as well.