| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The zoom in shortcut (Ctrl+) can be confusing for some users because on
keyboards with a [+ =] key the '+' requires holding Shift. To mitigate
the confusion, also accept (Ctrl=) for zoom in.
And while we're add it, also support Ctrl+ and Ctrl- on keypads, as well
as keyboards with dedicated Zoom In / Zoom Out keys.
|
|
|
|
|
|
| |
Missed a case when an EMailReader is an EMailBrowser, which is not
an EMailView, which produced a runtime warning on a console when
a message was shown in a separate window (like after double-clicking it).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use: #include <libemail-engine/libemail-engine.h>
|
|
|
|
| |
Steals some enum types that libemail-engine doesn't need to know about.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
There's now enough hooks in EWebView that it can take over image saving
from EMailDisplay / EMailReader, with the added perk that a "Save Image"
pop-up menu item now appears for images in ALL preview panes.
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
| |
Bind this to EMailReader's "group-by-threads" property.
New functions:
message_list_get_group_by_threads()
message_list_set_group_by_threads()
|
|
|
|
|
|
|
|
| |
Also move the CamelFolder pointer into the private structure.
New functions:
message_list_ref_folder()
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These are just Express Mode leftovers.
Also remove obsolete functions:
e_mail_reader_get_enable_show_folder()
e_mail_reader_enable_show_folder()
e_mail_paned_view_set_enable_show_folder()
|
|
|
|
| |
Replaces em_utils_forward_messages().
|
|
|
|
| |
Replaces em_utils_edit_messages().
|
|
|
|
|
|
|
|
|
| |
EMailReader is an interface and should not know about specific classes
that implement its interface. Instead, EMailBrowser itself will prompt
in response to "composer-created" signals that include a source message.
This also removes the "destroy_when_done" parameter from
em_utils_forward_messages() since it's no longer needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emitted to indicate a composer window was created in response to a user
action on the EMailReader. Examples of such actions include replying,
forwarding, and starting a new message.
If applicable, the source message (i.e. the message being replied to or
forwarded) is included in the signal emission.
New functions:
e_mail_reader_composer_created()
|
| |
|
|
|
|
|
| |
Use e_mail_formatter_set_charset() instead.
Obtain the EMailFormatter with e_mail_display_get_formatter().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reimplement EPhotoCache to delegate the actual photo fetching to
EPhotoSources. When a photo is requested for a given email address,
all available EPhotoSources are dispatched concurrently and a photo
input stream is selected from the result set.
This also utilizes EDataCapture, which is affixed to the returned
GInputStream to capture and cache photo data for an email address.
New functions:
e_photo_cache_add_photo_source()
e_photo_cache_list_photo_sources()
e_photo_cache_remove_photo_source()
e_photo_cache_add_photo()
Renamed functions:
e_photo_cache_remove() --> e_photo_cache_remove_photo()
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use e_photo_cache_remove() instead of emu_remove_from_mail_cache_1().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This was another MeeGo feature. MeeGo is dead, the code is starting to
bit rot and crashes on startup, the original author disappeared and the
remaining developers are not interested in maintaining it. So it's out.
|
|
|
|
|
|
| |
This is leftover from the WebKit port and it didn't work
properly. Most of the code was removed, some was moved
to a better place.
|
| |
|
| |
|
| |
|
|
|
|
| |
Shortens the Message menu a little for low screen resolutions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The new formatter was ignoring selected headers, always displaying
only From, To, Subject and Date (default headers).
Handling of the currently displayed headers has been moved to
EMailConfigFormatHTML extension, because it is related to
configuration of EMailFormatter, rather then EMailReader.
|
|
|
|
|
|
|
|
| |
All mail-parsing and formatting code has been moved to em-format.
Parsing is handeled by EMailParser class, formatting by EMailFormatter.
Both classes have registry which hold extensions - simple classes
that do actual parsing and formatting. Each supported mime-type
has it's own parser and formatter extension class.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The callback does not own the GAsyncResult passed to it.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Replace 8-space indentation with tab characters, and various other
automated cleanups.
|
|
|
|
| |
Pass it in instead of digging it out of EShellSettings.
|
| |
|
|
|
|
|
| |
the daemon can now start the vfolder storage without bothering much with the
UI.
|
|
|
|
| |
libevolution-utils.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).
This is the first step toward moving mail handing to a D-Bus service.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More mail API churn... reversing some previous API decisions.
I've made some key API changes to EMailSession on the account-mgmt
branch which should allow for this, and will hopefully also benefit
the "email-factory" branch.
EMailBackend barely needs to exist anymore, except as the owner of
EMailSession.
For several low-level functions, we replace its EMailBackend parameter
with EMailSession and EAlertSink parameters; the latter so it can still
pass user alerts up the chain.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
mail/e-mail-paned-view.c
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Means EMailBrowser no longer has to.
Also, EMailReader now provides a default implementation for
get_alert_sink() which just calls get_preview_pane() and casts.
|
| |
| |
| |
| |
| | |
Also give EMailReader::show-search-bar signal a default implementation,
since it can now dig up the search bar widget itself.
|
| |
| |
| |
| | |
Emitted when the CamelMimeMessage has been obtained.
|
| |
| |
| |
| | |
Replaces e_mail_reader_mark_as_read().
|
| | |
|
| | |
|
|\| |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Drop EMFolderTreeModel's "session" property now that it has a "backend"
property and call em_folder_tree_model_set_backend() where we used to
call em_folder_tree_model_set_session().
The session can still be obtained through e_mail_backend_get_session().
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
There was never a bug filed for this, but some mailing list discussion:
http://mail.gnome.org/archives/evolution-list/2011-August/msg00084.html
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Also, minimize the EMFolderSelector API by removing frivolous wrapper
functions and unused functions.
|
| |
| |
| |
| |
| |
| |
| |
| | |
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.
Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity. So it's a code cleanup of sorts.
|
| |
| |
| |
| |
| | |
Now that we're configuring EMailReader instances from an idle callback,
we can safely store the forward and reply styles in the private struct.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add an action group for Search Folders to EMailReader. The action
group's visibility is bound to the "mail-enable-search-folders" setting,
so that menu items related to Search Folders are hidden when Search
Folders are disabled in GConf.
Affected menu items are:
Edit -> Search Folders
Message -> Create Rule -> Search Folder from Subject...
Message -> Create Rule -> Search Folder from Sender...
Message -> Create Rule -> Search Folder from Recipients...
Message -> Create Rule -> Search Folder from Mailing List...
Search -> Create Search Folder From Search...
|
| |
| |
| |
| |
| |
| | |
Use an enum type to request different action groups. For now we just
have E_MAIL_READER_ACTION_GROUP_STANDARD. EMailReader implementations
should map the enum value to an appropriate GtkActionGroup.
|
| |
| |
| |
| | |
Use e_mail_folder_save_messages() instead.
|
| |
| |
| |
| | |
Use e_mail_folder_remove_attachments() instead.
|
| |
| |
| |
| | |
Now uses camel_folder_get_message().
|
| |
| |
| |
| | |
Now uses camel_folder_get_message().
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
No more fetching a message itself. Oh, and stop unreffing the message.
Those kinds of insane semantics are what lead to crashes.
|
| |
| |
| |
| |
| | |
Now fetches the message itself using camel_folder_get_message(),
then calls em_utils_redirect_message().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Configuring and submitting an EActivity for every mail operation is
getting tedious. This function helps reduce boilerplate code by:
* Creating a new EActivity instance.
* Installing an EAlertSink using e_mail_reader_get_alert_sink().
* Installing a GCancellable (which is really a CamelOperation).
* Submitting the activity via e_shell_backend_add_activity().
I'm considering adding a similar function (or class method) for
EShellView. Not sure yet...
|
| | |
|
| |
| |
| |
| | |
Now uses e_mail_folder_get_multiple_messages().
|
| |
| |
| |
| |
| | |
Now uses e_mail_folder_build_attachment() and
e_mail_folder_get_multiple_messages().
|
| |
| |
| |
| | |
Now uses e_mail_folder_find_duplicate_messages().
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Instead call e_mail_reader_get_folder() and, if you really need to,
generate the folder URI with e_mail_folder_uri_from_folder().
|
| | |
|
| |
| |
| |
| |
| | |
Pass CamelFolder objects instead, which are already available at almost
every call site.
|
| |
| |
| |
| | |
Take a CamelFolder instead of a folder URI string.
|
| |
| |
| |
| |
| | |
Don't call em_utils_folder_is_drafts() or em_utils_folder_is_outbox() if
the CamelFolder is NULL.
|
| |
| |
| |
| | |
Mostly dead assignments.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Function is no longer used, or wanted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This one's a little involved:
- EMailShellView now obtains a CamelFolder itself in response to
EMFolderTree::folder-selected signals. Uses EActivity to do so.
- Revise EMFolderTree::folder-selected signal arguments to be more
useful: emit a CamelStore object instead of a folder URI.
- Also revise EMFolderTree::folder-activiated signal arguments the
same way while we're at it.
- Remove the "folder_uri" argument from e_mail_reader_set_folder().
If you have a CamelFolder object you can obtain the URI string by
calling camel_folder_get_uri().
|
| |
| |
| |
| |
| | |
Switching between mail folders in offline mode produces lots of
annoying alerts for operations we shouldn't even be attempting.
|
| | |
|
| |
| |
| |
| | |
Prefer the newer GtkAction "set" functions over g_object_set().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.
|
| |
| |
| |
| |
| |
| |
| | |
Add e_alert_dialog_get_content_area(), which returns the GtkVBox
containing the primary and secondary labels. Use this instead of
gtk_dialog_get_content_area() to maintain the dialog's left margin
beneath the image.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Lockdown keys have moved to gsettings-desktop-schemas, so disable
lockdown integration until we're ready for GSettings.
|
| |
| |
| |
| | |
GCC learned how to find dead assignments.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Per request of bug #635414
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of mail_get_messagex(), call camel_folder_get_message() and
submit an EActivity to the shell backend. EMailReader now uses the
activity's GCancellable to cancel the previous retrieval operation
when the user selects a different message.
Eliminates the last call to mail_get_messagex().
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
There was never a bug filed for this, but some mailing list discussion:
http://mail.gnome.org/archives/evolution-list/2011-August/msg00084.html
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Also, minimize the EMFolderSelector API by removing frivolous wrapper
functions and unused functions.
|
| |
| |
| |
| |
| |
| |
| |
| | |
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.
Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity. So it's a code cleanup of sorts.
|
| |
| |
| |
| |
| | |
Now that we're configuring EMailReader instances from an idle callback,
we can safely store the forward and reply styles in the private struct.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add an action group for Search Folders to EMailReader. The action
group's visibility is bound to the "mail-enable-search-folders" setting,
so that menu items related to Search Folders are hidden when Search
Folders are disabled in GConf.
Affected menu items are:
Edit -> Search Folders
Message -> Create Rule -> Search Folder from Subject...
Message -> Create Rule -> Search Folder from Sender...
Message -> Create Rule -> Search Folder from Recipients...
Message -> Create Rule -> Search Folder from Mailing List...
Search -> Create Search Folder From Search...
|
| |
| |
| |
| |
| |
| | |
Use an enum type to request different action groups. For now we just
have E_MAIL_READER_ACTION_GROUP_STANDARD. EMailReader implementations
should map the enum value to an appropriate GtkActionGroup.
|
| |
| |
| |
| | |
Use e_mail_folder_save_messages() instead.
|
| |
| |
| |
| | |
Use e_mail_folder_remove_attachments() instead.
|
| |
| |
| |
| | |
Now uses camel_folder_get_message().
|
| |
| |
| |
| | |
Now uses camel_folder_get_message().
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
No more fetching a message itself. Oh, and stop unreffing the message.
Those kinds of insane semantics are what lead to crashes.
|
| |
| |
| |
| |
| | |
Now fetches the message itself using camel_folder_get_message(),
then calls em_utils_redirect_message().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Configuring and submitting an EActivity for every mail operation is
getting tedious. This function helps reduce boilerplate code by:
* Creating a new EActivity instance.
* Installing an EAlertSink using e_mail_reader_get_alert_sink().
* Installing a GCancellable (which is really a CamelOperation).
* Submitting the activity via e_shell_backend_add_activity().
I'm considering adding a similar function (or class method) for
EShellView. Not sure yet...
|
| | |
|
| |
| |
| |
| | |
Now uses e_mail_folder_get_multiple_messages().
|
| |
| |
| |
| |
| | |
Now uses e_mail_folder_build_attachment() and
e_mail_folder_get_multiple_messages().
|
| |
| |
| |
| | |
Now uses e_mail_folder_find_duplicate_messages().
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Instead call e_mail_reader_get_folder() and, if you really need to,
generate the folder URI with e_mail_folder_uri_from_folder().
|
| | |
|
| |
| |
| |
| |
| | |
Pass CamelFolder objects instead, which are already available at almost
every call site.
|
| |
| |
| |
| | |
Take a CamelFolder instead of a folder URI string.
|
| |
| |
| |
| |
| | |
Don't call em_utils_folder_is_drafts() or em_utils_folder_is_outbox() if
the CamelFolder is NULL.
|
| |
| |
| |
| | |
Mostly dead assignments.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Function is no longer used, or wanted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This one's a little involved:
- EMailShellView now obtains a CamelFolder itself in response to
EMFolderTree::folder-selected signals. Uses EActivity to do so.
- Revise EMFolderTree::folder-selected signal arguments to be more
useful: emit a CamelStore object instead of a folder URI.
- Also revise EMFolderTree::folder-activiated signal arguments the
same way while we're at it.
- Remove the "folder_uri" argument from e_mail_reader_set_folder().
If you have a CamelFolder object you can obtain the URI string by
calling camel_folder_get_uri().
|
| |
| |
| |
| |
| | |
Switching between mail folders in offline mode produces lots of
annoying alerts for operations we shouldn't even be attempting.
|
| | |
|
| |
| |
| |
| | |
Prefer the newer GtkAction "set" functions over g_object_set().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.
|
| |
| |
| |
| |
| |
| |
| | |
Add e_alert_dialog_get_content_area(), which returns the GtkVBox
containing the primary and secondary labels. Use this instead of
gtk_dialog_get_content_area() to maintain the dialog's left margin
beneath the image.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Lockdown keys have moved to gsettings-desktop-schemas, so disable
lockdown integration until we're ready for GSettings.
|
| |
| |
| |
| | |
GCC learned how to find dead assignments.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Per request of bug #635414
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
Instead of mail_get_messagex(), call camel_folder_get_message() and
submit an EActivity to the shell backend. EMailReader now uses the
activity's GCancellable to cancel the previous retrieval operation
when the user selects a different message.
Eliminates the last call to mail_get_messagex().
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To reduce GConf usage in em-composer-utils.c:
- Relevant functions in em-composer-utils.c now take arguments for
reply and forward styles.
- Redundant forwarding functions were removed:
em_utils_forward_attached()
em_utils_forward_inline()
em_utils_forward_quoted()
- EMailReader now has "forward-style" and "reply-style" properties,
which get bound to the appropriate EShellSettings properties in
modules/mail/e-mail-config-reader.c. These same EShellSettings
properties are bound to the combo boxes in Composer Preferences.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This marks the end of unintrusive error dialogs, which were too
unintrusive. We now show errors directly in the main window using
the EAlert / EAlertSink framework.
|
|
|
|
|
|
| |
GObject now does property bindings itself.
Requires GLib >= 2.26.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'Send' and 'Save Draft' are now asynchronous and run outside of
Evolution's MailMsg infrastructure.
Add an EActivityBar to the composer window so these asynchronous
operations can be tracked and cancelled even in the absense of a main
window. Also add an EAlertBar to the composer window so error messages
can be shown directly in the window.
Instead of calling e_alert_dialog_run_for_args(), call e_alert_submit()
and pass the EMsgComposer as the widget argument. The EMsgComposer will
decide whether to show an EAlertDialog or use the EAlertBar, depending
on the GtkMessageType of the alert.
|
|
|
|
|
|
|
|
|
|
|
| |
Global variables in shared libraries are a bad idea. EMailBackend now
owns the MailSession instance, which is actually now EMailSession.
Move the blocking utility functions in mail-tools.c to e-mail-session.c
and add asynchronous variants. Same approach as Camel.
Replace EMailReader.get_shell_backend() with EMailReader.get_backend(),
which returns an EMailBackend. Easier access to the EMailSession.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
In GTK+ 2.21.8, the keysym names were renamed from GDK_* to GDK_KEY_*.
I've added backward-compatibility macors to gtk-compat.h, which can be
dumped as soon as we require GTK+ >= 2.22.0.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EMailShellContent implements the EMailReader interface but acts as a
proxy for EMailPanedView, from which it obtains MessageList and EWebView
widgets. The problem was both classes call e_mail_reader_init_private()
which connects to signals emitted from the MessageList and EWebView
widgets. But since EMailShellContent is a proxy for EMailPanedView,
the signals were being connected twice.
This commit does away with e_mail_reader_init_private(), instead adding
options to e_mail_reader_init() to control what parts of initialization
to run. It's an ugly and temporary hack.
I'm beginning to realize EMailReader is too bloated and needs rethought.
EMailReader should just manage actions. EMailView should own and manage
the widgets, and EMailReader should just have a get_mail_view() method
so it has access to those widgets. That way the EMailView subclasses
won't have to implement EMailReader themselves and wind up allocating
a bunch of duplicate, unused actions.
It's too close to a stable release to rip these interfaces apart and
reorganize them. I'll try to do that for 2.33 to help make the design
more intuitive.
|
|
|
|
|
|
|
| |
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.
This is just a start... lots more to do.
|
| |
|
| |
|
|
|
|
| |
Reduce the composer's dependency on e_shell_get_default().
|
| |
|
|
|
|
|
|
| |
Control Up - Go to parent folder.
Control Shift Up/Down - prev/next tab
Control Shift w - close tab.
|
|
|
|
|
|
| |
This changes the behavior of the function: instead of redrawing
immediately it schedules the redraw from an idle callback. This
allows us to make multiple changes to EMFormat before redrawing.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Since e_mail_reader_get_formatter (the EMailNotebookView implementation) can
now return NULL we need to prevent that being passed into other functions.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=624867
|
| |
|
|
|
|
|
| |
David's solution is simpler: check if the HTML widget is mapped.
Avoids having to propagate the property to Srini's new classes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|