Commit Graph

391 Commits

Author SHA1 Message Date
018018fabe Remove more Express Mode hacks.
This removes all traces of Express Mode from all but the contact editor
and calendar appointment editor.  Need to evaluate the remaining cases
individually.
2013-03-31 12:10:54 -04: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
ab3f65a15e Address couple issues found by a Coverity scan 2012-11-30 15:30:45 +01:00
d50deaf449 Avoid gdk_window_get_pointer().
Use gdk_window_get_device_position() instead.
2012-11-29 09:12:30 -05:00
953c9d8adf Avoid gtk_tree_view_get_vadjustment().
Use gtk_scrollable_get_vadjustment() instead.
2012-11-29 09:12:30 -05:00
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
a5bbf35da5 Fix all 'may be used uninitialized' compiler warnings 2012-08-20 13:06:23 +02:00
c85109fc32 Coding style and whitespace cleanup. 2012-08-19 14:17:55 -04:00
6be2668e48 Adapt to CamelSession API changes.
These functions now return new references:

  camel_session_add_service()
  camel_session_list_services()

These functions have been renamed and also return new references:

  camel_session_get_service()        -> camel_session_ref_service()
  camel_session_get_service_by_url() -> camel_session_ref_service_by_url()
2012-08-12 11:44:37 -04:00
3afa4cdd95 Remove em_folder_tree_get_selected_folder().
The function blocks, lacks a "sync" suffix and GCancellable and GError
arguments.  Not fit for use.  Kill it.
2012-07-09 08:44:22 -04:00
40055efcb6 Bug #676563 - Cannot create folders directly under store node 2012-06-07 11:42:48 +02:00
f62371c4d7 Whitespace cleanups. 2012-06-02 07:55:43 -04:00
71924fc487 Fix memory leaks around gtk_tree_model_get() function 2012-05-31 10:44:49 +02:00
c84be7f376 Avoid New unread icon emblem on virtual folders 2012-05-24 08:58:13 +02:00
89777f0726 Whitespace cleanups. 2012-05-13 09:15:42 -04:00
f9005e21f6 EMFolderTree: Avoid using COL_STRING_URI. 2012-04-08 14:54:02 -04:00
9585c43f4e mail/state.ini: Remember stores by UID instead of URI.
This breaks backward compatibility slightly by changing the way the
folder tree "expanded" state for CamelStores is remembered.  Instead of
naming the [Store ...] key file group after the CamelStore's URI string,
we now name it after its UID string.
2012-04-08 14:54:02 -04:00
37e79dec82 Bug #245025 - Popup confirmation when moving a folder (via drag and drop) 2012-04-06 18:31:41 +02: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
23f5773903 Coding style and whitespace cleanup. 2012-02-20 10:04:25 -05: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
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
f278751c73 Remove unnecessary 'vfolder_store' declaration. 2011-12-07 10:53:57 -05:00
f9ffebc2f7 Mail widget cleanups. 2011-11-22 00:12:36 -05:00
2b7bb054f0 e-mail-store.c: Take EMailSession instead of EMailBackend.
My apologies for flip-flopping the API again.

e-mail-store.c functions used to take an EMailSession, then I changed
it to take an EMailBackend in preparation for my account-mgmt branch.

Having rethought some API decisions on the branch, however, the first
flip-flop proved to be unnecessary.  And now Srini needs the API to use
EMailSession for his mail-factory branch, so I'm flip-flopping again.
2011-10-26 12:46:13 -04:00
ee5ca188d5 Bug #455271 - A moved/renamed mail folder loses focus 2011-10-13 11:57:17 +02:00
e2b6ff7a6c Miscellaneous cleanups from the account-mgmt branch.
Reducing diff noise so I can see important changes easier when comparing
branches.  A few API changes, but nothing that affects functionality.
2011-09-27 09:31:13 -04: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
fcbbdfbd18 Coding style and whitespace cleanup. 2011-09-04 07:34:32 -04:00
f67a5f3d42 Miscellaneous cleanups.
Reducing diff noise with the account-mgmt branch.

Trying to erode our dependency on EAccount as much as possible, or at
least isolate its usage, to make things easier for me on the branch.
2011-08-30 20:35:11 -04:00
f20ec31e20 Bug 656718 - Runtime warning in folder_tree_get_folder_info_cb()
If we've just set up an NNTP account and haven't subscribed to any
folders yet, the folder_info tree may legitimately be NULL.  Don't
treat it as an error.
2011-08-17 19:10:28 -04:00
c961b23dcd Add em_folder_tree_new_with_model().
This is so an EMFolderTree can be created with a custom model, such as
perhaps only a subset of available stores added.
2011-08-10 00:14:32 -04:00
036fe441e0 EMFolderTree: Clean up initialization logic.
Some things are getting initialized too early.  Not causing any bugs at
present, but it's bad form.  Defer non-trivial initialization steps to
the constructed() method.
2011-08-10 00:14:32 -04:00
2ac4b89c28 EMFolderTree: Miscellaneous cleanups. 2011-08-10 00:14:32 -04: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
0c3aa86625 Do not add 'Local delivery' accounts into folder tree
And make folder_tree_get_folder_info_cb() always finish properly,
because evolution doesn't want to quit otherwise.
2011-06-01 23:30:23 +02:00
96822fce5e Fix more places where old-style folder URIs are used. 2011-05-31 15:40:51 -04:00
95ec5734c1 Bug #649939 - Cann't create new folder 2011-05-31 11:10:38 +02:00
765d58d528 Remove display_name from EMFolderTreeModelStoreInfo.
It was only being used to look up an EAccount UID, but we already had
the CamelStore, and the CamelStore UID is the same as the EAccount UID.
2011-05-28 09:51:24 -04:00
eb91ed9977 Check for vfolder stores by UID, not URI. 2011-05-25 12:14:32 -04:00
a9dff2f33a Use em_folder_tree_get_selected() in places to simplify code.
There were a few places where we were accessing the folder tree model
directly to get the selected store + folder name, or were asking for the
selected URI only to parse back into its store + folder name components.
2011-05-24 19:41:59 -04:00
b6fecfcd53 Remove em_folder_tree_get_selected_path().
em_folder_tree_get_selected() supercedes it.
2011-05-24 16:16:59 -04:00
7dbc147e26 Add em_folder_tree_get_selected().
Returns the CamelStore and folder name of the selected row.
2011-05-24 16:14:59 -04:00
47c740b2ba EMFolderTree: Rewrite async folder info loading.
When a folder is expanded and child folder info needs to be retrieved,
submit an EActivity and call camel_store_get_folder_info() instead of
using the legacy MailMsg API.
2011-05-24 14:10:00 -04:00
1d7900e57e Add em_folder_tree_new_activity().
Similar to e_mail_reader_new_activity().  Creates, configures and
submits a new EActivity instance, so asynchronous operations can easily
be dispatched without a lot of boilerplate code.
2011-05-24 11:55:19 -04:00