aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-shell-backend.c
Commit message (Collapse)AuthorAgeFilesLines
* Bug #646109 - Fix use of include <config.h> to make sure translations workMilan Crha2011-05-271-0/+4
|
* Use em_folder_tree_get_selected() in places to simplify code.Matthew Barnes2011-05-251-24/+7
| | | | | | 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.
* EMFolderTree: Store an EMailBackend instead of an EMailSession.Matthew Barnes2011-05-241-10/+7
| | | | | | | | 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.
* Bug 650088 - Cannot send message from Contacts viewMatthew Barnes2011-05-171-0/+5
| | | | | | | | This starts up the EMailShellBackend whenever a new composer window is created. Normally this happens when switching to the Mail shell view, but if trying to send a message from a different shell view before the Mail shell view is ever activated, the mail accounts were not getting loaded and sending or saving the message to a mail folder would fail.
* em_folder_utils_create_folder(): Change function parameters.Matthew Barnes2011-05-071-1/+1
| | | | | Take a folder URI string instead of a CamelFolderInfo, and swap places with the GtkWindow parameter.
* Drop support for command-line 'email://' URIs.Matthew Barnes2011-05-061-106/+3
| | | | | I have no idea what this was used for, but it looks way too convoluted to be useful anymore.
* Remove 'from_uri' params from e-msg-composer-utils.c.Matthew Barnes2011-05-041-6/+33
| | | | | Pass CamelFolder objects instead, which are already available at almost every call site.
* EMailShellView: Open the selected folder ourselves.Matthew Barnes2011-05-031-1/+1
| | | | | | | | | | | | | | | | | This one's a little involved: - EMailShellView now obtains a CamelFolder itself in response to EMFolderTree::folder-selected signals. Uses EActivity to do so. - Revise EMFolderTree::folder-selected signal arguments to be more useful: emit a CamelStore object instead of a folder URI. - Also revise EMFolderTree::folder-activiated signal arguments the same way while we're at it. - Remove the "folder_uri" argument from e_mail_reader_set_folder(). If you have a CamelFolder object you can obtain the URI string by calling camel_folder_get_uri().
* Miscellaneous GtkAction-related cleanups.Matthew Barnes2011-03-281-2/+3
| | | | Prefer the newer GtkAction "set" functions over g_object_set().
* Coding style and whitespace cleanup.Matthew Barnes2011-03-061-1/+3
|
* Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedlyMilan Crha2011-02-251-8/+3
|
* Coding style and whitespace cleanup.Matthew Barnes2011-02-191-2/+8
|
* Bug #638333 - Critical warning when invoking File->New->Mail FolderMilan Crha2011-02-161-2/+13
|
* Avoid idle callbacks in EMailBackend initialization.Matthew Barnes2011-01-081-0/+6
| | | | | | | | 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.
* Bug #207580 - Allow new mail check on individual accountsMilan Crha2010-11-261-20/+0
|
* Reduce GConf usage in em-composer-utils.c.Matthew Barnes2010-10-201-13/+21
| | | | | | | | | | | | | | | | | | To reduce GConf usage in em-composer-utils.c: - Relevant functions in em-composer-utils.c now take arguments for reply and forward styles. - Redundant forwarding functions were removed: em_utils_forward_attached() em_utils_forward_inline() em_utils_forward_quoted() - EMailReader now has "forward-style" and "reply-style" properties, which get bound to the appropriate EShellSettings properties in modules/mail/e-mail-config-reader.c. These same EShellSettings properties are bound to the combo boxes in Composer Preferences.
* Send errors to an EAlertSink instead of the task bar.Matthew Barnes2010-10-191-3/+1
| | | | | | 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-1/+0
| | | | | | GObject now does property bindings itself. Requires GLib >= 2.26.
* Give MailSession a permanent home.Matthew Barnes2010-10-131-7/+25
| | | | | | | | | | | 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.
* Pass GCancellable to Camel.Matthew Barnes2010-09-281-1/+2
|
* Convert composer autosave to an EExtension.Matthew Barnes2010-09-031-8/+0
| | | | | | | | | | | | | | | | | | | Given the way the autosave feature was awkwardly bolted on to the composer, an EExtension seemed like a natural fit. And it helped clean up some object lifecycle hacks (and bugs). What we have now is a new module consisting of two EExtensions: EComposerAutosave extends EMsgComposer and determines when to kick off an asynchronous autosave operation. EComposerRegistry extends EShell and offers to restore orphaned autosave files on startup (which is also asynchronous now). e-autosave-utils.c holds the actual asynchronous functions and a few other miscellaneous utility functions. Source code for the new module lives in /modules/composer-autosave.
* Whitespace and coding style cleanup.Matthew Barnes2010-08-141-1/+0
|
* Fix a runtime warning.Matthew Barnes2010-08-141-2/+2
|
* Pass an EShell to EMsgComposer instances.Matthew Barnes2010-08-141-7/+19
| | | | Reduce the composer's dependency on e_shell_get_default().
* Defer the load / creation of configuration UI with changes toMichael Meeks2010-08-111-50/+36
| | | | | | | | | e_preferences_window to take factory callbacks and store a reference to the shell. - This makes start-up substantially faster, particularly on Atom (eg.). Remove a number of idle handlers used to create these UIs in the first instance, cleaning the code.
* Bug 619098 - mail_shell_backend_sync_store_cb() has wrong signatureJonathon Jongsma2010-06-181-0/+1
|
* Keep chipping away at direct GtkHTML usage.Matthew Barnes2010-06-011-2/+6
| | | | | | | | | | EMFormatHTML now holds a sealed EWebView instead of a public GtkHTML, accessible through em_format_html_get_web_view(). Rename e_mail_reader_get_html_display() to e_mail_reader_get_formatter() and have it return an EMFormatHTML instead of an EMFormatHTMLDisplay, since that's usually the type you want (or else an EMFormat, but never an EMFormatHTMLDisplay).
* Bug #499320 - Preview before import from command lineMilan Crha2010-05-191-0/+33
|
* Only #include Camel's top-level header.Matthew Barnes2010-04-031-4/+0
|
* Express: Composer always defaults to HTML modeMatthew Barnes2010-03-301-0/+11
| | | | | | Composer and signature editor always default to HTML in Express mode. Hide the corresponding composer preference. This will not affect the user preference in normal mode.
* Add an extension to configure EWebView.Matthew Barnes2010-03-231-15/+0
| | | | | Make EWebView extensible and register an extension to automatically bind every EWebView instance to the appropriate EShellSettings.
* Remove dead assignments found by clang.Matthew Barnes2010-01-161-3/+0
|
* Bug #597816 - Read/save search folders with labels properlyMilan Crha2010-01-051-0/+8
|
* Kill MailSession's interactive flag.Matthew Barnes2009-12-171-3/+0
| | | | | | | | | | | | After analyzing this again I'm confident we really don't need it. The only state change is from FALSE to TRUE at startup, and that one-time event happens while the mail shell backend is starting up (see: e_shell_backend_start()). If a need arises to query for this in the future I'll extend the EShellBackend API with an e_shell_backend_started() function, but for now there's no need.
* Move MailFolderCache signal handlers to EMailBackend.Matthew Barnes2009-12-171-77/+0
| | | | | 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-358/+155
| | | | | | | 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.
* Add MailFolderCache::folder-changed signalJonathon Jongsma2009-12-161-0/+55
| | | | | | | | | Yes, this signal is kind of an ugly monster. I'm not sure how to improve this significantly. But this commit removes the last EMFolderTreeModel and EShell dependencies from MailFolderCache, which is a big step towards splitting off the backend. https://bugzilla.gnome.org/show_bug.cgi?id=604627
* Remove mail-config, vfolder, and filter deps from mail-folder-cacheJonathon Jongsma2009-12-161-0/+22
| | | | | | | | | | | | | | | | | | Instead of pushing the updates to the right places, the folder cache simply emits the appropriate signals and other objects are responsible for listening and handling them appropriately. This allows us to cut down the dependencies of MailFolderCache significantly, which is a huge step towards allowing us to split it off for the backend. Another nice thing about this is that it allows us to trim a lot of 'public' api from the filter, vfolder, and config classes that were only used by the cache. Now that stuff can all be internal since they're pulling changes rather than having the changes pushed. The last remaining problematic dependency in MailFolderCache is EmFolderTreeModel. That is next on the chopping block. https://bugzilla.gnome.org/show_bug.cgi?id=604627
* Move mail migration code to libevolution-mail.so.Matthew Barnes2009-12-161-2/+2
| | | | So Anjal can reuse it.
* Port all error code to use GObject-ified EAlert / EAlertDialogJonathon Jongsma2009-12-081-1/+1
| | | | | | The changes are mainly including the e-alert-header.h header instead of just e-alert.h. This allows us to include e-alert.h in non-UI situations when necessary.
* Rename EError to EAlert to match general use betterJonathon Jongsma2009-12-011-2/+2
| | | | | | | | | | The EError mechanism is used both for error dialogs as well as basic alerts or user prompts, so we should give it a more general name which matches this use. This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that were not actually being used. https://bugzilla.gnome.org/show_bug.cgi?id=602963
* port modules/ to new EError API.Jonathon Jongsma2009-12-011-1/+1
| | | | | | This should be everything now. https://bugzilla.gnome.org/show_bug.cgi?id=602963
* Cleanup and rename filter classes.Matthew Barnes2009-10-271-1/+1
|
* Bug #397265 - Image loading for new contact requires restarting EvolutionMilan Crha2009-10-261-0/+1
|
* Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent'Milan Crha2009-10-131-15/+2
|
* Bug 595092 - Remove option to skip offline syncrhonization dialogMatthew Barnes2009-10-081-2/+1
|
* Bug #596753 - Autocompletion addressbooks not rememberedMilan Crha2009-09-301-0/+1
| | | | And select page in Edit->Preferences based on the active view.
* Bug #594573 - Label dropdown box in the rule editor does not workMatt McCutchen2009-09-101-1/+2
|
* Bug #586854 - Crash on File->Quit with empty_junk enabledRitesh Khadgaray2009-09-081-2/+2
|
* Relax the EBinding API to reduce GObject casting.Matthew Barnes2009-09-021-6/+6
| | | | | Also make it more fault-tolerant by warning about non-existent property names instead of just crashing.
* Get EConfig and EEvent hooks working again.Matthew Barnes2009-09-011-4/+9
| | | | | | | | | | | | | There were a number of problems: - Walk the GType tree to find EPluginHook subclasses, instead of just registering the immediate children. - Some EConfig and EEvent subclasses were not being configured properly (particularly the mail and calendar subclasses). - Add preference window pages after the main loop starts to make sure all plugins and plugin hooks are installed first.
* Simplify EPlugin loading at startup.Matthew Barnes2009-08-301-23/+8
| | | | | | | | | | | | | - Require all EPlugin and EPluginHook subtypes be registered before loading plugins. This drastically simplifies the EPlugin/EPluginHook negotiation. - Turn most EPluginHook subtypes into GTypeModules and register their types from an e_module_load() function (does not include shell hooks). - Convert EPluginLib and the Mono and Python bindings to GTypeModules and register their types from an e_module_load() function, and kill EPluginTypeHook.
* Exit if no command-line URIs are handled.Matthew Barnes2009-08-251-1/+1
|
* BugĀ 592032 - Marks message as read when preview is offMatthew Barnes2009-08-181-2/+1
|
* Fix compiler warnings and deprecated GTK+ API usage.Matthew Barnes2009-08-161-0/+1
|
* Kill a debug message.Matthew Barnes2009-07-181-2/+0
|
* Implement the mail backend's quit strategy.Matthew Barnes2009-07-171-0/+203
|
* Prompt when exiting with unsent messages.Matthew Barnes2009-07-171-0/+48
|
* Kill the global EMailShellBackend variable. Yay!Matthew Barnes2009-07-141-8/+0
|
* Implement the shutdown protocol and stub in session management.Matthew Barnes2009-07-111-2/+0
| | | | | The shutdown protocol is modelled after online/offline preparation. Session management code is copied from libegg. Not yet used.
* Get the "startup-wizard" plugin working again.Matthew Barnes2009-06-301-24/+0
|
* Radically reorganize source code.Matthew Barnes2009-06-251-0/+787
- Collect all shell modules into a new top-level 'modules' directory: $(top_srcdir)/modules/addressbook $(top_srcdir)/modules/calendar $(top_srcdir)/modules/mail Nothing is allowed to link to these, not plugins nor other modules. THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X. - Mimic the libevolution-mail-shared library from master (except drop the "shared" suffix) and have libevolution-mail-importers and all mail-related plugins link to it. - Discard the a11y subdirectories and have the files live alongside their counterpart widgets.