aboutsummaryrefslogtreecommitdiffstats
path: root/em-format
Commit message (Collapse)AuthorAgeFilesLines
* Missing attachment button for attachments of a known typeMilan Crha2014-03-141-2/+0
| | | | | | | If there was a known formatter for the attachment's mime type, the attachment content was shown inline, without the attachment button, instead of it being shown collapsed and with the corresponding button. All that caused by a variable overwrite and a related memory leak.
* Don't close base stream when destroying a CamelFilterOutputStream.Matthew Barnes2014-03-118-0/+20
| | | | | | | | | | | | | | | GFilterOutputStream, from which CamelFilterOutputStream is derived, defaults to closing its base stream when the instance is finalized. That makes sense in the general case, but CamelFilterOutputStreams are usually temporary wrappers on a more permanent base stream, so we need to remember to override the default "close-base-stream" property value. I was tempted to just make CamelFilterOutputStream override the default automatically, but I decided against it because my long term plan is to drop CamelFilterOutputStream for GConverterOutputStream which also does not override the "close-base-stream" default. The closer the semantics of the two classes match, the easier porting will be in the future.
* Miscellaneous cleanups.Matthew Barnes2014-03-035-31/+35
|
* EMailFormatter: Use GOutputStream instead of CamelStream.Matthew Barnes2014-03-0127-346/+462
|
* Replace 'interface' with 'iface' in the codeTarnyko2014-02-261-1/+1
| | | | | | 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.)
* EMailParser: Forgot to unref CamelSessionMilan Crha2014-02-211-0/+1
|
* Bug #724437 - Content-Disposition inline confuses message formatterMilan Crha2014-02-182-3/+5
|
* Stop using deprecated gtk-stock itemsMilan Crha2014-02-131-1/+1
|
* Bug #724023 - Run EMailFormatter in the main/UI threadMilan Crha2014-02-101-5/+12
| | | | | | | Any GtkWidget creation or manipulation should be done exclusively from the main/UI thread, thus make sure it is done that way. Of course, evolution can freeze for a little time (depends on the message size), until its formatting is done. It's unnoticeable with usual messages.
* Fix duplicate #includesKjartan Maraas2014-01-221-1/+0
|
* Bug 721545 - License text contains obsolete FSF postal addressMatthew Barnes2014-01-0880-800/+720
|
* Remove audio-inline module.Matthew Barnes2013-12-067-0/+424
| | | | | | 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.
* Fix/mute issues found by Coverity scanMilan Crha2013-11-153-10/+4
| | | | | | | | | | | | 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.
* Convert libemail-engine to a single-include model.Matthew Barnes2013-11-126-7/+7
| | | | Use: #include <libemail-engine/libemail-engine.h>
* Move EMailImageLoadingPolicy to e-mail-formatter-enums.h.Matthew Barnes2013-11-113-8/+24
| | | | libemail-engine doesn't need to know about this enum.
* Rename e-mail-enums.h to e-mail-engine-enums.h.Matthew Barnes2013-11-112-2/+2
|
* Follow-up fix for bug 711532.Matthew Barnes2013-11-071-1/+1
| | | | | Content-Disposition of the test case is honored now, but still not the Content-Transfer-Encoding.
* Bug 711532 - Infinite recursion from message/news attachmentMatthew Barnes2013-11-072-3/+4
| | | | | | This is only a partial solution for the test case the bug report. The message/news part of the test case is also Base64-encoded, but Evolution (or Camel) is not decoding it properly. Still digging.
* Miscellaeous cleanups.Matthew Barnes2013-10-202-2/+2
|
* Signature/encryption bar may not inherit text color from themeMilan Crha2013-10-111-2/+9
| | | | | | | The "signature bar" overrides background color, thus it should override also text color, to make sure the text will be always readable. This could break with dark theme, which uses light text color.
* EMailParserMultipartSigned: Rework obtaining the signature protocol.Matthew Barnes2013-10-031-16/+24
| | | | | CamelMultipartSigned no longer has a public 'protocol' member. Obtain it instead by checking the CamelContentType for a 'protocol' parameter.
* Bug #699997 - Show unreferenced images in multipart/related parserMilan Crha2013-09-301-2/+28
|
* Bug #689787 - Prefer-plain can hide message body for composerMilan Crha2013-09-272-0/+21
|
* Bug #707392 - Only very first Collapse/Expand button in message header pane ↵Tomas Popela2013-09-131-29/+14
| | | | | | | | | | | | | | | | works When we were collecting the elements for adding the onclick event listeners, we were using the webkit_dom_document_get_element_by_id method, but when email had multiple TO, CC or BCC headers it was returning just the first elements with given id. To fix this we moved to webkit_dom_*_query_selector methods that give us more powerfull element extraction from document. When toggling the visibility of header row, we are now operating just in the row that contains the clicked element. This patch also remove the suffixes from all __evo-moreaddr ids.
* Bug #706008 - Workaround gnome-shell style change on focus changeTomas Popela2013-09-129-106/+59
| | | | | | | 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.
* Bug 705194 - Failure to decrypt inline encrypted GPG messagesMatthew Barnes2013-08-011-2/+12
| | | | | | | Commit 514736f27efeac6d5ad42e055ebabb423d243fb2 in 3.9.5 broke inline PGP encrypted messages, because the parser was treating the encrypted message content as an attachment even though the content type is just text/plain. This ensures the message content is treated correctly.
* empe_text_plain_parse() cleanups.Matthew Barnes2013-07-201-13/+14
| | | | Return type is a boolean, not an integer count.
* EMailParserMessage: Better handle message bodies as attachments.Matthew Barnes2013-07-091-1/+23
| | | | | | | | | | Simo Sorce sent me an interesting case where the MIME type of the message itself was image/gif, but the image was not being shown. If the EMailPart representing the message body is marked as an attachment, wrap it as such so it gets added to the attachment bar but also set the "force_inline" flag since it doesn't make sense to collapse the message body if we can render it. */
* EMailFormatterQuoteExtension: Don't be cute with struct declarations.Matthew Barnes2013-07-071-2/+10
| | | | | Declare the instance and class structs normally so Gtk-Doc can make sense of it.
* EMailFormatterPrintExtension: Don't be cute with struct declarations.Matthew Barnes2013-07-071-2/+10
| | | | | Declare the instance and class structs normally so Gtk-Doc can make sense of it.
* Bug #699576 - Mail reader frame is black (in the mail view)Milan Crha2013-06-281-2/+7
|
* EMailFormatter: Remove the header API.Matthew Barnes2013-06-082-293/+0
| | | | Use the EMailPartHeaders API instead.
* EMailFormatterQuoteHeaders: Avoid EMailFormatter header API.Matthew Barnes2013-06-081-27/+19
| | | | | Use e_mail_part_headers_dup_default_headers() to extract specific headers to show in the desired order.
* EMailFormatterHeaders: Avoid EMailFormatter header API.Matthew Barnes2013-06-081-66/+67
| | | | | Use e_mail_part_headers_dup_default_headers() to extract specific headers to show in the desired order.
* Add EMailPrintConfigHeaders.Matthew Barnes2013-06-081-32/+35
| | | | | | | | | | | | | | | | This splits the print dialog's "Headers" tab into a separate widget. EMailPrintConfigHeaders takes an EMailPartHeaders and displays its print model, which is a representation of all message headers (except subject) with an on/off flag for each. The headers can be toggled and reordered, and the changes are written back to the print model. During printing, EMailFormatterPrintHeaders uses the same print model to determine which headers to show and in what order (except subject). This approach is much saner than the old method, which was trying to manipulate WebKitWebView DOM directly to toggle and reorder headers. This approach also happens to work, whereas the old method did not.
* Add e_mail_part_headers_ref_print_model().Matthew Barnes2013-06-082-0/+163
| | | | | | | | Returns a GtkTreeModel of header names and values and visibility flags, built from the CamelMimeMessage. The tree model rows can be reordered and toggled prior to printing. Also add e_mail_part_headers_is_default() as a handy helper.
* EMailPartHeaders: Add a "default-headers" property.Matthew Barnes2013-06-082-2/+142
| | | | | | | | | 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.
* Make EMailPart and its subclasses extensible.Matthew Barnes2013-06-081-2/+14
|
* EMailFormatterQuoteHeaders cleanups.Matthew Barnes2013-06-081-27/+57
|
* EMailFormatterHeaders cleanups.Matthew Barnes2013-06-082-43/+58
|
* e_mail_formatter_format_header: Split the header param.Matthew Barnes2013-06-074-36/+41
| | | | | | Split the _camel_header_raw struct parameter into separate "header_name" and "header_value" string parameters, which is all the function actually needs to work.
* e_mail_formatter_format_header: Remove unused CamelMedium param.Matthew Barnes2013-06-074-15/+8
|
* EMailPart: Add "part-list" property.Matthew Barnes2013-06-063-2/+62
| | | | | | | | | | This is a weak reference to the EMailPartList to which the EMailPart has been added. The property is set by e_mail_part_list_add_part(). New functions: e_mail_part_ref_part_list() e_mail_part_set_part_list()
* Define GEnumClass types for mail formatter/parser enums.Matthew Barnes2013-06-057-68/+127
|
* Remove Evolution icon from header section.Matthew Barnes2013-05-301-58/+0
| | | | | We don't show an icon for other mailers, and the tiny 16x16 pixel icon looks stupid next to the much larger contact/gravatar image.
* Distinguish "attachment-wrapper" elements from attachments.Matthew Barnes2013-05-291-1/+7
| | | | | | | | | | | | | | | | | | | | The HTML for attachments always has the following form: <div class="attachment-wrapper" id="something" style="display: block;"> <actual attachment element> </div> The <div> element controls attachment visibility through its "display" style attribute, which is either "block" or "none". Problem is the <actual attachment element> was getting the same ID as its parent <div> element. So when either element was requested by ID, in certain cases the wrong element was returned and caused misbehavior and console warnings. Solve this by adding a "wrapper" suffix to the <div> element ID. So in the example above, id="something" gets the <actual attachment element>, whereas id="something.wrapper" gets the <div> element.
* EMailFormatterAttachment cleanups.Matthew Barnes2013-05-291-54/+35
|
* Rename libemformat to libevolution-mail-formatter.Matthew Barnes2013-05-288-19/+16
| | | | | | 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.
* Make EAttachment a little more thread-safe.Matthew Barnes2013-05-243-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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()
* Attachment-related cleanups.Matthew Barnes2013-05-242-11/+13
|
* Convert EMailPart to a GObject.Matthew Barnes2013-05-2026-308/+1026
| | | | | 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_attachment_ref_attachment().Matthew Barnes2013-05-204-7/+18
|
* Add e_mail_part_get_validity_flags().Matthew Barnes2013-05-202-0/+22
|
* Add e_mail_part_has_validity().Matthew Barnes2013-05-203-1/+11
|
* Add e_mail_part_set_is_attachment().Matthew Barnes2013-05-202-0/+11
|
* Add e_mail_part_get_is_attachment().Matthew Barnes2013-05-208-8/+17
|
* Add e_mail_part_set_mime_type().Matthew Barnes2013-05-2010-8/+27
|
* Add e_mail_part_get_mime_type().Matthew Barnes2013-05-2010-12/+32
|
* Add e_mail_part_ref_mime_part().Matthew Barnes2013-05-2013-30/+101
|
* Add e_mail_part_id_has_substr().Matthew Barnes2013-05-201-0/+2
|
* Add e_mail_part_id_has_suffix().Matthew Barnes2013-05-207-16/+28
|
* Add e_mail_part_id_has_prefix().Matthew Barnes2013-05-203-2/+14
|
* Add e_mail_part_set_cid().Matthew Barnes2013-05-203-1/+15
|
* Add e_mail_part_get_cid().Matthew Barnes2013-05-208-7/+19
|
* Add e_mail_part_get_id().Matthew Barnes2013-05-2015-42/+89
|
* em-format cleanups.Matthew Barnes2013-05-2023-154/+216
|
* EMailPart: Store validity pairs in a GQueue.Matthew Barnes2013-05-205-30/+41
|
* Remove e_mail_formatter_get_headers().Matthew Barnes2013-05-152-17/+0
| | | | Not thread-safe. Use e_mail_formatter_dup_headers() instead.
* Add e_mail_formatter_header_copy().Matthew Barnes2013-05-152-21/+42
| | | | Duplicates an EMailFormatterHeader struct.
* EMailFormatterPrint cleanups.Matthew Barnes2013-05-151-35/+30
|
* EMailFormatter cleanups.Matthew Barnes2013-05-152-302/+339
|
* Right-align mail header names.Matthew Barnes2013-05-092-71/+119
| | | | | | | We used to do this before WebKit and it looked better. Also fix up the header section for right-to-left locales: put the collapse button on the right, and images on the left.
* EMailFormatterHeaders cleanups.Matthew Barnes2013-05-092-42/+59
|
* Coding style and whitespace cleanup.Matthew Barnes2013-05-083-8/+8
|
* Bug #699551 - Signature is not removed on replyMilan Crha2013-05-076-6/+6
|
* Bug #696531 - Force white background for HTML partsMilan Crha2013-05-031-7/+7
|
* [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colorsMilan Crha2013-04-2310-90/+93
| | | | | | | | | | 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.
* Show parts with Content-ID of multipart/mixed as attachmentsMilan Crha2013-04-052-4/+7
| | | | | | | The multipart/mixed should behave differently than multipart/related, because subparts of multipart/mixed are not meant to reference each other by default, thus the subparts should be shown as attachments. This was reported at https://bugzilla.redhat.com/show_bug.cgi?id=947409
* Remove EMailShellSettings.Matthew Barnes2013-03-171-6/+6
| | | | | | | | 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.
* Bug #690092 - Crash under format_full_headers()Milan Crha2013-03-076-32/+149
|
* EMailFormatter: Remove "only-local-photos" property.Matthew Barnes2013-02-274-65/+4
| | | | EPhotoCache already handles this setting.
* Bug 694159 - Malformed content-type header causes infinite recursionMatthew Barnes2013-02-251-0/+6
|
* Coding style and whitespace cleanup.Matthew Barnes2013-02-245-6/+6
|
* G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.Matthew Barnes2013-02-091-2/+3
| | | | | | 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.
* Add comments around g_idle_add() changesMilan Crha2013-02-091-0/+1
|
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-091-2/+3
|
* Revert "Bug #683867 - Schedule actions with higher idle priority"Matthew Barnes2013-02-081-3/+2
| | | | | | | | | 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.
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-081-2/+3
|
* EMailFormatterQuote: Use e_mail_formatter_find_rfc822_end_iter().Matthew Barnes2013-02-071-14/+2
|
* Use CamelMimeFilterToHTMLFlags enum type where appropriate.Matthew Barnes2013-02-078-23/+35
|
* e-mail-formatter-utils.c cleanups.Matthew Barnes2013-02-072-58/+91
|
* Add a priority field for mail formatter and parser extensions.Matthew Barnes2013-02-0146-4/+94
| | | | | | | | | | | Add a priority field to EMailFormatterExtension and EMailParserExtension class structs. Extension classes can then explicitly specify a priority with respect to other extension classes with the same MIME type, so that the order of extension registration doesn't matter. Priority field defaults to G_PRIORITY_DEFAULT. Built-in formatters and extensions will use G_PRIORITY_LOW. We can get more sophisticated with priority values if we need to, but this should suffice for now.
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2013-02-0150-340/+201
| | | | Restore this commit with a proper bug fix to follow.
* Revert "Teach EMailExtensionRegistry to find extensions."Milan Crha2013-01-2950-201/+340
| | | | | | | | | | 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 #692009 - text/css always formatted as attachmentMilan Crha2013-01-241-0/+1
| | | | | | | Might be the final change for this bug, the two previous commits were not using the right approach, causing regression in rendering of text/* parts which were not named in the list of excluded content types for a 'raw' formatting.
* Bug #692005 - Changing character encoding doesn't workMilan Crha2013-01-193-0/+30
|
* Bug #692003 - Print of text/html with no html/body end tag cuts contentMilan Crha2013-01-181-0/+3
|
* Bug #691732 - multipart/related hides attachmentsMilan Crha2013-01-183-1/+56
|
* Fix a recently introduced white-space error in a source fileMilan Crha2013-01-171-1/+0
|
* Do not hide 'attachment' images with Content-IDMilan Crha2013-01-111-2/+8
|
* Be more strict in inline PGP mime filter/part parserMilan Crha2013-01-113-4/+44
|
* Coding style and whitespace cleanup.Matthew Barnes2013-01-114-5/+7
|
* Move the contact map widgets to addressbook/gui/widgets.Matthew Barnes2012-12-131-2/+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-1354-292/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use the same certificate-viewer as the trust-prompt from edsMilan Crha2012-12-121-10/+11
| | | | | | This way it'll be possible to copy whole files if change in one of them will be done. A real code reuse, rather than copy, would be ideal, but the trust-prompt is just a module for evolution-user-prompter.
* Teach EMailExtensionRegistry to find extensions.Matthew Barnes2012-12-0850-373/+201
| | | | | | | | | | | | | | | | | | | | | 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().
* EMailExtensionRegistry cleanups.Matthew Barnes2012-12-082-79/+62
|
* Add EMailFormatterQuoteExtension.Matthew Barnes2012-12-088-22/+57
| | | | | This is an abstract base type for formatter extensions which are intended only for use by EMailFormatterQuote.
* Add EMailFormatterPrintExtension.Matthew Barnes2012-12-083-8/+47
| | | | | This is an abstract base type for formatter extensions which are intended only for use by EMailFormatterPrint.
* e_mail_parser_base_init(): Register internal extension types.Matthew Barnes2012-12-081-1/+56
|
* e_mail_formatter_quote_base_init(): Register internal extension types.Matthew Barnes2012-12-081-4/+21
|
* e_mail_formatter_print_base_init(): Register internal extension types.Matthew Barnes2012-12-081-1/+8
|
* e_mail_formatter_base_init(): Register internal extension types.Matthew Barnes2012-12-081-3/+29
|
* EMailFormatterContext: Clearify the flags type.Matthew Barnes2012-12-082-6/+6
| | | | We define the header flags as an enum type, so use the enum type.
* EMailFormatterHeader: Clarify the flags type.Matthew Barnes2012-12-082-4/+4
| | | | We define the header flags as an enum type, so use the enum type.
* Remove unused EMP_EXTENSION_GET_PARSER macro.Matthew Barnes2012-12-081-3/+0
|
* EMailParserExtension: Convert get_flags() to an enum field.Matthew Barnes2012-12-088-63/+17
| | | | | | | 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.
* Convert EMailParserExtension to an abstract class.Matthew Barnes2012-12-0826-624/+240
| | | | | | | | | 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 unused EMF_EXTENSION_GET_FORMATTER macro.Matthew Barnes2012-12-081-3/+0
|
* EMailFormatterExtension: Convert get_description() to a string field.Matthew Barnes2012-12-0820-152/+13
| | | | | | 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.
* EMailFormatterExtension: Convert get_display_name() to a string field.Matthew Barnes2012-12-0820-152/+13
| | | | | | 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.
* Convert EMailFormatterExtension to an abstract class.Matthew Barnes2012-12-0821-594/+275
| | | | | | | | | 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.
* Remove EMailExtension.Matthew Barnes2012-12-0851-617/+124
| | | | | | | | | | | | 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-0844-446/+300
| | | | | | | | | | | 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-0827-593/+556
| | | | | | | | | | | | | | | 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.
* EMailParserExtension cleanups.Matthew Barnes2012-12-082-12/+24
|
* Make EMailPartList thread-safe.Matthew Barnes2012-12-0815-247/+530
| | | | | | 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.
* EMailFormatterContext: Keep a reference to EMailPartList.Matthew Barnes2012-12-0811-85/+98
| | | | | Replace the individual components of an EMailPartList with a reference on the EMailPartList itself in EMailFormatContext. Easier to manage.
* EMailFormatter: Simplify context allocation.Matthew Barnes2012-12-083-53/+17
| | | | | | | | | | Replace the create_context() and free_context() class methods with a "context_size" class member defaulting to sizeof(EMailFormatterContext). EMailFormatter will use "context_size" to allocate a zero-filled slab of heap memory. Since EMailFormatterQuote is currently the only thing that overrides the "context_size" (to append a "qf_flags" member), let's keep this simple.
* EMailFormatter: Class method rearrangement.Matthew Barnes2012-12-081-156/+156
|
* Further EMailParser cleanups.Matthew Barnes2012-12-051-96/+95
|
* mail_parser_run(): Eliminate a dead code branch.Matthew Barnes2012-12-051-24/+16
| | | | | There's no need to check whether the 'parsers' GQueue is NULL since we assert that it's non-NULL just a few lines above.
* Address couple issues found by a Coverity scanMilan Crha2012-11-304-4/+9
|
* Bug #686212 - Cannot print html mails with defined <style>Milan Crha2012-11-261-12/+24
|
* Bug #687670 - Signing with both pgp and S/MIME shows only one signatureMilan Crha2012-11-225-65/+177
|
* Coding style and whitespace cleanup.Matthew Barnes2012-11-1130-291/+373
|
* Replace deprecated GLib symbols (as of GLib 2.34.x)Milan Crha2012-11-061-8/+5
|
* Encode also message_uid in e_mail_part_build_uri()Milan Crha2012-10-191-2/+5
| | | | | | This reverts commit 7050a1286825, which broke opening of IMAP message. It's also the correct solution for the initial issue, because the message_uid can contain letters which should be encoded in the URI.
* Bug #684447 - Check for highlight during configure.Dan Vrátil2012-10-091-0/+1
| | | | | | | | | | | | | | If the highlight program cannot be found width AC_PATH_PROGS, configure will abort with an error message. You can either a) install highlight b) specify the patch with HIGHLIGHT=/path/to/highlight c) pass --disable-text-highlight to configure to exclude the module This also makes text-highlight module to fallback to text/plain formatter when highlight program would crash or fail to ensure the content is delivered to user.
* [text/plain parser] Use original part when nothing found inlineMilan Crha2012-09-133-3/+22
| | | | | | | This way the view corresponds to the original part properties, not those stripped by the inline filter. Also initialize EMailInlineFilter::filename on creation of the structure, thus the value is actually used on the subparts, if needed.
* Bug #680537 - Reply to individual message in digest generates empty bodyMilan Crha2012-09-131-0/+14
|
* Bug #678291 - Identifies application/mbox as text/plain attachmentMilan Crha2012-09-121-2/+7
|
* BR is not a "pair" HTML elementMilan Crha2012-09-111-2/+2
|
* Bug #683665 - Crash on displaying message with broken Content-Type attachmentLucian Langa2012-09-111-0/+3
|
* Bug #683663 - Attachment bar missing when showing 'All Message Headers'Lucian Langa2012-09-113-3/+6
|
* Don't re-parse attachment parts as attachmentsDan Vrátil2012-09-111-2/+4
|
* Fix all 'may be used uninitialized' compiler warningsDan Vrátil2012-08-202-0/+4
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-2030-102/+100
|
* Remove some unused code from EMailReaderDan Vrátil2012-08-091-7/+7
| | | | | | 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.
* Fix condition when to collapse addresses in To/Cc/Bcc headersMilan Crha2012-08-071-1/+1
|
* Bug #679726 - Move button for expanding headers behind header labelDan Vrátil2012-08-031-1/+1
|
* Bug #680331 - Crash when replying to a messageDan Vrátil2012-08-032-6/+22
|
* Bug #680535 - Reply to message with text attachments formats them inlineDan Vrátil2012-08-011-1/+1
|
* Bug #679404 - Read colors for message preview from Gtk themeDan Vrátil2012-07-271-3/+9
|
* Bug #680577 - [text-highlight] - Failed to load partDan Vrátil2012-07-271-1/+1
|
* Bug #680634 - Missing image attachmentDan Vrátil2012-07-271-2/+12
|
* Bug #680635 - Inline GPG shown as sourceDan Vrátil2012-07-261-1/+8
|
* Highlighting of text parts and source codesDan Vrátil2012-07-252-2/+3
| | | | | | | | | | This adds 'Format as' submenu to the preview pane context menu. The submenu is available only for text/plain parts or parts with a source code (we support about 40 various types). Using the 'highlight' utility, the formatter processes the part and highlights the source code it contains. (discussion in bug #680026)
* Bug #680123 - Freeze on message/disposition-notification email parsingDan Vrátil2012-07-184-3/+7
|
* Fix a memory leak in EMailFormatterPrintDan Vrátil2012-07-171-0/+2
|
* Bug 679323 - Formatting errors when replying in inline modeDan Vrátil2012-07-131-3/+134
|
* Don't display SMIME signature as an attachmentDan Vrátil2012-07-121-1/+3
|
* Bug #678834 - [prefer-plain] Setting change works only after restartDan Vrátil2012-06-272-35/+0
|
* Display text/plain in fixed-width fontDan Vrátil2012-06-271-1/+1
| | | | Regression from commit 99a875ed
* Add CamelDebug to e_mail_parser_parse_syncDan Vrátil2012-06-271-0/+17
|
* Bug #515004 - Allow toggling between text and HTML view of mailDan Vrátil2012-06-262-11/+18
|
* Include e-mail-format-extensions.h in tarball.Matthew Barnes2012-06-261-0/+1
| | | | Private header, but still need to distribute it.
* em-format: Remove $(emformatextensions_SOURCES) reference.Matthew Barnes2012-06-261-1/+0
| | | | This variable is not defined anywhere.
* Bug 678667 - 'All Message Headers' option is brokenLucian Langa2012-06-251-2/+3
|
* Coding style and whitespace cleanup.Matthew Barnes2012-06-2548-101/+100
|
* Reduce usage of g_type_class_peek_parent().Matthew Barnes2012-06-2542-48/+3
| | | | G_DEFINE_TYPE macros define a static "parent_class" variable.
* Bug #678345 - Runtime warning when sender photo is disabledDan Vrátil2012-06-191-0/+4
|
* Do not call g_object_notify() when property didn't changeMilan Crha2012-06-181-0/+22
|
* Bug #677608 - Fails to open message which is not yet downloadedDan Vrátil2012-06-182-3/+64
|
* Bug #677673 - Reply contains quoted top headersDan Vrátil2012-06-151-0/+5
|
* Don't use '%%' in strings that are not printf()'edDan Vrátil2012-06-141-4/+4
|
* Bug #674887 - Hang on sender's photo lookupDan Vrátil2012-06-142-21/+43
|
* Do not unref CamelDataWrapper obtained from CamelMimePartDan Vrátil2012-06-081-1/+0
|
* Hide every part in multipart/related with Content-ID setDan Vrátil2012-06-081-1/+2
|
* Fix displayed message headersDan Vrátil2012-06-082-0/+22
| | | | | | | | | 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.
* Bug #670876 - Missing mnemonics for buttons for vcard attached to emailDan Vrátil2012-06-082-1/+45
|
* em-format: Add missing linker flags.Matthew Barnes2012-06-081-2/+4
|
* Remove a leftover debug messageDan Vrátil2012-06-071-3/+0
|
* Mail formatter rewriteDan Vrátil2012-06-0679-4014/+14640
| | | | | | | | 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.
* Bug #675061 - Evolution 3.5.1 does not buildDan Vrátil2012-05-181-1/+1
|
* Fix some GSimpleAsyncResult reference leaks.Matthew Barnes2012-05-131-0/+2
|
* Use g_simple_async_result_set_check_cancellable().Matthew Barnes2012-05-131-5/+10
| | | | Always call it immediately after g_simple_async_result_new().
* Bug #669111 - Lost charset in replies to encrypted mailsMilan Crha2012-05-041-1/+7
|
* EMFormat: Cleanups.Matthew Barnes2012-04-293-188/+171
|
* Bug #674249 - Crash when showing message with large text/plainDan Vrátil2012-04-191-33/+5
|
* Bug #674248 - Lost new lines from text/plainDan Vrátil2012-04-191-1/+23
|
* Bug #673430 - Can't read messages in virtual Junk/Trash foldersDan Vrátil2012-04-031-3/+9
|
* Whitespace cleanup.Matthew Barnes2012-04-022-79/+79
| | | | | Replace 8-space indentation with tab characters, and various other automated cleanups.
* EMFormat: Add "session" as a constructor property.Matthew Barnes2012-04-014-97/+152
| | | | Pass it in instead of digging it out of EShellSettings.
* WebKit port - port formatter and mail moduleDan Vrátil2012-03-295-2566/+2641
|
* Fix typosPiotr Drąg2012-03-281-5/+5
|
* Coding style and whitespace cleanup.Matthew Barnes2012-02-202-16/+26
|
* Bug #591436 - Add -avoid-version to LDFLAGSH. Habighorst2012-02-151-1/+1
|
* Adapt to Camel API changes.Matthew Barnes2012-01-301-1/+1
|
* Fix compiler warnings.Matthew Barnes2011-11-231-2/+0
|
* Migrate em-format* to GSettingsRodrigo Moya2011-10-192-12/+10
|
* Simplify library dependency flags.Matthew Barnes2011-10-051-3/+3
| | | | | | | | | We have a confusing array of nearly-identical CFLAGS/LIBS definitions in configure.ac. Time to simplify. Instead let's just have one definition that includes all the libraries provided by Evolution-Data-Server (incl. Camel). That, in combination with GNOME_PLATFORM, gives us most of what we need for compliation and linking, and we can sprinkle definitions for additional library dependencies in Makefile.am's as needed.
* Coding style and whitespace cleanup.Matthew Barnes2011-09-045-48/+74
|
* Coding style and whitespace cleanup.Matthew Barnes2011-08-131-1/+3
|
* Avoid camel_stream_printf().Matthew Barnes2011-07-061-18/+32
| | | | | | | | camel_stream_printf() is next on the chopping block. Use g_strdup_printf() or a GString to construct a formatted string in memory, pass it to camel_stream_write() in one go, and then check for errors (unless it's a memory stream).
* Prefer g_seekable_seek() over camel_stream_reset().Matthew Barnes2011-07-053-3/+10
| | | | | | | | | When a stream is obviously a file or memory stream (both of which implement the GSeekable interface), use g_seekable_seek() instead of camel_stream_reset(). This is helping me discover if it's safe to remove camel_stream_reset(). We want to eventually move to GIO streams, which have no reset method.
* EMFormatQuote cleanups.Matthew Barnes2011-07-052-29/+54
| | | | Move public members to the private struct.
* Bug #637402 - No quoted mail when replying to html emailMilan Crha2011-06-241-27/+60
|
* Coding style and whitespace cleanups.Matthew Barnes2011-06-091-9/+16
|
* Including <glib-object.h> directly is rarely needed.Matthew Barnes2011-05-281-1/+0
|
* Coding style and whitespace cleanup.Matthew Barnes2011-05-221-1/+2
|
* Coding style cleanups.Matthew Barnes2011-05-093-43/+43
|
* Whitespace and coding style cleanups.Matthew Barnes2011-05-083-15/+38
|
* Fix a memory leakMilan Crha2011-04-281-0/+1
|
* Use message subject for attachment description if no filename providedMilan Crha2011-03-101-0/+7
|
* Bug #586461 - Remove signature also from HTML formatted emails on replyMilan Crha2011-03-103-6/+32
|
* Bug #618440 - "Reply" does not always strip signaturesMilan Crha2011-03-101-1/+3
|
* Coding style and whitespace cleanup.Matthew Barnes2011-03-062-2/+4
|
* Do not leak attachments in a mail viewMilan Crha2011-03-022-0/+12
|
* Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedlyMilan Crha2011-02-251-5/+1
|
* Bug #640829 - Can drop text/plain message lines in message previewMilan Crha2011-02-211-2/+5
|
* Bug 641756 - Fix warnings from GCC 4.6Kjartan Maraas2011-02-091-4/+1
| | | | GCC learned how to find dead assignments.
* Coding style and whitespace cleanup.Matthew Barnes2011-01-302-13/+28
|
* Adapt to Camel API changes.Matthew Barnes2011-01-241-2/+1
|
* Bug #436914 - Reply to inline GPG quotes raw GPG messageMilan Crha2010-12-134-0/+586
|
* Bug #567265 - BCC kept on message forward from Sent folderMilan Crha2010-10-191-0/+4
|
* Bug #630518 - Hides calendar parts from multipart/alternativeMilan Crha2010-10-181-0/+2
|
* Bug #630375 - Character encoding of GPG encrypted message not honoredMilan Crha2010-10-131-0/+19
|
* Adapt to Camel API changes.Matthew Barnes2010-09-283-70/+97
|
* Pass GCancellable to Camel.Matthew Barnes2010-09-283-68/+160
|
* Coding style cleanups.Matthew Barnes2010-09-132-172/+172
|
* Bug #629046 - Empty reply quotation for HTML messagesMilan Crha2010-09-091-2/+3
|
* Various memory leaksMilan Crha2010-09-081-3/+0
|
* Bug 628660 - em_format_part_as() memory leakMatthew Barnes2010-09-031-0/+2
|
* Coding style and whitespace cleanup.Matthew Barnes2010-08-292-20/+36
|
* Bug 628154 - Ignore paths in MIME part filenamesMatthew Barnes2010-08-281-6/+13
|
* Bug 627852 - Memory leak in em_format_push_level()Matthew Barnes2010-08-271-21/+33
|
* Bug 627598 - Memory leak in emf_format_clone()David Woodhouse2010-08-241-0/+1
|
* Whitespace and coding style cleanup.Matthew Barnes2010-08-142-33/+73
|
* More EMFormat cleanups.Matthew Barnes2010-08-111-9/+11
|
* Change em_format_redraw() to em_format_queue_redraw().Matthew Barnes2010-08-112-9/+40
| | | | | | 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.
* EMFormat cleanups.Matthew Barnes2010-08-104-359/+490
|
* Bug 626453 - Show attachments inline when printingMatthew Barnes2010-08-102-21/+50
|
* em-format: Guard entry point to em_format_set_mode with g_return_if_failRob Bradford2010-08-021-0/+2
|
* Fix two memory leaks when replyingDavid Woodhouse2010-07-151-0/+3
| | | | | | | | | | | | 1: em_utils_reply_to_message() can be passed a newly-created message (from a current selection. It needs to unref it. Which means that when we pass it a message which *isn't* newly-created, we have to obtain a ref of our own. It was that or add a boolean parameter to tell it whether to unref or not. 2: emf_finalize() wasn't unreferencing emf->message -- so when we clone the EMFormat in em_utils_message_to_html() and immediately unreference the clone, a refcount on the message got leaked. Fix emf_finalize() to unref emf->message as presumably it should.
* Bug 623947 - Error handling issues in em-format.cMatthew Barnes2010-07-101-4/+10
|
* Migrate from CamelException to GError.Matthew Barnes2010-07-092-64/+83
|
* Bug 619345 - GtkHTML color settings not being honoredMatthew Barnes2010-05-301-1/+0
| | | | Includes some minor code cleanups related to this investigation.