When the message is from a mailing list and contains the Archived-At header,
then this new menu option is enabled and allows to copy the given URL into
the clipboard.
This is useful for GNOME Software, to show the plugin as an addon
for the Evolution. Packagers can decide what to do with the file,
either they can add it into the respective subpackage or they can
just ignore (remove) the file, if they do not build special package
for this plugin.
Fix get_caret_position to correctly return number of bytes from the beginning
of the body to the current caret position and introduce the get_caret_offset
function to return the number of bytes from the beginning of current line to the
current caret position. Also the code of the numlines function was adjusted as
the webkit_dom_range_to_string (used by both previously mentioned functions) is
returning a text without new line characters, thus when counting the line number
we cannot increase the counter if we hit a new line character.
We need to clear the history before we open the external editor (as when the
text from external editor will be loaded back to composer the history won't
be valid).
Disconnect it when the free/busy query finished, because the ECalClient
can be left alive longer that in this function, thus the callback could
be called with already gone memory.
- Do not copy From header (opened From Override Field in Composer)
- Convert original body content into UTF-8 if needed
- Remove unused variable in create_new_message() function
Follow-up fix that fixes the leak of two strings introduced with
previous fix to this bug. Also unref all the used objects from various
lists that WebKit returns after they are used.
Since this change the client is responsible to provide credentials
to use to authenticate backends (through ESource-s, to be more precise),
unless the credentials are already saved.
The duplication could happen when the destination book was not set
to be used for autocompletion. Always checking the destination
book, and check it as the first, will not do unnecessary tests
in other books and will make sure that the contacts are not
blindly added there.
This partly fixes bug #721712 (Writeable calendars can report
as read-only after open), because the EClientCache always returns
the same EClient, which has internal properties properly updated
(at the second and following calls).
A simple Evolution run and move between all views means creation of
more than 100 GSettings objects, with only a bit more than 10 schemas.
Reusing the objects should have a positive impact on a performance too.
This is a follow-up for the previous commit, where e_signal_connect_notify*()
functions had been added. Due to a different callback and user data being
attached to the 'notify' signal, the g_signal_handlers_*() functions do not
work properly, thus these e_signal_connect_notify*() functions need
a different way for a signal handler disconnect.
A side-change was done in e-settings-web-view-gtkhtml.c, checking for a real
key change from GSettings.
This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.
Checking whether the value really changed helps in performance, for
which were added new e-util functions:
e_signal_connect_notify()
e_signal_connect_notify_after()
e_signal_connect_notify_swapped()
e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
The GtkImageView didn't receive any change for the past two years,
and since Evolution uses WebKitGTK the plugin lost its value. The same
can be done with WebKit too, in some extent, once someone implements it.