1. 18 Jan, 2013 1 commit
  2. 07 Dec, 2012 8 commits
    • Matthew Barnes's avatar
      Teach EMailExtensionRegistry to find extensions. · bf30024d
      Matthew Barnes authored
      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().
      bf30024d
    • Matthew Barnes's avatar
      EMailFormatterExtension: Convert get_description() to a string field. · d9699159
      Matthew Barnes authored
      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.
      d9699159
    • Matthew Barnes's avatar
      EMailFormatterExtension: Convert get_display_name() to a string field. · 7885426c
      Matthew Barnes authored
      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.
      7885426c
    • Matthew Barnes's avatar
      Convert EMailFormatterExtension to an abstract class. · 00b211b0
      Matthew Barnes authored
      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.
      00b211b0
    • Matthew Barnes's avatar
      Remove EMailExtension. · 54455ca1
      Matthew Barnes authored
      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.
      54455ca1
    • Matthew Barnes's avatar
      EMailExtension: Replace mime_types() method with a string array. · 9d34f72e
      Matthew Barnes authored
      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.
      9d34f72e
    • Matthew Barnes's avatar
      Make EMailPartList thread-safe. · 91822b42
      Matthew Barnes authored
      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.
      91822b42
    • Matthew Barnes's avatar
      EMailFormatterContext: Keep a reference to EMailPartList. · 2f0d83cf
      Matthew Barnes authored
      Replace the individual components of an EMailPartList with a reference
      on the EMailPartList itself in EMailFormatContext.  Easier to manage.
      2f0d83cf
  3. 11 Sep, 2012 1 commit
  4. 24 Aug, 2012 1 commit
  5. 19 Aug, 2012 1 commit
  6. 25 Jun, 2012 2 commits
  7. 08 Jun, 2012 1 commit
  8. 06 Jun, 2012 1 commit
    • Dan Vrátil's avatar
      Mail formatter rewrite - convert some plugins to modules · 93119147
      Dan Vrátil authored
      audio-inline, itip-formatter, prefer-plain, tnef-attachments
      and vcard-inline plugins were converted to modules so that they
      can fit into concept of the new formatter.
      
      Every module still installs .eplug file, because there is no
      suitable API at the moment to register plugins to the plugins dialog
      and to extend the Preferences dialog.
      93119147