Commit Graph

36 Commits

Author SHA1 Message Date
4f01d3d182 Keep chipping away at direct GtkHTML usage.
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).
2010-05-31 12:01:49 -04:00
ef7690c384 Bug #499320 - Preview before import from command line 2010-05-18 22:47:29 +02:00
fabb6b035c Only #include Camel's top-level header. 2010-04-02 16:59:20 -04:00
c516014a5a Express: Composer always defaults to HTML mode
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.
2010-03-30 09:25:30 -04:00
7094f32df1 Add an extension to configure EWebView.
Make EWebView extensible and register an extension to automatically
bind every EWebView instance to the appropriate EShellSettings.
2010-03-22 12:03:46 -04:00
cae22334fa Remove dead assignments found by clang. 2010-01-15 21:50:05 -05:00
ac07595af4 Bug #597816 - Read/save search folders with labels properly 2010-01-05 14:40:19 +01:00
f65f8935bc Kill MailSession's interactive flag.
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.
2009-12-16 13:39:39 -05:00
2a7f68fe45 Move MailFolderCache signal handlers to EMailBackend.
Move the MailFolderCache signal handlers from EMailShellBackend down to
EMailBackend (in libevolution-mail.so) to share with Anjal.
2009-12-16 13:29:17 -05:00
0eb2649bde Introduce EMailBackend into libevolution-mail.
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.
2009-12-15 22:27:43 -05:00
6818a05259 Add MailFolderCache::folder-changed signal
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
2009-12-15 14:16:09 -06:00
0eef4618ca Remove mail-config, vfolder, and filter deps from mail-folder-cache
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
2009-12-15 14:16:09 -06:00
2aea353ce7 Move mail migration code to libevolution-mail.so.
So Anjal can reuse it.
2009-12-15 11:53:50 -05:00
31204c9cc2 Port all error code to use GObject-ified EAlert / EAlertDialog
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.
2009-12-07 12:25:23 -06:00
c2ee0afbc8 Rename EError to EAlert to match general use better
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
2009-11-30 13:33:04 -06:00
495e9bf800 port modules/ to new EError API.
This should be everything now.

https://bugzilla.gnome.org/show_bug.cgi?id=602963
2009-11-30 13:32:22 -06:00
2b16aef841 Cleanup and rename filter classes. 2009-10-27 09:25:01 -04:00
12cb5975ab Bug #397265 - Image loading for new contact requires restarting Evolution 2009-10-26 15:05:27 +05:30
e06b88c4fd Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent' 2009-10-13 16:24:10 +02:00
d06a82a911 Bug 595092 - Remove option to skip offline syncrhonization dialog 2009-10-07 19:42:32 -05:00
0ed3ee1fa3 Bug #596753 - Autocompletion addressbooks not remembered
And select page in Edit->Preferences based on the active view.
2009-09-29 20:10:35 +02:00
c9dfbd7769 Bug #594573 - Label dropdown box in the rule editor does not work 2009-09-09 18:28:50 +02:00
8ee8a24478 Bug #586854 - Crash on File->Quit with empty_junk enabled 2009-09-08 11:05:18 +02:00
8962868ff9 Relax the EBinding API to reduce GObject casting.
Also make it more fault-tolerant by warning about non-existent
property names instead of just crashing.
2009-09-01 21:12:44 -04:00
f5991437c3 Get EConfig and EEvent hooks working again.
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.
2009-08-31 12:53:52 -04:00
32f545cdf0 Simplify EPlugin loading at startup.
- 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.
2009-08-29 17:23:20 -04:00
2b8c7c62aa Exit if no command-line URIs are handled. 2009-08-24 23:08:13 -04:00
cee7273ff2 Bug 592032 - Marks message as read when preview is off 2009-08-17 14:14:03 -04:00
672adf12a0 Fix compiler warnings and deprecated GTK+ API usage. 2009-08-16 11:42:26 -04:00
da665f8f99 Kill a debug message. 2009-07-17 12:51:28 -04:00
d98dc0105e Implement the mail backend's quit strategy. 2009-07-17 11:44:21 -04:00
0f35ef8d0e Prompt when exiting with unsent messages. 2009-07-16 16:37:44 -04:00
c9f4659cd7 Kill the global EMailShellBackend variable. Yay! 2009-07-14 10:06:15 -04:00
10eab23500 Implement the shutdown protocol and stub in session management.
The shutdown protocol is modelled after online/offline preparation.
Session management code is copied from libegg.  Not yet used.
2009-07-10 18:47:29 -04:00
8dc6bbd250 Get the "startup-wizard" plugin working again. 2009-06-30 10:47:59 -04:00
f0d3f3afdf Radically reorganize source code.
- 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.
2009-06-24 18:29:22 -04:00