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.
We have a confusing array of nearly-identical CFLAGS/LIBS definitions in
configure.ac. Time to simplify. Instead let's just have one definition
that includes all the libraries provided by Evolution-Data-Server (incl.
Camel). That, in combination with GNOME_PLATFORM, gives us most of what
we need for compliation and linking, and we can sprinkle definitions for
additional library dependencies in Makefile.am's as needed.
'Send' and 'Save Draft' are now asynchronous and run outside of
Evolution's MailMsg infrastructure.
Add an EActivityBar to the composer window so these asynchronous
operations can be tracked and cancelled even in the absense of a main
window. Also add an EAlertBar to the composer window so error messages
can be shown directly in the window.
Instead of calling e_alert_dialog_run_for_args(), call e_alert_submit()
and pass the EMsgComposer as the widget argument. The EMsgComposer will
decide whether to show an EAlertDialog or use the EAlertBar, depending
on the GtkMessageType of the alert.
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.
dependencies in our libraries. The circular dependency between the composer
and the mail module is still causing me headaches. And it doesn't help that
the addressbook and calendar also want to link to the composer.
svn path=/branches/kill-bonobo/; revision=36782
2008-04-02 Matthew Barnes <mbarnes@redhat.com>
** Merge the mbarnes-composer branch
* configure.in:
Bump libgtkhtml requirement to 3.19.1.
Add gtkhtml-editor dependency for addressbook, calendar and mail.
Remove print-message plugin; new composer implements this natively.
* tools/Makefile.am:
Remove CORBA rules for the old composer.
* addressbook/gui/widgets/Makefile.am:
Remove CORBA rules for the old composer.
* addressbook/gui/widgets/eab-gui-util.c
(eab_send_to_contact_and_email_num_list),
(eab_send_contact_list_as_attachment):
Adapt to new Bonobo-less composer widget.
* calendar/gui/Makefile.am:
Remove CORBA rules for the old composer.
* calendar/gui/itip-utils.c (comp_from), (comp_to_list),
(comp_subject), (comp_content_type), (comp_filename),
(comp_description), (append_cal_attachments), (itip_send_comp),
(reply_to_calendar_comp):
Adapt to new Bonobo-less composer widget.
* composer/Makefile.am:
Remove CORBA rules for the old composer.
* composer/e-msg-composer.c:
* composer/e-msg-composer.h:
EMsgComposer is now a subclass of GtkhtmlEditor.
Extensive refactoring and cleanup, too much to list in detail.
* composer/e-composer-header.c:
* composer/e-composer-header.h:
Add "sensitive" property along with get/set functions.
* composer/e-composer-from-header.c:
* composer/e-composer-from-header.h:
Propagate "refreshed" signal from EAccountComboBox.
Add function e_composer_from_header_get_account_list().
* composer/e-composer-private.c:
* composer/e-composer-private.h:
New files manage composer's private data.
Allows other composer files to manipulate private data.
* composer/e-msg-composer-hdrs.c:
* composer/e-msg-composer-hdrs.h:
Remove these files; replaced by EComposerHeaderTable widget.
* composer/evolution-composer.c:
* composer/evolution-composer.h:
Remove these files; composer is now a subclass of GtkhtmlEditor.
* composer/e-msg-composer-select-file.c:
* composer/e-msg-composer-select-file.h:
Remove these files; logic moved to e-msg-composer.c.
* composer/listener.c:
* composer/listener.h:
Remove these files; event handlers moved to e-msg-composer.c.
* composer/Composer.idl:
* composer/Evolution-Composer.idl:
Remove these files; composer is no longer a Bonobo object.
* mail/em-composer-prefs (sig_edit_cb),
(em_composer_prefs_new_signature):
Adapt to new Bonobo-less signature editor.
* mail/mail-signature-editor.c:
* mail/mail-signature-editor.h:
Rewrite the signature editor as a subclass of GtkhtmlEditor.
Eliminates Bonobo from the equation.
* mail/em-composer-utils.c (composer_get_message),
(em_utils_composer_send_cb), (save_draft_done),
(em_utils_composer_save_draft_cb), (create_new_composer),
(em_utils_compose_new_message),
(em_utils_compose_new_message_with_mailto), (em_utils_post_to_folder),
(em_utils_post_to_url), (edit_message), (forward_attached),
(forward_non_attached), (reply_get_composer), (composer_set_body),
(em_utils_reply_to_message), (post_reply_to_message):
Adapt to new Bonobo-less composer.
* mail/mail-component-factory.c:
Composer is no longer needs a Bonobo factory.
* mail/mail-config.c:
Fix style pattern for EMsgComposer widgets.
* plugins/groupwise/mail-send-options.c
(org_gnome_composer_send_options):
Adapt to streamlined EMsgComposer API.
* plugins/exchange-operations/Makefile.am:
Add EVOLUTION_MAIL_CFLAGS and EVOLUTION_MAIL_LIBS.
* plugins/exchange-operations/exchange-mail-send-options.c
(append_to_header), (org_gnome_exchange_send_options):
Adapt to streamlined EMsgComposer API.
* plugins/mailing-list-actions/mailing-list-actions.c
(emla_list_action_do):
Adapt to streamlined EMsgComposer API.
* po/POTFILES.in: Update file list for new composer.
* ui/evolution-composer-entries.xml:
Remove this file; obsoleted by new composer.
* widgets/misc/Makefile.am:
Add EVOLUTION_MAIL_LIBS.
* widgets/misc/e-account-combo-box.c:
* widgets/misc/e-account-combo-box.h:
New function e_account_combo_box_get_account_list().
Emit a "refreshed" signal when the EAccountList changes.
Add an internal reverse-lookup index.
* widgets/misc/e-charset-picker.c (e_charser_add_radio_actions):
New function adds radio actions to an action group.
Will eventually replace e_charset_picker_bonobo_ui_populate().
* widgets/misc/e-signature-combo-box.c:
* widgets/misc/e-signature-combo-box.h:
New function e_signature_combo_box_get_signature_list().
... separate issue ...
* configure.in:
Bump eds_minimum_version to 2.23.1 for
CAMEL_FOLDER_JUNKED_NOT_DELETED symbol.
svn path=/trunk/; revision=35313
2007-11-27 Matthew Barnes <mbarnes@redhat.com>
** Fixes bug #495123
* composer/Makefile.am:
Add a bunch of files for managing composer headers.
* composer/e-msg-composer.c (build_message), (from_changed_cb),
(set_editor_signature), (e_msg_composer_set_body),
(e_msg_composer_get_preferred_account):
* plugins/exchange-operations/exchange-mail-send-options.c
(append_to_header):
Use e_msg_composer_hdrs_get_from_account() to obtain the EAccount.
* composer/e-msg-composer-hdrs.c:
* composer/e-msg-composer-hdrs.h:
Massive refactoring to use new EComposerHeader classes.
* composer/e-composer-header.c:
* composer/e-composer-header.h:
* composer/e-composer-from-header.c:
* composer/e-composer-from-header.h:
* composer/e-composer-name-header.c:
* composer/e-composer-name-header.h:
* composer/e-composer-post-header.c:
* composer/e-composer-post-header.h:
* composer/e-composer-text-header.c:
* composer/e-composer-text-header.h:
New GObject classes manage different types of composer headers.
See bug #495123 for a more detailed description of each class.
* mail/mail-session.c (mail_session_init):
Pass the CamelSession to the EAccountComboBox class (ugly hack).
* widgets/misc/Makefile.am:
Add e-account-combo-box.[ch].
* widgets/misc/e-account-combo-box.c:
* widgets/misc/e-account-combo-box.h:
New widget renders an EAccountList as a combo box. Also listens
for changes to the EAccountList and updates itself accordingly.
svn path=/trunk/; revision=34600
2005-07-26 Jody Goldberg <jody@gnome.org>
* Makefile.am : Fix build breakage due to extra whitespace after a
backslash.
svn path=/trunk/; revision=29894
2005-07-13 Tor Lillqvist <tml@novell.com>
* Makefile.am (INCLUDES): There are no camel or
addressbook/backend directories in evolution.
svn path=/trunk/; revision=29755
2005-07-11 Srinivasa Ragavan <sragavan@novell.com>
* Makefile.am: Removed em-attachment* from the build.
Remains in the CVS, just incase to revert in case of issues.
Should go away after 2.3.5.
* e-msg-composer.c: (add_inlined_images) (build_message) (menu_file_close_cb)
(setup_ui) (attach_message) (drop_action) (e_msg_composer_unrealize)
(create_composer) (handle_mailto) (e_msg_composer_add_header)
Changed the code to use e_attachment_* from em_attachment*
* e-msg-composer.h: Added removed old header includes
svn path=/trunk/; revision=29716
2003-08-29 Antonio Xu <antonio.xu@sun.com>
* e-msg-composer-attachment.c (): Connect response signal to
attachment properties dialog, fix bug #47950.
* Makefile.am (INCLUDES): add EVOLUTION_IMAGESDIR define
* e-msg-composer.c (create_composer): use EVOLUTION_IMAGESDIR
and composer icon name to get the path of composer icon.
[#47781]
svn path=/trunk/; revision=22411
* bad-icon.xpm: Remove this. It was only used by e-icon-list,
which is no longer there.
* composer-marshal.list: Likewise
* Makefile.am: Update
svn path=/trunk/; revision=21914
2003-03-11 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer-attachment-bar.c: Use GnomeIconList instead of
EIconList so we don't have to maintain an exact copy/paste of
GnomeIconList ourselves. I don't udnerstand why we ever did.
* e-icon-list.[c,h]: Removed.
svn path=/trunk/; revision=20251
* Makefile.am: build libcomposer as a shared library so it can be
linked into libevolution-mail.so without portability problems
svn path=/trunk/; revision=19992