aboutsummaryrefslogtreecommitdiffstats
path: root/libemail-engine/mail-folder-cache.c
Commit message (Collapse)AuthorAgeFilesLines
* Bug 704682 - Runtime warning in MailFolderCacheMatthew Barnes2013-07-281-5/+10
|
* Reimplement mail_folder_cache_note_store().Matthew Barnes2013-07-191-187/+230
| | | | | | | * Use GIO-style async parameters. * Add mail_folder_cache_note_store_finish(). * Do the bulk of the work in a thread so the logic is more readable. * Queue multiple calls for the same CamelStore and share the results.
* MailFolderCache: Fix a crash when renaming folders.Matthew Barnes2013-07-191-1/+1
|
* MailFolderCache: Make UpdateClosure less cryptic.Matthew Barnes2013-07-181-44/+62
| | | | | Directly indicate the signal ID to be emitted from the update callback instead of playing silly games with boolean flags.
* MailFolderCache: Thread-safety improvements and other cleanups.Matthew Barnes2013-07-181-404/+803
| | | | | | | | | | * Stop using recursive mutexes. * Give StoreInfo a reference count. * Give FolderInfo a reference count. * Track CamelFolders with GWeakRef instead of weak pointers. * Submit updates directly to the GMainContext, like we do in EDS, instead of dequeuing them all from a single idle callback that we then have to track.
* MailFolderCache: Remove unnecessary "stores" checks.Matthew Barnes2013-07-181-16/+2
| | | | | The "stores" hash table is created on instance init and destroyed with the cache itself. It is never NULL during MailFolderCache's lifetime.
* mail_folder_cache_get_folder_info_flags: Change parameters.Matthew Barnes2013-07-181-48/+32
| | | | | | | | Take a CamelStore and folder name instead of a CamelFolder. CamelStore and folder name can easily be obtained from either a folder URI or a CamelFolder instance, and the function is more efficient with separate parameters.
* Add mail_folder_cache_ref_folder().Matthew Barnes2013-07-181-20/+30
| | | | | | | | Replaces mail_folder_cache_get_folder_from_uri(). Returns the CamelFolder for the CamelStore and folder name if available, or else NULL if a CamelFolder instance is not yet cached. This function does not block.
* Add mail_folder_cache_has_folder_info().Matthew Barnes2013-07-181-0/+38
| | | | | | | | | Returns whether MailFolderCache has information about the folder described by the CamelStore and folder name. This does not necessarily mean it has the CamelFolder instance, but it at least has some meta-data about it. You can use this function as a folder existence test.
* MailFolderCache: Add a read-only "main-context" property.Matthew Barnes2013-07-181-0/+60
| | | | | | New functions: mail_folder_cache_ref_main_context()
* MailFolderCache: Remove the "session" property.Matthew Barnes2013-07-181-128/+40
| | | | | | | | | | | | | | | | | | I considered replacing the "session" property with a "registry" property, but that just complicates application startup even more. Fact is, if we have a CamelStore then we can get the CamelSession and even the ESourceRegistry from it. Kinda dirty, but works. It goes a little something like this... camel_service = CAMEL_SERVICE (camel_store); camel_session = camel_service_get_session (camel_service); mail_session = E_MAIL_SESSION (camel_session); registry = e_mail_session_get_registry (mail_session); Removed functions: mail_folder_cache_get_session()
* MailFolderCache: Remove unused "unsub" field.Matthew Barnes2013-07-181-6/+3
|
* Remove unused mail_folder_cache_get_folder_has_children().Matthew Barnes2013-07-181-36/+0
|
* Bug #687412 - Crash under mail_folder_cache_service_removed()Milan Crha2013-03-251-2/+8
|
* Use camel_service_ref_session().Matthew Barnes2013-02-111-7/+21
|
* G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.Matthew Barnes2013-02-091-2/+3
| | | | | | GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore for our purpose, G_PRIORITY_HIGH_IDLE is sufficient.
* Add comments around g_idle_add() changesMilan Crha2013-02-091-0/+1
|
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-091-2/+2
|
* Revert "Bug #683867 - Schedule actions with higher idle priority"Matthew Barnes2013-02-081-2/+2
| | | | | | | | | This reverts commit 2b507716b257e6ef98dae8463180dbe718eb7b64. The commit contains not a single comment as to why these custom priority values are being used. The rationale needs to be documented in the code, either at each call point or preferrably at a centralized priority value definition.
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-081-2/+2
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Replace deprecated GLib symbols (as of GLib 2.34.x)Milan Crha2012-11-061-45/+45
|
* MailFolderCache: Silently ignore cancellation errors.Matthew Barnes2012-10-181-1/+5
|
* MailFolderCache: Remove dead code.Matthew Barnes2012-08-281-6/+0
| | | | No comment as to why it's disabled => has no value.
* MailFolderCache: Remove some unnecessary #includes.Matthew Barnes2012-08-281-3/+0
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-201-14/+15
|
* Always notify about finished updated_folders() callMilan Crha2012-07-101-8/+5
|
* Bug 677995 - Asks password for disabled mail accountMatthew Barnes2012-06-131-11/+0
| | | | | | | | | | | | Remove mail_folder_cache_service_added() and rely instead on mail_folder_cache_service_enabled()/disabled(). Despite the function names the folder cache doesn't actually care about enabled status, it simply maintains a set of CamelStores to monitor. We should refactor the folder cache API to better reflect that. EMailAccountStore always immediately follows a "service-added" signal emission with either a "service-enabled" or "service-disabled" emission, which will add or remove the service from the folder cache.
* Adapt to single-include E-D-S libraries.Matthew Barnes2012-06-041-1/+1
|
* Adapt mail to the new ESource API.Matthew Barnes2012-06-031-3/+8
|
* Bug #465076 - INBOX confusion with outboxMilan Crha2012-04-191-45/+45
|
* Coding style and whitespace cleanup.Matthew Barnes2012-02-201-4/+9
|
* Introduce libemail-engine and libemail-utils.Matthew Barnes2012-01-191-0/+1841
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.