aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-backend.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove mail_cancel_all().Matthew Barnes2013-11-281-27/+25
| | | | | | Turns out this function was a no-op, because nothing registered itself to be cancelled this way. This was part of the legacy async framework, which we've mostly moved away from now.
* Fix/mute issues found by Coverity scanMilan Crha2013-11-151-1/+5
| | | | | | | | | | | | This makes the code free of Coverity scan issues. It is sometimes quite pedantic and expects/suggests some coding habits, thus certain changes may look weird, but for a good thing, I hope. The code is also tagged with Coverity scan suppressions, to keep the code as is and hide the warning too. Also note that Coverity treats g_return_if_fail(), g_assert() and similar macros as unreliable, and it's true these can be disabled during the compile time, thus it brings in other set of 'weird' changes.
* EMailBackend: Camel no longer has a "network-available" property.Matthew Barnes2013-11-141-5/+1
|
* Convert libemail-engine to a single-include model.Matthew Barnes2013-11-121-7/+0
| | | | Use: #include <libemail-engine/libemail-engine.h>
* Bug 710797 - Name all the timeouts added with g_timeout_add()Bastien Nocera2013-10-301-5/+7
|
* Bug #215115 - Per-folder From: email addressMilan Crha2013-10-081-1/+33
| | | | | | The change also allows setting accounts for certain recipients (based on a part of the recipient address). The option can be found in Folder Properties and in Edit->Preferences->Composer Preferences->Send Account.
* mail_folder_cache_get_folder_info_flags: Change parameters.Matthew Barnes2013-07-181-12/+2
| | | | | | | | 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-17/+12
| | | | | | | | 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.
* Set network-available on a CamelSession when going onlineMilan Crha2013-06-271-0/+1
| | | | | | | The network-available property was unset when going offline, but never set again, which caused download of messages for offline use broken, because it downloads for offline only if the network-available is set.
* Coding style and whitespace cleanup.Matthew Barnes2013-05-081-1/+1
|
* Bug #697710 - Going offline doesn't disconnect remote storesMilan Crha2013-04-111-10/+12
|
* Remove more Express Mode hacks.Matthew Barnes2013-04-011-5/+0
| | | | | | This removes all traces of Express Mode from all but the contact editor and calendar appointment editor. Need to evaluate the remaining cases individually.
* Remove emu_free_mail_cache().Matthew Barnes2013-02-271-13/+1
| | | | No longer needed, since the resources it frees are no longer used.
* Bug #692777 - Crash on folder renameMilan Crha2013-01-291-3/+3
|
* Coding style and whitespace cleanup.Matthew Barnes2013-01-111-1/+1
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Do not empty trash/delete junk in disabled accounts on exitMilan Crha2012-12-051-2/+31
|
* Bug #678606 - Crash under mail_backend_folder_deleted_cb()Milan Crha2012-12-031-0/+3
|
* Fix typo in 'activity' word (macro/function/variable names)Milan Crha2012-09-101-9/+9
|
* Bug #682425 - Can do network operations on disabled accountsMilan Crha2012-09-051-49/+42
|
* Bug #679780 - Offline mode doesn't work in mailerMilan Crha2012-09-051-5/+0
|
* Coding style and whitespace cleanup.Matthew Barnes2012-09-011-2/+12
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-201-1/+1
|
* Adapt to CamelSession API changes.Matthew Barnes2012-08-121-15/+23
| | | | | | | | | | | | 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()
* Bug #677695 - Crash on quit under emu_free_mail_cache()Milan Crha2012-08-081-1/+1
| | | | | | | This is reverting previous patch for this bug and fixes it with a different approach. The previous patch had regression, instead of freezing evolution on quit it crashed it when there was pending addressbook lookups.
* Avoid crash on folder renameMilan Crha2012-07-101-1/+1
|
* Bug 678606 - Crash under mail_backend_folder_deleted_cb()Matthew Barnes2012-07-071-0/+3
|
* Adapt to CamelStore API change.Matthew Barnes2012-07-071-6/+6
| | | | compare_folder_name() -> equal_folder_name()
* Fix some memory leaksDan Vrátil2012-06-181-2/+9
|
* Adapt to single-include E-D-S libraries.Matthew Barnes2012-06-041-4/+0
|
* Adapt mail to the new ESource API.Matthew Barnes2012-06-031-96/+150
|
* Whitespace cleanups.Matthew Barnes2012-03-031-1/+1
|
* Move vfolders to libemail-engine and rest as mail-vfolder-ui. It all works andSrinivasa Ragavan2012-03-031-2/+16
| | | | | the daemon can now start the vfolder storage without bothering much with the UI.
* Move EAlert* and e-xml-utils references from other part of the code to ↵Srinivasa Ragavan2012-03-031-2/+2
| | | | libevolution-utils.
* Coding style and whitespace cleanup.Matthew Barnes2012-02-201-6/+19
|
* Bug 668480 - Going to online from offline connects disabled accountsMatthew Barnes2012-01-251-0/+8
|
* EMailBackend: Make sure all background jobs have descriptions.Matthew Barnes2012-01-211-0/+10
| | | | | | | | | | | | All background jobs should appear in the task bar with a description. Some CamelServices (esp. imapx) are submitting lots of background jobs but never pushing a status message on its CamelOperation. This commit is to flush them out so we can find and fix them, and also so we can clearly see what's *really* going on in the background. All background jobs are now given an initial generic description which should never appear in the user interface. The callback function must call camel_operation_push_message() to override it or else it's a bug.
* Coding style and whitespace cleanup.Matthew Barnes2012-01-191-13/+13
|
* Introduce libemail-engine and libemail-utils.Matthew Barnes2012-01-191-21/+172
| | | | | | | 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.
* Avoid passing EMailBackend as much as possible.Matthew Barnes2011-12-161-50/+43
| | | | | | | | | | | | | | | 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.
* EMailSession: Add "activity-added" signal.Matthew Barnes2011-12-161-1/+9
| | | | | EMailBackend catches these signals and forwards the EActivity to e_shell_backend_add_activity().
* Reorder accounts by drag-and-drop.Matthew Barnes2011-12-111-97/+90
| | | | | | | | | | | | | | | | | | | | | 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.
* e-mail-store.c: Take EMailSession instead of EMailBackend.Matthew Barnes2011-10-271-4/+7
| | | | | | | | | | | 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.
* Bug #527614 - Valgrind shows a nice amount of lost memoryMilan Crha2011-10-201-6/+9
|
* Adapt to CamelFolderSummary API changesMilan Crha2011-10-061-1/+1
|
* GtkApplication has some new EShell-like features.Matthew Barnes2011-10-061-2/+8
| | | | | | | | | | | | | | | | | | I pushed a few EShell features up to GtkApplication for GTK+ 3.2, so we can now trim off the redundancies in EShell. 1) GtkApplication has a new "window-added" signal which replaces EShell's own "window-created" signal. 2) GtkApplication has a new "window-removed" signal which replaces EShell's own "window-destroyed" signal. 3) gtk_application_get_windows() now returns a list of windows sorted by most recently focused, replacing e_shell_get_watched_windows(). 4) GtkApplication now provides enough hooks to subclasses that we can remove e_shell_watch_window() and call gtk_application_add_window() directly.
* Miscellaneous cleanups from the account-mgmt branch.Matthew Barnes2011-09-271-8/+6
| | | | | Reducing diff noise so I can see important changes easier when comparing branches. A few API changes, but nothing that affects functionality.
* EMFolderTreeModel: Don't use parameters in "get_default" functions.Matthew Barnes2011-09-261-3/+7
| | | | | | | | 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().
* Bug #351025 - Make the order of the mail accounts configurableMilan Crha2011-09-261-5/+30
|
* Consolidate MailFolderCache signal handlers.Matthew Barnes2011-09-021-0/+177
| | | | | | | Merging the "folder-deleted" and "folder-renamed" signal handlers in mail-config.c into the ones in e-mail-backend.c makes the account-mgmt branch a little easier, since e-mail-backend.c has resources I can't easily get to from mail-config.c.
* e_mail_store_foreach(): Take an EMailSession parameter.Matthew Barnes2011-08-181-4/+8
| | | | | | Use camel_session_list_services() instead of the internal store table. The store table serves little purpose nowadays and could probably be removed. I'll look into that later.
* Use new CamelService:display-name property.Matthew Barnes2011-08-181-8/+4
| | | | Simplify, simplify...
* EMailBackend: Explicitly remove CamelServices during dispose.Matthew Barnes2011-07-151-0/+2
| | | | | | Calling camel_session_remove_services() while disposing of our CamelSession instance can help break reference cycles and ensures the CamelServices get finalized properly.
* Change EMEventTargetFolder contents.Matthew Barnes2011-05-301-11/+6
| | | | | | Give it a CamelStore and folder name instead of an EAccount and folder URI. Both the EAccount and folder URI can be easily retrieved from the CamelStore and folder name.
* Bug #646109 - Fix use of include <config.h> to make sure translations workMilan Crha2011-05-271-0/+4
|
* Remove mail_remove_folder().Matthew Barnes2011-05-211-1/+1
| | | | Use e_mail_folder_remove() instead.
* Add e_activity_handle_cancellation().Matthew Barnes2011-05-121-2/+2
| | | | | | | | Convenience function for use in GAsyncReadyCallback functions. This acknowledges the cancellation, so that the activity's description changes from "(cancelling)" to "(cancelled)" and the description appears crossed out in the UI for a moment before disappearing.
* Whitespace and coding style cleanups.Matthew Barnes2011-05-081-1/+2
|
* MailFolderCache: Drop folder URI in "folder-changed" signal.Matthew Barnes2011-05-071-1/+6
| | | | | We already include a CamelStore and folder name string in the signal arguments, so it's trivial to reconstruct the URI if it's needed.
* MailFolderCache: Emit folder names instead of URIs in signals.Matthew Barnes2011-05-061-5/+6
|
* EMEventTargetFolder: Add an EAccount member.Matthew Barnes2011-05-031-1/+6
| | | | | The mail-notification plugin can use the EAccount member directly instead of searching for it by URI.
* EMailBackend: Ignore cancelled background jobs.Matthew Barnes2011-04-251-1/+4
|
* Adapt to new CamelSession background job API.Matthew Barnes2011-04-241-4/+113
|
* Do not prompt for offline when mail backend not startedMilan Crha2011-03-091-1/+1
|
* Coding style and whitespace cleanup.Matthew Barnes2011-03-061-1/+2
|
* Do not flush Outbox when mail shell backend not startedMilan Crha2011-03-041-1/+4
|
* Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedlyMilan Crha2011-02-251-7/+3
|
* Remove NULL checks for GObject methods.Matthew Barnes2011-02-131-4/+4
| | | | | As of GLib 2.28 all GObject virtual methods, including constructed(), are safe to chain up to unconditionally. Remove unnecessary checks.
* Coding style and whitespace cleanup.Matthew Barnes2011-01-301-2/+4
|
* Bug #638808 - camel_shutdown() called too earlyMilan Crha2011-01-111-1/+10
|
* Avoid idle callbacks in EMailBackend initialization.Matthew Barnes2011-01-081-21/+0
| | | | | | | | If the migration phase has to show a dialog the idle callback for intializing mail stores will run too soon. Instead, hook it onto the EShellBackend start() method. Migration code can initialize mail stores early if it needs to.
* Free/busy meeting view doesn't work due to non-working extensionMilan Crha2010-12-061-0/+3
|
* Bug #620609 - Empty trash at exit doesn't workMilan Crha2010-11-301-4/+4
|
* Bug #632781 - Cannot disable search foldersMilan Crha2010-11-101-2/+0
|
* Pass an EAlertSink to e_alert_sink_submit_alert().Matthew Barnes2010-11-011-1/+2
| | | | | | | Passing a random GtkWidget and then searching its ancestors for an EAlertSink turned out to be not as useful as I thought. Most of the time we know about and have access to the widget that implements EAlertSink, so just pass it directly as an EAlertSink.
* Kill mail_store_set_offline().Matthew Barnes2010-10-231-17/+23
| | | | | | | | | | Replace it with new async functions: e_mail_store_go_offline() e_mail_store_go_offline_finish() e_mail_store_go_online() e_mail_store_go_online_finish()
* Collect mail enum types in e-mail-enums.h.Matthew Barnes2010-10-191-1/+2
| | | | | | | | | And generate GTypes for each of them in e-mail-enumtypes.[ch]. Also, the glib-gen.mak script forced me to add a <mail/e-mail.h> top-level header, which really isn't a bad idea anyway. TODO: We should do this for calendar and addressbook too.
* Send errors to an EAlertSink instead of the task bar.Matthew Barnes2010-10-191-12/+54
| | | | | | This marks the end of unintrusive error dialogs, which were too unintrusive. We now show errors directly in the main window using the EAlert / EAlertSink framework.
* Replace EBinding with GBinding.Matthew Barnes2010-10-141-2/+4
| | | | | | GObject now does property bindings itself. Requires GLib >= 2.26.
* Give MailSession a permanent home.Matthew Barnes2010-10-131-46/+119
| | | | | | | | | | | 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.
* Remove some unused bits from mail-mt.c.Matthew Barnes2010-09-301-2/+2
|
* Adapt to Camel API changes.Matthew Barnes2010-09-281-2/+2
|
* Pass GCancellable to Camel.Matthew Barnes2010-09-281-1/+2
|
* Coding style cleanups.Matthew Barnes2010-09-131-1/+1
|
* Remove unused variable.Matthew Barnes2010-07-281-1/+0
|
* Migrate ~/.evolution to XDG base directories.Matthew Barnes2010-07-271-2/+14
| | | | | Migration runs just before the main loop starts. It's just a sequence of local directory and file renames.
* More code cleanup.Matthew Barnes2010-07-271-0/+1
|
* Drop the "quote-from-selection" property.Matthew Barnes2010-07-261-1/+0
| | | | | David's solution is simpler: check if the HTML widget is mapped. Avoids having to propagate the property to Srini's new classes.
* Bug #534369 - [new-mail-notify] Intermittent notificationsMilan Crha2010-06-151-1/+1
|
* Bug 603468 - Improve handling of --quit optionMatthew Barnes2010-06-131-0/+5
|
* Merge branch 'express2'Matthew Barnes2010-05-271-0/+6
|\
| * Coding style and whitespace cleanup.Matthew Barnes2010-05-251-2/+2
| |
| * Don't show mail alerts on calendar view in express mode.Srinivasa Ragavan2010-04-301-0/+6
| |
* | Adapt to Camel API changes.Matthew Barnes2010-05-081-20/+3
| | | | | | | | | | This also removes the boxed CamelObject GType, since CamelObject is an honest-to-goodness GObject now.
* | Adapt to Camel API changes.Matthew Barnes2010-04-301-6/+1
| |
* | Camel is now GObject-based.Matthew Barnes2010-04-241-1/+1
| |
* | Only #include Camel's top-level header.Matthew Barnes2010-04-031-2/+0
|/
* Bug 361145 - Evolution hangs when formatting message - fixes part of it.Chenthill Palanisamy2009-12-281-1/+1
|
* Coding style and whitespace cleanup.Matthew Barnes2009-12-261-1/+3
|
* Remove the EShellBackend parameter from mail_session_init()Jonathon Jongsma2009-12-211-1/+1
| | | | | | Last shell-related dep killed in MailSession https://bugzilla.gnome.org/show_bug.cgi?id=604952
* The shell backend is responsibile for setting the MailSession onlineJonathon Jongsma2009-12-211-0/+2
| | | | | | | | Previously the mail session set itself online inside mail_session_init() by checking whether the shell was online. This removes one more dependency from MailSession to EShell by moving that responsibility up one level. https://bugzilla.gnome.org/show_bug.cgi?id=604952
* Move the gross hack for EAccountComboBox up a levelJonathon Jongsma2009-12-211-0/+3
| | | | | | | | This hack really needs to be fixed correctly, but I can't think of a good solution for now. So at the very least, move the hack up a level where it won't cause dependency problems for the mail-to-eds split. https://bugzilla.gnome.org/show_bug.cgi?id=604952
* Implement get_data/config_dir vfuncs for mail backendJonathon Jongsma2009-12-191-0/+17
| | | | | | Now the backend specifies the data dir for the mail module. Obviously it uses the same directory as it previously used, it's just that the responsibility for defining that value has moved to a different place.
* Move MailFolderCache signal handlers to EMailBackend.Matthew Barnes2009-12-171-0/+87
| | | | | Move the MailFolderCache signal handlers from EMailShellBackend down to EMailBackend (in libevolution-mail.so) to share with Anjal.
* Introduce EMailBackend into libevolution-mail.Matthew Barnes2009-12-161-0/+408
EMailBackend is an abstract subclass of EShellBackend that handles online and offline modes and application shutdown. Placing this in the shared mail library allows Anjal to reuse it. Evolution's mail module further extends this class as EMailShellBackend.