aboutsummaryrefslogtreecommitdiffstats
path: root/mail
Commit message (Collapse)AuthorAgeFilesLines
* Bug 702454 - EMailBrowser fails to show messageMatthew Barnes2013-06-171-37/+44
| | | | | | | | | | | | | | This reworks the MessageList regen scheduling to be a little more intuitive, at least to me. We now set the RegenData immediately, but start the actual regen operation from an idle callback. That way the caller has the remainder of this main loop iteration to make further MessageList changes without triggering additional regens. I think what was happening before was we were triggering multiple regen operations as we were configuring the EMailBrowser, with each new regen cancelling the previous, and the message UID to select wound up getting paired with one of the cancelled regen operations. This resulted in no message UID ever getting selected in the EMailBrowser.
* MessageList: Move more RegenData initialization into regen_data_new().Matthew Barnes2013-06-171-45/+53
|
* Remove e_tree_model_node_is_editable().Matthew Barnes2013-06-161-9/+0
| | | | It always returned FALSE.
* Remove e_tree_model_set_value_at().Matthew Barnes2013-06-161-10/+0
| | | | Was never called.
* Remove e_tree_model_has_get_node_by_id().Matthew Barnes2013-06-161-7/+0
| | | | It always returned TRUE.
* Remove e_tree_model_has_save_id().Matthew Barnes2013-06-161-7/+0
| | | | It always returned TRUE.
* Remove e_tree_model_icon_at().Matthew Barnes2013-06-161-8/+0
| | | | It always returned NULL.
* Convert ETreeModel to an interface.Matthew Barnes2013-06-162-654/+816
| | | | | | | | | | | | | | | | 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().
* Remove em_utils_uids_free().Matthew Barnes2013-06-151-17/+0
| | | | No longer used. We actually had this defined in two places.
* Remove em_utils_uids_copy().Matthew Barnes2013-06-152-27/+0
| | | | No longer used.
* Avoid em_utils_uids_free() in other places.Matthew Barnes2013-06-152-4/+5
|
* message_list_get_selected: Give the returned array a free func.Matthew Barnes2013-06-155-74/+43
| | | | | | 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.
* MessageList: Further cleanups.Matthew Barnes2013-06-151-295/+358
|
* Remove unused message_list_get_uids().Matthew Barnes2013-06-152-23/+0
|
* Add e_mail_reader_ref_folder().Matthew Barnes2013-06-156-187/+286
| | | | Replaces e_mail_reader_get_folder().
* MessageList: Add a "group-by-threads" property.Matthew Barnes2013-06-153-47/+99
| | | | | | | | | Bind this to EMailReader's "group-by-threads" property. New functions: message_list_get_group_by_threads() message_list_set_group_by_threads()
* MessageList: Remove public 'hidejunk' and 'hidedeleted' flags.Matthew Barnes2013-06-152-55/+90
| | | | | | | | | Add internal functions to compute these as needed based on a given CamelFolder. Removed functions: message_list_set_hidedeleted()
* MessageList: Add a "show-deleted" property.Matthew Barnes2013-06-152-0/+56
| | | | | | | | | Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted()
* MessageList: Add a "folder" property.Matthew Barnes2013-06-154-113/+272
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* MessageList: Add a "thread-latest" property.Matthew Barnes2013-06-142-6/+51
| | | | Bind this to the "thread-latest" GSettings key.
* ESettingsMessageList: Apply the "thread-expanded" setting.Matthew Barnes2013-06-141-28/+25
|
* MessageList: Add a "thread-subject" property.Matthew Barnes2013-06-142-13/+63
| | | | Bind this to the "thread-subject" GSettings key.
* Make MessageList extensible.Matthew Barnes2013-06-141-0/+12
| | | | | | 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.
* Remove global "shell_builtin_backend" variable.Matthew Barnes2013-06-141-4/+0
| | | | No longer used. Always nice to remove a dirty hack on a dirty hack.
* em_utils_is_re_in_subject: Remove unused 'shell' parameter.Matthew Barnes2013-06-144-17/+11
|
* message_list_regen_done_cb: Fix a runtime warning.Matthew Barnes2013-06-141-11/+9
| | | | | | | Make sure we're using our own RegenData structure. Still clear the reference on the private structure if it matches what we get from our GSimpleAsyncResult. The idea is to ensure we have exclusive access to it so we don't have to worry about locking, etc.
* message_list_set_folder: Remove unused "outgoing" parameter.Matthew Barnes2013-06-133-21/+6
|
* Remove unused MESSAGE_LIST_LOCK / MESSAGE_LOCK_UNLOCK macros.Matthew Barnes2013-06-131-3/+0
| | | | Whatever those macros were once used for was surely evil.
* Remove message_list_ensure_message().Matthew Barnes2013-06-132-25/+1
| | | | No longer used. Looks like a relic of some nasty hack.
* Reimplement mail_regen_list().Matthew Barnes2013-06-131-400/+654
| | | | | Reimplement the function to use an EActivity and GSimpleAsyncResult instead of the legacy async framework in mail-mt.c.
* MessageList: Move regen-related members into private struct.Matthew Barnes2013-06-132-46/+54
|
* MessageList: Remove dead code.Matthew Barnes2013-06-131-307/+9
| | | | | | BROKEN_ETREE is defined and SMART_ADDRESS_COMPARE is not defined. That's not going to change, so remove the dead conditional code. Also remove "#if 0" chunks that lack a comment explaining why.
* Add EMailPrintConfigHeaders.Matthew Barnes2013-06-084-498/+774
| | | | | | | | | | | | | | | | 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.
* Remove EMailReaderHeader struct.Matthew Barnes2013-06-062-122/+0
| | | | | | | | | | No longer used. Also remove related helper functions: e_mail_reader_header_from_xml() e_mail_reader_header_to_xml() e_mail_reader_header_free()
* Bug 684302 - Prompt to close message window on reply should be inlineMatthew Barnes2013-06-053-48/+88
| | | | | Pop-up dialog is far too intrusive. Instead ask the question as an inline alert in the message window, which does not interrupt the user.
* EMailBrowser: Add "close-on-reply-policy" property.Matthew Barnes2013-06-052-26/+70
| | | | | | | | | | | 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.
* EMailDisplay cleanups.Matthew Barnes2013-06-053-67/+83
|
* EMailBrowser cleanups.Matthew Barnes2013-06-052-102/+118
|
* EMailReader: Remove unused actions.Matthew Barnes2013-06-035-220/+1
| | | | | | | | | | 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()
* Remove unused EMailNotebookView.Matthew Barnes2013-06-034-1058/+0
| | | | This is just an Express Mode leftover.
* Add e_mail_reader_forward_messages().Matthew Barnes2013-06-035-250/+256
| | | | Replaces em_utils_forward_messages().
* Add e_mail_reader_edit_messages().Matthew Barnes2013-06-036-131/+125
| | | | Replaces em_utils_edit_messages().
* Move "ask-reply-close-browser" prompt to EMailBrowser.Matthew Barnes2013-06-034-103/+71
| | | | | | | | | 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.
* EMailReader: Add a "composer-created" signal.Matthew Barnes2013-06-034-8/+96
| | | | | | | | | | | | | 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()
* em_utils_edit_message: Change return type to EMsgComposer.Matthew Barnes2013-06-022-3/+3
|
* em_utils_redirect_message: Return the EMsgComposer.Matthew Barnes2013-06-022-4/+8
|
* em_utils_compose_new_message(): Return the EMsgComposer.Matthew Barnes2013-06-022-4/+8
|
* Simplify em_utils_forward_message() arguments.Matthew Barnes2013-06-022-26/+23
| | | | | Replace the EShell and CamelSession arguments with a single EMailBackend argument, from which both the EShell and CamelSession can be obtained.
* em-composer-utils.c cleanups.Matthew Barnes2013-06-021-246/+328
|
* e-mail-reader.h: Remove unimplemented declarations.Matthew Barnes2013-06-021-5/+0
| | | | | | | These functions do not exist: e_mail_reader_get_formatter() e_mail_reader_set_formatter()
* Add e_composer_header_table_ref_source().Matthew Barnes2013-06-021-13/+5
| | | | | | Convenience function that works like e_source_registry_ref_source(), but spares the caller from digging out the ESourceRegistry from the header table.
* EComposeHeaderTable: Replace "registry" property with "client-cache".Matthew Barnes2013-06-021-5/+29
| | | | | | | | | | | | | | | | | | | | The ESourceRegistry can still be obtained from the EClientCache: client_cache = e_composer_header_table_ref_client_cache (table); registry = e_client_cache_ref_registry (client_cache); ... g_object_unref (client_cache); g_object_unref (registry); Added functions: e_composer_header_table_ref_client_cache() Removed functions: e_composer_header_table_get_registry()
* EMailReader cleanups.Matthew Barnes2013-06-022-123/+168
|
* e_mail_session_send_to(): Don't silently ignore if we can't send.Matthew Barnes2013-05-301-10/+18
| | | | | | | If sending fails for any reason, return a suitable GError. Don't just return silently. Also check for a wider range of errors indicating the service is unavailable in composer_send_completed(). This will trigger the "save-to-outbox" info alert.
* Distinguish "attachment-wrapper" elements from attachments.Matthew Barnes2013-05-291-12/+16
| | | | | | | | | | | | | | | | | | | | 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.
* Rename libcomposer to libevolution-mail-composer.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-composer documentation module.
* 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-282-4/+3
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-shell.
* Rename libeutil to libevolution-util.Matthew Barnes2013-05-282-2/+2
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-util.
* configure.ac: Remove unused function and header checks.Matthew Barnes2013-05-281-7/+0
| | | | | | | | | | | | | | | | | This removes the following definitions from config.h: CTIME_R_THREE_ARGS GETHOSTBYADDR_R_SEVEN_ARGS GETHOSTBYNAME_R_FIVE_ARGS HAVE_ISBLANK HAVE_MKSTEMP HAVE_STATFS HAVE_STATVFS HAVE_SYS_MOUNT_H HAVE_SYS_PARAM_H HAVE_SYS_STATVFS_H These were all either unused or unnecessarily used.
* e-mail-reader-utils.c cleanups.Matthew Barnes2013-05-252-423/+548
|
* Convert EMailPart to a GObject.Matthew Barnes2013-05-204-7/+7
| | | | | 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_get_validity_flags().Matthew Barnes2013-05-201-11/+1
|
* Add e_mail_part_get_is_attachment().Matthew Barnes2013-05-201-2/+2
|
* Add e_mail_part_get_mime_type().Matthew Barnes2013-05-202-5/+11
|
* Add e_mail_part_ref_mime_part().Matthew Barnes2013-05-202-2/+11
|
* Add e_mail_part_id_has_prefix().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_id().Matthew Barnes2013-05-202-13/+16
|
* em-format cleanups.Matthew Barnes2013-05-205-10/+26
|
* EMailPart: Store validity pairs in a GQueue.Matthew Barnes2013-05-202-18/+19
|
* Remove e_mail_display_set_charset().Matthew Barnes2013-05-153-17/+9
| | | | | Use e_mail_formatter_set_charset() instead. Obtain the EMailFormatter with e_mail_display_get_formatter().
* EMailDisplay cleanups.Matthew Barnes2013-05-152-99/+103
|
* EMailPrinter: Fix a couple typos.Matthew Barnes2013-05-111-1/+2
|
* Bug 7000028 - Drag-n-drop export of a file produces 0 sized PDF fileMatthew Barnes2013-05-111-29/+36
| | | | | | | | | | | em_utils_print_messages_to_file() was doing so asynchronously, but unfortunately drag-n-drop is a synchronous protocol. So by the time the asynchronous print operation completed, the URI list pointing to the temporary PDF files had already been passed to the file manager. The only reason the files were created at all was because we test the generated file name with open(...O_CREAT...) before starting the print operation, and I'm not convinced that test is even necessary.
* Convert e_mail_printer_print() to a proper async function.Matthew Barnes2013-05-115-249/+349
| | | | | | This adds a GAsyncReadyCallback and a closure to e_mail_printer_print(), and trades the "done" signal for e_mail_printer_print_finish() so that EMailPrinter is a little more reentrant.
* EMailPrinter cleanups.Matthew Barnes2013-05-102-191/+237
|
* em-utils.c cleanups.Matthew Barnes2013-05-101-95/+93
|
* Remove "drag-and-drop-save-name-format" setting.Matthew Barnes2013-05-101-15/+2
| | | | Hidden setting, no clear use case, and poorly implemented.
* Right-align mail header names.Matthew Barnes2013-05-091-3/+3
| | | | | | | 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.
* Coding style and whitespace cleanup.Matthew Barnes2013-05-085-10/+11
|
* Bug #301323 - "Edit as new message" doesn't strip signature properlyMilan Crha2013-05-075-11/+17
|
* Merge [mark-all-read] plugin into core codeMilan Crha2013-05-041-4/+10
| | | | | | 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.
* Bug #626215 - Prefer mail saving in order by UIMilan Crha2013-04-263-0/+73
|
* Reimplement EPhotoCache to use EPhotoSource.Matthew Barnes2013-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | 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()
* [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colorsMilan Crha2013-04-232-16/+10
| | | | | | | | | | 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.
* Remove "Search for sender photograph only in local address books".Matthew Barnes2013-04-211-16/+0
| | | | | | | | | | | | | 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.
* Bug #697710 - Going offline doesn't disconnect remote storesMilan Crha2013-04-112-13/+51
|
* Bug #271262 - Allow Send/Receive of local stores in offlineMilan Crha2013-04-092-8/+29
|
* EMailAccountStore: Remove "express-mode" property.Matthew Barnes2013-04-012-78/+8
|
* EMailAccountManager: Add Online Account blurbs.Matthew Barnes2013-04-011-3/+241
| | | | | | For accounts linked to an Online Accounts service (GNOME or Ubuntu), display an informational message with an "Open Online Accounts" button that launches gnome-control-center with an appropriate panel name.
* EMailAccountManager: Inherit from GtkGrid.Matthew Barnes2013-04-012-15/+9
|
* Remove more Express Mode hacks.Matthew Barnes2013-04-012-24/+1
| | | | | | This removes all traces of Express Mode from all but the contact editor and calendar appointment editor. Need to evaluate the remaining cases individually.
* Remove EUIManager.Matthew Barnes2013-04-011-6/+4
| | | | No longer needed. Use GtkUIManager directly.
* Remove e_shell_configure_ui_manager().Matthew Barnes2013-04-011-1/+0
| | | | No longer needed.
* Fix for typing in ITIP comments when some keys triggered actions.Tomas Popela2013-03-281-0/+27
|
* Bug #696173 - Various memory leaksMilan Crha2013-03-252-2/+8
|
* e-mail.h: Remove non-existent header files.Matthew Barnes2013-03-251-2/+0
|
* Fix usage of non-existing variable in debug message.Tomas Popela2013-03-211-1/+1
|
* Add e_msg_composer_ref_session().Matthew Barnes2013-03-171-2/+7
| | | | Replaces e_msg_composer_get_session().
* Remove EMailShellSettings.Matthew Barnes2013-03-179-117/+77
| | | | | | | | 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.
* Add "headers-collapsed" setting.Matthew Barnes2013-03-171-7/+11
| | | | | | 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.
* Bug #415371 - Create Incoming filter for messages with Received headerMilan Crha2013-03-141-3/+7
|
* Bug 695693 - Handle <authentication> tags during auto-configurationMatthew Barnes2013-03-121-3/+41
|
* Bug 695570 - Don't use gtk_container_add() to pack a GtkBoxMatthew Barnes2013-03-111-1/+1
|
* EMSubscriptionEditor: Use GtkGrid instead of GtkTable.Matthew Barnes2013-03-111-15/+9
| | | | | Long as I'm hacking on this widget for a different issue, may as well get this out of the way. We'll have to do it eventually anyway.
* e_mail_config_notebook_commit: Skip non-writable sources.Matthew Barnes2013-03-091-4/+4
| | | | | | In some cases the collection source is non-writable but its child sources _are_ writable. In that case, the one non-writable source causes the whole operation to fail. Commit only writable sources.
* Bug #690092 - Crash under format_full_headers()Milan Crha2013-03-071-4/+4
|
* Bug #693254 - Mail reply uses wrong "From:" accountMilan Crha2013-03-051-4/+78
|
* Fix a regression from the previous commit for bug #645476Milan Crha2013-03-051-10/+24
| | | | | | | Evolution could crash when changing message view, like when toggling Show Deleted messages. This effectively reverts the previous commit and propagates the same changes further in the code.
* Bug #645476 - Avoid scroll to cursor on folder change in message list (take 3)Milan Crha2013-03-051-0/+8
|
* EMailTagEditor: Remove calendar configuration properties.Matthew Barnes2013-03-043-137/+1
| | | | | | | Remove EMailTagEditor's "use-24-hour-format" and "week-start-day" properties, which were being used to manually configure its internal EDateEdit instance. This is unnecessary since all EDateEdit instances are automatically configured by the ESettingsDateEdit extension.
* e_mail_config_service_backend_get_settings: Another corner case.Matthew Barnes2013-03-011-4/+9
| | | | | | ESourceCollection's default backend name is "none". Unfortunately so is CamelNullStore's provider name. Make sure these two misfits don't get paired up!
* Remove emu_free_mail_cache().Matthew Barnes2013-02-271-13/+1
| | | | No longer needed, since the resources it frees are no longer used.
* EHTTPRequest: Use e_mail_ui_session_check_known_address_sync().Matthew Barnes2013-02-271-6/+25
| | | | | Use e_mail_ui_session_check_known_address_sync() to help determine whether to automatically display images in a text/html MIME part.
* Move CamelSession.lookup_addressbook() handler to EMailUISession.Matthew Barnes2013-02-271-0/+39
| | | | | Have the new handler call e_mail_ui_session_check_known_address_sync() instead of em_utils_in_addressbook().
* Add e_mail_ui_session_check_known_address_sync().Matthew Barnes2013-02-272-0/+126
| | | | | | | | | | | Replaces em_utils_in_addressbook(). Foregos any address caching since any such cache would likely not be updated properly as contacts are added and removed and would lead to incorrect results. An asynchronous variation of this function can be easily added at some future date should a need arise.
* EMailReader: Remove addresses from EPhotoCache as needed.Matthew Barnes2013-02-271-5/+28
| | | | Use e_photo_cache_remove() instead of emu_remove_from_mail_cache_1().
* EMailFormatter: Remove "only-local-photos" property.Matthew Barnes2013-02-271-2/+0
| | | | EPhotoCache already handles this setting.
* EMailRequest: Use EPhotoCache to obtain contact photos.Matthew Barnes2013-02-271-67/+40
|
* EMailUISession: Add a read-only "photo-cache" property.Matthew Barnes2013-02-272-1/+40
| | | | | | New functions: e_mail_ui_session_get_photo_cache()
* EMailRequest cleanups.Matthew Barnes2013-02-271-30/+44
|
* Coding style and whitespace cleanup.Matthew Barnes2013-02-242-3/+4
|
* Fix a memory leak in EMailDisplay::do_reload_displayMilan Crha2013-02-211-2/+2
|
* Replace deprecated static mutexesVadim Rutkovsky2013-02-142-10/+10
|
* Use camel_service_ref_session().Matthew Barnes2013-02-114-9/+25
|
* G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.Matthew Barnes2013-02-093-8/+11
| | | | | | 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-093-0/+3
|
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-093-3/+3
|
* Revert "Bug #683867 - Schedule actions with higher idle priority"Matthew Barnes2013-02-083-3/+3
| | | | | | | | | 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-083-3/+3
|
* EMailAccountStore: Use an appropriate icon for online accounts.Matthew Barnes2013-02-013-10/+22
| | | | | | Use "goa-panel" for GOA, "credentials-preferences" for UOA. Also move the icon before the account name. Looks better.
* Incorporate ESourceUOA.Matthew Barnes2013-02-013-6/+28
| | | | | Where we make exceptions for GNOME Online Accounts, so too shall we for Ubuntu Online Accounts.
* Use e_book_client_connect().Matthew Barnes2013-01-301-7/+4
| | | | Instead of e_client_utils_open_new() and e_book_client_new().
* Bug #692781 - [pine-importer] Abort on book failure during contact importMilan Crha2013-01-301-1/+1
|
* Bug #692777 - Crash on folder renameMilan Crha2013-01-291-3/+3
|
* Bug #692009 - text/css always formatted as attachmentMilan Crha2013-01-242-10/+2
| | | | | | | 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.
* Exclude also text/calendar in a fix for bug #692009Milan Crha2013-01-221-1/+2
|
* EMailBrowser: Fix packing of preview pane.Matthew Barnes2013-01-211-1/+4
| | | | | | | | | | Using gtk_box_new() instead of gtk_vbox_new() changes the way child widgets are packed by default via gtk_container_add(). gtk_vbox_new() expands them by default, gtk_box_new() does not, and the preview pane was being packed with gtk_container_add(). Packing widgets into a GtkBox with gtk_container_add() is usually the wrong way. Use gtk_box_pack_start() instead, with expand=TRUE.
* Bug 692143 - Auto-configured MSN account should use POP, not IMAPMatthew Barnes2013-01-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | In e_mail_config_service_page_auto_configre(), we do detect that only POP3 is available for MSN accounts and switch to the appropriate service backend. The problem was with the hack I added awhile back to momentarily skip to the Receiving page just before skipping to the Summary page, so clicking "Go Back" from the Summary page would return to the Receiving page. That momentary skip triggered mail_config_assistant_prepare() on the Receiving page, which then triggered e_mail_config_page_setup_defaults() since the Receiving page was not yet in the visited pages hash table. The Receiving page's setup_defaults() method reset the service backend to IMAPX, which is the correct thing to do when not auto-configured. The solution is add the Receiving page to the visited pages hash table after a successful auto-configuration, but just BEFORE we momentarily skip to it. This tricks mail_config_assistant_prepare() into thinking the page was already visited, and it skips setting up defaults for it. Also added the Sending page to visited pages, just for consistency.
* Bug #692009 - text/css always formatted as attachmentMilan Crha2013-01-211-3/+28
|
* Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.Matthew Barnes2013-01-2014-18/+18
| | | | | Clean up resulting deprecation warnings, which were all related to GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
* Bug #692005 - Changing character encoding doesn't workMilan Crha2013-01-198-10/+92
|
* Adapt to CamelSession API changes.Matthew Barnes2013-01-132-16/+13
|
* Use g_hash_table_add() when using a hash table as a set.Matthew Barnes2013-01-123-19/+21
| | | | | | | g_hash_table_add(table, key) uses less memory than g_hash_table_insert(table, key, GINT_TO_POINTER (1)). Also use g_hash_table_contains() when testing for membership.
* Reduce diff noise with webkit-composer branch.Matthew Barnes2013-01-112-6/+12
|
* Coding style and whitespace cleanup.Matthew Barnes2013-01-115-12/+13
|
* e-config: Remove unused functions.Matthew Barnes2012-12-173-7/+4
| | | | | | | | | | | | e_config_add_skip_check() e_config_class_remove_factory() e_config_create_window() e_config_page_get() e_config_page_next() e_config_page_prev() e_config_set_page_is_finish() Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
* Fix compiler warnings.Matthew Barnes2012-12-151-1/+0
|
* Revert part of the previous commit, EMailUISession::alert_user()Milan Crha2012-12-141-3/+237
| | | | | | | Keep the EMailUISession define its own implementation of CamelSession::alert_user(). It's good for couple reasons: a) dialog is shown above Evolution itself (has parent) b) info dialogs are shown in an alert bar
* Implement and use CamelSession::trust_prompt()Milan Crha2012-12-143-237/+26
|
* e_mail_migrate(): Remove directory creation code.Matthew Barnes2012-12-141-11/+0
| | | | | | | e_shell_backend_get_data_dir() already creates the user's data directory for mail, so there's no need to try and create the directory again. This eliminates the only usage of the E_SHELL_MIGRATE_ERROR domain.
* 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-1366-317/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make EMailPartList thread-safe.Matthew Barnes2012-12-087-57/+95
| | | | | | 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-081-5/+5
| | | | | Replace the individual components of an EMailPartList with a reference on the EMailPartList itself in EMailFormatContext. Easier to manage.
* Do not empty trash/delete junk in disabled accounts on exitMilan Crha2012-12-051-2/+31
|
* Bug #315317 - Add option to expunge messages on folder leaveMilan Crha2012-12-053-6/+6
|
* e_mail_reader_parse_message() cleanups.Matthew Barnes2012-12-052-54/+57
| | | | Use the existing AsyncContext struct instead of defining a new struct.
* Bug 689639 - File -> Print Preview in composer brings up Print dialogMatthew Barnes2012-12-051-2/+1
|
* Bug #687503 - Improve error message »Failed to refresh folders«Milan Crha2012-12-041-7/+22
|
* Bug #502516 - Avoid "source" string in user visible dialogsMilan Crha2012-12-041-6/+6
|
* Bug #529743 - Add "Any header" filter and search folder conditionMilan Crha2012-12-033-0/+159
|
* Bug #678606 - Crash under mail_backend_folder_deleted_cb()Milan Crha2012-12-031-0/+3
|
* Address couple issues found by a Coverity scanMilan Crha2012-11-304-5/+7
|
* Avoid gdk_window_get_pointer().Matthew Barnes2012-11-291-1/+7
| | | | Use gdk_window_get_device_position() instead.
* Avoid gtk_tree_view_get_vadjustment().Matthew Barnes2012-11-291-1/+3
| | | | Use gtk_scrollable_get_vadjustment() instead.
* Bug #672200 - Skip Reply-To-List check for list administrative messagesMilan Crha2012-11-291-4/+22
|
* Bug #671200 - Inherit source message crypto options when reply on selectionMilan Crha2012-11-271-2/+55
|
* EMailDisplay lefts opened file handles to downloaded imagesMilan Crha2012-11-231-22/+26
| | | | | | | This fixes three things: a) mail_display_resource_requested() was leaking file handles on downloaded images b) it's not necessary to open files, it's enough to test whether file exists c) mail_display_button_press_event() used incorrect key for "http" cache
* Bug #687670 - Signing with both pgp and S/MIME shows only one signatureMilan Crha2012-11-221-2/+10
|
* Bug #677378 - Alert about self-signed certificates when checking auth typesMilan Crha2012-11-213-8/+16
|
* Bug #688199 - Replying via a template doesn't mark mail as read/repliedMilan Crha2012-11-132-7/+12
|
* Relative URI can crash Evolution in http_request_send_async()Milan Crha2012-11-132-3/+8
|
* Coding style and whitespace cleanup.Matthew Barnes2012-11-1113-41/+52
|
* Document why I decided not to implement RFC 6186.Matthew Barnes2012-11-091-0/+46
|
* EMailAutoconfig: Restructure XML parsing.Matthew Barnes2012-11-093-169/+224
| | | | | | | | | | If we get a hit from the online database, parse the XML immediately and store the results in generic internal structs. Then when we're given an ESource to populate we can feed it the stored results instead of parsing the XML on demand (and repeatedly). What this is really doing is making room for other auto-configuration methods besides the online database lookup.
* Bug #683877 - No more contextual menus for linksMilan Crha2012-11-091-9/+3
|
* EMailAutoconfig: Use GResolver for DNS lookups.Matthew Barnes2012-11-081-244/+17
| | | | | | Use g_resolver_lookup_records() instead of parsing binary DNS records ourselves (yuck!). Also, realized what we really want are NS records not MX records. We just want the name server for a given domain.
* EMailAutoconfig: Comment no longer applies.Matthew Barnes2012-11-081-3/+0
|
* EMailConfigAssistant: Make revising auto-configuration easier.Matthew Barnes2012-11-081-0/+5
| | | | | | | | | | | | | | | | | | | After providing a name and email address on the Identity page, the user clicks Forward and auto-configuration runs. If successful, it jumps to the Account Summary page showing a table of auto-configured settings. If the user wants to go back and revise auto-configured settings, he would click Go Back to return to the Identity Page, then click Forward again to go to Receiving Email (since auto-coniguration only runs once). But this is confusing. It's not clear that clicking Forward from the Identity Page will behave differently after auto-configuration has run. Instead, clicking Go Back from the Summary Page after auto-configuration should return to the Receiving Email page where IMAP/POP settings can be modified. This behavior combined with the GtkAssistant navigation sidebar should hopefully make it less confusing.
* Make auto-configuration cancellable.Matthew Barnes2012-11-081-13/+69
| | | | Based on my initial patch in https://bugzilla.gnome.org/678615.
* EMailAutoconfig: Use libsoup instead of gvfs.Matthew Barnes2012-11-081-12/+41
| | | | | | | The GVFS HTTP backend seems to just hang forever when an I/O operation is cancelled. Use libsoup instead. See also: https://bugzilla.gnome.org/678615
* Revert "Bug #686620 - Add an option to skip New Account autodiscovery"Matthew Barnes2012-11-083-106/+1
| | | | | | This reverts commit 039c29c112179ad92233f0a85b7332ad2f2dd373. Auto-configuration should instead be cancellable from the progress page.
* Bug #686620 - Add an option to skip New Account autodiscoveryMilan Crha2012-11-073-1/+106
|
* Bug #656143 - Stop using deprecated Gtk[HV]Box(Class)Dominique Leuenberger2012-11-071-2/+2
|
* Replace deprecated soup_message_headers_get() with ↵Milan Crha2012-11-061-1/+1
| | | | soup_message_headers_get_list()
* Replace deprecated GLib symbols (as of GLib 2.34.x)Milan Crha2012-11-067-41/+43
|
* Fixed squished labels on Identity page of Account Assistant.Matthew Barnes2012-11-021-1/+0
| | | | | GtkSizeGroup::ignore-hidden is broken, or so I'm told in the discussion on https://bugzilla.gnome.org/show_bug.cgi?id=677609. Leave it FALSE.
* Bug 687060 - Identity page shows read-only GOA properties as editableMatthew Barnes2012-10-291-0/+8
| | | | | Hide the account name and email address fields when editing an Evolution account linked to a GNOME Online Account.
* EMailConfigIdentityPage: Add a "show-email-address" property.Matthew Barnes2012-10-292-4/+71
| | | | Allows the Email Address field to be hidden.
* EMailConfigIdentityPage cleanups.Matthew Barnes2012-10-291-3/+3
|
* Prefer e_source_registry_check_enabled().Matthew Barnes2012-10-262-6/+9
| | | | | Prefer e_source_registry_check_enabled() over e_source_get_enabled() for most instances where we want to exclude disabled data sources.
* Bug #268618 - Add: Save replies in the folder of the message being replied toMilan Crha2012-10-221-6/+49
| | | | | | Follow-up fixes: a) don't copy to origin folder for forwarded messages b) use a real folder when reply/forward from a vFolder
* Remove "Disable Account" menu item for GOA-based accounts.Matthew Barnes2012-10-192-1/+28
| | | | GOA-based accounts must only be disabled from gnome-control-center.
* Bug #268618 - Add: Save replies in the folder of the message being replied toMilan Crha2012-10-191-3/+23
|
* Revert "Decode EMailRequest::priv::uri_base URI-escaped letters"Matthew Barnes2012-10-181-2/+1
| | | | | | This reverts commit 7050a12868252cf6254620cd27dcb6832851040d. Incomplete solution, renders Bugzilla mails unreadable.
* Decode EMailRequest::priv::uri_base URI-escaped lettersMilan Crha2012-10-181-1/+2
| | | | | | | | It's for cases when message UID contains letters which are supposed to be encoded, like "<>" in NNTP message UIDs. Without the decode the message preview is left empty and only console shows a runtime critical warning: handle_mail_request: assertion `part_list != NULL' failed
* Bug #683849 - Add account name to »Checking for new mail«Milan Crha2012-10-161-1/+2
|
* Bug #344579 - Vertical view: Drafts column header states "Sent Messages"Milan Crha2012-10-161-1/+1
|
* Bug 685786 - EWebView: Signal handlers never disconnectedMatthew Barnes2012-10-141-1/+8
| | | | | | | | | | | | Both EWebView and EMailDisplay listen for "changed" signals from a GSettings instance, passing itself as the 'user_data' to the signal handler e_web_view_update_fonts(). But in both cases the signal handler was left connected after EWebView and EMailDisplay were finalized, resulting in the signal handler receiving a dangling pointer. Not using g_signal_connect_object() here because of the unresolved reference leak issue in GObject. The GSettings instance is likely cached internally and lives well beyond EWebView and EMailDisplay.
* EMailDisplay cleanups.Matthew Barnes2012-10-141-430/+467
|
* Bug 685675 - Fix packing of spell check language optionsMatthew Barnes2012-10-101-36/+38
| | | | | | Word-wrapped GtkLabels and GtkTables just don't seem to get along. The vertical allocation for the GtkLabel was way too big. Replace the GtkTable with a GtkGrid.
* Bug #682295 - Fix deadlock in EHttpRequestDan Vrátil2012-09-141-77/+89
| | | | | | | | | | Fix deadlock in EHttpRequest by running each libsoup operation in it's own GMainContext. The patch also replaces use of features from libsoup>=2.39, because we can't change dependency. The code is based on code from CalDAV, which uses synchronous libsoup API as well and works with libsoup<2.39
* Bug #683866 - Leaks of EMailFormatter objectMilan Crha2012-09-132-7/+5
|
* Fix a memory leak when replying to a messageMilan Crha2012-09-122-1/+10
|
* Bug #681279 - Reply on selection doesn't work (re-fix)Milan Crha2012-09-121-13/+59
|
* Bug #683676 - Message source does not work when 'All Message Headers' enabledMilan Crha2012-09-121-5/+14
|
* Revert commit c9d0ac7 (bug #681279)Milan Crha2012-09-111-13/+0
|
* Bug #678835 - Disconnect signal handlers from WebKit plugin widgets on disposeMilan Crha2012-09-111-1/+24
|
* Fix typo in 'activity' word (macro/function/variable names)Milan Crha2012-09-101-9/+9
|
* Bug #681279 - Reply on selection doesn't workMilan Crha2012-09-071-0/+13
| | | | | This time because Prefer-plain could hide text/html part, which resulted in no text shown in the reply.
* Honor CAMEL_PROVIDER_DISABLE_SENT_FOLDER in account preferencesMilan Crha2012-09-061-4/+19
|
* Bug #682425 - Can do network operations on disabled accountsMilan Crha2012-09-054-64/+92
|
* Bug #679780 - Offline mode doesn't work in mailerMilan Crha2012-09-052-5/+8
|
* em_folder_tree_model_get_folder_name: Don't return NULL.Matthew Barnes2012-09-041-2/+2
| | | | | | | | | | If a folder's display name is not available in the folder tree model for some reason, return the raw folder path rather than NULL. This silences a runtime warning in the mail-notification plugin. This feels like a Band-Aid for a deeper issue -- perhaps we're racing the folder tree model? Might be better to just fetch the CamelFolder asynchronously and get the folder's display name directly.
* Bug #683130 - Folder hangs when reading mail with an attachmentDan Vrátil2012-09-041-5/+13
|
* Coding style and whitespace cleanup.Matthew Barnes2012-09-011-2/+12
|
* Bug #681431 - Expanded attachment bar hides headersDan Vrátil2012-08-291-5/+3
|
* Bug 682811 - Can edit properties of local/vfolder storesMatthew Barnes2012-08-281-2/+16
|
* Fix all 'may be used uninitialized' compiler warningsDan Vrátil2012-08-203-2/+3
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-2034-428/+536
|
* Bug #680702 - Freeze/crash when loading remote imagesDan Vrátil2012-08-181-183/+106
| | | | | | | | Simplify the EHttpRequest by using synchronous libsoup API instead of spawning another async operation within already asynchronous handler. This avoids nested event loop, complex locking and makes to code much simpler.
* Include folder uri in "Failed to refresh folder" runtime warningMilan Crha2012-08-171-1/+1
|
* Bug #681783 - Critical warning and freeze with libsoup-2.39 and webkitgtk-1.9.2Dan Vrátil2012-08-171-0/+1
|
* Add e_mail_session_append_to_local_folder().Matthew Barnes2012-08-151-13/+7
| | | | | | Asynchronous + synchronous convenience functions. Uses the EMailLocalFolder enumeration to specify a well-known folder.
* Adapt to CamelService API changes.Matthew Barnes2012-08-131-6/+13
| | | | | | camel_service_get_settings() is now camel_service_ref_settings() and it returns a new CamelSettings reference which the caller must release with g_object_unref().
* Adapt to CamelSession API changes.Matthew Barnes2012-08-129-49/+86
| | | | | | | | | | | | These functions now return new references: camel_session_add_service() camel_session_list_services() These functions have been renamed and also return new references: camel_session_get_service() -> camel_session_ref_service() camel_session_get_service_by_url() -> camel_session_ref_service_by_url()
* express: Remove clutter-based email tabs.Matthew Barnes2012-08-118-4234/+0
| | | | | | 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.
* Run mbox-to-Maildir conversion before loading modules.Matthew Barnes2012-08-101-325/+0
| | | | | | | | | | | | | | Invoke the mbox-to-Maildir conversion directly from main(), just before the call to e_shell_load_modules(). The reason the code is here and not in the mail module is because we inform the user at startup of the impending mail conversion by displaying a popup dialog and waiting for confirmation. This has to be done before we load modules because some of the EShellBackends immediately add GMainContext sources that would otherwise get dispatched during gtk_dialog_run(), and we don't want then dispatched until after the conversion is complete.
* Bug #681432 - Runtime warnings from e_mail_display_reload()Dan Vrátil2012-08-101-24/+18
|
* Remove some unused code from EMailReaderDan Vrátil2012-08-093-41/+18
| | | | | | 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.
* migrate_mbox_to_maildir(): Fix a reference counting error.Matthew Barnes2012-08-091-2/+3
| | | | | | The ESourceCamel extension owns the CamelSettings instance and the ESource instance owns the ESourceCamel extension. Unreference the ESource AFTER we're done with the CamelSettings.
* em_migrate_session_new(): Provide a user cache directory.Matthew Barnes2012-08-091-1/+8
|
* Remove all references to JavaScriptCore and use of JavaScriptDan Vrátil2012-08-093-23/+66
| | | | | | | | | | JavaScript is disabled in EWebView, so any attempt to evaluate a JavaScript code will fail. We are using DOM bindings instead to interact with the document. This commit removes some helper functions created in the early days of WebKit port which are not used anymore and also fixes mail-to-task plugin, which was relying on some JavaScript.
* Return of the "mark messages as read" preference.Matthew Barnes2012-08-081-4/+58
| | | | | | | | | | | | This reverses the removal of the "Mark messages as read" preference in commit e7247d6d60336861ed5c0ba05dd64e29f728349c. I apparently misjudged the popularity of this preference, as there's been a surprising amout of backlash and confusion as to its removal on the mailing list, IRC channel, and various distro-support forums. So, "mea culpa" for removing that one. Haven't heard a peep about the other removed preferences, however, so they will stay gone.
* Bug #680724 - Attachment bar regressionDan Vrátil2012-08-081-6/+0
|
* Bug #677695 - Crash on quit under emu_free_mail_cache()Milan Crha2012-08-081-1/+1
| | | | | | | This is reverting previous patch for this bug and fixes it with a different approach. The previous patch had regression, instead of freezing evolution on quit it crashed it when there was pending addressbook lookups.
* Missing "<click here to select a folder>" text in message filter editorMilan Crha2012-08-081-0/+2
|
* Bug #681318 - Filter by Source account doesn't show accountsMilan Crha2012-08-081-35/+95
|
* Bug #680947 - Multiselect doesn't clear message preview panelDan Vrátil2012-08-071-5/+11
|
* Bug #246530 - Rules editor lacks "Label is (not) 'None'"Milan Crha2012-08-063-20/+8
|
* mail.error.xml: Remove GroupWise-specific errors.Matthew Barnes2012-08-031-5/+0
|
* Remove "modal" attribute from error.xml files.Matthew Barnes2012-08-031-3/+3
| | | | | The "modal" attribute is ignored nowadays anyway, but these should have never been modal to begin with.
* Bug #680666 - Contacts/Tasks/Memos preview pane does not follow theme colorsDan Vrátil2012-08-021-5/+15
|
* Bug #680643 - First message Print preview without CSSDan Vrátil2012-07-311-5/+20
|
* Bug #679404 - Read colors for message preview from Gtk themeDan Vrátil2012-07-271-14/+15
|
* Bug #680682 - Segfault after label attempted deletionMilan Crha2012-07-271-10/+6
|
* Bug #680577 - [text-highlight] - Failed to load partDan Vrátil2012-07-271-1/+1
|
* mail.error.xml: Remove "mail:session-message-*" errors.Matthew Barnes2012-07-264-17/+5
| | | | Use "system:simple-info/warning/error" errors instead.
* Highlighting of text parts and source codesDan Vrátil2012-07-252-12/+18
| | | | | | | | | | 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)