Commit Graph

129 Commits

Author SHA1 Message Date
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
ab3f65a15e Address couple issues found by a Coverity scan 2012-11-30 15:30:45 +01:00
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
b4fbbde6ab Remove "enable-local" and "enable-vfolders" GSettings key.
We have built-in ESources for the 'local' and 'vfolder' mail stores,
and can now track their enabled state as we would any other mail store.
2012-06-08 13:47:22 -04:00
98f39d7ee0 Adapt to CamelService API changes.
em_utils_connect_service_sync() and em_utils_disconnect_service_sync()
are no longer needed.  CamelService itself now effectively does what
these functions were doing.
2012-05-19 13:35:28 -04:00
6695ba892a Bug #664205 - Improve UX when creating a new mail folder 2012-03-09 11:14:08 +01:00
18593a0fb9 Move vfolders to libemail-engine and rest as mail-vfolder-ui. It all works and
the daemon can now start the vfolder storage without bothering much with the
UI.
2012-03-03 09:02:34 -05:00
e758de5b1d Redo Filters/Search folder editors to use a shared non ui based library for
making search folders running remotely.
2012-03-03 09:02:34 -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
669535963b Bug #668805 - Copy to Folder uses incorrect error definition names 2012-01-31 14:30:15 +01:00
f26ec61bce Bug #668634 - Warn user with folder create error 2012-01-26 11:29:57 +01: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
987fb91d5e Reduce diff noise with account-mgmt branch. 2011-12-19 22:27:39 -05:00
0b56714119 Do not load disabled services while creating new folder 2011-12-19 20:24:15 +05:30
a9cfed5938 Avoid passing EMailBackend as much as possible.
More mail API churn... reversing some previous API decisions.

I've made some key API changes to EMailSession on the account-mgmt
branch which should allow for this, and will hopefully also benefit
the "email-factory" branch.

EMailBackend barely needs to exist anymore, except as the owner of
EMailSession.

For several low-level functions, we replace its EMailBackend parameter
with EMailSession and EAlertSink parameters; the latter so it can still
pass user alerts up the chain.
2011-12-16 10:58:54 -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
f615000f6c EMFolderTreeModel: Don't use parameters in "get_default" functions.
Drop EMFolderTreeModel's "session" property now that it has a "backend"
property and call em_folder_tree_model_set_backend() where we used to
call em_folder_tree_model_set_session().

The session can still be obtained through e_mail_backend_get_session().
2011-09-26 11:45:11 -04:00
e0548d2570 Bug #351025 - Make the order of the mail accounts configurable 2011-09-26 11:45:59 +02:00
7e1d3d6dbc Bug #659555 - Add custom icons in a folder Subscription dialog 2011-09-26 10:28:26 +02:00
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
31a0072134 Bug 656720 - Exclude NNTP stores from Create Folder dialog 2011-08-17 23:31:01 -04:00
f3648e1cb5 Adapt to new CamelSubscribable interface. 2011-08-15 19:07:13 -04:00
daa63adeb7 EMFolderSelector: Add a "model" construct-only property. 2011-08-10 00:14:32 -04:00
7c6aa944e2 Bug #650671 - Service connect/disconnect not cancelled properly 2011-07-01 20:01:45 +02:00
b0044ca55a Fix few memory leaks 2011-06-15 14:38:44 +02:00
f014ab82c8 Coding style and whitespace cleanups. 2011-06-08 13:14:48 -04:00
a6e485712f Fixes a crash while creating VeeFolders at the root level. 2011-06-07 19:05:03 +05:30
95ec5734c1 Bug #649939 - Cann't create new folder 2011-05-31 11:10:38 +02:00
eb91ed9977 Check for vfolder stores by UID, not URI. 2011-05-25 12:14:32 -04:00
c6d8a03039 Let EMFolderSelector create its own EMFolderTree.
Also, minimize the EMFolderSelector API by removing frivolous wrapper
functions and unused functions.
2011-05-24 00:17:34 -04: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
61d1530c76 Remove emfu_create_folder_real().
Use e_mail_store_create_folder() instead.
2011-05-23 15:52:27 -04:00
cb97c2dc8f Coding style and whitespace cleanup. 2011-05-21 17:56:06 -04:00
86c9c4d793 Remove mail_remove_folder().
Use e_mail_folder_remove() instead.
2011-05-20 13:14:53 -04:00
f9a3112069 Bug #649939 - Cann't create new folder (second shot)
The previous patch worked for local account only, for anything
which has '@' in account's UID it still failed.
2011-05-11 17:38:16 +02:00
80d27e81c9 Bug #649939 - Cann't create new folder 2011-05-11 14:15:16 +02:00
8a186c3588 Coding style cleanups. 2011-05-08 13:37:20 -04:00
4cfb84c573 Whitespace and coding style cleanups. 2011-05-07 18:48:38 -04:00
c7b455de89 Adapt to CamelFolder:name -> display-name. 2011-05-07 11:15:51 -04:00
6d44258b85 em_folder_utils_create_folder(): Change function parameters.
Take a folder URI string instead of a CamelFolderInfo, and swap places
with the GtkWindow parameter.
2011-05-06 12:34:33 -04:00
308f972f08 em_folder_utils_copy_folder(): Change function parameter.
Take a folder URI string instead of a CamelFolderInfo.
2011-05-06 12:23:21 -04:00
77397e699d Adapt to extra arg in camel_session_get_service_by_url(). 2011-04-29 09:49:38 -04:00
397aeade05 Adapt to CamelService changes. 2011-04-21 07:45:45 -04:00
ea0fdf21ec Adapt to sealed up CamelService. 2011-04-17 13:13:55 -04:00
d44fb9e2cf Bug 647816 - Moving folder hierarchy causes error
When *moving*, as opposed to copying, we only need to operate on the top-level
folder; its children will automatically follow it.
2011-04-15 15:00:07 +01:00
94e43758de Bug #638333 - Critical warning when invoking File->New->Mail Folder 2011-02-16 13:14:49 +01:00
c211a974e3 Kill em_folder_utils_unsubscribe_folder().
Use e_mail_session_unsubscribe_folder() instead.
2010-10-31 22:54:30 -04:00
95d422b0c0 Bug #633371 - Remote pop folder no longer emptied 2010-10-29 09:08:52 +02:00
c881b5bc5e Simplify EActivity.
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.

I'm also adding a new enum property called "state", which is one of:

    E_ACTIVITY_RUNNING
    E_ACTIVITY_WAITING
    E_ACTIVITY_CANCELLED
    E_ACTIVITY_COMPLETED

The state of an activity must be explicitly changed.  In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled").  EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.

E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
2010-10-22 14:21:22 -04:00
ec170e47fd Move more account utilities to e-account-utils.c. 2010-10-18 12:32:38 -04:00