Commit Graph

141 Commits

Author SHA1 Message Date
5ebf0fd3c3 Add EMailFolderCreateDialog.
Subclass of EMFolderSelector, replaces em_folder_utils_create_folder().
2014-03-26 20:24:34 -04:00
a0015666b9 EMFolderSelector: Remove 'title' argument when creating.
Just call gtk_window_set_title() after creating the dialog.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:34 -04:00
7624730674 EMFolderSelector: Add a "default-button-label" property.
Replaces the 'oklabel' argument when creating a new dialog, and can be
changed after the dialog is created.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
c70e8e9ea2 EMFolderSelector: Add a "caption" property.
Replaces the 'text' argument when creating a new dialog, and can be
changed after the dialog is created.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
5747a285f7 EMFolderSelector: Add a "can-create" property.
Replaces the EM_FOLDER_SELECTOR_CAN_CREATE flag, and can also be set
after the selector dialog is instantiated.

This makes EMFolderSelector a little more "subclassable".
2014-03-26 20:24:33 -04:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05:00
c134c41bcd EMFolderTreeModel: Declare the CamelStore column as an object type.
Declaring the CamelStore column as a raw pointer type dates back to
before Camel was GObject-based.  The problem is the CamelStore could
be finalized while the tree model still has a pointer to it, leaving
behind dangling pointers in the tree model which could cause a crash.

Declaring the column type in the column enum turned out to be a good
idea, as it makes code that needs updated easy to find.  This renames
the enum value from COL_POINTER_CAMEL_STORE to COL_OBJECT_CAMEL_STORE.
2013-11-16 19:24:02 -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
82010c57ec Adapt to Camel API changes. 2013-09-23 12:03:17 -04:00
5136f4e554 Fix folder name encoding in em_folder_utils_create_folder().
When creating a top-level folder, the folder name was still URI-encoded.
So for example "Top Level Folder" was coming out "Top%20Level%20Folder".

The em_folder_tree_store_root_selected() "if" branch is uncommented and
looks unnecessary to me, so I'm removing it.  Always parse the URI with
e_mail_folder_uri_parse(), which produces a decoded folder name.
2013-09-08 13:26:24 -04:00
b4870d386c Bug #706814 - Do not use folder uri in copy/move folder errors 2013-08-29 09:36:55 +02:00
aa25597235 Bug #659715 - Reject folder copy/move in offline 2013-08-27 01:52:02 +02: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
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