1. 18 Jan, 2013 2 commits
    • Milan Crha's avatar
      722a27e8
    • Milan Crha's avatar
      Bump libsoup dependency to 2.40.3 · dff703a1
      Milan Crha authored
      This removes workarounds for below libsoup bugs and makes trust-prompt
      for WebDAV based backends work better, by checking also server certificates.
      
       * soup_message_get_https_status() now returns the certificate
         and flags for unsuccessful https connections as well as
         successful ones. [bug #690176]
      
       * Fixed a deadlock when calling soup_session_abort() on
         a SoupSessionSync in some cases. [bug #691399]
      dff703a1
  2. 15 Jan, 2013 1 commit
  3. 12 Jan, 2013 2 commits
  4. 10 Jan, 2013 1 commit
  5. 09 Jan, 2013 1 commit
  6. 08 Jan, 2013 1 commit
  7. 04 Jan, 2013 1 commit
    • Matthew Barnes's avatar
      Bug 691133 - Evolution creates 'highlight' zombies · 7f93dcab
      Matthew Barnes authored
      Evolution spawns the 'highlight' program with these flags:
      
          G_SPAWN_SEARCH_PATH
          G_SPAWN_DO_NOT_REAP_CHILD
      
      G_SPAWN_SEARCH_PATH is not needed because configure already determines
      the absolute path to the 'highlight' program.  G_SPAWN_DO_NOT_REAP_CHILD
      results in zombie 'highlight' processes.  Remove both flags.
      7f93dcab
  8. 31 Dec, 2012 2 commits
    • Matthew Barnes's avatar
      book-config-google: Populate [Authentication] group. · f314742b
      Matthew Barnes authored
      Set the Host to "www.google.com" and Method to "ClientLogin".
      
      Don't need to worry about migrating existing Google Contacts sources,
      which had "plain/password" as the auth method.  The Google EBookBackend
      only explicitly checks whether the auth method is "OAuth2", and assumes
      "ClientLogin" otherwise.
      
      (I suppose the registry service could tweak older key files, but meh...)
      f314742b
    • Matthew Barnes's avatar
      Move CamelSaslXOAuth2 to libemail-engine. · 800a5828
      Matthew Barnes authored
      This now uses e_source_get_oauth2_access_token_sync() instead of talking
      directly to GNOME Online Accounts and therefore no longer has to live in
      the "online-accounts" module.
      
      The "online-accounts" module will be removed in Evolution 3.9.1, when we
      can require GNOME Online Accounts 3.8.  Evolution 3.8 will still support
      older versions of GNOME Online Accounts, which use OAuth 1.0a tokens for
      Google authentication.
      800a5828
  9. 28 Dec, 2012 1 commit
  10. 24 Dec, 2012 1 commit
  11. 16 Dec, 2012 2 commits
  12. 15 Dec, 2012 1 commit
  13. 12 Dec, 2012 2 commits
    • Matthew Barnes's avatar
      Move the contact map widgets to addressbook/gui/widgets. · bed06d9e
      Matthew Barnes authored
      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.
      bed06d9e
    • Matthew Barnes's avatar
      Consolidate base utility libraries into libeutil. · d09d8de8
      Matthew Barnes authored
      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.
      d09d8de8
  14. 10 Dec, 2012 2 commits
  15. 08 Dec, 2012 1 commit
  16. 07 Dec, 2012 11 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
      EMailParserExtension: Convert get_flags() to an enum field. · c10235e6
      Matthew Barnes authored
      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.
      c10235e6
    • Matthew Barnes's avatar
      Convert EMailParserExtension to an abstract class. · cab6eac8
      Matthew Barnes authored
      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.
      cab6eac8
    • 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
      EMailParserExtension: Collect EMailParts in a GQueue. · 3924dc75
      Matthew Barnes authored
      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.
      3924dc75
    • 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
  17. 04 Dec, 2012 1 commit
  18. 30 Nov, 2012 1 commit
  19. 29 Nov, 2012 2 commits
    • Matthew Barnes's avatar
      Avoid using GdkEventButton directly in certain places. · d2fb5ee1
      Matthew Barnes authored
      Prefer dealing with GdkEvent pointers and using accessor functions like
      gdk_event_get_button().
      
      This is complicated by the fact that some GtkWidget method declarations
      still use GdkEventButton pointers, and synthesizing button events pretty
      much requires direct GdkEventButton access.  But GDK seems to be nudging
      itself toward sealing the GdkEvent union.  Likely to happen in GDK4.
      
      Mainly clean up signal handlers and leave method overrides alone for now.
      d2fb5ee1
    • Matthew Barnes's avatar
      Avoid gdk_cursor_unref(). · 0b9efdac
      Matthew Barnes authored
      Use g_object_unref() instead.
      0b9efdac
  20. 28 Nov, 2012 1 commit
  21. 27 Nov, 2012 1 commit
  22. 26 Nov, 2012 1 commit
  23. 22 Nov, 2012 1 commit