Commit Graph

28 Commits

Author SHA1 Message Date
Christian Schaarschmidt c20c593a81 Fix a build break (missing libraries) in module/calendar 2014-10-13 08:51:17 +02:00
Milan Crha 1c950517dc modules/calendar/Makefile.am: Return back forgotten migrate files 2014-10-07 13:50:35 +02:00
Milan Crha 8752647eca Make Calendar, Memos and Tasks views non-UI-blocking
The Calendar, Memos and Tasks views use to do D-Bus calls to
the backends on the main (UI) thread, which could result in UI
freezes, until the operation was done on the backend (and server)
side. This commit fixes that by invoking the operations in
a dedicated thread. It has few additional advantages too:
- operations can be cancelled
- proper error reporting to a user
- less code duplication between the views for common operations

There had been fixed some performance issues when selecting/unselecting
sources in the source selector as well.
2014-10-06 12:33:03 +02:00
Tomas Popela 8650fb139a Bug 540362: [webkit-composer] Use webkit for composer
Merge wip/webkit-composer branch into master.
2014-06-09 16:32:25 +02:00
Milan Crha 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
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 95a0ae4afb Remove ECalShellSettings.
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.
2013-03-17 08:49:12 -04:00
Matthew Barnes 8a71509ee4 Add a "settings" module.
Collect all the "config" extensions from the "addressbook", "calendar",
and "mail" modules into one place.  These extensions typically just bind
GObject properties of extensible classes to app-specific GSettings keys.
2013-01-20 20:56:16 -05:00
Matthew Barnes 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
Matthew Barnes 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
Milan Crha 350f7118fe Make sure evolution-alarm-notify is running on Evolution's start 2012-08-30 15:37:11 +02:00
Milan Crha 94daae3dba Remove the last remaining usage of GConf 2012-06-15 09:04:08 +02:00
Matthew Barnes 26e7480340 Adapt modules/calendar to the new ESource API. 2012-06-02 23:00:40 -04:00
Matthew Barnes 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
Matthew Barnes b4f895265d Add missing linker flags. 2012-03-03 14:11:12 -05:00
Matthew Barnes 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
Matthew Barnes 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
Matthew Barnes 1f17dab6b0 Move calendar preferences to the calendar module.
Continue replacing the use of calendar-config functions with GObject
property bindings to EShellSettings properties.
2010-11-04 14:19:50 -04:00
Matthew Barnes fabb6b035c Only #include Camel's top-level header. 2010-04-02 16:59:20 -04:00
Matthew Barnes 8ffcfb4e10 Add extensions to configure calender widgets.
Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
2010-03-20 11:49:46 -04:00
Matthew Barnes 59bd81691d Compiler and linker flag cleanups. 2009-12-27 14:32:39 -05:00
H.Habighorst f62728b55e Bug 596848 - Use per-target CPPFLAGS in automake files 2009-09-30 23:37:50 -04:00
Matthew Barnes acb28fef9d Goodbye libgnome and libgnomeui!! 2009-09-18 12:34:47 -04:00
Matthew Barnes 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
Srinivasa Ragavan b5a2e47cb5 Allow calendar to be written as a external app and split the huge .so to
a share private lib and component lib.
2009-08-11 16:14:37 -04:00
Matthew Barnes bfc5ba2511 Fix "make distcheck" errors and other build cleanups. 2009-06-30 18:34:08 -04:00
Matthew Barnes 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