Commit Graph

34 Commits

Author SHA1 Message Date
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
7c38b34f20 Remove e_shell_get_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
8e2902eefc Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
2013-01-19 19:08:01 -05: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
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
e8e4661811 Remove the settings capplet.
The evolution-settings capplet was originally designed for Anjal, it was
used in MeeGo as part of the Express Mode effort, but doesn't really fit
in GNOME 3 nowadays (nor did it really fit in GNOME 2, in my opinion).

This is pretty clearly dead weight at this point.  The MeeGo developers
have disappeared, and the remaining Evolution developers are not and do
not intend to maintain it.  Plus it doesn't even build currently.
2012-08-10 13:03:30 -04:00
2a39437ee9 Adapt to single-include E-D-S libraries. 2012-06-03 15:14:03 -04:00
71f5369ebf Adapt modules/startup-wizard to the new ESource API. 2012-06-02 23:00:41 -04:00
005ac1efa3 Make the settings capplet optional.
The evolution-settings capplet was originally designed for Anjal, it was
used in MeeGo as part of the Express Mode effort, but doesn't really fit
in GNOME 3 nowadays (nor did it really fit in GNOME 2, in my opinion).

Add a --with-capplet configure switch defaulting to 'no'.  The capplet
will eventually be removed unless I see someone actively maintaining it.
2012-05-28 12:50:18 -04: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
1b5a2be551 startup-wizard: Avoid em_account_editor_get_widget().
em_account_editor_get_widget() won't be around much longer.
Instead, use gtk_container_foreach() to scan for a GtkLabel.
2012-03-07 09:27:54 -05:00
14f82dde34 Move EAlert* and e-xml-utils references from other part of the code to libevolution-utils. 2012-03-03 09:02:33 -05:00
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05:00
02cbfd837a Make Capplet work again with new CamelSettings and other stuffs. Also add
EPlugin support to capplet so that exchange and other accoutns can be
configured via this. now.
2012-02-16 10:59:07 +00: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
7c0c40f833 Reorder accounts by drag-and-drop.
This implements https://bugzilla.gnome.org/show_bug.cgi?id=663527#c3.

Account reordering is now done by drag-and-drop instead of up/down
buttons.

Turned out to be a wee bit more complicated than I initially thought.

This scraps EAccountManager and EAccountTreeView and replaces them with
new classes centered around EMailAccountStore, which EMailSession owns.

EMailAccountStore is the model behind the account list in Preferences.
The folder tree model now uses it to sort its own top-level rows using
gtk_tree_path_compare().  It also broadcasts account operations through
signals so we don't have to rely so heavily on EAccountList signals,
since EAccountList is going away soon.

Also as part of this work, the e-mail-local.h and e-mail-store.h APIs
have been merged into EMailSession and MailFolderCache.
2011-12-10 21:34:19 -05:00
a33d71ebec Remove more "Click \"Forward\" to continue." sentences 2011-11-28 11:31:32 +01:00
b485d28c3b Remove 'Click the Forward button to continue' sentence (plus the Forward button was actually a Continue button anyway) 2011-10-28 18:21:53 +02: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
53bc6ffc53 The EExtension framework is now in libebackend.
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.

Now Evolution-Data-Server modules use the same framework as Evolution.
2011-09-26 09:45:55 -04:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
15376b6657 EConfig: Broadcast abort/commit events by way of signals.
Remove the clumsy abortfunc and commitfunc callback arguments from
e_config_add_items().
2011-08-10 16:13:08 -04:00
1b1697630c Bug 652958 - Evolution Account Assistant jumps steps
The GTK+ patch in bug 653705 is also required for the Account Assistant
to work properly under the new GtkAssistant design in GTK+ 3.1.

This commit only deals with sidebar ordering issues.
2011-06-30 14:19:59 -04:00
d9256766a4 Allow the startup-wizard to be delayed.
This works similar to the offline and shutdown procedure in EShell.
We broadcast a "load-accounts" EShell event with an EActivity.  The
EActivity has a toggle reference which we use as a counting semaphore.
If another module needs to handle the event asynchronously, it should
reference the EActivity until its async operation completes, then drop
the reference.  Once the signal handlers finish and only the toggle
reference remains, we then proceed with the Evolution Setup Assistant.

All of this is in preparation for GNOME Online Accounts integration.
For the moment, nothing listens for the "load-accounts" EShell event,
so there should be no change in Evolution Setup Assistant behavior.
2011-06-19 08:38:07 -05:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
9692758dc5 EMFolderTree: Store an EMailBackend instead of an EMailSession.
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.

Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity.  So it's a code cleanup of sorts.
2011-05-23 21:50:50 -04:00
7a1677520d Remove NULL checks for GObject methods.
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally.  Remove unnecessary checks.
2011-02-12 12:54:08 -05:00
7215cf088f Bug #637727 - Sent/Draft folder not set in startup-wizard account 2011-02-11 12:58:29 +01:00
22b2d26d04 Free/busy meeting view doesn't work due to non-working extension 2010-12-06 14:23:20 +01:00
a06e4484b8 Give MailSession a permanent home.
Global variables in shared libraries are a bad idea.  EMailBackend now
owns the MailSession instance, which is actually now EMailSession.

Move the blocking utility functions in mail-tools.c to e-mail-session.c
and add asynchronous variants.  Same approach as Camel.

Replace EMailReader.get_shell_backend() with EMailReader.get_backend(),
which returns an EMailBackend.  Easier access to the EMailSession.
2010-10-12 13:58:59 -04:00
5270b3042f Crash on Startup wizard cancel
As reported in Red Hat bugzilla in 626810
2010-08-26 16:24:46 +02: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