| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
EMailPart is reference-counted, subclassed, and allows a custom
finalize function. There's no excuse for it not to use GObject.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Obtain an EClient for contact photo lookup asynchronously. If an
instance needs to be created, it's more likely created in a thread
with a main loop so signal emissions can work.
|
| |
|
|
|
|
|
|
|
|
| |
Unless the button to choose a calendar was clicked, because
the calendar path is not filled, thus the server claims
"HTTP 405 error", which means an OPTIONS request cannot be done
on the path, which was just root of www.google.com, instead
of a calendar path. (This was reported as part of bug #659522.)
|
| |
|
|
|
|
|
|
| |
During fixes on bug #602428, rather than do everything twice,
I merged the plugin into the core code, thus it should be easier
to maintain as well.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the event of an address book backend abort, EClientCache detects this
and invalidates its cached EClient (if it has one), so a new instance is
created on the next request.
EAddressbookModel is only handed an EClient once, which may become stale
if the backend aborts. And even if the backend is restarted the address
book will remain unresponsive in Evolution.
This commit changes the behavior so that every time an address book is
selected in the side bar, a fresh EClient instance is obtained from the
EClientCache and handed to the EAddressbookModel. If the model already
has that EClient instance, nothing happens. Otherwise the model resets
itself and creates a new EBookClientView.
|
|
|
|
|
| |
The SoupRequest API seems to have some concurrency issues to work out,
so for the time being create a unique SoupSession for each SoupRequest.
|
|
|
|
| |
This is a new EPhotoSource that obtains images from gravatar.com.
|
| |
|
|
|
|
|
|
|
| |
Remove this status message nonsense that I came up with during the
kill-bonoto rewrite. Instead submit a real EActivity to the shell
backend. Mismanagement of the status message seems to be blocking
application shut down in some cases.
|
| |
|
|
|
|
|
|
|
| |
Remove this status message nonsense that I came up with during the
kill-bonobo rewrite. Instead submit a real EActivity to the shell
backend. Mismanagement of the status message sesms to be blocking
application shut down in some cases.
|
| |
|
|
|
|
|
|
|
| |
Remove this status message nonsense that I came up with during the
kill-bonobo rewrite. Instead submit a real EActivity to the shell
backend. Mismanagement of the status message seems to be blocking
application shut down in some cases.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This encapsulates the EContactPhoto look up feature that was previously
built into EPhotoCache. It's now implemented as an EPhotoSource -- one
per address book. One advantage of this implementation is that address
books are now queried concurrently rather than serially.
EPhotoCacheContactLoader is an EPhotoCache extension that takes care of
adding and removing EPhotoSources for available address books.
|
|
|
|
|
|
|
|
|
|
| |
It could happen that header text color had been picked white one time,
but the other time black as expected (for me usually when I started
Evolution in Calendar and moved to Mail view, the header text color
was white, while when starting in Mail view it was black). The change
to use GtkStyleContext is there only as a cleanup from deprecated
GtkStyle, and to make things easier too, because both GtkStyle
and the GtkStyleContext had set white color for some reason.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was added as part of bug 360184 but no justification was given
for the "local-only" part. My Spidey sense tells me it was a hack-
around for the old implementation's tendency to freeze the UI while
searching for a photograph. So the "local-only" option really just
meant "don't freeze the UI for very long, please".
The new EPhotoCache-based implementation in 3.8 NEVER freezes the UI,
so the "local-only" option is no longer needed. If a remote address
book is slow or unresponsive we simply cancel the async photo lookup
when the user moves on to another email.
|
|
|
|
|
|
|
| |
Be more forgiving of modifiers. Check for GDK_CONTROL_MASK and
GDK_SHIFT_MASK, but not to the exclusion of all other modifiers.
There, that should make the shortcut work for everyone now.
|
|
|
|
|
|
|
| |
In particular, GOA's Google provider uses OAuth 2.0 now, so we can drop
the OAuth 1.0a support in CamelSaslXOAuth which was GMail-specific, and
with it the entire "online-accounts" module in Evolution. Evolution no
longer links to libgoa-1.0 at all.
|
|
|
|
|
|
|
| |
This accidentally got dropped during the "account-mgmt" project.
As much as I loathe EConfig, the "Automatic Contacts" plugin is useless
without its Preferences page in the Contacts section.
|
|
|
|
| |
Replaces e_cal_model_get_default_client(), which was not thread-safe.
|
|
|
|
|
|
|
|
| |
Was not thread-safe because it did not reference the return value.
The function was only used to implement the Refresh action on the
sidebar menu. e_client_selector_ref_cached_client() works better
for this anyway.
|
|
|
|
|
|
|
| |
Replaces e_cal_model_get_client_list().
Does the same thing, except the returned ECalClient instances are
referenced for thread-safety.
|
|
|
|
|
|
|
| |
GDK_MOD1_MASK is ill defined across various keyboards, apparently.
Use Ctrl + Shift + I instead, which happens to match what Chrome uses
to bring up its web inspector.
|
| |
|
|
|
|
|
|
| |
This removes all traces of Express Mode from all but the contact editor
and calendar appointment editor. Need to evaluate the remaining cases
individually.
|
|
|
|
| |
No longer needed.
|
|
|
|
| |
No longer needed. Use GtkUIManager directly.
|
|
|
|
| |
No longer needed.
|
| |
|
| |
|
|
|
|
|
|
| |
The default value for these GSettings keys is an empty string. The
mapping function should handle empty strings by falling back to the
appropriate default ESource.
|
| |
|
|
|
|
|
|
|
|
| |
EShellSettings predates GSettings and is no longer necessary.
GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions. That fulfills the purpose of
EShellSettings.
|
|
|
|
|
|
|
|
| |
EShellSettings predates GSettings and is no longer necessary.
GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions. That fulfills the purpose of
EShellSettings.
|
|
|
|
|
|
|
|
| |
EShellSettings predates GSettings and is no longer necessary.
GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions. That fulfills the purpose of
EShellSettings.
|
|
|
|
|
|
| |
Replaces "paned-view-headers-state", which was defined as an integer for
some stupid reason. Not bothering to migrate the old setting since it's
one button click.
|
|
|
|
|
|
| |
Replaces the "load-http-images" setting, which is now deprecated.
The new setting uses an enum type compatible with EMailImageLoadingPolicy.
|
|
|
|
|
|
| |
Replaces the "reply-style" setting, which is now deprecated.
The new setting uses an enum type compatible with EMailReplyStyle.
|
|
|
|
|
|
| |
Replaces the "forward-style" setting, which is now deprecated.
The new setting uses an enum type compatible with EMailForwardStyle.
|
| |
|
|
|
|
| |
EWeekView would like to use them too, please.
|
|
|
|
| |
Far easier to deal with than flags.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This class is different from the others in this module. Its purpose
is to transfer values from deprecated GSettings keys to the preferred
keys on startup, and keep them synchronized at all times for backward
compatibility.
Initial deprecated keys being handled are:
"week-start-day" (org.gnome.evolution.calendar)
"working-days" (org.gnome.evolution.calendar)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Automatically configures the "checking-enabled" property on all
ESpellEntry instances.
|
| |
|
| |
|
|
|
|
| |
Automatically configured, of course, by ESettingsCompEditor.
|
|
|
|
| |
Configures the "week-start-day" property of EWeekdayChooser.
|
|
|
|
| |
The "show-week-numbers" and "week-start-day" properties are not used.
|
|
|
|
|
|
| |
DConf load command requires a slash at the end of the path to load,
but the replace_variables() code always removed the trailing slash,
which made the configuration load nonfunctional.
|
|
|
|
| |
Get the icaltimezone from the passed in ECalClient.
|
|
|
|
|
|
|
| |
There were printed warnings on console, which may cause crashes, when
the meeting invitation was inside an attached message. By adding
a reference to the view it'll not disappear before the search is
done with it.
|
| |
|
|
|
|
| |
Basically any place where we use both EClient and ESourceComboBox.
|
|
|
|
| |
EClientCache already serves this purpose.
|
| |
|
|
|
|
| |
Obtain the ESourceRegistry with e_client_cache_ref_registry().
|
| |
|
|
|
|
| |
EPhotoCache already handles this setting.
|
|
|
|
| |
Configures an EPhotoCache with values from GSettings.
|
| |
|
|
|
|
|
|
| |
Emitting a "client-added" signal should not trigger any blocking calls,
so the "loading" status message will flash by too quickly to be noticed,
if it gets drawn at all. Just remove it.
|
|
|
|
|
|
| |
Emitting a "client-added" signal should not trigger any blocking calls,
so the "loading" status message will flash by too quickly to be noticed,
if it gets drawn at all. Just remove it.
|
|
|
|
|
|
| |
Emitting a "client-added" signal should not trigger any blocking calls,
so the "loading" status message will flash by too quickly to be noticed,
if it gets drawn at all. Just remove it.
|
|
|
|
| |
Use e_source_registry_dup_unique_display_name() in the status message.
|
|
|
|
| |
Use e_source_registry_dup_unique_display_name() in the status message.
|
|
|
|
| |
Use e_source_registry_dup_unique_display_name() in the status message.
|
| |
|
|
|
|
| |
Use a standard format for naming an ESource in user-visible messages.
|
|
|
|
| |
Use a standard format for naming an ESource in user-visible messages.
|
|
|
|
| |
Use a standard format for naming an ESource in user-visible messages.
|
| |
|
| |
|
|
|
|
| |
Use e_client_selector_ref_cached_client() for remaining cases.
|
|
|
|
| |
Use e_client_selector_ref_cached_client() for remaining cases.
|
|
|
|
| |
Use e_client_selector_ref_cached_client() for remaining cases.
|
| |
|
| |
|
| |
|
|
|
|
| |
Use e_client_selector_get_client() to obtain an EClient.
|
|
|
|
| |
Use e_client_selector_get_client() to obtain an EClient.
|
|
|
|
| |
Use e_client_selector_get_client() to obtain an EClient.
|
|
|
|
| |
Use e_client_selector_get_client() to obtain an EClient.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
No longer needed, replaced by EClientCache.
|
|
|
|
| |
No longer needed, replaced by EClientCache.
|
|
|
|
| |
No longer needed, replaced by EClientCache.
|
|
|
|
|
|
| |
In task_shell_sidebar_check_state(), determine whether the selected
source supports refresh by way of e_client_cache_ref_cached_client()
and e_client_check_refresh_supported().
|
|
|
|
|
|
| |
In memo_shell_sidebar_check_state(), determine whether the selected
source supports refresh by way of e_client_cache_ref_cached_client()
and e_client_check_refresh_supported().
|
|
|
|
|
|
| |
In cal_shell_sidebar_check_state(), determine whether the selected
source supports refresh by way of e_client_cache_ref_cached_client()
and e_client_check_refresh_supported().
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
|
|
|
| |
No longer used.
|
| |
|
|
|
|
|
| |
ETaskTable can retrieve the client list from its internal ECalModel
using e_cal_model_get_client_list().
|
|
|
|
|
|
|
| |
Thanks to the "default-timezone" property binding created by
ESettingsClientCache, changes to the "cal-timezone" setting are
automatically propagated to all ECalClient instances created by
EClientCache.
|
|
|
|
|
|
|
| |
Thanks to the "default-timezone" property binding created by
ESettingsClientCache, changes to the "cal-timezone" setting are
automatically propagated to all ECalClient instances created by
EClientCache.
|
|
|
|
|
|
|
| |
Thanks to the "default-timezone" property binding created by
ESettingsClientCache, changes to the "cal-timezone" setting are
automatically propagated to all ECalClient instances created by
EClientCache.
|
|
|
|
|
| |
Also, defer to ESettingsClientCache to automatically set the default
timezone on new ECalClient instances.
|
|
|
|
|
| |
Also, defer to ESettingsClientCache to automatically set the default
timezone on new ECalClient instances.
|
|
|
|
|
| |
Also, defer to ESettingsClientCache to automatically set the default
timezone on new ECalClient instances.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Listens for "client-created" signals from its EClientCache. If the
newly-created client is an ECalClient, automatically configure its
default timezone from EShellSettings.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We require GTK+ 3.4, so no need to check for versions older than that.
|
| |
|
|
|
|
|
|
| |
GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is
actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore
for our purpose, G_PRIORITY_HIGH_IDLE is sufficient.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 2b507716b257e6ef98dae8463180dbe718eb7b64.
The commit contains not a single comment as to why these custom priority
values are being used. The rationale needs to be documented in the code,
either at each call point or preferrably at a centralized priority value
definition.
|
| |
|
|
|
|
|
| |
Drop the pop-up menu item and instead install a key-press-event handler
on all WebKitWebView instances. <Ctrl>+<Alt>+I opens the web inspector.
|
| |
|
| |
|
|
|
|
| |
Restore this commit with a proper bug fix to follow.
|
| |
|
|
|
|
| |
Instead of e_client_utils_open_new() or e_cal_client_new().
|
|
|
|
| |
Instead of e_client_utils_open_new() and e_book_client_new().
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit bf30024dd7973006bf99d0ae509a7f0022368a41, because
it breaks EMailFormatter/Parser extensions, like the prefer-plain.
The thing is that the internal formatters/parsers (also extensions)
should be always added first, and only after then can be added extended
extensions, which are used before those internal. This constraint was not
satisfied with the reverted commit, the order of extension registration
was unpredictable, depended on GType.
|
| |
|
|
|
|
| |
e_client_is_opened() always returns TRUE, so skip it.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Collect all the "config" extensions from the "addressbook", "calendar",
and "mail" modules into one place. These extensions typically just bind
GObject properties of extensible classes to app-specific GSettings keys.
|
|
|
|
|
| |
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes workarounds for below libsoup bugs and makes trust-prompt
for WebDAV based backends work better, by checking also server certificates.
* soup_message_get_https_status() now returns the certificate
and flags for unsuccessful https connections as well as
successful ones. [bug #690176]
* Fixed a deadlock when calling soup_session_abort() on
a SoupSessionSync in some cases. [bug #691399]
|
|
|
|
| |
I forgot to include this in 3.7.4, but no matter.
|
| |
|
|
|
|
| |
No longer needed since the "imap" backend is gone.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Evolution spawns the 'highlight' program with these flags:
G_SPAWN_SEARCH_PATH
G_SPAWN_DO_NOT_REAP_CHILD
G_SPAWN_SEARCH_PATH is not needed because configure already determines
the absolute path to the 'highlight' program. G_SPAWN_DO_NOT_REAP_CHILD
results in zombie 'highlight' processes. Remove both flags.
|
|
|
|
|
|
|
|
|
|
|
| |
Set the Host to "www.google.com" and Method to "ClientLogin".
Don't need to worry about migrating existing Google Contacts sources,
which had "plain/password" as the auth method. The Google EBookBackend
only explicitly checks whether the auth method is "OAuth2", and assumes
"ClientLogin" otherwise.
(I suppose the registry service could tweak older key files, but meh...)
|
|
|
|
|
|
|
|
|
|
|
| |
This now uses e_source_get_oauth2_access_token_sync() instead of talking
directly to GNOME Online Accounts and therefore no longer has to live in
the "online-accounts" module.
The "online-accounts" module will be removed in Evolution 3.9.1, when we
can require GNOME Online Accounts 3.8. Evolution 3.8 will still support
older versions of GNOME Online Accounts, which use OAuth 1.0a tokens for
Google authentication.
|
|
|
|
| |
Unsubscribable folders are not necessarily deletable.
|
|
|
|
|
| |
This only worked with the legacy IMAP backend, which has now been
removed per bug 665371.
|
|
|
|
|
|
|
|
|
|
|
|
| |
e_config_add_skip_check()
e_config_class_remove_factory()
e_config_create_window()
e_config_page_get()
e_config_page_next()
e_config_page_prev()
e_config_set_page_is_finish()
Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the supporting widgets for the contact maps feature alongside
EABContactDisplay. Removing them from libeutil helps isolate our usage
of libchamplain so it's not imposed on the entire application, and even
3rd party software. That libchamplain is an optional dependency only
further complicates the matter.
Ideally I'd like to somehow isolate this feature in an extension module,
but we currently lack sufficient hooks for such an extension. So this
arrangement will have to suffice for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Evolution consists of entirely too many small utility libraries, which
increases linking and loading time, places a burden on higher layers of
the application (e.g. modules) which has to remember to link to all the
small in-tree utility libraries, and makes it difficult to generate API
documentation for these utility libraries in one Gtk-Doc module.
Merge the following utility libraries under the umbrella of libeutil,
and enforce a single-include policy on libeutil so we can reorganize
the files as desired without disrupting its pseudo-public API.
libemail-utils/libemail-utils.la
libevolution-utils/libevolution-utils.la
filter/libfilter.la
widgets/e-timezone-dialog/libetimezonedialog.la
widgets/menus/libmenus.la
widgets/misc/libemiscwidgets.la
widgets/table/libetable.la
widgets/text/libetext.la
This also merges libedataserverui from the Evolution-Data-Server module,
since Evolution is its only consumer nowadays, and I'd like to make some
improvements to those APIs without concern for backward-compatibility.
And finally, start a Gtk-Doc module for libeutil. It's going to be a
project just getting all the symbols _listed_ much less _documented_.
But the skeletal structure is in place and I'm off to a good start.
|
|
|
|
| |
The previous commit broke MDN send, which this one fixes.
|
| |
|
|
|
|
| |
The path is now XDG-base-dir compliant: ~/.local/share/camel_certs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we have the following extension points in the GType hierarchy:
E_TYPE_MAIL_FORMATTER_EXTENSION
E_TYPE_MAIL_FORMATTER_PRINT_EXTENSION
E_TYPE_MAIL_FORMATTER_QUOTE_EXTENSION
E_TYPE_MAIL_PARSER_EXTENSION
A registry just needs to be given one of these extension points, and it
can use g_type_children() to find and load all registered extensions.
This eliminates e-mail-format-extensions.[ch] as well as the dynamic
loaders I added a few commits back. Dynamically loaded extensions are
now easier to register, at the cost of internal extensions being a tad
more cumbersome to register. Fair tradeoff, imo.
This also makes e_mail_extension_registry_add_extension() a private
function used only by e_mail_formatter_extension_registry_load() and
e_mail_parser_extension_registry_load().
|
|
|
|
|
|
|
| |
Of the parser extensions that override get_flags(), they all return a
fixed set of flags. So we don't need an instance of the extension to
obtain its flags. Just make it an EMailParserExtensionFlags field in
the class structure.
|
|
|
|
|
|
|
|
|
| |
With the previous changes, all parser extensions derive from
GObjectClass and implement the EMailParserExtensionInterface.
Simplify things further by making EMailParserExtension an abstract base
class so parser extensions are now just direct subclasses and need not
bother with implementing GObject interfaces.
|
|
|
|
|
|
| |
Of the formatter extensions that provide a description, they all use a
static string. So we don't need an instance of the extension to obtain
its description. Just make it a string field in the class structure.
|
|
|
|
|
|
| |
Of the formatter extensions that provide a display name, they all use a
static string. So we don't need an instance of the extension to obtain
its display name. Just make it a string field in the class structure.
|
|
|
|
|
|
|
|
|
| |
With the previous changes, all formatter extensions derive from
GObjectClass and implement the EMailFormatterExtensionInterface.
Simplify things further by making EMailFormatterExtension an abstract
base class so formatter extensions are now just direct subclasses and
need not bother with implementing GObject interfaces.
|
|
|
|
|
|
|
|
|
|
|
|
| |
EMailExtension is now too trivial to keep as a standalone interface.
Add a 'mime_types' string array to the EMailFormatterExtension and
EMailFormatterParser interface structs.
Alter e_mail_extension_registry_add_extension() to take a 'mime_types'
string array and the GType of an extension to instantiate, rather than
the extension instance directly.
e_mail_extension_registry_remove_extension() is no longer needed.
|
|
|
|
|
|
|
|
|
|
|
| |
In all implementations for EMailExtension, the MIME type list is a
static string array -- with the single exception of the text-highlight
module, where the MIME type list is dynamically assembled once.
Replace the mime_types() method with a "mime_types" string array in the
EMailExtensionInterface struct. Then the list of MIME types supported
by the class implementing the EMailExtensionInterface can be obtained
without requiring an instance of the class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Collect EMailParts in a GQueue provided to the EMailParserExtension,
and change the return type of parse() to gboolean to indicate whether
the given CamelMimePart was handled (even if no parts were added to
the output GQueue).
This avoids the awkward corner case of a parser extension returning a
linked list node with a NULL data member to indicate the CamelMimePart
was handled but no EMailParts produced, and then having to watch out
for that NULL data member corner case throughout the application.
Also, remove the GCancellable parameter from e_mail_parser_error() and
e_mail_parser_wrap_as_attachment() since neither function blocks.
|
|
|
|
|
|
| |
Exposing data members in the public struct is unwise, especially when
EMailPartList is used from multiple threads. Instead keep the members
private and provide a set of thread-safe functions to manipulate them.
|
|
|
|
|
| |
Replace the individual components of an EMailPartList with a reference
on the EMailPartList itself in EMailFormatContext. Easier to manage.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prefer dealing with GdkEvent pointers and using accessor functions like
gdk_event_get_button().
This is complicated by the fact that some GtkWidget method declarations
still use GdkEventButton pointers, and synthesizing button events pretty
much requires direct GdkEventButton access. But GDK seems to be nudging
itself toward sealing the GdkEvent union. Likely to happen in GDK4.
Mainly clean up signal handlers and leave method overrides alone for now.
|
|
|
|
| |
Use g_object_unref() instead.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Evolution's Google account module was setting the ECollectionSource's
"identity" property to the account's email address before submitting the
account to E-D-S. Meanwhile, the Google module in E-D-S was syncing the
account user name to the ECollectionSource's "identity" property.
This mismatch resulted in an explicitly specified GMail user name being
overwritten when the account information is submitted. Evolution should
instead set the "identity" property to the account's user name.
|
| |
|
| |
|
| |
|
|
|
|
| |
soup_message_headers_get_list()
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
EMailConfigWebView is an extension that configures EWebView instances.
This used to cover both the email formatter and the email composer, but
with the email formatter now using WebKit/GTK+ and the email composer
still using GtkHtml, the composer was left unconfigured.
Add an EMailConfigWebViewGtkHTML extension that targets EWebViewGtkHTML
instances and applies the relevant settings, and remove all the GtkHTML
contortions from EMailConfigWebView.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Prefer e_source_registry_check_enabled() over e_source_get_enabled()
for most instances where we want to exclude disabled data sources.
|
| |
|
|
|
|
|
| |
The GroupWise backend is dead, and this logic never belonged here in the
first place.
|
|
|
|
| |
GOA-based accounts must only be disabled from gnome-control-center.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Not needed anymore since all modules are resident nowadays.
|
| |
|
|
|
|
| |
e_source_extension_get_source() is now deprecated.
|
|
|
|
| |
Untested, but conforms to the specification as well as I understand it.
|
|
|
|
| |
To synchronize with the forthcoming XOAUTH2 prototype.
|
|
|
|
| |
Also refactor the code to more closely resemble EGDataGoaAuthorizer.
|
| |
|
|
|
|
|
|
| |
Word-wrapped GtkLabels and GtkTables just don't seem to get along.
The vertical allocation for the GtkLabel was way too big. Replace
the GtkTable with a GtkGrid.
|
|
|
|
|
|
|
|
|
|
|
| |
EMailConfigFormatHTML listens for "changed" signals from a GSettings
instance, passing itself as the 'user_data' to the signal handler. But
the signal handler was left connected after EMailConfigFormatHTML was
finalized, resulting in the signal handler receiving a dangling pointer.
Not using g_signal_connect_object() here because of the unresolved
reference leak issue in GObject. The GSettings instance is likely
cached internally and lives well beyond the EMailConfigFormatHTML.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Follow the usual GObject conventions.
|
| |
|