| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Plus a little code cleanup for easier grepping.
|
|
|
|
|
| |
This also makes gnome-desktop an optional dependency, which can
be avoided with --disable-gnome-desktop configure option.
|
|
|
|
|
|
|
|
|
| |
Using "Server requires authentication" checkbox doesn't update
the new mail account dialog properly, thus it seems like a username
is required when the server does not require authentication. It's due
to the dialog being updated properly only on CamelSettings changes,
while this checkbox doesn't have any direct connection to any
CamelSettings property.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes evolution depend on theme-defined named colors, namely:
theme_bg_color
theme_base_color
theme_fg_color
theme_text_color
theme_selected_bg_color
theme_selected_fg_color
theme_unfocused_selected_bg_color
theme_unfocused_selected_fg_color
If it's not defined, then a fallback color is used, in the worse case
one of the fallbacks defined in evolution itself.
|
|
|
|
| |
overrides
|
| |
|
|
|
|
|
|
|
| |
There still left some references to GtkHTML in the "active code",
which should be dropped. There still can be found couple "GtkHTML"
strings in the code, but mostly in disabled code or comments only.
These are to be fixed separately.
|
| |
|
| |
|
|
|
|
|
| |
Just two more places, which are new after a merge of the webkit-composer
branch changes.
|
|
|
|
|
| |
These were new after merging webkit-composer branch changes, but just
some leftovers.
|
|
|
|
| |
Merge wip/webkit-composer branch into master.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Similar to GObject::notify, the GSettings::changed can be emitted
even if a key didn't change. It's up to the user (aka evolution)
to test for real changes, thus let's do it. It may have certain
performance positive impact 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Users ask from time to time for the old behaviour when the messages
used to be saved through Outbox, rather than the composer being opened
all the time the message is sending. The change is pretty simple,
thus why not to add it.
Note the Outbox is not flushed after sending, the users is responsible
to invoke the Outbox flush on his/her own. This also allows a user
to postpone the message send for later.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Evolution doesn't have any capability to distinguish between truly sent
read receipts and those cancelled, neither it stores anywhere the date
of the read receipt send, thus showing to users an information about
"Sender has been notified..." is only confusing to them.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ports the following two function calls throughout Evolution:
• e_categories_get_list() to e_categories_dup_list()
• e_categories_get_icon_file_for() to e_categories_dup_icon_file_for()
It necessarily changes some internal e-util API:
• e_util_get_searchable_categories() to
e_util_dup_searchable_categories()
This bumps the EDS requirement to 3.13.1.
https://bugzilla.gnome.org/show_bug.cgi?id=727221
|
| |
|
|
|
|
| |
Subclass of EMFolderSelector, replaces em_folder_utils_create_folder().
|
|
|
|
|
|
| |
Just call gtk_window_set_title() after creating the dialog.
This makes EMFolderSelector a little more "subclassable".
|
|
|
|
|
|
|
| |
Replaces the 'oklabel' argument when creating a new dialog, and can be
changed after the dialog is created.
This makes EMFolderSelector a little more "subclassable".
|
|
|
|
|
|
|
| |
Replaces the 'text' argument when creating a new dialog, and can be
changed after the dialog is created.
This makes EMFolderSelector a little more "subclassable".
|
|
|
|
|
|
|
| |
Replaces the EM_FOLDER_SELECTOR_CAN_CREATE flag, and can also be set
after the selector dialog is instantiated.
This makes EMFolderSelector a little more "subclassable".
|
|
|
|
|
| |
The related part of the code could be reached also when the 'syntax' variable
had been previously set to a newly allocated string, thus (try to) free it first.
|
|
|
|
|
| |
When enabled, this will compile all libraries/binaries with the necessary
gcc and ld flags to enable code coverage support using gcov.
|
| |
|
|
|
|
|
|
|
|
| |
mouse
If Caret mode is enabled don't try to process the navigation keys and
don't set the focus on main frame to actually make the Caret mode
working.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Win32 headers have a #define for 'interface', which breaks the build
when this word is used in the code, thus replace it to 'iface',
the same way as GLib or GTK+ code use to have it. (See bug #722068.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous code was writing the entire MIME part content to the
highlight utility's stdin pipe before reading the converted result.
With enough content, this caused the write operation to get stuck.
What's worse is this all happens synchronously in the UI thread.
Not sure exactly what was going on, but my hunch proved correct that
we need to simultaneously write to the stdin pipe and read from the
stdout pipe to avoid the deadlock.
Still not happy about this blocking the UI, but that would require
some major refactoring in libevolution-mail-formatter.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The "dialog-apply" icon is not from a set of standard icons, thus
it cannot be used, which I overlooked yesterday. With its drop are
also dropped other button icons in itip-formatter.
The missing icon made EStockRequest "panic" which effectively broke
page rendering for WebKit - the rendering was never finished.
|
| |
|
| |
|
|
|
|
|
|
|
| |
While looking at bug #721286, I found out that mail_shell_view_prepare_for_quit_cb
calls a sync of the folder changes to the server, but mail_backend_prepare_for_quit_cb
does the same thing (or even more, because it calls to synchronize changes in all folders),
thus the former is redundant and can be dropped.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Boy does GSettings like to abort applications! The default value for
the 'junk-default-plugin' key is 'Bogofilter' but if the key's mapping
function cannot find Evolution's Bogofilter integration module (it is
optional after all, so may not be installed), then indicating failure
will make GSettings abort Evolution. So always indicate success.
|
| |
|
| |
|
|
|
|
| |
Proxy support is automatic now.
|
|
|
|
|
|
| |
Drop our explicit gstreamer requirement and merge audio support directly
into libevolution-mail-formatter. We now use the HTML5 <audio> tag and
let WebKit show much nicer playback controls, with volume and seeking.
|
| |
|
|
|
|
|
|
| |
Turns out this function was a no-op, because nothing registered itself
to be cancelled this way. This was part of the legacy async framework,
which we've mostly moved away from now.
|
|
|
|
|
|
| |
EProxy is deprecated. No easy access to ESourceRegistry from which to
grab the "system-proxy" ESource, so just rely on SoupSession's default
GProxyResolver. Good enough; this is a nice-to-have feature anyway.
|
|
|
|
| |
SoupRequester functionality is built directly into SoupSession now.
|
|
|
|
| |
SoupSessionAsync and SoupSessionSync are deprecated in libsoup 2.42.
|
|
|
|
|
| |
Use mapping functions to convert between the filter name string and
the corresponding EMailJunkFilter extension.
|
|
|
|
|
|
|
|
| |
This prevents Evolution from prompting to restore what it thinks are
orphaned messages during an Evolution session. This is triggered by
a shell window emitting another "map-event" signal for some reason.
Some GNOME Shell users have reported seeing this.
|
| |
|
|
|
|
| |
Handles junk mail settings.
|
| |
|
|
|
|
|
|
| |
The ESourceExtension had a 'unit' property, but it was not used
anywhere, thus I changed it to reflect possible values of current
libgweather and made it used in the background.
|
|
|
|
| |
I was wrong: ellipsize setting got renamed, not removed. Remove it.
|
| |
|
|
|
|
|
|
|
|
| |
Replaces em_folder_tree_model_lookup_uri() and to some extent
em_folder_tree_model_lookup_store_info().
Working toward making the EMFolderTreeModelStoreInfo struct private to
EMFolderTreeModel, so it can then be made thread-safe.
|
| |
|
|
|
|
|
|
| |
Apart of fixing the crash, the format of saved location is changed,
which requires changes in evolution-data-server, commit with the same
bug number in its description (063a2bc).
|
|
|
|
|
|
| |
Replaces em_folder_tree_get_selected_store().
Same as before, but adds a reference to the returned CamelStore.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the code free of Coverity scan issues.
It is sometimes quite pedantic and expects/suggests some
coding habits, thus certain changes may look weird, but for a good
thing, I hope. The code is also tagged with Coverity scan
suppressions, to keep the code as is and hide the warning too.
Also note that Coverity treats g_return_if_fail(), g_assert() and
similar macros as unreliable, and it's true these can be disabled
during the compile time, thus it brings in other set of 'weird'
changes.
|
|
|
|
| |
All offline-capable Camel providers use CamelOfflineStore now.
|
| |
|
|
|
|
| |
Use: #include <libemail-engine/libemail-engine.h>
|
|
|
|
| |
libemail-engine doesn't need to know about this enum.
|
|
|
|
| |
Steals some enum types that libemail-engine doesn't need to know about.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
webkit_dom_element_get_id() was introduced for WebKitGTK+ 2.2 and
deprecates webkit_dom_html_element_get_id(). But Evolution only
requires WebKitGTK+ 2.0.1.
Ordinarily this would sit on a shelf until we require WebKitGTK+ 2.2,
however WebKitGTK+ has now started issuing deprecation warnings about
webkit_dom_html_element_get_id() at *runtime*, which is pointless and
only fills up users' .xsession-errors file.
To put a stop to this, we'll call the new function subject to a pre-
processor WebKit version check, with a fallback to the old function.
The build requirement remains at WebKitGTK+ 2.0.1.
|
| |
|
|
|
|
| |
When closing the window after opening it from the Address Book Map.
|
| |
|
|
|
|
| |
Just a nice touch, I think.
|
|
|
|
| |
Replaces EMNetworkPrefs.
|
|
|
|
| |
Sets a flag that's no longer used internally by ESourceSelector.
|
| |
|
|
|
|
|
|
| |
The change also allows setting accounts for certain recipients (based
on a part of the recipient address). The option can be found in Folder
Properties and in Edit->Preferences->Composer Preferences->Send Account.
|
|
|
|
|
| |
The text-highlight module is for enhancing the *display* of textual
email parts. It should not interfere at all when printing an email.
|
|
|
|
|
| |
These two cross-referenced each other, which could cause runtime issues,
thus rather merge them into one.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Avoid redrawing (thus loosing the selection and scroll position) of
preview window on style change by defining the colors through CSS styles.
On style change we just update the CSS color definitions and preview will
update itself without redraw.
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=657808
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Asynchronously copies the image under the cursor to the clipboard.
This replaces the "cursor-image" property, which attempts to match the
image URI to a subresource from WebKitWebDataSource. The problem with
that approach is EMailDisplay redirects several URI schemes to its own
custom request handlers which further mutate the URI. So for example,
a text/html message may use a "cid:" URI to refer to an embedded image,
which EMailDisplay transforms to a "mail:" URI and finally to a "data:"
URI. The final image URI might not be derivable from the original URI
without retracing the SoupRequest.
The "image-copy" action now calls e_web_view_cursor_image_copy().
This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for
gdk_pixbuf_new_from_stream_async() / finish().
New functions:
e_web_view_cursor_image_copy()
Removed functions:
e_web_view_get_cursor_image()
e_web_view_set_cursor_image()
|
|
|
|
|
|
| |
Rename to e_mail_display_set_part_list().
Function takes an EMailPartList, not an "EMailPartsList".
|
|
|
|
|
|
| |
Rename to e_mail_display_get_part_list().
Function returns an EMailPartList, not an "EMailPartsList".
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Apparently the migration logic was more complex than it needed to be.
The old numeric key was already synced to the EMailReplyStyle enum in
the source code. Dunno where I got the idea it wasn't.
Just more evidence numeric enum keys are bad.
|
|
|
|
|
|
|
|
| |
Take a CamelStore and folder name instead of a CamelFolder.
CamelStore and folder name can easily be obtained from either a folder
URI or a CamelFolder instance, and the function is more efficient with
separate parameters.
|
| |
|
|
|
|
|
|
|
|
| |
We were using g_object_get() to write an "unsigned int" value (at least
32 bits) into a 16-bit integer address.
Don't know why we were bothering with g_object_get() in the first place,
just call camel_network_settings_get_port() instead.
|
|
|
|
|
|
| |
My previous patch didn't go far enough to repair an already-corrupted
"show-headers" key. Need to actually reset it to its default value if
the "headers" key is empty.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpamAssassin is clearly not intended for use by mail clients, as
evidenced by the number of backflips Evolution's SA module still has to
do just to detect the presence and nature of a running spamd (a problem
which D-Bus solved a decade ago), and recent SA developer comments.
In lieu of removing SA support entirely, remove all the crazy GSettings
that are (thankfully) not exposed in the UI and relegate Evolution's SA
integration to only the most basic usage (spamassassin / sa-learn).
Users are better off with Bogofilter anyway. Leave SpamAssassin for
mail servers.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
EShellView no longer needs help from subclasses other than getting
the needed GalView subclasses registered.
A nice side-effect of this is EShellView subclasses can now use the
G_DEFINE_DYNAMIC_TYPE macro.
|
|
|
|
|
|
| |
No longer needed. Instead, use g_type_ensure() to ensure the necessary
GalView subclasses are registered in the GType system before loading a
GalViewCollection. Best place to ensure types is from GClassInitFunc.
|
|
|
|
|
| |
I suspect this will enable us to ditch GalViewFactory entirely once I
rework a few more things. We'll see though; one step at a time here.
|
|
|
|
|
| |
It's better to have separate classes each with a fixed type code, than
one class with a variable type code. You'll see why in the next commit.
|
|
|
|
|
|
|
|
| |
No longer needed.
Removed functions:
gal_view_factory_etable_get_specification()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EShellView now holds a reference to the active GalViewInstance. Where
applicable, the EShellView subclass is responsible for keeping this up
to date when the sidebar selection changes.
Holding a reference allows EShellView to implement common actions like
"Save Current View" directly instead pushing it on to subclasses.
New functions:
e_shell_view_get_view_instance
e_shell_view_set_view_instance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
e_table_specification_new() now takes a table specification filename and
a GError and parses the file as part of instance creation. If a file or
parse error occurs, e_table_specification_new() returns NULL.
This replaces e_table_specification_load_from_file().
New functions:
e_table_specification_get_filename()
Removed functions:
e_table_specification_load_from_file()
|
|
|
|
|
| |
Create our own ETableState and call e_table_state_load_from_string()
followed by e_tree_set_state_object().
|
|
|
|
|
|
|
|
| |
I don't remember why E_TASK_TABLE_DEFAULT_STATE was needed when
e-calendar-table.etspec already specifies a default ETableState.
Some of the column numbers it was referencing weren't even valid.
Removing it seems to make no difference in Evolution.
|
|
|
|
|
|
|
| |
I don't remember why E_MEMO_TABLE_DEFAULT_STATE was needed when
e-memo-table.etspec already specifies a default ETableState.
Removing it seems to make no difference in Evolution.
|
|
|
|
| |
Done as part of bug #700894
|
|
|
|
|
| |
Give the "show-headers" key a proper default value, and watch out for
an empty "headers" key, which is supposed to imply that default value.
|
|
|
|
|
|
|
|
| |
The shortcuts Ctrl+C/V/X are used for whole calendar items
copy/paste/cut, not for text when editing event details inline, either
in a day/week view or in a list view. By tracking the is-editing property
of respective cell editor and using it when enabling/disabling clipboard
actions makes the respective text operations work as expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit does a number of things which I could not subdivide into
smaller commits.
* Converts ETreeModel to an interface, implemented by MessageList.
* Drops ETreeMemory and ETreeMemoryCallbacks, which were ETreeModel
subclasses. Their functionality is subsumed by MessageList.
* MessageList drops its public ETreeModel pointer, since MessageList
now implements ETreeModel as an interface.
* Adds message_list_set_expanded_default(), which takes over for
e_tree_memory_set_expanded_default().
|
|
|
|
|
|
| |
The returned UID array now has a built-in "free" function for its
elements and should be released by callers with g_ptr_array_unref()
rather than em_utils_uids_free() or some equivalent.
|
| |
|
|
|
|
| |
Replaces e_mail_reader_get_folder().
|
|
|
|
|
|
|
|
|
| |
Add internal functions to compute these as needed based on a given
CamelFolder.
Removed functions:
message_list_set_hidedeleted()
|
|
|
|
|
|
|
|
|
| |
Bind this to the "show-deleted" GSettings key.
New functions:
message_list_get_show_deleted()
message_list_set_show_deleted()
|
|
|
|
|
|
|
|
| |
Also move the CamelFolder pointer into the private structure.
New functions:
message_list_ref_folder()
|
|
|
|
| |
Bind this to the "thread-latest" GSettings key.
|
| |
|
|
|
|
| |
Bind this to the "thread-subject" GSettings key.
|
|
|
|
|
|
| |
Also add a placeholder ESettingsMessageList extension. Going to clean
out some of the direct GSettings usage in MessageList by adding GObject
properties and binding them to GSettings keys from the extension.
|
|
|
|
|
|
| |
This is another source of crashes after creating and destroying a second
shell window. The signal handler was left connected with the destroyed
shell window as the closure.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug in the old implementation where the application could
crash after a second shell window was created and destroyed, because a
signal handler with the destroyed shell window as the closure was left
connected.
But moreover this simplifies the implementation by using a property
binding plus transform function instead of juggling signal handlers,
and also adds code comments where things get a little tricky.
Removed (now unused) functions:
e_shell_window_get_toolbar_new_prefer_item
e_shell_window_set_toolbar_new_prefer_item
|
|
|
|
|
|
|
|
|
| |
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal. This will ensure the
appropriate ECalClients get loaded into the ECalModel.
This fixes the bug where opening a second Tasks window shows no
content until one of the sidebar items is fiddled with.
|
|
|
|
|
|
|
|
|
| |
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal. This will ensure the
appropriate ECalClients get loaded into the ECalModel.
This fixes the bug where opening a second Memos window shows no
content until one of the sidebar items is fiddled with.
|
|
|
|
|
|
|
|
|
| |
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal. This will ensure the
appropriate ECalClients get loaded into the ECalModel.
This fixes the bug where opening a second Calendar window shows no
content until one of the sidebar items is fiddled with.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For messages with a base MIME type of multipart/alternative, we were
hiding text/plain subparts based on the number of alternate subparts.
This assumption of course broke on a message with the following body
structure and a Plain Text Mode preference of "Show HTML if present":
multipart/alternative
text/plain
text/plain
Instead, note when we've actually seen a text/html subpart and use that
to decide whether to hide the text/plain parts.
|
| |
|
|
|
|
| |
Use the EMailPartHeaders API instead.
|
|
|
|
|
|
|
|
|
| |
This will replace the headers API in EMailFormatter. Need a more
permanent place for headers since EMailFormatter is too disposable.
Also add an ESettingsMailPartHeaders class, which binds the new property
to the "show-headers" setting with a suitable mapping function to filter
out disabled header names.
|
|
|
|
|
|
|
| |
Replaces the "headers" key. Whereas "headers" is an array of XML
blobs, the "show-headers" key is an array of string/boolean pairs.
Also update the appropriate places to get/set the new key.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Mainly to avoid accessing GSettings directly from EMailBrowser.
Also add a "browser-close-on-reply-policy" GSettings key that replaces
"prompt-on-reply-close-browser", the difference being the new key uses
an enum definition compatible with EAutomaticActionPolicy instead of a
free-form string value.
And finally add an ESettingsMailBrowser class to glue things together.
|
|
|
|
| |
This is just an Express Mode leftover.
|
|
|
|
|
| |
Replace the EShell and CamelSession arguments with a single EMailBackend
argument, from which both the EShell and CamelSession can be obtained.
|
|
|
|
|
|
| |
Call e_task_shell_sidebar_add_client() instead of add_source().
No point asynchronously obtaining the client if we already have it.
|
|
|
|
|
|
| |
Call e_memo_shell_sidebar_add_client() instead of add_source().
No point asynchronously obtaining the client if we already have it.
|
|
|
|
|
|
| |
Call e_cal_shell_sidebar_add_client() instead of add_source().
No point asynchronously obtaining the client if we already have it.
|
|
|
|
|
|
|
|
| |
The function now returns TRUE if the ECalClient was actually removed
from the model, or FALSE if the model did not have the ECalClient.
Use this to avoid an unnecessary gnome_calendar_update_query() call
in cal_shell_view_selector_client_removed().
|
|
|
|
|
|
|
|
| |
The function now returns TRUE if the ECalClient was actually added
to the model, or FALSE if the model already had the ECalClient.
Use this to avoid an unnecessary gnome_calendar_update_query() call
in cal_shell_view_selector_client_added_cb().
|
|
|
|
|
|
|
|
|
|
| |
Obtain calendar views asynchronously and concurrently, and update the
task and memo pads synchronously (they don't block as best I can tell).
Get rid of the whole thread-pool message dispatching thing, which I
think I myself wrote years ago (calendar had no async API back then).
Consequently I'm seeing calendar events show up noticably quicker.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed recently on the users mailing list [1], there's a strong
precedent among GTK+ applications for F9 to toggle sidebar visibility.
Examples cited were Nautilus, Evince, Totem, Rhythmbox, File-Roller
and gThumb.
Change the Send/Receive accelerator from F9 to F12, and designate F9
as the accelerator for View->Layout->Show Side Bar.
[1] https://mail.gnome.org/archives/evolution-list/2013-May/msg00194.html
|
| |
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also add an evolution-mail-composer documentation module.
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also add an evolution-mail-formatter documentation module.
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also rename the documentation module to evolution-shell.
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also rename the documentation module to evolution-util.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EAttachment is now used from worker threads by EMailFormatterAttachment,
so add some thread-safe accessor functions to eliminate potential races.
Added thread-safe functions:
e_attachment_dup_disposition()
e_attachment_ref_file()
e_attachment_ref_file_info()
e_attachment_ref_icon()
e_attachment_ref_mime_part()
e_attachment_dup_description()
e_attachment_dup_thumbnail_path()
Renamed functions:
e_attachment_get_mime_type() -> e_attachment_dup_mime_type()
Removed non-thread-safe functions:
e_attachment_get_file()
e_attachment_get_file_info()
e_attachment_get_icon()
e_attachment_get_mime_part()
e_attachment_get_description()
e_attachment_get_thumbnail_path()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simplify the EABContactFormatter API as follows:
* Drop all constructor arguments from eab_contact_formatter_new()
since get/set functions exist for all of them.
* Remove eab_contact_formatter_format_contact_async() since
EABContactFormatter does not block.
* Replace eab_contact_formatter_format_contact_sync() with
eab_contact_formatter_format_contact() which drops the CamelStream
and GCancellable arguments and takes a GString as an output buffer.
* Remove the "state" and "style" properties, and always use a white
background when rendering the full contact.
This is particularly important since render_normal() dereferenced
the GtkStyle without checking for NULL, which would crash on mails
with a vCard MIME part when "Show Full vCard" was clicked, because
the "vcard-inline" module never set a GtkStyle.
|
|
|
|
|
| |
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.
|
| |
|
| |
|