aboutsummaryrefslogtreecommitdiffstats
path: root/modules/prefer-plain
Commit message (Collapse)AuthorAgeFilesLines
* Bug 701669 - Bad assumption in prefer-plain moduleMatthew Barnes2013-06-081-2/+7
| | | | | | | | | | | | | | | 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.
* EMailParserPreferPlain cleanups.Matthew Barnes2013-06-081-24/+31
|
* Rename libemformat to libevolution-mail-formatter.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-formatter documentation module.
* Rename libeshell to libevolution-shell.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-shell.
* Rename libeutil to libevolution-util.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-util.
* Convert EMailPart to a GObject.Matthew Barnes2013-05-201-1/+1
| | | | | EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
* Add e_mail_part_set_is_attachment().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_set_mime_type().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_mime_type().Matthew Barnes2013-05-201-1/+4
|
* Add e_mail_part_id_has_substr().Matthew Barnes2013-05-202-2/+3
|
* Add e_mail_part_id_has_prefix().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_id().Matthew Barnes2013-05-201-3/+6
|
* Coding style and whitespace cleanup.Matthew Barnes2013-02-241-1/+1
|
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2013-02-011-41/+0
| | | | Restore this commit with a proper bug fix to follow.
* Revert "Teach EMailExtensionRegistry to find extensions."Milan Crha2013-01-291-0/+41
| | | | | | | | | | 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.
* Bug #692775 - Double-quoting message with HTML and textMilan Crha2013-01-291-0/+14
|
* Move the contact map widgets to addressbook/gui/widgets.Matthew Barnes2012-12-132-4/+0
| | | | | | | | | | | | 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.
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-133-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2012-12-081-41/+0
| | | | | | | | | | | | | | | | | | | | | 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().
* Convert EMailParserExtension to an abstract class.Matthew Barnes2012-12-081-16/+9
| | | | | | | | | 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.
* Remove EMailExtension.Matthew Barnes2012-12-081-36/+55
| | | | | | | | | | | | 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.
* EMailExtension: Replace mime_types() method with a string array.Matthew Barnes2012-12-081-10/+6
| | | | | | | | | | | 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.
* EMailParserExtension: Collect EMailParts in a GQueue.Matthew Barnes2012-12-081-93/+86
| | | | | | | | | | | | | | | 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.
* Make EMailPartList thread-safe.Matthew Barnes2012-12-081-5/+10
| | | | | | 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.
* Coding style and whitespace cleanup.Matthew Barnes2012-11-111-2/+3
|
* Bug #686278 - Prefer-plain can break parts listMilan Crha2012-10-171-16/+7
|
* [prefer-plain] Always show HTML part as attachment for only HTML messagesMilan Crha2012-09-121-11/+5
| | | | | | | | When the prefer-plain is set to show only text/plain parts, without showing suppressed HTML parts as attachments, and the received message contains only one part, the text/html part, then the preview was completely empty, which is confusing. With this change, the text/html only messages will show the suppressed part as attachment regardless the setting.
* Bug #683758 - Crash on display meeting inviteLucian Langa2012-09-111-1/+2
|
* Bug #682873 - Prefer-plain shows text plain in meeting inviteMilan Crha2012-09-061-9/+3
|
* Fix visibility of parts in prefer-plainDan Vrátil2012-08-281-6/+20
|
* Fix all 'may be used uninitialized' compiler warningsDan Vrátil2012-08-201-0/+1
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-203-22/+22
|
* Bug #682019 - Always display text/plain when there's nothing else in ↵Dan Vrátil2012-08-171-9/+14
| | | | multipart/alternative
* prefer-plain: Unref objects in dispose(), not finalize().Matthew Barnes2012-08-122-5/+22
|
* prefer-plain: Cleanups.Matthew Barnes2012-08-122-16/+28
|
* Bug #680331 - Crash when replying to a messageDan Vrátil2012-08-031-0/+2
|
* Fix some memory leaksDan Vrátil2012-08-021-0/+16
|
* Bug #680577 - [text-highlight] - Failed to load partDan Vrátil2012-07-271-0/+4
|
* Bug 679814 - Calendar invitation shows both calendar and html partDan Vrátil2012-07-131-0/+3
|
* Fix compiler warningMilan Crha2012-06-281-3/+3
|
* prefer-plain: Add missing linker flags.Matthew Barnes2012-06-281-0/+2
|
* [prefer-plain] Fix displaying suppressed HTML partsDan Vrátil2012-06-261-20/+21
| | | | | | Fix regression from commit 99a875ed which has broken displaying of suppressed HTML parts as attachments when the HTML part is embedded in a multipart/* container.
* Bug #515004 - Allow toggling between text and HTML view of mailDan Vrátil2012-06-265-150/+534
|
* Coding style and whitespace cleanup.Matthew Barnes2012-06-251-4/+4
|
* Reduce usage of g_type_class_peek_parent().Matthew Barnes2012-06-251-2/+0
| | | | G_DEFINE_TYPE macros define a static "parent_class" variable.
* Add forgotten -include $(top_srcdir)/git.mk to Makefile.am filesMilan Crha2012-06-141-0/+2
|
* Mail formatter rewrite - convert some plugins to modulesDan Vrátil2012-06-067-0/+929
audio-inline, itip-formatter, prefer-plain, tnef-attachments and vcard-inline plugins were converted to modules so that they can fit into concept of the new formatter. Every module still installs .eplug file, because there is no suitable API at the moment to register plugins to the plugins dialog and to extend the Preferences dialog.