Commit Graph

38 Commits

Author SHA1 Message Date
9dcac58b21 Use thread safe variants of g_object_bind_property*() functions from evolution-data-server 2015-02-24 09:54:41 +01:00
0b91d60b83 Bug 743109 - Do not require spam software during build time 2015-02-06 07:52:45 +01:00
59e2efa774 Share GSettings objects with e_util_ref_settings()
A simple Evolution run and move between all views means creation of
more than 100 GSettings objects, with only a bit more than 10 schemas.
Reusing the objects should have a positive impact on a performance too.
2014-11-13 10:06:04 +01:00
06bbf5bf62 Use INTLTOOL_XML_RULE for appdata files
The translation should be merged into the appdata related files.
The evolution.appdata.xml.in had been moved due to
INTLTOOL_XML_NOMERGE_RULE being used for gsettings schemas.
2014-10-09 09:32:16 +02:00
446a23d752 Add metainfo.xml files for bogofilter and spamassassin plugins
These are useful for GNOME Software, to show the plugins as an addon
for the Evolution. Packagers can decide what to do with the file,
either they can add it into the respective subpackage or they can
just ignore (remove) the files, if they do not build special packages
for these plugins.
2014-10-08 11:30:53 +02:00
8650fb139a Bug 540362: [webkit-composer] Use webkit for composer
Merge wip/webkit-composer branch into master.
2014-06-09 16:32:25 +02:00
8692b1cb72 Add an --enable-code-coverage configure option to enable gcov support
When enabled, this will compile all libraries/binaries with the necessary
gcc and ld flags to enable code coverage support using gcov.
2014-03-25 12:04:58 +01:00
5c60d57082 Replace 'interface' with 'iface' in the code
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.)
2014-02-26 16:15:21 +01:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
3c30fb1747 Convert libemail-engine to a single-include model.
Use: #include <libemail-engine/libemail-engine.h>
2013-11-11 12:07:43 -05:00
3b8a9ed601 Bug 703490 - Stop invoking spamc, just use spamassassin
SpamAssassin is clearly not intended for use by mail clients, as
evidenced by the number of backflips Evolution's SA module still has to
do just to detect the presence and nature of a running spamd (a problem
which D-Bus solved a decade ago), and recent SA developer comments.

In lieu of removing SA support entirely, remove all the crazy GSettings
that are (thankfully) not exposed in the UI and relegate Evolution's SA
integration to only the most basic usage (spamassassin / sa-learn).

Users are better off with Bogofilter anyway.  Leave SpamAssassin for
mail servers.
2013-07-08 00:08:54 -04:00
70a9fcdf9c Rename libeshell to libevolution-shell.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-shell.
2013-05-28 09:56:30 -04:00
6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
bed06d9ec3 Move the contact map widgets to addressbook/gui/widgets.
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.
2012-12-12 14:33:47 -05:00
d09d8de870 Consolidate base utility libraries into libeutil.
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.
2012-12-12 14:33:43 -05:00
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
704b78d23b Replace deprecated GLib symbols (as of GLib 2.34.x) 2012-11-06 16:21:37 +01:00
d84ba383ac Adapt to CamelJunkFilter API changes. 2012-10-16 11:24:06 -04:00
c539a9ec20 Remove e_mail_junk_filter_available().
Because we now check for junk filtering software in configure, junk
filtering modules can now safely assume the required junk filtering
software is installed.  No more having the module installed but not
the required software.  If this invariant is broken, an error will
be shown for each new message received.
2012-09-30 23:26:23 -04:00
f186c2a874 spamassassin: Delay spamd tests until needed using GOnce.
Avoid blocking the available() method with synchronous tests that,
it turns out, do cause a noticable delay.
2012-09-30 23:26:23 -04:00
0d0654c19f Check for SpamAssassin during configure.
If the spamassassin and sa-learn programs cannot be found with
AC_PATH_PROG, configure will abort with an error message.

You can then either:
a) install the SpamAssassin software
b) specify the path with SPAMASSASSIN=/path/to/spamassassin and/or
   SA_LEARN=/path/to/sa-learn
c) pass --disable-spamassassin to configure to exclude the module

This also drops the "spamc" and "spamd" GSettings keys.
2012-09-30 23:26:23 -04:00
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
782d59da7b Bug 678347 - Put spamd pid/socket files in $XDG_RUNTIME_DIR 2012-06-19 23:26:48 -04:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
250c3cade5 Rename Evolution module libraries.
Drop the "libevolution" prefix so it's not so verbose and also
consistent with upcoming evolution-data-server module libraries.

  libevolution-module-foo.so --> module-foo.so
2012-05-10 13:16:48 -04:00
61ae36351b Introduce libemail-engine and libemail-utils.
These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).

This is the first step toward moving mail handing to a D-Bus service.
2012-01-18 23:48:47 -05:00
e64d6fe05c Miscellaneous cleanups. 2011-11-22 20:43:04 -05:00
2e60b6a4a2 Tweak GSettings schemas.
- Don't use the term "eplugin" for modules.

- Use the term "plugin" instead of "eplugin" for plugins.

- Split SpamAssassin settings into a separate schema.
2011-11-22 20:42:56 -05:00
adf6645d52 Fix some GSettings runtime issues. 2011-11-22 20:42:46 -05:00
fa4a42d741 Migrate SA extension to GSettings 2011-11-01 17:26:07 +01:00
1f38f4d92c Simplify library dependency flags.
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.
2011-10-04 22:27:14 -04:00
4fc04af617 Bug 655507 - Crash on startup when initializing spamassassin
I keep forgetting to not use G_PARAM_STATIC_STRINGS in modules...
2011-08-03 09:40:40 -05:00
67f8c4f095 SpamAssassin: Add a missing linker flag. 2011-07-19 09:24:26 -05:00
8c2d09db62 SpamAssassin: Silence spamd's debugging chatter. 2011-07-14 23:43:51 -04:00
794bc48920 SpamAssassin: Try harder to kill spamd on exit.
References to EMailSession are leaking like crazy, so the module's
finalize() method never gets called, and we never kill our spamd.

Until I can track down all the reference leaks, kill the spamd process
in response to a "EShell::prepare-for-quit" signal instead of from the
module's finalize() method.  (Maybe that's a better long-term solution
anyway?)
2011-07-14 13:50:30 -04:00
0d3c32b33c SpamAssassin: Don't wait for termination when spawning spamd. 2011-07-14 12:05:49 -04:00
8dfd4278a7 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-07-13 22:46:26 -04:00