Commit Graph

18 Commits

Author SHA1 Message Date
c238fbfd15 Convert junk filtering EPlugins to EExtensions.
We now have a proper junk mail filtering API.  All junk filtering
extensions must subclass EMailJunkFilter for user preferences and
availability testing, and implement the CamelJunkFilter interface
for the actual junk filtering and learning operations.

The bogofilter module should be feature-equivalent to its former
EPlugin.  The spamassassin module is far more complex.  It's nearly
feature-equivalent to its former EPlugin, but I ditched the spamd
respawning code since it seemed unnecessary for a mail client to
have to deal with.  If there's a huge outcry from users about it
I'll reluctantly put it back, but I don't expect one.

This gets us a step closer to killing off EConfig, and eventually
the EPlugin framework itself.
2011-09-14 14:08:36 +02:00
d9323c2872 Prototype an online-accounts module.
Integrates with the GNOME Online Accounts service.

Creates Evolution sources for a GOA Google account and keeps them
synchronized.  Also registers a new CamelSaslXOAuth class for use
with GMail.

Authentication of Google Calendars and Google Contacts using OAuth
is still under development.
2011-06-29 18:42:32 +02:00
b674a37a38 Add an EOfflineAlert module.
This module posts an alert to the first EShellWindow when starting
offline, and also posts an alert when the network connection drops.

We get frequent questions on the mailing list from users not realizing
Evolution is starting in offline mode, so this is meant to help address
that confusion.
2010-10-18 12:32:36 -04:00
c23de2688e Convert plugin-manager to an EExtension.
How ironic.
2010-09-13 08:28:59 -04:00
7ecdf26069 Add composer-autosave to SUBDIRS. 2010-09-03 22:00:32 -04:00
7959b11113 Convert "startup-wizard" to an EExtension.
Convert the "startup-wizard" EPlugin to an EExtension, and fix up the
importing UI a bit (but it still needs a lot more love).  Importing
progress is now shown directly in the GtkAssistant window.

Define a new EConfigItem type (E_CONFIG_PAGE_PROGRESS) for creating
progress pages in a GtkAssistant.

Also, change EMAccountEditor semantics slightly: you now have to call
e_config_create_window() manually after creating a new EMAccountEditor
instance.  This allows extra EConfigItems (specifications for the window
content) to be added manually before the window is created.
2010-06-02 16:36:11 -04:00
c9ec8c3f4d Merge branch 'express2' 2010-05-26 13:09:33 -04:00
0b60ec7c89 Convert "default-mailer" plugin to an extension. 2010-05-13 09:21:21 -04:00
a16f08974d Merge gnome-2-30 into express2 to get bugfixes
Note that express2 got some documentation for EExtensible and friends,
and that documentation is not in gnome-2-30 yet.  We need to cherry-pick
those commits into gnome-2-30 and elsewhere.
2010-04-09 12:21:32 -05:00
d358da9481 [win32] Implement network status detection
The implementation is done using System Event Notification Service
by implementing ConnectionMade ConnectionMadeNoQOCInfo and
ConnectionLost methods of ISensNetwork interface.

Make the subscription to the network status notification receive
the event only if the ownerof the subscription is logged on to
the same computer as the publisher. This makes this module work
on Windows Vista and Windows 7 with normal user account.

Don't try to build Windows SENS when not building for Windows.
Extract the relevant COM structs and typedefs from mingw-w64 headers
to allow to build the module with mingw.org toolchain and fix
build breakages with Microsoft compilers.
2010-04-07 23:44:16 +02:00
cd7fadfcdb Convert NetworkManager integration to an EShell extension.
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c.  If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.

The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
2010-04-07 13:09:42 -04:00
6416086f14 Add ConnMan support (words fail me ...)
Conflicts:

	configure.ac
	modules/Makefile.am
2010-04-07 12:22:09 +01:00
b674497bcc Convert NetworkManager integration to an EShell extension.
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c.  If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.

The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
2010-04-07 12:13:02 +01:00
342fa27bb7 Add ConnMan support (words fail me ...) 2010-03-25 19:53:12 +00:00
8a8e79622e [win32] Implement network status detection
The implementation is done using System Event Notification Service
by implementing ConnectionMade ConnectionMadeNoQOCInfo and
ConnectionLost methods of ISensNetwork interface.

Introduces C++ dependency for Windows port only
2010-03-23 18:54:37 +01:00
6c569e64af Convert NetworkManager integration to an EShell extension.
This demonstrates how to extend EShell without having to modify and
recompile e-shell.c.  If NetworkManager integration is enabled, the
extension is loaded automatically when the EShell is created.

The same pattern can be applied to integrate other network monitoring
software like ConnMan or Microsoft's Wireless Zero Configuration.
2010-03-20 11:49:46 -04:00
32f545cdf0 Simplify EPlugin loading at startup.
- Require all EPlugin and EPluginHook subtypes be registered before
  loading plugins.  This drastically simplifies the EPlugin/EPluginHook
  negotiation.

- Turn most EPluginHook subtypes into GTypeModules and register their
  types from an e_module_load() function (does not include shell hooks).

- Convert EPluginLib and the Mono and Python bindings to GTypeModules
  and register their types from an e_module_load() function, and kill
  EPluginTypeHook.
2009-08-29 17:23:20 -04:00
f0d3f3afdf Radically reorganize source code.
- Collect all shell modules into a new top-level 'modules' directory:

      $(top_srcdir)/modules/addressbook
      $(top_srcdir)/modules/calendar
      $(top_srcdir)/modules/mail

  Nothing is allowed to link to these, not plugins nor other modules.

  THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X.

- Mimic the libevolution-mail-shared library from master (except drop
  the "shared" suffix) and have libevolution-mail-importers and all
  mail-related plugins link to it.

- Discard the a11y subdirectories and have the files live alongside
  their counterpart widgets.
2009-06-24 18:29:22 -04:00