Started replacing GtkHTML with GtkMozEmbed in Evolution

Perhaps it’s a bit premature to already mention it. And I’m not making any promises. Nevertheless is my Sauron eye fixed on trying to replace the GtkHTML editor Bonobo component with GtkMozEmbed.
Evo logo

Some information about the attempt to do this with our poor Evolution can be found here. To be more specific you can make a GtkMozEmbed component editable using this API. That API, however, of course doesn’t mean that this is/will be a flat road without issues and problems.

For example one issue is that the current state of the EMsgComposer code is a little bit tight to the Bonobo way of working. Another issue is that there’s a lot “commands” to support (like, “insert html”, “set bold”, “undo”, “redo”). Most are also supported by the nsICommandManager. Some are not.

So I started with making sure that other parts of the Evolution code don’t try to tamper with private fields and members of the EMsgComposer. Why? Well, if we’re sure no other Evolution developer used something other than the API as agreed in e-msg-composer.h, then a programmer can more securely alter the internals of the implementation (e-msg-composer.c).

You can find the result of that first step (data hiding) here. As usual, if you want to help. Contact me, or you know .. help (give me tips, guidance, whatever). Note that I don’t even know whether or not the Evolution maintainers like this idea. So this blog entry doesn’t mean that in a few weeks you’ll have a slick Gecko HTML editor component for typing your E-mails in Evolution.