evolution r35931 - in branches/kill-bonobo: . addressbook addressbook/gui/component addressbook/gui/contact-list-editor addressbook/gui/merging addressbook/gui/widgets addressbook/printing art calendar calendar/gui calendar/gui/alarm-notify calendar/gui/dialogs composer data/icons e-util filter help help/C help/C/figures help/cs/figures help/de help/es help/es/figures help/fr help/fr/figures help/quickref/C mail plugins/addressbook-file plugins/backup-restore plugins/bbdb plugins/caldav plugins/calendar-file plugins/calendar-http plugins/calendar-weather plugins/email-custom-header plugins/exchange-operations plugins/external-editor plugins/google-account-setup plugins/groupwise-account-setup plugins/groupwise-features plugins/hula-account-setup plugins/itip-formatter plugins/mail-notification plugins/mark-all-read plugins/python plugins/startup-wizard plugins/templates plugins/webdav-account-setup po shell shell/test ui widgets/misc widgets/table



Author: mbarnes
Date: Fri Aug  8 04:26:12 2008
New Revision: 35931
URL: http://svn.gnome.org/viewvc/evolution?rev=35931&view=rev

Log:
Merge revisions 35747:35930 from trunk.


Added:
   branches/kill-bonobo/data/icons/hicolor_actions_24x24_query-free-busy.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_actions_24x24_query-free-busy.png
   branches/kill-bonobo/data/icons/hicolor_apps_16x16_evolution-mail.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_16x16_evolution-mail.png
   branches/kill-bonobo/data/icons/hicolor_apps_16x16_evolution-memos.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_16x16_evolution-memos.png
   branches/kill-bonobo/data/icons/hicolor_apps_16x16_evolution-tasks.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_16x16_evolution-tasks.png
   branches/kill-bonobo/data/icons/hicolor_apps_22x22_evolution-mail.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_22x22_evolution-mail.png
   branches/kill-bonobo/data/icons/hicolor_apps_22x22_evolution-memos.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_22x22_evolution-memos.png
   branches/kill-bonobo/data/icons/hicolor_apps_22x22_evolution-tasks.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_22x22_evolution-tasks.png
   branches/kill-bonobo/data/icons/hicolor_apps_24x24_evolution-mail.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_24x24_evolution-mail.png
   branches/kill-bonobo/data/icons/hicolor_apps_24x24_evolution-memos.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_24x24_evolution-memos.png
   branches/kill-bonobo/data/icons/hicolor_apps_24x24_evolution-tasks.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_24x24_evolution-tasks.png
   branches/kill-bonobo/data/icons/hicolor_apps_32x32_evolution-mail.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_32x32_evolution-mail.png
   branches/kill-bonobo/data/icons/hicolor_apps_32x32_evolution-memos.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_32x32_evolution-memos.png
   branches/kill-bonobo/data/icons/hicolor_apps_32x32_evolution-tasks.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_32x32_evolution-tasks.png
   branches/kill-bonobo/data/icons/hicolor_apps_48x48_evolution-mail.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_48x48_evolution-mail.png
   branches/kill-bonobo/data/icons/hicolor_apps_48x48_evolution-memos.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_48x48_evolution-memos.png
   branches/kill-bonobo/data/icons/hicolor_apps_48x48_evolution-tasks.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_apps_48x48_evolution-tasks.png
   branches/kill-bonobo/data/icons/hicolor_categories_48x48_preferences-system-network-proxy.png
      - copied unchanged from r35930, /trunk/data/icons/hicolor_categories_48x48_preferences-system-network-proxy.png
   branches/kill-bonobo/help/C/figures/attach_reminder_a.png
      - copied unchanged from r35930, /trunk/help/C/figures/attach_reminder_a.png
   branches/kill-bonobo/help/cs/figures/attach_reminder_a.png
      - copied unchanged from r35930, /trunk/help/cs/figures/attach_reminder_a.png
   branches/kill-bonobo/help/es/figures/attach_reminder_a.png
      - copied unchanged from r35930, /trunk/help/es/figures/attach_reminder_a.png
   branches/kill-bonobo/help/fr/figures/attach_reminder_a.png
      - copied unchanged from r35930, /trunk/help/fr/figures/attach_reminder_a.png
   branches/kill-bonobo/help/fr/figures/evo_label_a.png
      - copied unchanged from r35930, /trunk/help/fr/figures/evo_label_a.png
   branches/kill-bonobo/plugins/email-custom-header/email-custom-header.glade
      - copied unchanged from r35930, /trunk/plugins/email-custom-header/email-custom-header.glade
   branches/kill-bonobo/plugins/google-account-setup/google-contacts-source.c
      - copied unchanged from r35930, /trunk/plugins/google-account-setup/google-contacts-source.c
   branches/kill-bonobo/plugins/google-account-setup/google-contacts-source.h
      - copied unchanged from r35930, /trunk/plugins/google-account-setup/google-contacts-source.h
   branches/kill-bonobo/plugins/templates/
      - copied from r35930, /trunk/plugins/templates/
   branches/kill-bonobo/plugins/webdav-account-setup/
      - copied from r35930, /trunk/plugins/webdav-account-setup/
   branches/kill-bonobo/po/ps.po
      - copied unchanged from r35930, /trunk/po/ps.po
Removed:
   branches/kill-bonobo/art/query-free-busy.png
   branches/kill-bonobo/help/C/figures/attach_reminder_a.png.png
   branches/kill-bonobo/help/cs/figures/attach_reminder_a.png.png
   branches/kill-bonobo/help/es/figures/attach_reminder_a.png.png
   branches/kill-bonobo/help/fr/figures/attach_reminder_a.png.png
   branches/kill-bonobo/ui/evolution-editor.xml
   branches/kill-bonobo/ui/evolution-event-editor.xml
   branches/kill-bonobo/ui/evolution-memo-editor.xml
   branches/kill-bonobo/ui/evolution-task-editor.xml
Modified:
   branches/kill-bonobo/ChangeLog
   branches/kill-bonobo/Makefile.am
   branches/kill-bonobo/NEWS
   branches/kill-bonobo/addressbook/ChangeLog
   branches/kill-bonobo/addressbook/addressbook.error.xml
   branches/kill-bonobo/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in
   branches/kill-bonobo/addressbook/gui/component/addressbook-component.c
   branches/kill-bonobo/addressbook/gui/component/addressbook-config.c
   branches/kill-bonobo/addressbook/gui/component/addressbook-view.c
   branches/kill-bonobo/addressbook/gui/component/ldap-config.glade
   branches/kill-bonobo/addressbook/gui/contact-list-editor/contact-list-editor.glade
   branches/kill-bonobo/addressbook/gui/contact-list-editor/e-contact-list-editor.c
   branches/kill-bonobo/addressbook/gui/merging/eab-contact-duplicate-detected.glade
   branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.c
   branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.h
   branches/kill-bonobo/addressbook/gui/widgets/e-minicard.c
   branches/kill-bonobo/addressbook/printing/e-contact-print.c
   branches/kill-bonobo/art/ChangeLog
   branches/kill-bonobo/calendar/ChangeLog
   branches/kill-bonobo/calendar/calendar.error.xml
   branches/kill-bonobo/calendar/gui/GNOME_Evolution_Calendar.server.in.in
   branches/kill-bonobo/calendar/gui/alarm-notify/alarm-queue.c
   branches/kill-bonobo/calendar/gui/calendar-component.c
   branches/kill-bonobo/calendar/gui/dialogs/alarm-dialog.c
   branches/kill-bonobo/calendar/gui/dialogs/alarm-list-dialog.c
   branches/kill-bonobo/calendar/gui/dialogs/changed-comp.c
   branches/kill-bonobo/calendar/gui/dialogs/comp-editor.c
   branches/kill-bonobo/calendar/gui/dialogs/delete-error.c
   branches/kill-bonobo/calendar/gui/dialogs/select-source-dialog.c
   branches/kill-bonobo/calendar/gui/dialogs/task-details-page.c
   branches/kill-bonobo/calendar/gui/dialogs/task-page.c
   branches/kill-bonobo/calendar/gui/e-calendar-table.c
   branches/kill-bonobo/calendar/gui/e-calendar-view.c
   branches/kill-bonobo/calendar/gui/memos-component.c
   branches/kill-bonobo/calendar/gui/memotypes.xml
   branches/kill-bonobo/calendar/gui/print.c
   branches/kill-bonobo/calendar/gui/tasks-component.c
   branches/kill-bonobo/composer/ChangeLog
   branches/kill-bonobo/composer/evolution-composer.ui
   branches/kill-bonobo/composer/mail-composer.error.xml
   branches/kill-bonobo/configure.in
   branches/kill-bonobo/data/icons/Makefile.am
   branches/kill-bonobo/e-util/ChangeLog
   branches/kill-bonobo/e-util/e-plugin.c
   branches/kill-bonobo/filter/ChangeLog
   branches/kill-bonobo/filter/filter-label.c
   branches/kill-bonobo/filter/filter-rule.c
   branches/kill-bonobo/help/C/evolution.xml
   branches/kill-bonobo/help/ChangeLog
   branches/kill-bonobo/help/Makefile.am
   branches/kill-bonobo/help/de/de.po
   branches/kill-bonobo/help/es/es.po
   branches/kill-bonobo/help/fr/fr.po
   branches/kill-bonobo/help/quickref/C/quickref.tex
   branches/kill-bonobo/mail/ChangeLog
   branches/kill-bonobo/mail/GNOME_Evolution_Mail.server.in.in
   branches/kill-bonobo/mail/e-searching-tokenizer.c
   branches/kill-bonobo/mail/em-account-editor.c
   branches/kill-bonobo/mail/em-composer-utils.c
   branches/kill-bonobo/mail/em-composer-utils.h
   branches/kill-bonobo/mail/em-event.c
   branches/kill-bonobo/mail/em-event.h
   branches/kill-bonobo/mail/em-folder-browser.c
   branches/kill-bonobo/mail/em-folder-properties.c
   branches/kill-bonobo/mail/em-folder-tree-model.c
   branches/kill-bonobo/mail/em-folder-tree.c
   branches/kill-bonobo/mail/em-folder-utils.c
   branches/kill-bonobo/mail/em-folder-view.c
   branches/kill-bonobo/mail/em-format-html-display.c
   branches/kill-bonobo/mail/em-format-html.c
   branches/kill-bonobo/mail/em-format-quote.c
   branches/kill-bonobo/mail/em-format.c
   branches/kill-bonobo/mail/em-migrate.c
   branches/kill-bonobo/mail/em-network-prefs.c
   branches/kill-bonobo/mail/em-subscribe-editor.c
   branches/kill-bonobo/mail/em-utils.c
   branches/kill-bonobo/mail/em-utils.h
   branches/kill-bonobo/mail/evolution-mail.schemas.in
   branches/kill-bonobo/mail/mail-component.c
   branches/kill-bonobo/mail/mail-component.h
   branches/kill-bonobo/mail/mail-config.glade
   branches/kill-bonobo/mail/mail-dialogs.glade
   branches/kill-bonobo/mail/mail-ops.c
   branches/kill-bonobo/mail/mail-vfolder.c
   branches/kill-bonobo/mail/message-list.c
   branches/kill-bonobo/plugins/addressbook-file/ChangeLog
   branches/kill-bonobo/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml
   branches/kill-bonobo/plugins/backup-restore/ChangeLog
   branches/kill-bonobo/plugins/backup-restore/org-gnome-backup-restore.error.xml
   branches/kill-bonobo/plugins/bbdb/ChangeLog
   branches/kill-bonobo/plugins/bbdb/bbdb.c
   branches/kill-bonobo/plugins/caldav/ChangeLog
   branches/kill-bonobo/plugins/caldav/caldav-source.c
   branches/kill-bonobo/plugins/caldav/org-gnome-evolution-caldav.eplug.xml
   branches/kill-bonobo/plugins/calendar-file/ChangeLog
   branches/kill-bonobo/plugins/calendar-file/org-gnome-calendar-file.eplug.xml
   branches/kill-bonobo/plugins/calendar-http/ChangeLog
   branches/kill-bonobo/plugins/calendar-http/org-gnome-calendar-http.eplug.xml
   branches/kill-bonobo/plugins/calendar-weather/ChangeLog
   branches/kill-bonobo/plugins/calendar-weather/org-gnome-calendar-weather.eplug.xml
   branches/kill-bonobo/plugins/email-custom-header/ChangeLog
   branches/kill-bonobo/plugins/email-custom-header/Makefile.am
   branches/kill-bonobo/plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in
   branches/kill-bonobo/plugins/email-custom-header/email-custom-header.c
   branches/kill-bonobo/plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml
   branches/kill-bonobo/plugins/exchange-operations/ChangeLog
   branches/kill-bonobo/plugins/exchange-operations/exchange-account-setup.c
   branches/kill-bonobo/plugins/exchange-operations/exchange-folder-subscription.c
   branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.eplug.xml
   branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.error.xml
   branches/kill-bonobo/plugins/external-editor/ChangeLog
   branches/kill-bonobo/plugins/external-editor/org-gnome-external-editor.xml
   branches/kill-bonobo/plugins/google-account-setup/ChangeLog
   branches/kill-bonobo/plugins/google-account-setup/Makefile.am
   branches/kill-bonobo/plugins/google-account-setup/google-source.c
   branches/kill-bonobo/plugins/google-account-setup/org-gnome-evolution-google.eplug.xml
   branches/kill-bonobo/plugins/groupwise-account-setup/ChangeLog
   branches/kill-bonobo/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml
   branches/kill-bonobo/plugins/groupwise-features/ChangeLog
   branches/kill-bonobo/plugins/groupwise-features/org-gnome-proxy-login-errors.xml
   branches/kill-bonobo/plugins/groupwise-features/org-gnome-shared-folder.errors.xml
   branches/kill-bonobo/plugins/groupwise-features/process-meeting.c
   branches/kill-bonobo/plugins/hula-account-setup/ChangeLog
   branches/kill-bonobo/plugins/hula-account-setup/org-gnome-evolution-hula-account-setup.eplug.xml
   branches/kill-bonobo/plugins/itip-formatter/ChangeLog
   branches/kill-bonobo/plugins/itip-formatter/itip-formatter.c
   branches/kill-bonobo/plugins/itip-formatter/itip-view.c
   branches/kill-bonobo/plugins/mail-notification/ChangeLog
   branches/kill-bonobo/plugins/mail-notification/Makefile.am
   branches/kill-bonobo/plugins/mail-notification/apps-evolution-mail-notification.schemas.in
   branches/kill-bonobo/plugins/mail-notification/mail-notification.c
   branches/kill-bonobo/plugins/mark-all-read/ChangeLog
   branches/kill-bonobo/plugins/mark-all-read/mark-all-read.c
   branches/kill-bonobo/plugins/python/ChangeLog
   branches/kill-bonobo/plugins/python/Makefile.am
   branches/kill-bonobo/plugins/startup-wizard/ChangeLog
   branches/kill-bonobo/plugins/startup-wizard/org-gnome-evolution-startup-wizard.eplug.xml
   branches/kill-bonobo/po/ChangeLog
   branches/kill-bonobo/po/LINGUAS
   branches/kill-bonobo/po/POTFILES.in
   branches/kill-bonobo/po/ar.po
   branches/kill-bonobo/po/cs.po
   branches/kill-bonobo/po/de.po
   branches/kill-bonobo/po/es.po
   branches/kill-bonobo/po/fr.po
   branches/kill-bonobo/po/gl.po
   branches/kill-bonobo/po/gu.po
   branches/kill-bonobo/po/ko.po
   branches/kill-bonobo/po/nb.po
   branches/kill-bonobo/po/pt_BR.po
   branches/kill-bonobo/po/ru.po
   branches/kill-bonobo/shell/ChangeLog
   branches/kill-bonobo/shell/apps_evolution_shell.schemas.in
   branches/kill-bonobo/shell/e-component-registry.c
   branches/kill-bonobo/shell/e-component-registry.h
   branches/kill-bonobo/shell/e-shell-window.c
   branches/kill-bonobo/shell/main.c
   branches/kill-bonobo/shell/test/evolution-test-component.c
   branches/kill-bonobo/ui/ChangeLog
   branches/kill-bonobo/ui/evolution-mail-message.xml
   branches/kill-bonobo/ui/evolution.xml
   branches/kill-bonobo/widgets/misc/ChangeLog
   branches/kill-bonobo/widgets/misc/e-activity-handler.c
   branches/kill-bonobo/widgets/misc/e-task-bar.c
   branches/kill-bonobo/widgets/table/ChangeLog
   branches/kill-bonobo/widgets/table/e-table-group-container.c
   branches/kill-bonobo/widgets/table/e-table-group-leaf.c
   branches/kill-bonobo/widgets/table/e-table-group.c
   branches/kill-bonobo/widgets/table/e-table-group.h
   branches/kill-bonobo/widgets/table/e-table-item.c
   branches/kill-bonobo/widgets/table/e-table-item.h
   branches/kill-bonobo/widgets/table/e-table.c
   branches/kill-bonobo/widgets/table/e-table.h

Modified: branches/kill-bonobo/Makefile.am
==============================================================================
--- branches/kill-bonobo/Makefile.am	(original)
+++ branches/kill-bonobo/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -73,6 +73,8 @@
 endif
 
 DISTCLEANFILES = 		\
+	doltcompile		\
+	doltlibtool		\
 	intltool-extract	\
 	intltool-merge 		\
 	intltool-update 	\

Modified: branches/kill-bonobo/NEWS
==============================================================================
--- branches/kill-bonobo/NEWS	(original)
+++ branches/kill-bonobo/NEWS	Fri Aug  8 04:26:12 2008
@@ -1,3 +1,141 @@
+Evolution 2.23.6 2008-08-04
+---------------------------
+
+New in 2.23.6:
+	WebDAV contacts plugin (Matthias Braun)
+
+Bug Fixes:
+	#211267: Report correct number of pages to print and print them as requested (Milan Crha)
+	#249844: Use fully qualified names for "New" submenu entries (Matthew Barnes)
+	#256540: Do not use GtkNotebook with only one tab (Milan Crha)
+	#329821: Recalculate returned row to the model row, if we are sorting (Milan Crha)
+	#353927: Do not blink the icon more than 15 seconds (Milan Crha)
+	#428384: Improve buttons in the "exit-unsaved" dialog by replacing "Cancel" with "Continue Editing" and "Save Message" with "Save Draft". (Matthew Barnes)
+	#491176: Word-wrap the summary if necessary; keep the text and action buttons aligned on the left (Milan Crha)
+	#500389: New ability to define Options (ComboBox) in provider's options (Milan Crha)
+	#504417: Preferences windows cut off (Lucian Langa)
+	#514006: Quote literal values (Matthew Barnes)
+	#517151: Give a mnemonic to "Composer in External Editor" (Matthew Barnes)
+	#517825: Fix duplicate mnemonic.  "_Work Offline" -> "Work _Offline" (Matthew Barnes)
+	#529460: Change "Startup Wizard" to "Setup Assistant".  Also make the plugin description less lame (Matthew Barnes)
+	#530388: Fix a crash when editing labels (Milan Crha)
+	#537088: Fix empty headers if FROM/Sender is NULL (Paul Bolle)
+	#539268: Fix attachment description (Paul Bolle)
+	#543058: Properly capitalize INBOX (Paul Bolle)
+	#543411: Don't load known folders (Srinivasa Ragavan)
+	#543532: Let free memory when we are done with it, not before. (Milan Crha)
+	#543754: Reword "insufficient-permissions" error message (Matthew Barnes)
+	#543755: Fix a typo (Matthew Barnes)
+	#543756: Make question better translatable (Milan Crha)
+	#543943: Fix a memory leak (Milan Crha)
+	#544252: Use consistent naming to the GUI for different components (Paul Bolle)
+	#544157: Sort View / Window (sub)menu in shortcut order. (Paul Bolle)
+	#544383: Put contact list members in reverse order (Milan Crha)
+	#544857: Fix a typo (Matthew Barnes)
+	#544859: Clarify description of "sync_interval" key. (Matthew Barnes)
+	#544860: Add translator comments for split "update every" sentence (Matthew Barnes)
+	#544861: Reword "invalid-user" error message (Matthew Barnes)
+	#544862: Clarify description of "use_authentication" key (Matthew Barnes)
+	#544958: Use email, not e-mail (per documentation guidelines) (Matthew Barnes)
+	#544969: Added the hook for folder custom icon (Lucian Langa)
+	#544994: Typos/Syntax improvements (Claude Paroz)
+	#545300: Add a translatable tag in "_Merge" string (Takao Fujiwara)
+	#545303: Add gettext in the xml string (Takao Fujiwara)
+	#545436: Check the info before accessing it (Srinivasa Ragavan)
+	#545558: Hula support is disabled by default now, so remove any  mention of it from the User Guide (Matthew Barnes)
+	#545568: Make sure system plugins are enabled on startup (Matthew Barnes)
+	#545820: Fix a typo. (Nicolas Kaiser)
+	#546057: Use "x-office-calendar" icon name instead of "stock_calendar" (Matthew Barnes)
+
+Updated Translations:
+	Ignacio Casal Quinteiro (gl)
+	Frco. Javier Rial RodrÃguez (gl)
+	Kjartan Maraas (nb)
+	Changwoo Ryu (ko)
+	Abou Manal (ar)
+	Petr Kovar (cs)
+	FabrÃcio Godoy (pt_BR)
+	Jorge Gonzalez (es)
+	Bruno Brouard and Claude Paroz (fr)
+	Zabeeh Khan (ps)
+	Pavel Sefranek (cs)
+
+
+Evolution 2.23.5 2008-07-21
+---------------------------
+New in 2.23.5
+	Camel DB Summary support. (Srinivasa Ragavan & Sankar P)
+	New EPlugin for message templates. (Bharath Acharya & Diego Escalante Urrelo)
+	Google Contacts support (JÃrgen Scheibengruber)
+
+Bug Fixes:
+	#543753: Addressbook error string fixes (Andre Klapper)
+	#228725: Contacts view should not say "no items in this view" until the backend is done responding (Milan Crha)
+	#543134: Mail notification plugin should provide a right-click menu for preferences (Milan Crha)
+	#269152: Work-around for MS Outlook/Lookout that use X-MimeOLE (Milan Crha)
+	#200147: Added basic Template support (Bharath Acharya)
+	#206592: Action to invoke New Message window from the composer itself (Milan Crha)
+	#207802: Do not allow drop messages to the same message list as is the source. (Milan Crha)
+	#243201: Escape rule title so that can contain also XML entities in the file (Milan Crha)
+	#310988: Don't even show the "send-options" action unless an Exchange or GroupWise account appears in the From combo box (Matthew Barnes)
+	#318089: Ask for destination source only when have more than one writable source defined (Milan Crha)
+	#329821: Show tooltips over task's table (Milan Crha)
+	#368038: Ensure only one Birthdays & Anniversaries source (Milan Crha)
+	#370731: (Novell Bugzilla) Use MAX to determine the minimal size for each cell. This prevents the numbers and day-names from getting fuzzy when using large font-sizes (Suman Manjunath)
+	#382783: Grab focus of new rule part on adding and scroll to the bottom too (Milan Crha)
+	#395636: Added accel key Ctrl+Shift+B for collapsing all threads and Ctrl+/ for marking all messages as read (Roshan Kumar Singh)
+	#423395: Put the anchor where the message body begins and let GtkHTML know the anchor name to place the cursor there in caret mode on the first focus (Milan Crha)
+	#440818: Convert line to UTF-8 if not a valid one. Pretend it to be an ISO-8859-1 line (Rodrigo Castro)
+	#477082,#438479: Fixed documentation (Andre Klapper)
+	#478469: Changed the progress dialog to be more HIG compliant (Milan Crha)
+	#519536: Handle freeing of data safely. (Srinivasa Ragavan)
+	#524130: Pass description text through 'camel_text_to_html' to have links clickable in a preview (Milan Crha)
+	#526262: Handle _title element in analogical way as title (Maciej Piechotka)
+	#530069: Don't show the configuration tab unless the selected plugin actually has configuration options (Matthew Barnes)
+	#532472: Strip the account URL (via CAMEL_URL_HIDE_ALL) before comparing it to the already-stripped 'transport_url', to avoid unnecessary password prompts (Matthew Barnes)
+	#532597: Do not leave selected more than one item if somebody else took care or reposition of the cursor row before the delete (Milan Crha)
+	#534039: Track folders even when Search Folders disabled, to have them known when enabling Search Folders on demand (Milan Crha)
+	#536488: Remove '~/.evolution/.running' file before backup/after restore, thus Evolution will not claim next start it was closed incorrectly (Milan Crha)
+	#537275: Do not pass data to the child structure if we were canceled (Milan Crha)
+	#537725: Set the autosaved flag so we don't get pestered with a save dialog if the user then decides to close the composer window (Matthew Barnes)
+	#538741: Strip preceding tabs from Date headers too (Paul Bolle)
+	#538908: Desensitize the "send-options" action unless we've selected as Exchange or GroupWise account. (Paul Bolle)
+	#539268: Do not use both filename and description if these are identical (Paul Bolle)
+	#539755: Do not access memory beyond the columns array (Milan Crha)
+	#540152: Fix some memory leaks (Milan Crha)
+	#540160: Remember whether we come from none/multi select to single select and properly update the preview. (Milan Crha)
+	#540274: After restore walk through all account, addressbook, calendar, task and memo sources and fix the base uri if required (Milan Crha)
+	#540282: Remove the "printing" GConf key.  We use a key file now (Matthew Barnes)
+	#540282: Store printer and page settings in a key file rather than GConf (Matthew Barnes)
+	#540400: Make Evolution Backup follow symbolic links (Roger Zauner)
+	#540516: Sanitize user input while accepting path/filename of the backup (Tobias Mueller)
+	#540972: Small memory leak fix. (Milan Crha)
+	#541355: Removes any freed objects from the 'locals' list in each conduit which otherwise frees them again when the conduit is closed (Keith Packard)
+	#541365: Do not call 'camel_folder_sort_uids' when we do not have folder or uid (Milan Crha)
+	#542101: Escape PlaceOfTheMeeting in the Location: line of the tooltip (Paul Bolle)
+	#542125: Remove unnecessary files from source control (Matthew Barnes)
+	#542149: Display an error message to restart if user tries to subscribe to other's mailbox (Bharath Acharya)
+	#542587: New widget implements the online/offline button used in the main window. (Matthew Barnes)
+	#542631: Use g_format_size_for_display instead of cut and pasted code (Paolo Borelli)
+	#542889: Port to the new gtk tooltip api (Paolo Borelli)
+	#543758: Never mark empty strings for translations (Tor Lillqvist)
+
+Other Contributors:
+	Sort the uids so that moving/copying messages preserves mailbox ordering rather than jumbled randomness. (Jeffrey Stedfast)
+	Add dolt revision 5e9eef10 to the autotools build system. Speeds up the build, otherwise falls back to libtool (Alp Toker)
+	Configure email-custom-header plugin within the plugin-manager. (Ashish Shrivastava)
+
+Updated Translations:
+	Andre Klapper (de)
+	Jorge Gonzalez (es)
+	Kjartan Maraas (nb)
+	Jorge Gonzalez (es)
+	Ivar Smolin (et)
+	Yannig Marchegay (oc)
+	Leonardo Ferreira Fontenelle (pt_BR)
+	Timo Jyrinki (fi)
+	Lucas Lommer (cs)
+
 Evolution 2.23.4 2008-06-16
 ---------------------------
 New in 2.23.4

Modified: branches/kill-bonobo/addressbook/addressbook.error.xml
==============================================================================
--- branches/kill-bonobo/addressbook/addressbook.error.xml	(original)
+++ branches/kill-bonobo/addressbook/addressbook.error.xml	Fri Aug  8 04:26:12 2008
@@ -110,18 +110,18 @@
 
  <error id="gw-book-list-init" type="warning">
   <_primary>GroupWise Address book creation:</_primary> 
-  <_secondary>Currently you can access only GroupWise System Address Book from Evolution. Please use some other GroupWise mail client once, to get your GroupWise Frequent Contacts and Groupwise Personal Contacts folders.</_secondary>
+  <_secondary>Currently you can access only GroupWise System Address Book from Evolution. Please use some other GroupWise mail client once, to get your GroupWise Frequent Contacts and GroupWise Personal Contacts folders.</_secondary>
  </error>
 
  <error id="contact-delete-error-perm" type="warning">
   <_primary>Failed to delete contact</_primary> 
-  <_secondary>You do not have enough permissions to delete contact in this Address Book.</_secondary>
+  <_secondary>You do not have permission to delete contacts in this address book.</_secondary>
  </error>
 
  <error id="error-read-only" type="error" default="GTK_RESPONSE_YES">
   <_primary>Cannot add new contact</_primary>
   <!-- For Translators: {0} is the name of the address book source -->
-  <_secondary>'{0}' is a read-only address book source. Switch to Contacts View and highlight an address book that can accept contacts.</_secondary>
+  <_secondary>'{0}' is a read-only address book and cannot be modified. Please select a different address book from the side bar in the Contacts view.</_secondary>
   <button stock ="gtk-ok" response="GTK_RESPONSE_YES"/>
  </error>
 

Modified: branches/kill-bonobo/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in	(original)
+++ branches/kill-bonobo/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in	Fri Aug  8 04:26:12 2008
@@ -50,7 +50,7 @@
         <oaf_attribute name="evolution:button_label" type="string" _value="Contacts"/>
 		<oaf_attribute name="evolution:button_tooltips" type="string" _value="Contacts"/>
         <oaf_attribute name="evolution:button_sort_order" type="string" value="-9"/>
-        <oaf_attribute name="evolution:button_icon" type="string" value="stock_addressbook"/>
+        <oaf_attribute name="evolution:button_icon" type="string" value="x-office-address-book"/>
 
 </oaf_server>
 

Modified: branches/kill-bonobo/addressbook/gui/component/addressbook-component.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/addressbook-component.c	(original)
+++ branches/kill-bonobo/addressbook/gui/component/addressbook-component.c	Fri Aug  8 04:26:12 2008
@@ -226,7 +226,7 @@
 
 	list->_buffer[0].id = "contact";
 	list->_buffer[0].description = _("New Contact");
-	list->_buffer[0].menuDescription = _("_Contact");
+	list->_buffer[0].menuDescription = (char *) C_("New", "_Contact");
 	list->_buffer[0].tooltip = _("Create a new contact");
 	list->_buffer[0].menuShortcut = 'c';
 	list->_buffer[0].iconName = "contact-new";
@@ -234,7 +234,7 @@
 
 	list->_buffer[1].id = "contact_list";
 	list->_buffer[1].description = _("New Contact List");
-	list->_buffer[1].menuDescription = _("Contact _List");
+	list->_buffer[1].menuDescription = (char *) C_("New", "Contact _List");
 	list->_buffer[1].tooltip = _("Create a new contact list");
 	list->_buffer[1].menuShortcut = 'l';
 	list->_buffer[1].iconName = "stock_contact-list";
@@ -242,7 +242,7 @@
 
 	list->_buffer[2].id = "address_book";
 	list->_buffer[2].description = _("New Address Book");
-	list->_buffer[2].menuDescription = _("Address _Book");
+	list->_buffer[2].menuDescription = (char *) C_("New", "Address _Book");
 	list->_buffer[2].tooltip = _("Create a new address book");
 	list->_buffer[2].menuShortcut = '\0';
 	list->_buffer[2].iconName = "address-book-new";

Modified: branches/kill-bonobo/addressbook/gui/component/addressbook-config.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/addressbook-config.c	(original)
+++ branches/kill-bonobo/addressbook/gui/component/addressbook-config.c	Fri Aug  8 04:26:12 2008
@@ -111,6 +111,7 @@
 	GtkWidget *search_filter;
 	GtkWidget *timeout_scale;
 	GtkWidget *limit_spinbutton;
+	GtkWidget *canbrowsecheck;
 
 	/* display name page fields */
 	GtkWidget *display_name;
@@ -925,6 +926,15 @@
 	e_source_set_property(sdialog->source, "limit", limit);
 }
 
+static void
+canbrowse_toggled_cb (GtkWidget *toggle_button, ESource *source)
+{
+	if (!source || !toggle_button)
+		return;
+
+	e_source_set_property (source, "can-browse", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle_button)) ? "1" : NULL);
+}
+
 static GtkWidget *
 eabc_details_limit(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
 {
@@ -956,6 +966,10 @@
 	gtk_spin_button_set_value((GtkSpinButton *)sdialog->limit_spinbutton, tmp?g_strtod(tmp, NULL):100.0);
 	g_signal_connect (sdialog->limit_spinbutton, "value_changed", G_CALLBACK (limit_changed_cb), sdialog);
 
+	sdialog->canbrowsecheck = glade_xml_get_widget (gui, "canbrowsecheck");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sdialog->canbrowsecheck), e_source_get_property (sdialog->source, "can-browse") && strcmp (e_source_get_property (sdialog->source, "can-browse"), "1") == 0);
+	g_signal_connect (sdialog->canbrowsecheck, "toggled", G_CALLBACK (canbrowse_toggled_cb), sdialog->source);
+
 	g_object_unref(gui);
 
 	return w;

Modified: branches/kill-bonobo/addressbook/gui/component/addressbook-view.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/addressbook-view.c	(original)
+++ branches/kill-bonobo/addressbook/gui/component/addressbook-view.c	Fri Aug  8 04:26:12 2008
@@ -1330,7 +1330,7 @@
 	e_activity_handler_attach_task_bar (priv->activity_handler,
 					    E_TASK_BAR (priv->statusbar_widget));
 
-	priv->info_widget = e_info_label_new("contact-new");
+	priv->info_widget = e_info_label_new("x-office-address-book");
 	e_info_label_set_info((EInfoLabel*)priv->info_widget, _("Contacts"), "");
 	gtk_widget_show (priv->info_widget);
 

Modified: branches/kill-bonobo/addressbook/gui/component/ldap-config.glade
==============================================================================
--- branches/kill-bonobo/addressbook/gui/component/ldap-config.glade	(original)
+++ branches/kill-bonobo/addressbook/gui/component/ldap-config.glade	Fri Aug  8 04:26:12 2008
@@ -1179,7 +1179,7 @@
 		  <child>
 		    <widget class="GtkTable" id="table34">
 		      <property name="visible">True</property>
-		      <property name="n_rows">2</property>
+		      <property name="n_rows">3</property>
 		      <property name="n_columns">3</property>
 		      <property name="homogeneous">False</property>
 		      <property name="row_spacing">6</property>
@@ -1405,6 +1405,28 @@
 			  <property name="y_options">shrink|fill</property>
 			</packing>
 		      </child>
+
+		      <child>
+			<widget class="GtkCheckButton" id="canbrowsecheck">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes" comments="To translators: If enabled, addressbook will only fetch contacts from the server until either set time limit or amount of contacts limit reached">B_rowse this book until limit reached</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
@@ -2707,7 +2729,7 @@
 		    <widget class="GtkTable" id="table11">
 		      <property name="border_width">12</property>
 		      <property name="visible">True</property>
-		      <property name="n_rows">2</property>
+		      <property name="n_rows">3</property>
 		      <property name="n_columns">3</property>
 		      <property name="homogeneous">False</property>
 		      <property name="row_spacing">6</property>
@@ -2930,6 +2952,28 @@
 			  <property name="y_options"></property>
 			</packing>
 		      </child>
+
+		      <child>
+			<widget class="GtkCheckButton" id="canbrowsecheck">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes" comments="To translators: If enabled, addressbook will only fetch contacts from the server until either set time limit or amount of contacts limit reached">B_rowse this book until limit reached</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 		    </widget>
 		  </child>
 

Modified: branches/kill-bonobo/addressbook/gui/contact-list-editor/contact-list-editor.glade
==============================================================================
--- branches/kill-bonobo/addressbook/gui/contact-list-editor/contact-list-editor.glade	(original)
+++ branches/kill-bonobo/addressbook/gui/contact-list-editor/contact-list-editor.glade	Fri Aug  8 04:26:12 2008
@@ -28,7 +28,7 @@
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="icon_size">6</property>
-                <property name="icon_name">stock_addressbook</property>
+                <property name="icon_name">x-office-address-book</property>
               </widget>
               <packing>
                 <property name="left_attach">1</property>

Modified: branches/kill-bonobo/addressbook/gui/contact-list-editor/e-contact-list-editor.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/contact-list-editor/e-contact-list-editor.c	(original)
+++ branches/kill-bonobo/addressbook/gui/contact-list-editor/e-contact-list-editor.c	Fri Aug  8 04:26:12 2008
@@ -1334,6 +1334,7 @@
 	GtkTreeIter iter;
 	gboolean iter_valid;
 	const gchar *text;
+	GSList *attrs = NULL, *a;
 
 	g_return_val_if_fail (E_IS_CONTACT_LIST_EDITOR (editor), NULL);
 
@@ -1367,13 +1368,20 @@
 
 		gtk_tree_model_get (model, &iter, 0, &dest, -1);
 		attr = e_vcard_attribute_new (NULL, EVC_EMAIL);
-		e_vcard_add_attribute (E_VCARD (contact), attr);
+		attrs = g_slist_prepend (attrs, attr);
 		e_destination_export_to_vcard_attribute (dest, attr);
 		g_object_unref (dest);
 
 		iter_valid = gtk_tree_model_iter_next (model, &iter);
 	}
 
+	/* Put it in reverse order because e_vcard_add_attribute also uses prepend,
+	   but we want to keep order of mails there. Hopefully noone will change
+	   the behaviour of the e_vcard_add_attribute. */
+	for (a = attrs; a; a = a->next) {
+		e_vcard_add_attribute (E_VCARD (contact), a->data);
+	}
+
 	return contact;
 }
 

Modified: branches/kill-bonobo/addressbook/gui/merging/eab-contact-duplicate-detected.glade
==============================================================================
--- branches/kill-bonobo/addressbook/gui/merging/eab-contact-duplicate-detected.glade	(original)
+++ branches/kill-bonobo/addressbook/gui/merging/eab-contact-duplicate-detected.glade	Fri Aug  8 04:26:12 2008
@@ -61,7 +61,7 @@
 	      <property name="visible">True</property>
 	      <property name="can_default">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="label">_Merge</property>
+	      <property name="label" translatable="yes">_Merge</property>
 	      <property name="use_underline">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>

Modified: branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.c	(original)
+++ branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.c	Fri Aug  8 04:26:12 2008
@@ -155,28 +155,34 @@
 set_empty_message (EMinicardView *view)
 {
 	char *empty_message;
-	gboolean editable = FALSE, perform_initial_query = FALSE;
+	gboolean editable = FALSE, perform_initial_query = FALSE, searching = FALSE;
 	EBook *book;
 
 	if (view->adapter) {
+		EABModel *model = NULL;
+
 		g_object_get (view->adapter,
 			      "editable", &editable,
+			      "model", &model,
 			      NULL);
 
 		g_object_get (view->adapter, "book", &book, NULL);
 		if (!e_book_check_static_capability (book, "do-initial-query"))
 			perform_initial_query = TRUE;
+
+		searching = model && eab_model_can_stop (model);
 	}
 
-	if (editable) {
+	if (searching) {
+		empty_message = _("\n\nSearching for the Contacts...");
+	} else if (editable) {
 		if (perform_initial_query)
 			empty_message = _("\n\nSearch for the Contact\n\n"
 					  "or double-click here to create a new Contact.");
 		else
 			empty_message = _("\n\nThere are no items to show in this view.\n\n"
 					  "Double-click here to create a new Contact.");
-	}
-	else {
+	} else {
 		if (perform_initial_query)
 			empty_message = _("\n\nSearch for the Contact.");
 		else
@@ -195,6 +201,12 @@
 }
 
 static void
+stop_state_changed (EABModel *model, EMinicardView *view)
+{
+	set_empty_message (view);
+}
+
+static void
 adapter_changed (EMinicardView *view)
 {
 	set_empty_message (view);
@@ -216,19 +228,23 @@
 	switch (prop_id){
 	case PROP_ADAPTER:
 		if (view->adapter) {
-			if (view->writable_status_id) {
+			if (view->writable_status_id || view->stop_state_id) {
 				EABModel *model;
 				g_object_get (view->adapter,
 					      "model", &model,
 					      NULL);
 				if (model) {
-					g_signal_handler_disconnect (model, view->writable_status_id);
+					if (view->writable_status_id)
+						g_signal_handler_disconnect (model, view->writable_status_id);
+					if (view->stop_state_id)
+						g_signal_handler_disconnect (model, view->stop_state_id);
 				}
 			}
 
 			g_object_unref (view->adapter);
 		}
 		view->writable_status_id = 0;
+		view->stop_state_id = 0;
 		view->adapter = g_value_get_object (value);
 		g_object_ref (view->adapter);
 		adapter_changed (view);
@@ -244,6 +260,9 @@
 				view->writable_status_id =
 					g_signal_connect (model, "writable_status",
 							  G_CALLBACK (writable_status_change), view);
+				view->stop_state_id =
+					g_signal_connect (model, "stop_state_changed",
+							  G_CALLBACK (stop_state_changed), view);
 			}
 
 		}
@@ -317,19 +336,23 @@
 	}
 
 	if (view->adapter) {
-		if (view->writable_status_id) {
+		if (view->writable_status_id || view->stop_state_id) {
 			EABModel *model;
 			g_object_get (view->adapter,
 				      "model", &model,
 				      NULL);
 			if (model) {
-				g_signal_handler_disconnect (model, view->writable_status_id);
+				if (view->writable_status_id)
+					g_signal_handler_disconnect (model, view->writable_status_id);
+				if (view->stop_state_id)
+					g_signal_handler_disconnect (model, view->stop_state_id);
 			}
 		}
 
 		g_object_unref (view->adapter);
 	}
 	view->writable_status_id = 0;
+	view->stop_state_id = 0;
 	view->adapter = NULL;
 
 	if (G_OBJECT_CLASS(parent_class)->dispose)
@@ -548,6 +571,7 @@
 	view->adapter = NULL;
 	view->canvas_drag_data_get_id = 0;
 	view->writable_status_id = 0;
+	view->stop_state_id = 0;
 
 	set_empty_message (view);
 }

Modified: branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.h
==============================================================================
--- branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.h	(original)
+++ branches/kill-bonobo/addressbook/gui/widgets/e-minicard-view.h	Fri Aug  8 04:26:12 2008
@@ -70,6 +70,7 @@
 
 	guint canvas_drag_data_get_id;
 	guint writable_status_id;
+	guint stop_state_id;
 };
 
 struct _EMinicardViewClass

Modified: branches/kill-bonobo/addressbook/gui/widgets/e-minicard.c
==============================================================================
--- branches/kill-bonobo/addressbook/gui/widgets/e-minicard.c	(original)
+++ branches/kill-bonobo/addressbook/gui/widgets/e-minicard.c	Fri Aug  8 04:26:12 2008
@@ -780,21 +780,21 @@
 	new_item = e_minicard_label_new(group);
 
 	if (e_minicard->contact && e_contact_get (e_minicard->contact, E_CONTACT_IS_LIST))
-		gnome_canvas_item_set( new_item,
-				       "width", e_minicard->width - 4.0,
-				       "fieldname", is_rtl ? "" : string,
-			    	       "field", is_rtl ? string : "",
-			 	      "max_field_name_length", left_width,
-			    	   "editable", FALSE /* e_minicard->editable */,
-			    	   NULL );
+		gnome_canvas_item_set (new_item,
+					"fieldname", is_rtl ? "" : string,
+					"field", is_rtl ? string : "",
+					"max_field_name_length", left_width,
+					"editable", FALSE /* e_minicard->editable */,
+					"width", e_minicard->width - 4.0,
+					NULL );
 	else
-		gnome_canvas_item_set( new_item,
-				       "width", e_minicard->width - 4.0,
-				       "fieldname", is_rtl ? string : name,
-			    	   "field", is_rtl ? name : string,
-			 	      "max_field_name_length", left_width,
-			    	   "editable", FALSE /* e_minicard->editable */,
-			    	   NULL );
+		gnome_canvas_item_set (new_item,
+					"fieldname", is_rtl ? string : name,
+					"field", is_rtl ? name : string,
+					"max_field_name_length", left_width,
+					"editable", FALSE /* e_minicard->editable */,
+					"width", e_minicard->width - 4.0,
+					NULL );
 
 
 #ifdef notyet
@@ -831,7 +831,7 @@
 }
 
 static void
-add_email_field (EMinicard *e_minicard, GList *email_list, gdouble left_width, int limit)
+add_email_field (EMinicard *e_minicard, GList *email_list, gdouble left_width, int limit, gboolean is_list)
 {
 	GnomeCanvasItem *new_item;
 	GnomeCanvasGroup *group;
@@ -850,8 +850,13 @@
 		char *parsed_name = NULL;
 		gboolean parser_check;
 
-		tmp = get_email_location ((EVCardAttribute *) l->data);
-		name = g_strdup_printf ("%s:", tmp);
+		/* do not use name for fields in the contact list */
+		if (is_list) {
+			name = (char *)"";
+		} else {
+			tmp = get_email_location ((EVCardAttribute *) l->data);
+			name = g_strdup_printf ("%s:", tmp);
+		}
 
 		parser_check = eab_parse_qp_email ((const gchar *) le->data, &parsed_name, &email);
 		if (parser_check) {
@@ -864,12 +869,12 @@
 
 		new_item = e_minicard_label_new(group);
 
-		gnome_canvas_item_set( new_item,
-				       "width", e_minicard->width - 4.0,
+		gnome_canvas_item_set (new_item,
 				       "fieldname", is_rtl ? string : name,
 				       "field", is_rtl ? name : string,
 				       "max_field_name_length", left_width,
 				       "editable", FALSE /* e_minicard->editable */,
+				       "width", e_minicard->width - 4.0,
 				       NULL );
 
 #ifdef notyet
@@ -888,7 +893,8 @@
 		e_minicard->fields = g_list_append( e_minicard->fields, minicard_field);
 		e_canvas_item_move_absolute(new_item, 2, e_minicard->height);
 		count++;
-		g_free (name);
+		if (!is_list)
+			g_free (name);
 		g_free (string);
 		g_free (parsed_name);
 		g_free (email);
@@ -1005,7 +1011,7 @@
 
 					limit = 5 - count;
 					email = e_contact_get_attributes (e_minicard->contact, E_CONTACT_EMAIL);
-					add_email_field (e_minicard, email, left_width, limit);
+					add_email_field (e_minicard, email, left_width, limit, is_list);
 					if (count+limit >5)
 						count = 5;
 					else

Modified: branches/kill-bonobo/addressbook/printing/e-contact-print.c
==============================================================================
--- branches/kill-bonobo/addressbook/printing/e-contact-print.c	(original)
+++ branches/kill-bonobo/addressbook/printing/e-contact-print.c	Fri Aug  8 04:26:12 2008
@@ -57,6 +57,8 @@
 	EContactPrintStyle *style;
 	gboolean first_section;
 
+	gint page_nr, pages;
+
 	PangoFontDescription *letter_heading_font;
 	gchar *section;
 	gboolean first_contact;
@@ -178,8 +180,15 @@
 	pango_layout_set_width (layout, width);
 	pango_layout_get_size (layout, NULL, &height);
 
-	/* Draw white text centered in a black rectangle. */
+	if (ctxt->page_nr == -1 || ctxt->pages != ctxt->page_nr) {
+		/* only calculating number of pages
+		   or on page we do not want to print */
+		ctxt->y += pango_units_to_double (height);
+
+		return;
+	}
 
+	/* Draw white text centered in a black rectangle. */
 	cr = gtk_print_context_get_cairo_context (ctxt->context);
 
 	cairo_save (cr);
@@ -207,10 +216,11 @@
 
 	cr = gtk_print_context_get_cairo_context (ctxt->context);
 
-	cairo_show_page (cr);
+	/*cairo_show_page (cr);*/
 
        	ctxt->x = ctxt->y = .0;
 	ctxt->column = 0;
+	ctxt->pages++;
 }
 
 static void
@@ -226,7 +236,7 @@
 
 	file_as = e_contact_get (contact, E_CONTACT_FILE_AS);
 
-	if (ctxt->style->print_using_grey) {
+	if (ctxt->style->print_using_grey && ctxt->pages == ctxt->page_nr) {
 		cairo_save (cr);
 		cairo_set_source_rgb (cr, .85, .85, .85);
 		cairo_rectangle (cr, ctxt->x, ctxt->y, ctxt->column_width,
@@ -236,9 +246,10 @@
 		cairo_restore (cr);
 	}
 
-	e_contact_output (
-		ctxt->context, ctxt->style->headings_font,
-		ctxt->x, ctxt->y, ctxt->column_width + 4, file_as);
+	if (ctxt->pages == ctxt->page_nr)
+		e_contact_output (
+			ctxt->context, ctxt->style->headings_font,
+			ctxt->x, ctxt->y, ctxt->column_width + 4, file_as);
 	ctxt->y += e_contact_text_height (
 		ctxt->context, ctxt->style->headings_font, file_as);
 
@@ -258,9 +269,10 @@
 		text = g_strdup_printf ("%s:  %s",
 			e_contact_pretty_name (field), value);
 
-		e_contact_output (
-			ctxt->context, ctxt->style->body_font,
-			ctxt->x, ctxt->y, -1, text);
+		if (ctxt->pages == ctxt->page_nr)
+			e_contact_output (
+				ctxt->context, ctxt->style->body_font,
+				ctxt->x, ctxt->y, -1, text);
 
 		ctxt->y += e_contact_text_height (
 			ctxt->context, ctxt->style->body_font, text);
@@ -540,51 +552,6 @@
 }
 
 static void
-free_contacts (EContactPrintContext *ctxt)
-{
-	g_list_foreach (ctxt->contact_list, (GFunc) g_object_unref, NULL);
-	g_list_free (ctxt->contact_list);
-}
-
-static void
-contact_begin_print (GtkPrintOperation *operation,
-                     GtkPrintContext *context,
-                     EContactPrintContext *ctxt)
-{
-	GtkPageSetup *setup;
-	gdouble page_width;
-
-	e_contact_build_style (ctxt->style);
-
-	setup = gtk_print_context_get_page_setup (context);
-	page_width = gtk_page_setup_get_page_width (setup, GTK_UNIT_POINTS);
-
-	ctxt->context = context;
-	ctxt->x = ctxt->y = .0;
-	ctxt->column = 0;
-	ctxt->first_contact = TRUE;
-	ctxt->first_section = TRUE;
-	ctxt->section = NULL;
-
-	ctxt->column_spacing = gtk_print_context_get_dpi_x (context) / 4;
-	ctxt->column_width = (page_width + ctxt->column_spacing) /
-		ctxt->style->num_columns - ctxt->column_spacing;
-
-	ctxt->letter_heading_font = pango_font_description_new ();
-	pango_font_description_set_family (
-		ctxt->letter_heading_font,
-		pango_font_description_get_family (
-			ctxt->style->headings_font));
-	pango_font_description_set_size (
-		ctxt->letter_heading_font,
-		pango_font_description_get_size (
-			ctxt->style->headings_font) * 1.5);
-
-	if (ctxt->book != NULL)
-		load_contacts (ctxt);
-}
-
-static void
 contact_draw (EContact *contact, EContactPrintContext *ctxt)
 {
 	GtkPageSetup *setup;
@@ -638,11 +605,71 @@
 }
 
 static void
+free_contacts (EContactPrintContext *ctxt)
+{
+	g_list_foreach (ctxt->contact_list, (GFunc) g_object_unref, NULL);
+	g_list_free (ctxt->contact_list);
+}
+
+static void
+contact_begin_print (GtkPrintOperation *operation,
+                     GtkPrintContext *context,
+                     EContactPrintContext *ctxt)
+{
+	GtkPageSetup *setup;
+	gdouble page_width;
+
+	e_contact_build_style (ctxt->style);
+
+	setup = gtk_print_context_get_page_setup (context);
+	page_width = gtk_page_setup_get_page_width (setup, GTK_UNIT_POINTS);
+
+	ctxt->context = context;
+	ctxt->x = ctxt->y = .0;
+	ctxt->column = 0;
+	ctxt->first_contact = TRUE;
+	ctxt->first_section = TRUE;
+	ctxt->section = NULL;
+
+	ctxt->column_spacing = gtk_print_context_get_dpi_x (context) / 4;
+	ctxt->column_width = (page_width + ctxt->column_spacing) /
+		ctxt->style->num_columns - ctxt->column_spacing;
+
+	ctxt->letter_heading_font = pango_font_description_new ();
+	pango_font_description_set_family (
+		ctxt->letter_heading_font,
+		pango_font_description_get_family (
+			ctxt->style->headings_font));
+	pango_font_description_set_size (
+		ctxt->letter_heading_font,
+		pango_font_description_get_size (
+			ctxt->style->headings_font) * 1.5);
+
+	if (ctxt->book != NULL) {
+		load_contacts (ctxt);
+		ctxt->page_nr = -1;
+		ctxt->pages = 1;
+		g_list_foreach (ctxt->contact_list, (GFunc) contact_draw, ctxt);
+		gtk_print_operation_set_n_pages (operation, ctxt->pages);
+	}
+}
+
+static void
 contact_draw_page (GtkPrintOperation *operation,
                    GtkPrintContext *context,
                    gint page_nr,
                    EContactPrintContext *ctxt)
 {
+	/* only text on page_nr == pages will be drawn, the pages is recalculated */
+	ctxt->page_nr = page_nr;
+	ctxt->pages = 0;
+
+	ctxt->x = ctxt->y = .0;
+	ctxt->column = 0;
+	ctxt->first_contact = TRUE;
+	ctxt->first_section = TRUE;
+	ctxt->section = NULL;
+
 	g_list_foreach (ctxt->contact_list, (GFunc) contact_draw, ctxt);
 }
 
@@ -681,6 +708,8 @@
 		ctxt.contact_list = contact_list;
 	}
 	ctxt.style = &style;
+	ctxt.page_nr = 0;
+	ctxt.pages = 0;
 
 	operation = e_print_operation_new ();
 	gtk_print_operation_set_n_pages (operation, 1);

Modified: branches/kill-bonobo/calendar/calendar.error.xml
==============================================================================
--- branches/kill-bonobo/calendar/calendar.error.xml	(original)
+++ branches/kill-bonobo/calendar/calendar.error.xml	Fri Aug  8 04:26:12 2008
@@ -231,14 +231,14 @@
  <error id="prompt-read-only-cal" type="error" default="GTK_RESPONSE_YES">
   <_primary>Cannot create a new event</_primary>
   <!-- For Translators: {0} is the name of the calendar source -->
-  <_secondary>'{0}' is a read-only calendar source. Switch to Calendar View and highlight a calendar that can accept appointments.</_secondary>
+  <_secondary>'{0}' is a read-only calendar and cannot be modified. Please select a different calendar from the side bar in the Calendar view.</_secondary>
   <button stock ="gtk-ok" response="GTK_RESPONSE_YES"/>
  </error>
 
  <error id="prompt-read-only-cal-editor" type="error" default="GTK_RESPONSE_YES">
   <_primary>Cannot save event</_primary>
   <!-- For Translators: {0} is the name of the calendar source -->
-  <_secondary>'{0}' is a read-only calendar source. Change Calendar to one that can accept appointments.</_secondary>
+  <_secondary>'{0}' is a read-only calendar and cannot be modified. Please select a different calendar that can accept appointments.</_secondary>
   <button stock ="gtk-ok" response="GTK_RESPONSE_YES"/>
  </error>
 
@@ -250,7 +250,7 @@
 
  <error id="prompt-no-contents-offline-memos" type="error" default="GTK_RESPONSE_YES">
   <_primary>Error loading memo list</_primary>
-  <_secondary>The memo list is not marked for offline usage</_secondary>
+  <_secondary>The memo list is not marked for offline usage.</_secondary>
   <button stock ="gtk-ok" response="GTK_RESPONSE_YES"/>
  </error>
 

Modified: branches/kill-bonobo/calendar/gui/GNOME_Evolution_Calendar.server.in.in
==============================================================================
--- branches/kill-bonobo/calendar/gui/GNOME_Evolution_Calendar.server.in.in	(original)
+++ branches/kill-bonobo/calendar/gui/GNOME_Evolution_Calendar.server.in.in	Fri Aug  8 04:26:12 2008
@@ -47,7 +47,7 @@
 	<oaf_attribute name="evolution:menu_accelerator" type="string" value="*Control*3"/>
 	<oaf_attribute name="evolution:button_label" type="string" _value="Calendars"/>
 	<oaf_attribute name="evolution:button_tooltips" type="string" _value="Calendars"/>
-        <oaf_attribute name="evolution:button_icon" type="string" value="stock_calendar"/>
+        <oaf_attribute name="evolution:button_icon" type="string" value="x-office-calendar"/>
 	<oaf_attribute name="evolution:button_sort_order" type="string" value="-8"/>
 
 <!-- FIXME: See bug 407104: Write a interface to launch without shell.
@@ -74,8 +74,8 @@
 	<oaf_attribute name="evolution:menu_accelerator" type="string" value="*Control*4"/>
 	<oaf_attribute name="evolution:button_label" type="string" _value="Tasks"/>
 	<oaf_attribute name="evolution:button_tooltips" type="string" _value="Tasks"/>
-        <oaf_attribute name="evolution:button_icon" type="string" value="stock_todo"/>
-	<oaf_attribute name="evolution:button_sort_order" type="string" value="-8"/>
+        <oaf_attribute name="evolution:button_icon" type="string" value="evolution-tasks"/>
+	<oaf_attribute name="evolution:button_sort_order" type="string" value="-7"/>
 
         <oaf_attribute name="evolution:uri_schemas" type="stringv">
           <item value="task"/>
@@ -99,8 +99,8 @@
 	<oaf_attribute name="evolution:menu_accelerator" type="string" value="*Control*5"/>
 	<oaf_attribute name="evolution:button_label" type="string" _value="Memos"/>
 	<oaf_attribute name="evolution:button_tooltips" type="string" _value="Memos"/>
-        <oaf_attribute name="evolution:button_icon" type="string" value="stock_notes"/>
-	<oaf_attribute name="evolution:button_sort_order" type="string" value="-8"/>
+        <oaf_attribute name="evolution:button_icon" type="string" value="evolution-memos"/>
+	<oaf_attribute name="evolution:button_sort_order" type="string" value="-6"/>
 </oaf_server>
 
 <oaf_server iid="OAFIID:GNOME_Evolution_Calendar_CompEditorFactory:@VERSION@"

Modified: branches/kill-bonobo/calendar/gui/alarm-notify/alarm-queue.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/alarm-notify/alarm-queue.c	(original)
+++ branches/kill-bonobo/calendar/gui/alarm-notify/alarm-queue.c	Fri Aug  8 04:26:12 2008
@@ -79,7 +79,7 @@
 /* Top Tray Image */
 static GtkStatusIcon *tray_icon = NULL;
 static int tray_blink_id = -1;
-static int tray_blink_state = FALSE;
+static int tray_blink_countdown = 0;
 static AlarmNotify *an;
 
 /* Structure that stores a client we are monitoring */
@@ -1383,11 +1383,13 @@
 static gboolean
 tray_icon_blink_cb (gpointer data)
 {
+	static gboolean tray_blink_state = FALSE;
 	GdkPixbuf *pixbuf;
 
-	tray_blink_state = tray_blink_state == TRUE ? FALSE: TRUE;
+	tray_blink_countdown--;
+	tray_blink_state = !tray_blink_state;
 
-	pixbuf = e_icon_factory_get_icon  (tray_blink_state == TRUE?
+	pixbuf = e_icon_factory_get_icon  ((tray_blink_state || tray_blink_countdown <= 0)?
 					   "stock_appointment-reminder-excl" :
 					   "stock_appointment-reminder",
 					   E_ICON_SIZE_LARGE_TOOLBAR);
@@ -1396,7 +1398,10 @@
 		gtk_status_icon_set_from_pixbuf (tray_icon, pixbuf);
 	g_object_unref (pixbuf);
 
-	return TRUE;
+	if (tray_blink_countdown <= 0)
+		tray_blink_id = -1;
+
+	return tray_blink_countdown > 0;
 }
 
 
@@ -1536,8 +1541,10 @@
 		open_alarm_dialog (tray_data);
 		gtk_window_stick (GTK_WINDOW (alarm_notifications_dialog->dialog));
 	} else {
-		if (tray_blink_id == -1)
+		if (tray_blink_id == -1) {
+			tray_blink_countdown = 30;
 			tray_blink_id = g_timeout_add (500, tray_icon_blink_cb, tray_data);
+		}
 	}
 }
 

Modified: branches/kill-bonobo/calendar/gui/calendar-component.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/calendar-component.c	(original)
+++ branches/kill-bonobo/calendar/gui/calendar-component.c	Fri Aug  8 04:26:12 2008
@@ -613,7 +613,7 @@
 }
 
 static EPopupItem ecc_source_popups[] = {
-	{ E_POPUP_ITEM, "10.new", N_("_New Calendar"), new_calendar_cb, NULL, "stock_calendar", 0, 0 },
+	{ E_POPUP_ITEM, "10.new", N_("_New Calendar"), new_calendar_cb, NULL, "x-office-calendar", 0, 0 },
 	{ E_POPUP_ITEM, "15.copy", N_("_Copy..."), copy_calendar_cb, NULL, "edit-copy", 0, E_CAL_POPUP_SOURCE_PRIMARY },
 
 	{ E_POPUP_BAR, "20.bar" },
@@ -1399,7 +1399,7 @@
 					     GTK_SHADOW_IN);
 	gtk_widget_show (selector_scrolled_window);
 
-	component_view->info_label = (EInfoLabel *)e_info_label_new("stock_calendar");
+	component_view->info_label = (EInfoLabel *)e_info_label_new("x-office-calendar");
 	e_info_label_set_info (component_view->info_label, _("Calendars"), "");
 	gtk_widget_show (GTK_WIDGET (component_view->info_label));
 
@@ -1594,7 +1594,7 @@
 
 	list->_buffer[0].id = CREATE_EVENT_ID;
 	list->_buffer[0].description = _("New appointment");
-	list->_buffer[0].menuDescription = _("_Appointment");
+	list->_buffer[0].menuDescription = (char *) C_("New", "_Appointment");
 	list->_buffer[0].tooltip = _("Create a new appointment");
 	list->_buffer[0].menuShortcut = 'a';
 	list->_buffer[0].iconName = "appointment-new";
@@ -1602,7 +1602,7 @@
 
 	list->_buffer[1].id = CREATE_MEETING_ID;
 	list->_buffer[1].description = _("New meeting");
-	list->_buffer[1].menuDescription = _("M_eeting");
+	list->_buffer[1].menuDescription = (char *) C_("New", "M_eeting");
 	list->_buffer[1].tooltip = _("Create a new meeting request");
 	list->_buffer[1].menuShortcut = 'e';
 	list->_buffer[1].iconName = "stock_new-meeting";
@@ -1610,7 +1610,7 @@
 
 	list->_buffer[2].id = CREATE_ALLDAY_EVENT_ID;
 	list->_buffer[2].description = _("New all day appointment");
-	list->_buffer[2].menuDescription = _("All Day A_ppointment");
+	list->_buffer[2].menuDescription = (char *) C_("New", "All Day A_ppointment");
 	list->_buffer[2].tooltip = _("Create a new all-day appointment");
 	list->_buffer[2].menuShortcut = '\0';
 	list->_buffer[2].iconName = "stock_new-24h-appointment";
@@ -1618,10 +1618,10 @@
 
 	list->_buffer[3].id = CREATE_CALENDAR_ID;
 	list->_buffer[3].description = _("New calendar");
-	list->_buffer[3].menuDescription = _("Cale_ndar");
+	list->_buffer[3].menuDescription = (char *) C_("New", "Cale_ndar");
 	list->_buffer[3].tooltip = _("Create a new calendar");
 	list->_buffer[3].menuShortcut = '\0';
-	list->_buffer[3].iconName = "stock_calendar";
+	list->_buffer[3].iconName = "x-office-calendar";
 	list->_buffer[3].type = GNOME_Evolution_CREATABLE_FOLDER;
 
 	return list;

Modified: branches/kill-bonobo/calendar/gui/dialogs/alarm-dialog.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/alarm-dialog.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/alarm-dialog.c	Fri Aug  8 04:26:12 2008
@@ -1178,7 +1178,7 @@
 	gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog.toplevel)->vbox), 0);
 	gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog.toplevel)->action_area), 12);
 
-	icon_list = e_icon_factory_get_icon_list ("stock_calendar");
+	icon_list = e_icon_factory_get_icon_list ("x-office-calendar");
 	if (icon_list) {
 		gtk_window_set_icon_list (GTK_WINDOW (dialog.toplevel), icon_list);
 		g_list_foreach (icon_list, (GFunc) g_object_unref, NULL);

Modified: branches/kill-bonobo/calendar/gui/dialogs/alarm-list-dialog.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/alarm-list-dialog.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/alarm-list-dialog.c	Fri Aug  8 04:26:12 2008
@@ -293,7 +293,7 @@
 	gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog.toplevel)->vbox), 0);
 	gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog.toplevel)->action_area), 12);
 
-	icon_list = e_icon_factory_get_icon_list ("stock_calendar");
+	icon_list = e_icon_factory_get_icon_list ("x-office-calendar");
 	if (icon_list) {
 		gtk_window_set_icon_list (GTK_WINDOW (dialog.toplevel), icon_list);
 		g_list_foreach (icon_list, (GFunc) g_object_unref, NULL);

Modified: branches/kill-bonobo/calendar/gui/dialogs/changed-comp.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/changed-comp.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/changed-comp.c	Fri Aug  8 04:26:12 2008
@@ -105,7 +105,7 @@
 					 GTK_MESSAGE_QUESTION,
 					 GTK_BUTTONS_YES_NO, "%s", str);
 
-	icon_list = e_icon_factory_get_icon_list ("stock_calendar");
+	icon_list = e_icon_factory_get_icon_list ("x-office-calendar");
 	if (icon_list) {
 		gtk_window_set_icon_list (GTK_WINDOW (dialog), icon_list);
 		g_list_foreach (icon_list, (GFunc) g_object_unref, NULL);

Modified: branches/kill-bonobo/calendar/gui/dialogs/comp-editor.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/comp-editor.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/comp-editor.c	Fri Aug  8 04:26:12 2008
@@ -927,7 +927,7 @@
 
 	if (editor->priv->comp == NULL) {
 		title = g_strdup (_("Edit Appointment"));
-		icon_name = "stock_calendar";
+		icon_name = "x-office-calendar";
 		goto exit;
 
 	} else switch (e_cal_component_get_vtype (editor->priv->comp)) {

Modified: branches/kill-bonobo/calendar/gui/dialogs/delete-error.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/delete-error.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/delete-error.c	Fri Aug  8 04:26:12 2008
@@ -106,7 +106,7 @@
 					 GTK_MESSAGE_ERROR,
 					 GTK_BUTTONS_OK, "%s", str);
 	if (vtype == E_CAL_COMPONENT_EVENT)
-		icon_list = e_icon_factory_get_icon_list ("stock_calendar");
+		icon_list = e_icon_factory_get_icon_list ("x-office-calendar");
 	else if (vtype == E_CAL_COMPONENT_TODO)
 		icon_list = e_icon_factory_get_icon_list ("stock_todo");
 

Modified: branches/kill-bonobo/calendar/gui/dialogs/select-source-dialog.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/select-source-dialog.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/select-source-dialog.c	Fri Aug  8 04:26:12 2008
@@ -58,7 +58,7 @@
 	dialog = e_source_selector_dialog_new (parent, source_list);
 
 	if (obj_type == E_CAL_SOURCE_TYPE_EVENT)
-		icon_list = e_icon_factory_get_icon_list ("stock_calendar");
+		icon_list = e_icon_factory_get_icon_list ("x-office-calendar");
 	else if (obj_type == E_CAL_SOURCE_TYPE_TODO)
 		icon_list = e_icon_factory_get_icon_list ("stock_todo");
         else if (obj_type == E_CAL_SOURCE_TYPE_JOURNAL)

Modified: branches/kill-bonobo/calendar/gui/dialogs/task-details-page.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/task-details-page.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/task-details-page.c	Fri Aug  8 04:26:12 2008
@@ -522,6 +522,9 @@
 	icalproperty_status status;
 	gboolean date_set;
 
+	tdpage = TASK_DETAILS_PAGE (data);
+	priv = tdpage->priv;
+
 	if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (tdpage)))
 		return;
 

Modified: branches/kill-bonobo/calendar/gui/dialogs/task-page.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/dialogs/task-page.c	(original)
+++ branches/kill-bonobo/calendar/gui/dialogs/task-page.c	Fri Aug  8 04:26:12 2008
@@ -1482,6 +1482,9 @@
 	struct icaltimetype start_tt = icaltime_null_time();
 	struct icaltimetype due_tt = icaltime_null_time();
 
+	tpage = TASK_PAGE (data);
+	priv = tpage->priv;
+
 	if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (tpage)))
 		return;
 

Modified: branches/kill-bonobo/calendar/gui/e-calendar-table.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/e-calendar-table.c	(original)
+++ branches/kill-bonobo/calendar/gui/e-calendar-table.c	Fri Aug  8 04:26:12 2008
@@ -37,6 +37,7 @@
 #include <glib/gi18n.h>
 #include <glib/gstdio.h>
 #include <gnome.h>
+#include <gtk/gtktooltip.h>
 #include <misc/e-gui-utils.h>
 #include <table/e-cell-checkbox.h>
 #include <table/e-cell-toggle.h>
@@ -46,6 +47,8 @@
 #include <e-util/e-util-private.h>
 #include <misc/e-cell-date-edit.h>
 #include <misc/e-cell-percent.h>
+#include <libecal/e-cal-time-util.h>
+#include <libedataserver/e-time-utils.h>
 
 #include "calendar-component.h"
 #include "calendar-config.h"
@@ -54,6 +57,7 @@
 #include "dialogs/task-editor.h"
 #include "e-cal-model-tasks.h"
 #include "e-calendar-table.h"
+#include "e-calendar-view.h"
 #include "e-cell-date-edit-text.h"
 #include "e-comp-editor-registry.h"
 #include "print.h"
@@ -260,6 +264,209 @@
 }
 
 static void
+get_time_as_text (struct icaltimetype *tt, icaltimezone *f_zone, icaltimezone *t_zone, char *buff, int buff_len)
+{
+        struct tm tmp_tm;
+
+	buff [0] = 0;
+
+	tmp_tm = icaltimetype_to_tm_with_zone (tt, f_zone, t_zone);
+        e_time_format_date_and_time (&tmp_tm,
+                                     calendar_config_get_24_hour_format (),
+                                     FALSE, FALSE,
+                                     buff, buff_len);
+}
+
+static gboolean
+query_tooltip_cb (GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer user_data)
+{
+	ECalendarTable *cal_table;
+	ECalModelComponent *comp;
+	int row = -1, col = -1;
+	GtkWidget *box, *l, *w;
+	GtkStyle *style = gtk_widget_get_default_style ();
+	char *tmp;
+	const char *str;
+	GString *tmp2;
+	char buff[1001];
+	gboolean free_text = FALSE;
+	ECalComponent *new_comp;
+	ECalComponentOrganizer organizer;
+	ECalComponentDateTime dtstart, dtdue;
+	icaltimezone *zone, *default_zone;
+	GSList *desc, *p;
+	int len;
+	ETable *etable;
+	ESelectionModel *esm;
+
+	if (keyboard_mode)
+		return FALSE;
+
+	g_return_val_if_fail (widget != NULL, FALSE);
+	g_return_val_if_fail (E_IS_CALENDAR_TABLE (user_data), FALSE);
+	g_return_val_if_fail (tooltip != NULL, FALSE);
+
+	cal_table = E_CALENDAR_TABLE (user_data);
+
+	etable = e_calendar_table_get_table (cal_table);
+	e_table_get_mouse_over_cell (etable, x, y, &row, &col);
+	if (row == -1 || !etable)
+		return FALSE;
+
+	/* respect sorting option, the 'e_table_get_mouse_over_cell' returns sorted row, not the model one */
+	esm = e_table_get_selection_model (etable);
+	if (esm && esm->sorter && e_sorter_needs_sorting (esm->sorter))
+		row = e_sorter_sorted_to_model (esm->sorter, row);
+
+	comp = e_cal_model_get_component_at (cal_table->model, row);
+	if (!comp || !comp->icalcomp)
+		return FALSE;
+
+	new_comp = e_cal_component_new ();
+	if (!e_cal_component_set_icalcomponent (new_comp, icalcomponent_new_clone (comp->icalcomp))) {
+		g_object_unref (new_comp);
+		return FALSE;
+	}
+
+	box = gtk_vbox_new (FALSE, 0);
+
+	str = e_calendar_view_get_icalcomponent_summary (comp->client, comp->icalcomp, &free_text);
+	if (!(str && *str)) {
+		if (free_text)
+			g_free ((char *)str);
+		free_text = FALSE;
+		str = _("* No Summary *");
+	}
+
+	l = gtk_label_new (NULL);
+	tmp = g_markup_printf_escaped ("<b>%s</b>", str);
+	gtk_label_set_line_wrap (GTK_LABEL (l), TRUE);
+	gtk_label_set_markup (GTK_LABEL (l), tmp);
+	gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
+	w = gtk_event_box_new ();
+
+	gtk_widget_modify_bg (w, GTK_STATE_NORMAL, &(style->bg[GTK_STATE_SELECTED]));
+	gtk_widget_modify_fg (l, GTK_STATE_NORMAL, &(style->text[GTK_STATE_SELECTED]));
+	gtk_container_add (GTK_CONTAINER (w), l);
+	gtk_box_pack_start (GTK_BOX (box), w, TRUE, TRUE, 0);
+	g_free (tmp);
+
+	if (free_text)
+		g_free ((char *)str);
+	free_text = FALSE;
+
+	w = gtk_event_box_new ();
+	gtk_widget_modify_bg (w, GTK_STATE_NORMAL, &(style->bg[GTK_STATE_NORMAL]));
+
+	l = gtk_vbox_new (FALSE, 0);
+	gtk_container_add (GTK_CONTAINER (w), l);
+	gtk_box_pack_start (GTK_BOX (box), w, FALSE, FALSE, 0);
+	w = l;
+
+	e_cal_component_get_organizer (new_comp, &organizer);
+	if (organizer.cn) {
+		char *ptr ;
+		ptr = strchr( organizer.value, ':');
+
+		if (ptr) {
+			ptr++;
+			/* To Translators: It will display "Organiser: NameOfTheUser <email ofuser com>" */
+			tmp = g_strdup_printf (_("Organizer: %s <%s>"), organizer.cn, ptr);
+		} else {
+			/* With SunOne accounts, there may be no ':' in organiser.value */
+			tmp = g_strdup_printf (_("Organizer: %s"), organizer.cn);
+		}
+
+		l = gtk_label_new (tmp);
+		gtk_label_set_line_wrap (GTK_LABEL (l), FALSE);
+		gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
+		gtk_box_pack_start (GTK_BOX (w), l, FALSE, FALSE, 0);
+		g_free (tmp);
+	}
+
+	e_cal_component_get_dtstart (new_comp, &dtstart);
+	e_cal_component_get_due (new_comp, &dtdue);
+
+	default_zone = e_cal_model_get_timezone  (cal_table->model);
+
+	if (dtstart.tzid) {
+		zone = icalcomponent_get_timezone (e_cal_component_get_icalcomponent (new_comp), dtstart.tzid);
+		if (!zone)
+			e_cal_get_timezone (comp->client, dtstart.tzid, &zone, NULL);
+		if (!zone)
+			zone = default_zone;
+	} else {
+		zone = NULL;
+	}
+
+	tmp2 = g_string_new ("");
+
+	if (dtstart.value) {
+		get_time_as_text (dtstart.value, zone, default_zone, buff, 1000);
+
+		if (buff [0]) {
+			g_string_append (tmp2, _("Start: "));
+			g_string_append (tmp2, buff);
+		}
+	}
+
+	if (dtdue.value) {
+		get_time_as_text (dtdue.value, zone, default_zone, buff, 1000);
+
+		if (buff [0]) {
+			if (tmp2->len)
+				g_string_append (tmp2, "; ");
+
+			g_string_append (tmp2, _("Due: "));
+			g_string_append (tmp2, buff);
+		}
+	}
+
+	if (tmp2->len) {
+		l = gtk_label_new (tmp2->str);
+		gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
+		gtk_box_pack_start (GTK_BOX (w), l, FALSE, FALSE, 0);
+	}
+
+	g_string_free (tmp2, TRUE);
+
+	e_cal_component_free_datetime (&dtstart);
+	e_cal_component_free_datetime (&dtdue);
+
+	tmp2 = g_string_new ("");
+	e_cal_component_get_description_list (new_comp, &desc);
+	for (len = 0, p = desc; p != NULL; p = p->next) {
+		ECalComponentText *text = p->data;
+
+		if (text->value != NULL) {
+			len += strlen (text->value);
+			g_string_append (tmp2, text->value);
+			if (len > 1024) {
+				g_string_set_size (tmp2, 1020);
+				g_string_append (tmp2, "...");
+				break;
+			}
+		}
+	}
+	e_cal_component_free_text_list (desc);
+
+	if (tmp2->len) {
+		l = gtk_label_new (tmp2->str);
+		gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5);
+		gtk_box_pack_start (GTK_BOX (box), l, FALSE, FALSE, 0);
+	}
+
+	g_string_free (tmp2, TRUE);
+
+	gtk_widget_show_all (box);
+	gtk_tooltip_set_custom (tooltip, box);
+
+	g_object_unref (new_comp);
+
+	return TRUE;
+}
+
+static void
 e_calendar_table_init (ECalendarTable *cal_table)
 {
 	GtkWidget *table;
@@ -489,6 +696,8 @@
 	g_signal_connect (e_table, "right_click", G_CALLBACK (e_calendar_table_on_right_click), cal_table);
 	g_signal_connect (e_table, "key_press", G_CALLBACK (e_calendar_table_on_key_press), cal_table);
 	g_signal_connect (e_table, "popup_menu", G_CALLBACK (e_calendar_table_on_popup_menu), cal_table);
+	g_signal_connect (e_table, "query-tooltip", G_CALLBACK (query_tooltip_cb), cal_table);
+	gtk_widget_set_has_tooltip (GTK_WIDGET (e_table), TRUE);
 
 	a11y = gtk_widget_get_accessible ((GtkWidget *)e_table);
 	if (a11y)

Modified: branches/kill-bonobo/calendar/gui/e-calendar-view.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/e-calendar-view.c	(original)
+++ branches/kill-bonobo/calendar/gui/e-calendar-view.c	Fri Aug  8 04:26:12 2008
@@ -62,7 +62,7 @@
 #include "misc.h"
 
 /* Used for the status bar messages */
-#define EVOLUTION_CALENDAR_PROGRESS_IMAGE "stock_calendar"
+#define EVOLUTION_CALENDAR_PROGRESS_IMAGE "x-office-calendar"
 static GdkPixbuf *progress_icon = NULL;
 
 struct _ECalendarViewPrivate {

Modified: branches/kill-bonobo/calendar/gui/memos-component.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/memos-component.c	(original)
+++ branches/kill-bonobo/calendar/gui/memos-component.c	Fri Aug  8 04:26:12 2008
@@ -1098,7 +1098,7 @@
 					     GTK_SHADOW_IN);
 	gtk_widget_show (selector_scrolled_window);
 
-	component_view->info_label = (EInfoLabel *)e_info_label_new("stock_insert-note");
+	component_view->info_label = (EInfoLabel *)e_info_label_new("evolution-memos");
 	e_info_label_set_info(component_view->info_label, _("Memos"), "");
 	gtk_widget_show (GTK_WIDGET (component_view->info_label));
 
@@ -1258,7 +1258,7 @@
 
 	list->_buffer[0].id = CREATE_MEMO_ID;
 	list->_buffer[0].description = _("New memo");
-	list->_buffer[0].menuDescription = _("Mem_o");
+	list->_buffer[0].menuDescription = (char *) C_("New", "Mem_o");
 	list->_buffer[0].tooltip = _("Create a new memo");
 	list->_buffer[0].menuShortcut = 'o';
 	list->_buffer[0].iconName = "stock_insert-note";
@@ -1266,7 +1266,7 @@
 
 	list->_buffer[1].id = CREATE_SHARED_MEMO_ID;
 	list->_buffer[1].description = _("New shared memo");
-	list->_buffer[1].menuDescription = _("_Shared memo");
+	list->_buffer[1].menuDescription = (char *) C_("New", "_Shared memo");
 	list->_buffer[1].tooltip = _("Create a shared new memo");
 	list->_buffer[1].menuShortcut = 'h';
 	list->_buffer[1].iconName = "stock_insert-note";
@@ -1274,7 +1274,7 @@
 
 	list->_buffer[2].id = CREATE_MEMO_LIST_ID;
 	list->_buffer[2].description = _("New memo list");
-	list->_buffer[2].menuDescription = _("Memo li_st");
+	list->_buffer[2].menuDescription = (char *) C_("New", "Memo li_st");
 	list->_buffer[2].tooltip = _("Create a new memo list");
 	list->_buffer[2].menuShortcut = '\0';
 	list->_buffer[2].iconName = "stock_notes";

Modified: branches/kill-bonobo/calendar/gui/memotypes.xml
==============================================================================
--- branches/kill-bonobo/calendar/gui/memotypes.xml	(original)
+++ branches/kill-bonobo/calendar/gui/memotypes.xml	Fri Aug  8 04:26:12 2008
@@ -121,7 +121,7 @@
         <_title>International</_title>
     </option>
     <option value="Next 7 days">
-        <_title>Next 7 Days'</_title>
+        <_title>Next 7 Days</_title>
     </option>
     <option value="Birthday">
         <_title>Birthday</_title>
@@ -139,7 +139,7 @@
         <_title>Key Customer</_title>
     </option>
     <option value="Time &amp; Expenses">
-        <_title>Time &amp; Expenses </_title>
+        <_title>Time &amp; Expenses</_title>
     </option>
     <option value="Miscellaneous">
         <_title>Miscellaneous</_title>

Modified: branches/kill-bonobo/calendar/gui/print.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/print.c	(original)
+++ branches/kill-bonobo/calendar/gui/print.c	Fri Aug  8 04:26:12 2008
@@ -710,9 +710,10 @@
 static double
 bound_text (GtkPrintContext *context,
             PangoFontDescription *font,
-            const gchar *text,
+            const gchar *text, gint len,
 	    gdouble x1, gdouble y1,
-	    gdouble x2, gdouble y2)
+	    gdouble x2, gdouble y2,
+            gboolean can_wrap, gdouble *last_page_start, gint *pages)
 {
 	PangoLayout *layout;
 	gint layout_width, layout_height;
@@ -722,23 +723,38 @@
 	layout = gtk_print_context_create_pango_layout (context);
 
 	pango_layout_set_font_description (layout, font);
-	pango_layout_set_text (layout, text, -1);
+	pango_layout_set_text (layout, text, len);
 	pango_layout_set_width (layout, pango_units_from_double (x2 - x1));
-	pango_layout_get_size (layout, &layout_width, &layout_height);
 
-	cairo_save (cr);
+	if (can_wrap)
+		pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
 
-	/* Set a clipping rectangle. */
-	cairo_move_to (cr, x1, y1);
-	cairo_rectangle (cr, x1, y1, x2, y2);
-	cairo_clip (cr);
-	cairo_new_path (cr);
+	pango_layout_get_size (layout, &layout_width, &layout_height);
 
-	cairo_move_to (cr, x1, y1);
-	pango_cairo_show_layout (cr, layout);
-	cairo_stroke (cr);
+	if (last_page_start && y1 + pango_units_to_double (layout_height) > y2 + (*last_page_start)) {
+		/* draw this on new page */
+		if (pages)
+			*pages = *pages + 1;
+
+		*last_page_start = *last_page_start + y2;
+		y1 = *last_page_start + 10.0;
+	}
+
+	if (!last_page_start || (y1 >= 0.0 && y1 < y2)) {
+		cairo_save (cr);
+
+		/* Set a clipping rectangle. */
+		cairo_move_to (cr, x1, y1);
+		cairo_rectangle (cr, x1, y1, x2, y2);
+		cairo_clip (cr);
+		cairo_new_path (cr);
 
-	cairo_restore (cr);
+		cairo_move_to (cr, x1, y1);
+		pango_cairo_show_layout (cr, layout);
+		cairo_stroke (cr);
+
+		cairo_restore (cr);
+	}
 
 	g_object_unref (layout);
 
@@ -992,7 +1008,7 @@
 static double
 print_attendees (GtkPrintContext *context, PangoFontDescription *font, cairo_t *cr,
 		 double left, double right, double top, double bottom,
-		 ECalComponent *comp)
+		 ECalComponent *comp, gint page_nr, gint *pages)
 {
 	GSList *attendees = NULL, *l;
 
@@ -1035,7 +1051,7 @@
 				cairo_show_page (cr);
 			}
 
-			top = bound_text (context, font, text->str, left + 40.0, top, right, bottom);
+			top = bound_text (context, font, text->str, -1, left + 40.0, top, right, bottom, FALSE, NULL, pages);
 
 			g_string_free (text, TRUE);
 		}
@@ -1213,7 +1229,7 @@
 			g_free (t);
 	}
 
-	bound_text (context, font, text, x1 + 2, y1, x2 - 2, y2);
+	bound_text (context, font, text, -1, x1 + 2, y1, x2 - 2, y2, FALSE, NULL, NULL);
 
 	if (free_text)
 		g_free (text);
@@ -2014,8 +2030,8 @@
 			cairo_stroke (cr);
 		}
 
-		y = bound_text (context, font_summary, summary.value,
-				x + 14, y + 4, xend, yend);
+		y = bound_text (context, font_summary, summary.value, -1,
+				x + 14, y + 4, xend, yend, FALSE, NULL, NULL);
 
 
 		y += get_font_size (font_summary)-5;
@@ -2404,8 +2420,9 @@
 	g_object_unref (operation);
 }
 
-static void
-print_comp_draw_page (GtkPrintOperation *operation,
+/* returns number of required pages, when page_nr is -1 */
+static gint
+print_comp_draw_real (GtkPrintOperation *operation,
                       GtkPrintContext *context,
                       gint page_nr,
                       PrintCompItem *pci)
@@ -2423,14 +2440,25 @@
 	char *categories_string, *location_string, *summary_string;
 	double header_size;
 	cairo_t *cr;
-	gdouble width, height;
+	gdouble width, height, page_start;
 	double top;
+	gint pages = 1;
 
 	setup = gtk_print_context_get_page_setup (context);
 
 	width = gtk_page_setup_get_page_width (setup, GTK_UNIT_POINTS);
 	height = gtk_page_setup_get_page_height (setup, GTK_UNIT_POINTS);
 
+	top = 0.0;
+
+	/* either draw only the right page or do not draw anything when calculating number of pages */
+	if (page_nr != -1)
+		top = top - ((page_nr) * height);
+	else
+		top = height;
+
+	page_start = top;
+
         /* PrintCompItem structure contains elements to be used
          * with the Print Context , obtained in comp_draw_page
          */
@@ -2447,27 +2475,30 @@
 	else if (vtype == E_CAL_COMPONENT_JOURNAL)
 		title = _("Memo");
 	else
-		return;
+		return pages;
 
 	cr = gtk_print_context_get_cairo_context (context);
 
 	/* Print the title in a box at the top of the page. */
 	font = get_font_for_size (18, PANGO_WEIGHT_BOLD);
 	header_size = 40;
-	print_border (context, 0.0, width, 0.0, header_size,
-		      1.0, 0.9);
-	print_text (context, font, title, PANGO_ALIGN_CENTER, 0.0, width,
-		    0.1, header_size - 0.1);
-	pango_font_description_free (font);
 
-	top = header_size + 30;
+	if (page_nr == 0) {
+		print_border (context, 0.0, width, 0.0, header_size,
+			1.0, 0.9);
+		print_text (context, font, title, PANGO_ALIGN_CENTER, 0.0, width,
+			0.1, header_size - 0.1);
+		pango_font_description_free (font);
+	}
+
+	top += header_size + 30;
 
 	/* Summary */
 	font = get_font_for_size (18, PANGO_WEIGHT_BOLD);
 	e_cal_component_get_summary (comp, &text);
 	summary_string = g_strdup_printf (_("Summary: %s"), text.value);
-	top = bound_text (context, font, summary_string, 0.0, top, width,
-			  height);
+	top = bound_text (context, font, summary_string, -1, 0.0, top, width,
+			  height, FALSE, &page_start, &pages);
 
 	g_free (summary_string);
 
@@ -2476,21 +2507,22 @@
 	if (location && location[0]) {
 		location_string = g_strdup_printf (_("Location: %s"),
 						   location);
-		top = bound_text (context, font, location_string, 0.0,
-				  top + 3, width, height);
+		top = bound_text (context, font, location_string, -1, 0.0,
+				  top + 3, width, height, FALSE, &page_start, &pages);
 		g_free (location_string);
 	}
 
 	/* Date information */
-	print_date_label (context, comp, client, 0.0, width, top + 3, top + 15);
+	if (page_nr == 0)
+		print_date_label (context, comp, client, 0.0, width, top + 3, top + 15);
 	top += 20;
 
 	/* Attendees */
 	if (e_cal_component_has_attendees (comp)) {
-		top = bound_text (context, font, _("Attendees: "), 0.0, top, width, height);
+		top = bound_text (context, font, _("Attendees: "), -1, 0.0, top, width, height, FALSE, &page_start, &pages);
 		pango_font_description_free (font);
 		font = get_font_for_size (12, PANGO_WEIGHT_NORMAL);
-		top = print_attendees (context, font, cr, 0.0, width, top, height, comp);
+		top = print_attendees (context, font, cr, 0.0, width, top, height, comp, page_nr, &pages);
 		top += get_font_size (font) - 6;
 	}
 
@@ -2529,8 +2561,8 @@
 			if (status_string) {
 				char *status_text = g_strdup_printf (_("Status: %s"),
 							      status_string);
-				top = bound_text (context, font, status_text,
-						  0.0, top, width, height);
+				top = bound_text (context, font, status_text, -1,
+						  0.0, top, width, height, FALSE, &page_start, &pages);
 				top += get_font_size (font) - 6;
 				g_free (status_text);
 			}
@@ -2545,8 +2577,8 @@
 			e_cal_component_free_priority (priority);
 
 			pri_text = g_strdup_printf (_("Priority: %s"), priority_string);
-			top = bound_text (context, font, pri_text,
-					  0.0, top, width, height);
+			top = bound_text (context, font, pri_text, -1,
+					  0.0, top, width, height, FALSE, &page_start, &pages);
 			top += get_font_size (font) - 6;
 			g_free (pri_text);
 		}
@@ -2559,8 +2591,8 @@
 			percent_string = g_strdup_printf (_("Percent Complete: %i"), *percent);
 			e_cal_component_free_percent (percent);
 
-			top = bound_text (context, font, percent_string,
-					  0.0, top, width, height);
+			top = bound_text (context, font, percent_string, -1,
+					  0.0, top, width, height, FALSE, &page_start, &pages);
 			top += get_font_size (font) - 6;
 		}
 
@@ -2571,8 +2603,8 @@
 			char *url_string = g_strdup_printf (_("URL: %s"),
 							    url);
 
-			top = bound_text (context, font, url_string,
-					  0.0, top, width, height);
+			top = bound_text (context, font, url_string, -1,
+					  0.0, top, width, height, TRUE, &page_start, &pages);
 			top += get_font_size (font) - 6;
 			g_free (url_string);
 		}
@@ -2583,8 +2615,8 @@
 	if (categories && categories[0]) {
 		categories_string = g_strdup_printf (_("Categories: %s"),
 						     categories);
-		top = bound_text (context, font, categories_string,
-				  0.0, top, width, height);
+		top = bound_text (context, font, categories_string, -1,
+				  0.0, top, width, height, TRUE, &page_start, &pages);
 		top += get_font_size (font) - 6 ;
 		g_free (categories_string);
 	}
@@ -2602,8 +2634,8 @@
 		}
 		e_cal_component_free_text_list (contact_list);
 
-		top = bound_text (context, font, contacts->str,
-				  0.0, top, width, height);
+		top = bound_text (context, font, contacts->str, -1,
+				  0.0, top, width, height, TRUE, &page_start, &pages);
 		top += get_font_size (font) - 6;
 		g_string_free (contacts, TRUE);
 	}
@@ -2612,19 +2644,48 @@
 	/* Description */
 	e_cal_component_get_description_list (comp, &desc);
 	for (l = desc; l != NULL; l = l->next) {
-		ECalComponentText *text = l->data;
-		if (top > height) {
-		top = 10; //FIXME
-		cairo_show_page (cr);
+		ECalComponentText *ptext = l->data;
+		const char *line, *next_line;
+
+		for (line = ptext->value; line != NULL; line = next_line) {
+			next_line = strchr (line, '\n');
+
+			top = bound_text (context, font, line, next_line ? next_line - line : -1, 0.0, top + 3, width, height, TRUE, &page_start, &pages);
+
+			if (next_line) {
+				next_line ++;
+				if (!*next_line)
+					next_line = NULL;
+			}
 		}
-		if (text->value != NULL)
-			top = bound_text (context, font, text->value, 0.0, top + 3, width, height) + 30;
 
 	}
 
 	e_cal_component_free_text_list (desc);
 	pango_font_description_free (font);
 
+	return pages;
+}
+
+static void
+print_comp_draw_page (GtkPrintOperation *operation,
+                      GtkPrintContext *context,
+                      gint page_nr,
+                      PrintCompItem *pci)
+{
+	print_comp_draw_real (operation, context, page_nr, pci);
+}
+
+static void
+print_comp_begin_print (GtkPrintOperation *operation,
+			GtkPrintContext   *context,
+                        PrintCompItem     *pci)
+{
+	gint pages;
+
+	pages = print_comp_draw_real (operation, context, -1, pci);
+
+	gtk_print_operation_set_n_pages (operation, pages);
 }
 
 void
@@ -2642,6 +2703,10 @@
 	gtk_print_operation_set_n_pages (operation, 1);
 
 	g_signal_connect (
+		operation, "begin-print",
+		G_CALLBACK (print_comp_begin_print), &pci);
+
+	g_signal_connect (
 		operation, "draw-page",
 		G_CALLBACK (print_comp_draw_page), &pci);
 

Modified: branches/kill-bonobo/calendar/gui/tasks-component.c
==============================================================================
--- branches/kill-bonobo/calendar/gui/tasks-component.c	(original)
+++ branches/kill-bonobo/calendar/gui/tasks-component.c	Fri Aug  8 04:26:12 2008
@@ -1087,7 +1087,7 @@
 					     GTK_SHADOW_IN);
 	gtk_widget_show (selector_scrolled_window);
 
-	component_view->info_label = (EInfoLabel *)e_info_label_new("stock_task");
+	component_view->info_label = (EInfoLabel *)e_info_label_new("evolution-tasks");
 	e_info_label_set_info(component_view->info_label, _("Tasks"), "");
 	gtk_widget_show (GTK_WIDGET (component_view->info_label));
 
@@ -1323,7 +1323,7 @@
 
 	list->_buffer[0].id = CREATE_TASK_ID;
 	list->_buffer[0].description = _("New task");
-	list->_buffer[0].menuDescription = _("_Task");
+	list->_buffer[0].menuDescription = (char *) C_("New", "_Task");
 	list->_buffer[0].tooltip = _("Create a new task");
 	list->_buffer[0].menuShortcut = 't';
 	list->_buffer[0].iconName = "stock_task";
@@ -1331,7 +1331,7 @@
 
 	list->_buffer[1].id = CREATE_TASK_ASSIGNED_ID;
 	list->_buffer[1].description = _("New assigned task");
-	list->_buffer[1].menuDescription = _("Assigne_d Task");
+	list->_buffer[1].menuDescription = (char *) C_("New", "Assigne_d Task");
 	list->_buffer[1].tooltip = _("Create a new assigned task");
 	list->_buffer[1].menuShortcut = '\0';
 	list->_buffer[1].iconName = "stock_task";
@@ -1339,7 +1339,7 @@
 
 	list->_buffer[2].id = CREATE_TASK_LIST_ID;
 	list->_buffer[2].description = _("New task list");
-	list->_buffer[2].menuDescription = _("Tas_k list");
+	list->_buffer[2].menuDescription = (char *) C_("New", "Tas_k list");
 	list->_buffer[2].tooltip = _("Create a new task list");
 	list->_buffer[2].menuShortcut = '\0';
 	list->_buffer[2].iconName = "stock_todo";

Modified: branches/kill-bonobo/composer/evolution-composer.ui
==============================================================================
--- branches/kill-bonobo/composer/evolution-composer.ui	(original)
+++ branches/kill-bonobo/composer/evolution-composer.ui	Fri Aug  8 04:26:12 2008
@@ -9,6 +9,7 @@
         <menuitem action='save'/>
         <menuitem action='save-as'/>
         <menuitem action='save-draft'/>
+	<placeholder name='template-holder'/>
         <separator/>
         <menuitem action='print-preview'/>
         <menuitem action='print'/>

Modified: branches/kill-bonobo/composer/mail-composer.error.xml
==============================================================================
--- branches/kill-bonobo/composer/mail-composer.error.xml	(original)
+++ branches/kill-bonobo/composer/mail-composer.error.xml	Fri Aug  8 04:26:12 2008
@@ -46,8 +46,8 @@
   <_primary>Are you sure you want to discard the message, titled '{0}', you are composing?</_primary>
   <_secondary>Closing this composer window will discard the message permanently, unless you choose to save the message in your Drafts folder. This will allow you to continue the message at a later date.</_secondary>
   <button _label="_Discard Changes" response="GTK_RESPONSE_NO"/>
-  <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/>
-  <button _label="_Save Message" response="GTK_RESPONSE_YES"/>
+  <button _label="_Continue Editing" response="GTK_RESPONSE_CANCEL"/>
+  <button _label="_Save Draft" response="GTK_RESPONSE_YES"/>
  </error>
 
  <error id="no-build-message" type="error" modal="true">

Modified: branches/kill-bonobo/configure.in
==============================================================================
--- branches/kill-bonobo/configure.in	(original)
+++ branches/kill-bonobo/configure.in	Fri Aug  8 04:26:12 2008
@@ -1,7 +1,7 @@
 # Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
 
-AC_INIT(evolution, 2.23.5, http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution)
+AC_INIT(evolution, 2.23.90, http://bugzilla.gnome.org/enter_bug.cgi?product=Evolution)
 AC_CONFIG_SRCDIR(README)
 
 # Some requirements have versioned package names
@@ -13,7 +13,7 @@
 # Required Packages
 m4_define([glib_minimum_version], [2.16.0])
 m4_define([gtk_minimum_version], [2.12.0])
-m4_define([eds_minimum_version], [2.23.5])
+m4_define([eds_minimum_version], [2.23.6])
 m4_define([gnome_icon_theme_minimum_version], [2.19.91])
 m4_define([libbonobo_minimum_version], [2.20.3])
 m4_define([libbonoboui_minimum_version], [2.4.2])
@@ -184,7 +184,9 @@
          libedataserver-$EDS_PACKAGE >= eds_minimum_version
          libedataserverui-$EDS_PACKAGE >= eds_minimum_version
          libegroupwise-$EDS_PACKAGE >= eds_minimum_version
-         libebackend-$EDS_PACKAGE >= eds_minimum_version])
+         libebackend-$EDS_PACKAGE >= eds_minimum_version
+	 libgdata-$EDS_PACKAGE >= eds_minimum_version
+	 libgdata-google-$EDS_PACKAGE >= eds_minimum_version])
 
 
 dnl ******************
@@ -1570,7 +1572,7 @@
 AC_SUBST(LIBSOUP_CFLAGS)
 AC_SUBST(LIBSOUP_LIBS)
 
-EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, libgnomeui-2.0 libbonoboui-2.0 libglade-2.0 gio-2.0 gconf-2.0 gobject-2.0 libgtkhtml-$GTKHTML_PACKAGE libebook-$EDS_PACKAGE libecal-$EDS_PACKAGE libedataserverui-$EDS_PACKAGE libebackend-$EDS_PACKAGE $HAL_REQUIREMENT $libnotify gtkhtml-editor)
+EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, libgnomeui-2.0 libbonoboui-2.0 libglade-2.0 gio-2.0 gconf-2.0 gobject-2.0 libgtkhtml-$GTKHTML_PACKAGE libebook-$EDS_PACKAGE libecal-$EDS_PACKAGE libedataserverui-$EDS_PACKAGE libebackend-$EDS_PACKAGE $HAL_REQUIREMENT $libnotify gtkhtml-editor libgdata-$EDS_PACKAGE libgdata-google-$EDS_PACKAGE)
 AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
 AC_SUBST(EVOLUTION_CALENDAR_LIBS)
 
@@ -1731,17 +1733,17 @@
 	      [enable_plugins="$enableval"],[enable_plugins=all])
 
 dnl Add any new plugins here
-plugins_base_always="calendar-file calendar-http calendar-weather itip-formatter plugin-manager default-source addressbook-file startup-wizard mark-all-read groupwise-features groupwise-account-setup hula-account-setup mail-account-disable publish-calendar caldav imap-features google-account-setup"
+plugins_base_always="calendar-file calendar-http calendar-weather itip-formatter plugin-manager default-source addressbook-file startup-wizard mark-all-read groupwise-features groupwise-account-setup mail-account-disable publish-calendar caldav imap-features google-account-setup webdav-account-setup"
 
 plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN $EXCHANGE_PLUGIN $MONO_PLUGIN " 
 all_plugins_base="$plugins_base_always sa-junk-plugin bogo-junk-plugin exchange-operations mono"
 
-plugins_standard_always="bbdb subject-thread save-calendar select-one-source copy-tool mail-to-task mark-calendar-offline audio-inline mailing-list-actions default-mailer import-ics-attachments prefer-plain mail-notification attachment-reminder face backup-restore email-custom-header" 
+plugins_standard_always="bbdb subject-thread save-calendar select-one-source copy-tool mail-to-task mark-calendar-offline audio-inline mailing-list-actions default-mailer import-ics-attachments prefer-plain mail-notification attachment-reminder face backup-restore email-custom-header templates" 
 
 plugins_standard="$plugins_standard_always"
 all_plugins_standard="$plugins_standard"
 
-plugins_experimental_always="folder-unsubscribe mail-to-meeting save-attachments external-editor"
+plugins_experimental_always="folder-unsubscribe mail-to-meeting save-attachments external-editor hula-account-setup"
 plugins_experimental="$plugins_experimental_always $IPOD_SYNC $TNEF_ATTACHMENTS $PYTHON_PLUGIN"
 all_plugins_experimental="$plugins_experimental_always ipod-sync tnef-attachments"
 
@@ -1824,8 +1826,8 @@
 	# Get the version of the DBus API, so we can hack around API changes until the API stabilises:
 	# multiply by 1000 to convert decimal to integer; so e.g. 0.31 become 310
 	# since preprocessor values must be integral
-	DBUS_VERSION="`$PKG_CONFIG --modversion dbus-1 | $AWK '{print 1000 * $1}'`"
-	AC_SUBST(DBUS_VERSION)
+	FOUND_DBUS_VERSION="`$PKG_CONFIG --modversion dbus-1 | $AWK '{print 1000 * $1}'`"
+	AC_SUBST(FOUND_DBUS_VERSION)
 	AC_DEFINE(HAVE_DBUS,1,[Define if you have DBUS support])
 	AC_SUBST(HAVE_DBUS)
 	AM_CONDITIONAL(ENABLE_DBUS, true)
@@ -2046,8 +2048,10 @@
 plugins/import-ics-attachments/Makefile
 plugins/imap-features/Makefile
 plugins/tnef-attachments/Makefile
+plugins/templates/Makefile
 plugins/face/Makefile
 plugins/external-editor/Makefile
+plugins/webdav-account-setup/Makefile
 smime/Makefile
 smime/lib/Makefile
 smime/gui/Makefile
@@ -2080,6 +2084,6 @@
 	SSL support:         $msg_ssl
 	SMIME support:       $msg_smime
 	Plugins:	     $msg_plugins
-	DBus API version:    $DBUS_VERSION
+	DBus API version:    $FOUND_DBUS_VERSION
 	User documentation:  $with_help
 "

Modified: branches/kill-bonobo/data/icons/Makefile.am
==============================================================================
--- branches/kill-bonobo/data/icons/Makefile.am	(original)
+++ branches/kill-bonobo/data/icons/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -2,10 +2,25 @@
 
 public_icons = \
 	hicolor_apps_16x16_evolution.png \
+	hicolor_apps_16x16_evolution-mail.png \
+	hicolor_apps_16x16_evolution-memos.png \
+	hicolor_apps_16x16_evolution-tasks.png \
 	hicolor_apps_22x22_evolution.png \
+	hicolor_apps_22x22_evolution-mail.png \
+	hicolor_apps_22x22_evolution-memos.png \
+	hicolor_apps_22x22_evolution-tasks.png \
 	hicolor_apps_24x24_evolution.png \
+	hicolor_apps_24x24_evolution-mail.png \
+	hicolor_apps_24x24_evolution-memos.png \
+	hicolor_apps_24x24_evolution-tasks.png \
 	hicolor_apps_32x32_evolution.png \
+	hicolor_apps_32x32_evolution-mail.png \
+	hicolor_apps_32x32_evolution-memos.png \
+	hicolor_apps_32x32_evolution-tasks.png \
 	hicolor_apps_48x48_evolution.png \
+	hicolor_apps_48x48_evolution-mail.png \
+	hicolor_apps_48x48_evolution-memos.png \
+	hicolor_apps_48x48_evolution-tasks.png \
 	hicolor_apps_scalable_evolution.svg \
 	$(NULL)
 
@@ -49,6 +64,7 @@
 	hicolor_categories_48x48_preferences-composer.png \
 	hicolor_categories_48x48_preferences-mail.png \
 	hicolor_categories_48x48_preferences-mail-accounts.png \
+	hicolor_categories_48x48_preferences-system-network-proxy.png \
 	hicolor_places_16x16_mail-inbox.png \
 	hicolor_places_16x16_mail-outbox.png \
 	hicolor_places_16x16_mail-sent.png \

Modified: branches/kill-bonobo/e-util/e-plugin.c
==============================================================================
--- branches/kill-bonobo/e-util/e-plugin.c	(original)
+++ branches/kill-bonobo/e-util/e-plugin.c	Fri Aug  8 04:26:12 2008
@@ -470,9 +470,10 @@
 				/* README: May be we can use load_levels to achieve the same thing.
 				   But it may be confusing for a plugin writer */
 				is_system_plugin = e_plugin_xml_prop (root, "system_plugin");
-				if (is_system_plugin && !strcmp (is_system_plugin, "true"))
+				if (is_system_plugin && !strcmp (is_system_plugin, "true")) {
+					e_plugin_enable (ep, TRUE);
 					ep->flags |= E_PLUGIN_FLAGS_SYSTEM_PLUGIN;
-				else
+				} else
 					ep->flags &= ~E_PLUGIN_FLAGS_SYSTEM_PLUGIN;
 				g_free (is_system_plugin);
 

Modified: branches/kill-bonobo/filter/filter-label.c
==============================================================================
--- branches/kill-bonobo/filter/filter-label.c	(original)
+++ branches/kill-bonobo/filter/filter-label.c	Fri Aug  8 04:26:12 2008
@@ -74,7 +74,7 @@
 	return type;
 }
 
-static GStaticMutex cache_lock = G_STATIC_MUTEX_INIT;
+static GStaticRecMutex cache_lock = G_STATIC_REC_MUTEX_INIT;
 static guint cache_notifier_id = 0;
 static GSList *tracked_filters = NULL;
 static GSList *labels_cache = NULL;
@@ -103,7 +103,7 @@
 {
 	((FilterOption *) fl)->type = "label";
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 
 	if (!tracked_filters) {
 		fill_cache ();
@@ -115,7 +115,7 @@
 
 	tracked_filters = g_slist_prepend (tracked_filters, fl);
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 }
 
 static void
@@ -123,7 +123,7 @@
 {
 	G_OBJECT_CLASS (parent_class)->finalize (obj);
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 
 	tracked_filters = g_slist_remove (tracked_filters, obj);
 
@@ -138,7 +138,7 @@
 		gconf_client = NULL;
 	}
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 }
 
 /**
@@ -176,7 +176,7 @@
 {
 	GSList *l;
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 
 	for (l = labels_cache; l; l = l->next) {
 		EUtilLabel *label = l->data;
@@ -197,7 +197,7 @@
 		g_free (title);
 	}
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 }
 
 static void
@@ -222,12 +222,13 @@
 static void
 gconf_labels_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data)
 {
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
+
 	clear_cache ();
 	fill_cache ();
-	g_static_mutex_unlock (&cache_lock);
-
 	g_slist_foreach (tracked_filters, (GFunc)regen_label_options, NULL);
+
+	g_static_rec_mutex_unlock (&cache_lock);
 }
 
 /* ************************************************************************* */
@@ -237,11 +238,11 @@
 {
 	int res;
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 
 	res = g_slist_length (labels_cache);
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 	
 	return res;
 }
@@ -253,7 +254,7 @@
 	GSList *l;
 	EUtilLabel *label;
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 	
 	l = g_slist_nth (labels_cache,  i);
 
@@ -269,7 +270,7 @@
 			res = label->tag;
 	}
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 
 	return res;
 }
@@ -280,7 +281,7 @@
 	int i;
 	GSList *l;
 
-	g_static_mutex_lock (&cache_lock);
+	g_static_rec_mutex_lock (&cache_lock);
 
 	for (i = 0, l = labels_cache; l; i++, l = l->next) {
 		EUtilLabel *lbl = l->data;
@@ -293,7 +294,7 @@
 			break;
 	}
 
-	g_static_mutex_unlock (&cache_lock);
+	g_static_rec_mutex_unlock (&cache_lock);
 
 	if (l)
 		return i;

Modified: branches/kill-bonobo/filter/filter-rule.c
==============================================================================
--- branches/kill-bonobo/filter/filter-rule.c	(original)
+++ branches/kill-bonobo/filter/filter-rule.c	Fri Aug  8 04:26:12 2008
@@ -444,12 +444,13 @@
 			load_set (work, fr, f);
 		} else if (!strcmp ((char *)work->name, "title") || !strcmp ((char *)work->name, "_title")) {
 			if (!fr->name) {
-				char *str, *decstr;
+				char *str, *decstr = NULL;
 
 				str = (char *)xmlNodeGetContent (work);
-				decstr = g_strdup (str);
-				if (str)
+				if (str) {
+					decstr = g_strdup (_(str));
 					xmlFree (str);
+				}
 				fr->name = decstr;
 			}
 		}

Modified: branches/kill-bonobo/help/C/evolution.xml
==============================================================================
--- branches/kill-bonobo/help/C/evolution.xml	(original)
+++ branches/kill-bonobo/help/C/evolution.xml	Fri Aug  8 04:26:12 2008
@@ -88,10 +88,10 @@
     <para><link linkend="usage-mainwindow">Getting Started</link></para>
    </listitem>
    <listitem>
-    <para><link linkend="usage-mail">Sending and Receiving E-Mail</link></para>
+    <para><link linkend="usage-mail">Sending and Receiving Email</link></para>
    </listitem>
    <listitem>
-    <para><link linkend="usage-mail-organize">Organizing Your E-Mail</link></para>
+    <para><link linkend="usage-mail-organize">Organizing Your Email</link></para>
    </listitem>
    <listitem>
     <para><link linkend="usage-contact">Evolution Contacts: the Address Book</link></para>
@@ -106,9 +106,6 @@
     <para><link linkend="usage-groupwise">Connecting to GroupWise</link></para>
    </listitem>
    <listitem>
-    <para><link linkend="b1012tkg">Connecting to Hula</link></para>
-   </listitem>
-   <listitem>
     <para><link linkend="config-prefs">Advanced Configuration</link></para>
    </listitem>
    <listitem>
@@ -131,26 +128,26 @@
    </listitem>
   </itemizedlist>
   <formalpara id="b17q8udq">
-   <title>Additional Documentation: </title>
+   <title>Additional Documentation:</title>
    <para>You can find additional help in three places:</para>
   </formalpara>
   <itemizedlist>
    <listitem>
-    <para>For information about command line options, open a terminal window and type <command>evolution --help</command>.</para>
+    <para>Evolution has a number of command line options that you can use. For information about command line options, open a terminal window and type <command>evolution --help</command>.</para>
    </listitem>
    <listitem>
     <para>In the Evolution interface, click Help &gt; Contents.</para>
    </listitem>
   </itemizedlist>
   <formalpara id="b17q8uz1">
-   <title>Documentation Conventions: </title>
+   <title>Documentation Conventions:</title>
    <para>In Novell documentation, a greater-than symbol (&gt;) is used to separate actions within a step and items in a cross-reference path. A trademark symbol (<trademark class="registered"/>, <trademark/>, etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party trademark.</para>
   </formalpara>
  </preface>
 
  <chapter id="usage-mainwindow">
   <title>Getting Started</title>
-  <para><trademark>Evolution</trademark> is a <link linkend="groupware">groupware</link> application that helps you work in a group by handling e-mail, address, memos, tasks, and one or more calendars. This makes the tasks of storing, organizing, and retrieving your personal information easy, so you can work and communicate more effectively with others.</para>
+  <para><trademark>Evolution</trademark> is a <link linkend="groupware">groupware</link> application that helps you work in a group by handling email, address, memos, tasks, and one or more calendars. This makes the tasks of storing, organizing, and retrieving your personal information easy, so you can work and communicate more effectively with others.</para>
   <itemizedlist>
    <listitem>
     <para><link linkend="usage-mainwindow-starting">Starting Evolution for the First Time</link></para>
@@ -175,7 +172,7 @@
           <para>GNOME:</para>
          </entry>
          <entry colname="2">
-          <para>Click  Applications &gt; Office &gt; Evolution.</para>
+          <para>Click Applications &gt; Office &gt; Evolution.</para>
          </entry>
         </row>
         <row id="bsptywg">
@@ -202,7 +199,7 @@
 
    <section id="bse54o0">
     <title>Using the First-Run Assistant</title>
-    <para>The first time you run Evolution, it creates a directory <emphasis>.evolution</emphasis> in your home directory, where it stores all of its local data. Then, it opens a First-Run Assistant to help you set up e-mail accounts and import data from other applications.</para>
+    <para>The first time you run Evolution, it creates a directory <emphasis>.evolution</emphasis> in your home directory, where it stores all of its local data. Then, it opens a First-Run Assistant to help you set up email accounts and import data from other applications.</para>
     <para>Using the first-run assistant takes two to five minutes.</para>
     <para>Later on, if you want to change this account, or if you want to create a new one, click Edit &gt; Preferences, then click Mail Accounts. Select the account you want to change, then click Edit. Alternately, add a new account by clicking Add. See <link linkend="config-prefs-mail">Mail Preferences</link> for details.</para>
     <para>The First-Run Assistant helps you provide the information Evolution needs to get started.</para>
@@ -229,7 +226,7 @@
 
     <section id="first-step">
      <title>Defining Your Identity</title>
-     <para>The Identity window is the first step in the assistant. </para>
+     <para>The Identity window is the first step in the assistant.</para>
      <mediaobject id="bsj8pww"><imageobject><imagedata format="PNG" fileref="figures/evo_identity_a.png"/></imageobject></mediaobject>
      <para>Here, you enter some basic personal information. You can define multiple identities later by clicking Edit &gt; Preferences, then clicking Mail Accounts.</para>
      <para>When the First-Run Assistant starts, the Welcome page is displayed. Click Forward to proceed to the Identity window.</para>
@@ -238,7 +235,7 @@
        <para>Type your full name in the Full Name field.</para>
       </listitem>
       <listitem id="bstfipr">
-       <para>Type your e-mail address in the E-Mail Address field.</para>
+       <para>Type your email address in the Email Address field.</para>
       </listitem>
       <listitem id="bstfj3i">
        <para>(Optional) Select if this account is your default account.</para>
@@ -249,7 +246,7 @@
       </listitem>
       <listitem id="bstfkcz">
        <para>(Optional) Type your organization name in the Organization field.</para>
-       <para>This is the company where you work, or the organization you represent when you send e-mail.</para>
+       <para>This is the company where you work, or the organization you represent when you send email.</para>
       </listitem>
       <listitem id="bstfl19">
        <para>Click Forward.</para>
@@ -259,7 +256,7 @@
 
     <section id="second-step">
      <title>Receiving Mail</title>
-     <para>The Receiving E-mail option lets you determine where you get your e-mail.</para>
+     <para>The Receiving Email option lets you determine where you get your email.</para>
      <mediaobject id="bsj8qah"><imageobject><imagedata format="PNG" fileref="figures/evo_receive_setup_a.png"/></imageobject></mediaobject>
      <para>You need to specify the type of server you want to receive mail with. If you are unsure about the type of server to choose, ask your system administrator or ISP.</para>
      <orderedlist>
@@ -268,23 +265,19 @@
        <para>The following is a list of server types that are available:</para>
        <formalpara id="bsj74dr">
         <title>Novell GroupWise:</title>
-        <para>Select this option if you connect to Novell <trademark class="registered">GroupWise</trademark>. Novell GroupWise keeps e-mail, calendar, and contact information on the server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
+        <para>Select this option if you connect to Novell <trademark class="registered">GroupWise</trademark>. Novell GroupWise keeps email, calendar, and contact information on the server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74ds">
         <title>Microsoft Exchange:</title>
-        <para>Available only if you have installed the Connector for Microsoft&z-3rdParty; Exchange. It allows you to connect to a Microsoft Exchange 2000 or 2003 server, which stores e-mail, calendar, and contact information on the server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
+        <para>Available only if you have installed the Connector for Microsoft&z-3rdParty; Exchange. It allows you to connect to a Microsoft Exchange 2000 or 2003 server, which stores email, calendar, and contact information on the server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74dt">
         <title>IMAP:</title>
-        <para>Keeps the e-mail on your server so you can access your e-mail from multiple systems. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
+        <para>Keeps the email on your server so you can access your email from multiple systems. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74du">
         <title>POP:</title>
-        <para>Downloads your e-mail to your hard disk for permanent storage, freeing up space on the e-mail server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
-       </formalpara>
-       <formalpara id="b13sa2jr">
-        <title>Hula:</title>
-        <para>Select this option if you want Hula account. Evolution provide you connectivity to <trademark class="registered">Hula</trademark> servers through IMAP and calendaring support through CalDAV. For more information refer <link linkend="b1012tkg">Connecting to Hula</link></para>
+        <para>Downloads your email to your hard disk for permanent storage, freeing up space on the email server. For configuration instructions, see <link linkend="bstfw13">Remote Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bstgdhu">
         <title>USENET News:</title>
@@ -292,27 +285,27 @@
        </formalpara>
        <formalpara id="bsj74dv">
         <title>Local Delivery:</title>
-        <para>Choose this option if you want to move e-mail from the spool (the location where mail waits for delivery) and store it in your home directory. You need to provide the path to the mail spool you want to use. If you want to leave e-mail in your system's spool files, choose the Standard Unix Mbox Spool option instead. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
+        <para>Choose this option if you want to move email from the spool (the location where mail waits for delivery) and store it in your home directory. You need to provide the path to the mail spool you want to use. If you want to leave email in your system's spool files, choose the Standard Unix Mbox Spool option instead. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74dw">
         <title>MH Format Mail Directories:</title>
-        <para>If you download your e-mail using mh or another MH-style program, you should use this option. You need to provide the path to the mail directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
+        <para>If you download your email using mh or another MH-style program, you should use this option. You need to provide the path to the mail directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74dx">
         <title>Maildir Format Mail Directories:</title>
-        <para>If you download your e-mail using Qmail or another maildir-style program, you should use this option. You need to provide the path to the mail directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
+        <para>If you download your email using Qmail or another maildir-style program, you should use this option. You need to provide the path to the mail directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74dy">
         <title>Standard Unix mbox spool file:</title>
-        <para>If you want to read and store e-mail in the mail spool file on your local system, choose this option. You need to provide the path to the mail spool file you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
+        <para>If you want to read and store email in the mail spool file on your local system, choose this option. You need to provide the path to the mail spool file you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="b185ajx5">
         <title>Standard Unix mbox spool directory:</title>
-        <para>If you want to read and store e-mail in the mail spool directory on your local system, choose this option. You need to provide the path to the mail spool directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
+        <para>If you want to read and store email in the mail spool directory on your local system, choose this option. You need to provide the path to the mail spool directory you want to use. For configuration instructions, see <link linkend="bstgbqn">Local Configuration Options</link>.</para>
        </formalpara>
        <formalpara id="bsj74dz">
         <title>None:</title>
-        <para>Select this if you do not plan to check e-mail with this account. If you select this, there are no configuration options.</para>
+        <para>Select this if you do not plan to check email with this account. If you select this, there are no configuration options.</para>
        </formalpara>
       </listitem>
      </orderedlist>
@@ -322,21 +315,22 @@
       <para>If you selected Novell GroupWise, IMAP, POP, or USENET News as your server, you need to specify additional information.</para>
       <orderedlist>
        <listitem id="bstg8f2">
-        <para>Type the server name of your e-mail server in the Server field.</para>
-        <para>If you don't know the Server, contact your administrator.</para>
+        <para>Type the server name of your email server in the Server field.</para>
+        <para>If you are unsure what your Server address is, contact your system administrator.</para>
        </listitem>
        <listitem id="bstg8sr">
-        <para>Type your username for the account in the Username field.</para>
+        <para>Type your username in the Username field.</para>
        </listitem>
        <listitem id="bstg8yn">
-        <para>Select to use a secure (SSL) connection.</para>
-        <para>If your server supports secure connections, you should enable this security option. If you are unsure if your server supports a secure connection, contact your system administrator.</para>
+        <para>Select if you want to use a secure connection (SSL or TLS).</para>
+        <para>You should enable this option if your server supports it.</para>
+        <para>Free webmail providers usually supply information about which of these options can be used. If you are in an organizational environment, you may want to contact your system administrator for more information.</para>
        </listitem>
        <listitem id="bstg9rc">
         <para>Select your authentication type in the Authentication list.</para>
         <para>or</para>
         <para>Click Check for Supported Types to have Evolution check for supported types. Some servers do not announce the authentication mechanisms they support, so clicking this button is not a guarantee that available mechanisms actually work.</para>
-        <para>If you are unsure what authentication type you need, contact your system administrator.</para>
+        <para>Free webmail providers usually supply information about which of these options can be used. If you are in an organizational environment, you may want to contact your system administrator for more information.</para>
        </listitem>
        <listitem id="bstgaxb">
         <para>Select if you want Evolution to remember your password.</para>
@@ -345,13 +339,13 @@
         <para>Click Forward.</para>
        </listitem>
       </orderedlist>
-      <para>(Conditional) If you chose Microsoft Exchange as the server type, provide your username in the Username field and your Outlook Web Access (OWA) URL in the OWA URL field. The URL and the usernames should use the Outlook format.If the mailbox path is different from the username, the OWA path should also include mailbox path, for example http://<varname>server name</varname>/exchange/<varname>mail box path</varname>.</para>
+      <para>(Conditional) If you chose Microsoft Exchange as the server type, provide your username in the Username field and your Outlook Web Access (OWA) URL in the OWA URL field. The URL and the usernames should use the Outlook format. If the mailbox path is different from the username, the OWA path should also include mailbox path, for example http://<varname>server name</varname>/exchange/<varname>mail box path</varname>.</para>
       <para>When you have finished, continue with <link linkend="more-mail-options">Receiving Mail Options</link>.</para>
      </section>
 
      <section id="bstgbqn">
       <title>Local Configuration Options</title>
-      <para>If you selected Local Delivery, MH-Format Mail Directories, Maildir-Format Mail Directories, or Standard Unix mbox spool file and Standard Unix mbox spool directory, you must specify the path to the local files in the path field. Continue with<link linkend="more-mail-options">Receiving Mail Options</link> .</para>
+      <para>If you selected Local Delivery, MH-Format Mail Directories, Maildir-Format Mail Directories, Standard Unix mbox spool file or Standard Unix mbox spool directory, you must specify the path to the local files in the path field. Continue with<link linkend="more-mail-options">Receiving Mail Options</link>.</para>
      </section>
     </section>
 
@@ -400,20 +394,20 @@
         <para>Select if you want to check for new messages in all folders.</para>
        </listitem>
        <listitem id="bsthlol">
-        <para>Select if you want to apply filters to new messages in the Inbox on the server.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
         <para>For additional information on filtering, see <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
        </listitem>
        <listitem id="bsthlvl">
         <para>Select if you want to check new messages for junk content.</para>
-        <para>For additional information on junk content, see  <link linkend="usage-mail-organize-spam">Stopping Junk Mail (Spam)</link> and <link linkend="mail-prefs-junk">Junk </link>.</para>
+        <para>For additional information on junk content, see <link linkend="usage-mail-organize-spam">Stopping Junk Mail (Spam)</link> and <link linkend="mail-prefs-junk">Junk</link>.</para>
        </listitem>
        <listitem id="bsthm9q">
         <para>Select if you want to only check for junk messages in the Inbox folder.</para>
        </listitem>
        <listitem id="bsthmhx">
-        <para>Select if you want to automatically synchronize remote mail locally.</para>
-        <para>Evolution, by default downloads only the header information such as From, Subject, and Date.  The body of the message and the attachments are downloaded only when you click the message. Thus you can save time and network usage. This is useful when you don't read all the messages you receive.</para>
-        <para>If you check this option, evolution fetches the headers as well as the body of the message simultaneously. In this case, the time taken to open a message is comparatively less. In addition to that, you can download the mails for reading them offline, when you have checked this option.</para>
+        <para>Select Automatically synchronize remote mail locally to download the messages to your local system.</para>
+        <para>Evolution, by default downloads only the header information such as From, Subject, and Date. The body of the message and the attachments are downloaded only when you click the message. Thus you can save time and network usage. This is useful when you don't read all the messages you receive.</para>
+        <para>If you check this option, evolution fetches the headers as well as the body of the message simultaneously. In this case, the time taken to open a message is comparatively less. In addition to that, you can download the mail for reading them offline, when you have checked this option.</para>
        </listitem>
        <listitem id="bsthnab">
         <para>Type your Post Office Agent SOAP port in the Post Office Agent SOAP Port field.</para>
@@ -445,22 +439,22 @@
         <para>The Global Catalog Server contains the user information for users. If you are unsure what your Global Catalog server name is, contact your system administrator.</para>
        </listitem>
        <listitem id="bstglhn">
-        <para>Select if you want to limit the number of Global Address Lists (GAL). </para>
-        <para>The GAL contains a list of all e-mail addresses. If you select this option, you need to specify the maximum number of responses.</para>
+        <para>Select if you want to limit the number of Global Address Lists (GAL).</para>
+        <para>The GAL contains a list of all email addresses. If you select this option, you need to specify the maximum number of responses.</para>
        </listitem>
        <listitem id="bstgsrp">
         <para>Select if you want to use a password expire warning time period.</para>
         <para>If you select this option, you need to specify how often Evolution should send the password expire message.</para>
        </listitem>
        <listitem id="bv6uqm7">
-        <para>Select automatically synchronize remote mail locally to download the messages to your local system.</para>
+        <para>Select Automatically synchronize remote mail locally to download the messages to your local system.</para>
        </listitem>
        <listitem id="b13sbpg5">
-        <para>Select apply filters to new messages in inbox on this server to apply filters.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
        </listitem>
        <listitem id="b13sbqmb">
-        <para>Select check new messages for junk contents to filter new messages for spam messages. </para>
-        <para>For more information refer <link linkend="usage-mail-organize-spam">Stopping Junk Mail (Spam)</link></para>
+        <para>Select if you want to check new messages for junk content.</para>
+        <para>For additional information on junk content, see <link linkend="usage-mail-organize-spam">Stopping Junk Mail (Spam)</link> and <link linkend="mail-prefs-junk">Junk</link>.</para>
        </listitem>
        <listitem id="bstgtoj">
         <para>Click Forward.</para>
@@ -479,7 +473,7 @@
         <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bstgh57">
-        <para>Select if you want Evolution to use custom commands to connect to Evolution.</para>
+        <para>Select if you want Evolution to use custom commands to connect to the IMAP server.</para>
         <para>If you select this option, specify the custom command you want Evolution to use.</para>
        </listitem>
        <listitem id="bstgi0r">
@@ -491,20 +485,20 @@
         <para>By choosing this option you can rename the folders that the server provides. If you select this option, you need to specify the namespace to use.</para>
        </listitem>
        <listitem id="bstgip8">
-        <para>Select if you want to apply filters to new messages in the Inbox.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
         <para>For additional information on filtering, see <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
        </listitem>
        <listitem id="bstgiv6">
         <para>Select if you want to check new messages for junk content.</para>
-        <para>For additional information on junk content, see <link linkend="mail-prefs-junk">Junk Mail Preferences</link>.</para>
+        <para>For additional information on junk content, see <link linkend="usage-mail-organize-spam">Stopping Junk Mail (Spam)</link> and <link linkend="mail-prefs-junk">Junk</link>.</para>
        </listitem>
        <listitem id="bstgj0g">
         <para>Select if you want to check for junk messages in the Inbox folder.</para>
        </listitem>
        <listitem id="bstgje2">
-        <para>Select if you want to automatically synchronize remote mail locally.</para>
+        <para>Select Automatically synchronize remote mail locally to download the messages to your local system.</para>
         <para>Evolution, by default downloads only the header information such as From, Subject, and Date. The body of the message and the attachments are downloaded only when you click the message. Thus you can save time and network usage. This is useful when you don't read all the messages you receive.</para>
-        <para>If you check this option, evolution fetches the headers as well as the body of the message simultaneously. In this case, the time taken to open a message is comparatively less. In addition to that, you can download the mails for reading them offline, when you have checked this option.</para>
+        <para>If you check this option, evolution fetches the headers as well as the body of the message simultaneously. In this case, the time taken to open a message is comparatively less. In addition to that, you can download the mail for reading them offline, when you have checked this option.</para>
        </listitem>
        <listitem id="bstgjlq">
         <para>Click Forward.</para>
@@ -519,13 +513,14 @@
       <para>If you select POP as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="bsthozk">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthpck">
         <para>Select if you want to leave messages on the server.</para>
        </listitem>
        <listitem id="bsthpn9">
-        <para>Select if you want to disable support for all POP3 extensions (support for POP3).</para>
+        <para>Select if you want to disable support for all POP3 extensions.</para>
        </listitem>
        <listitem id="bsthpur">
         <para>Click Forward.</para>
@@ -540,7 +535,8 @@
       <para>If you select USENET News as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="bsthqws">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthr47">
         <para>Select if you want to show folders in short notation.</para>
@@ -562,7 +558,8 @@
       <para>If you select Local Delivery as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="bsthsnr">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthsv1">
         <para>Click Forward.</para>
@@ -576,7 +573,8 @@
       <para>If you select MH-Format Mail Directories as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="bsthtg0">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthth2">
         <para>Select if you want to use the <emphasis>.folders</emphasis> summary file.</para>
@@ -595,10 +593,11 @@
       <para>If you select Maildir-Format Mail Directories as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="bsthu9o">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthuah">
-        <para>Select if you want to apply filters to new messages in the Inbox.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
         <para>For additional information on filtering, see <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
        </listitem>
        <listitem id="bsthuhd">
@@ -614,10 +613,11 @@
       <title>Standard Unix mbox spool file Receiving Options</title>
       <orderedlist>
        <listitem id="bsthuto">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="bsthuv9">
-        <para>Select if you want to apply filters to new messages in the Inbox.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
        </listitem>
        <listitem id="bsthv0m">
         <para>Select if you want to store status headers in Elm, Pine, and Mutt formats.</para>
@@ -636,10 +636,11 @@
       <para>If you select Standard Unix mbox Spool directory as your receiving server type, you need to specify the following options:</para>
       <orderedlist>
        <listitem id="b185aln9">
-        <para>Select if you want Evolution to automatically check for new mail.If you select this option, you need to specify how often Evolution should check for new messages.</para>
+        <para>Select if you want Evolution to automatically check for new mail.</para>
+        <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
        </listitem>
        <listitem id="b185alna">
-        <para>Select if you want to apply filters to new messages in the Inbox.</para>
+        <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
        </listitem>
        <listitem id="b185alnb">
         <para>Select if you want to store status headers in Elm, Pine, and Mutt formats.</para>
@@ -677,7 +678,7 @@
       <mediaobject id="bsj8ujq"><imageobject><imagedata format="PNG" fileref="figures/evo_send_setup_a.png"/></imageobject></mediaobject>
       <orderedlist>
        <listitem id="bsthxta">
-        <para>Type the Server address in the Server field.</para>
+        <para>Type the server name of your email server in the Server field.</para>
         <para>If you are unsure what your Server address is, contact your system administrator.</para>
        </listitem>
        <listitem id="bsthy6f">
@@ -687,7 +688,7 @@
          <listitem id="bsw0acl">
           <para>Select your authentication type in the Authentication list.</para>
           <para>or</para>
-          <para>Click Check for Supported Types to have Evolution check for supported types. Some servers do not announce the authentication mechanisms they support, so clicking this button is not a guarantee that available mechanisms actually work. </para>
+          <para>Click Check for Supported Types to have Evolution check for supported types. Some servers do not announce the authentication mechanisms they support, so clicking this button is not a guarantee that available mechanisms actually work.</para>
          </listitem>
          <listitem id="bsw0aqr">
           <para>Type your username in the Username field.</para>
@@ -698,7 +699,7 @@
         </orderedlist>
        </listitem>
        <listitem id="bsthypm">
-        <para>Select if you use a secure connection (SSL).</para>
+        <para>Select if you want to use a secure connection (SSL or TLS).</para>
        </listitem>
        <listitem id="bsti1a0">
         <para>Click Forward.</para>
@@ -710,7 +711,7 @@
 
     <section id="bsti1ty">
      <title>Account Management</title>
-     <para>Now that you have finished the e-mail configuration process you need to give the account a name. The name can be any name you prefer. Type your account name on the Name field, then click Forward.</para>
+     <para>Now that you have finished the email configuration process you need to give the account a name. The name can be any name you prefer. Type your account name on the Name field, then click Forward.</para>
      <para>Continue with <link linkend="step-three-b">Time Zone</link><link linkend="step-three-b"/>.</para>
     </section>
 
@@ -729,17 +730,18 @@
        <para>Evolution opens with your new account created.</para>
       </listitem>
      </orderedlist>
-     <para>If you want to import e-mail from another e-mail client, continue with <link linkend="fourth-step">Importing Mail (Optional)</link>. If not, skip to <link linkend="ui-intro">Using Evolution: An Overview</link>.</para>
+     <para>If you want to import email from another email client, continue with <link linkend="fourth-step">Importing Mail (Optional)</link>. If not, skip to <link linkend="ui-intro">Using Evolution: An Overview</link>.</para>
     </section>
 
     <section id="fourth-step">
      <title>Importing Mail (Optional)</title>
-     <para>After selecting your time zone, if Evolution finds e-mail or address files from another application, it offers to import them. For a full description of the import feature, see <link linkend="importing-mail">Importing Single Files</link>.</para>
-     <para>Microsoft Outlook&z-3rdParty; and versions of Outlook Express after version 4 use proprietary formats that Evolution cannot read or import. To import information, you might want to use the Export tool under Windows&z-3rdParty;. See the instructions in <link linkend="outlook-migration-mail">Migrating Local Outlook Mail Folders</link>.</para>
-     <para>Before importing e-mail from Netscape&z-3rdParty;, make sure you have selected File &gt; Compact All Folders. If you don't, Evolution will import and undelete the messages in your Trash folders.</para>
+     <para>After selecting your time zone, if Evolution finds email or address files from another application, it offers to import them. For a full description of the import feature, see <link linkend="importing-mail">Importing Single Files</link>.</para>
+     <para>Microsoft Outlook&z-3rdParty; and versions of Outlook Express after version 4 use proprietary formats that Evolution cannot read or import.</para>
+     <para>To import information, you might want to use the Export tool under Windows&z-3rdParty;. See the instructions in <link linkend="outlook-migration-mail">Migrating Local Outlook Mail Folders</link>.</para>
+     <para>Before importing email from Netscape&z-3rdParty;, Mozilla and Netscape users need to click File &gt; Compact &gt; All Folders from within the Netscape or Mozilla mail tool. Otherwise, Evolution imports and undeletes the messages in your Trash folders.</para>
      <tip>
-      <para>Evolution uses standard file types for e-mail and calendar information, so you can copy those files from your <command>~/.evolution</command> directory. The file formats used are <command>mbox</command> for e-mail and iCal for calendar information.</para>
-      <para>Contacts files are stored in a database, but can be saved as a standard vCard&z-3rdParty;. To export contact data, open your contacts tool and select the contacts you want to export (press Ctrl+A to select them all). Click File &gt; Save Contact as VCard.</para>
+      <para>Evolution uses standard file types for email and calendar information, so you can copy those files from your <command>~/.evolution</command> directory. The file formats used are <command>mbox</command> for email and iCal for calendar information.</para>
+      <para>Contacts files are stored in a database, but can be saved as a standard vCard&z-3rdParty;. To export an addressbook, click File &gt; Save Address Book As VCard". If you want to export only one contact, click File &gt; Save Contact as VCard.</para>
      </tip>
     </section>
    </section>
@@ -755,7 +757,7 @@
    </formalpara>
    <formalpara id="b17s9n8w">
     <title>Folder List:</title>
-    <para>The folder list gives you a list of the available folders for each account. To see the contents of a folder, click the folder name and the contents are displayed in the e-mail list.</para>
+    <para>The folder list gives you a list of the available folders for each account. To see the contents of a folder, click the folder name and the contents are displayed in the message list.</para>
    </formalpara>
    <formalpara id="b17s9nvy">
     <title>Toolbar:</title>
@@ -763,32 +765,32 @@
    </formalpara>
    <formalpara id="b17s9o2z">
     <title>Search Tool:</title>
-    <para>The search tool lets you search your e-mail, contacts, calendar, and tasks to easily find what you're looking for.</para>
+    <para>The search tool lets you search your email, contacts, calendar, and tasks to easily find what you're looking for.</para>
    </formalpara>
    <formalpara id="b17s9o9p">
     <title>Message List:</title>
-    <para>The message list displays a list of e-mail that you have received. To view an e-mail in the preview pane, click the e-mail in the e-mail list.</para>
+    <para>The message list displays a list of email that you have received. To view an email in the preview pane, click the email in the message list.</para>
    </formalpara>
    <formalpara id="b17s9of0">
     <title>Side bar:</title>
-    <para>The side bar lets you switch between folders and between Evolution tools. At the bottom of the side bar is the switcher that let you switch Evolution tools, and above that is a list of all the available folders for the current tool.For additional information, see <link linkend="usage-mainwindow-shortcutbar">The Side Bar</link>.</para>
+    <para>The side bar lets you switch between folders and between Evolution tools. At the bottom of the side bar is the switcher that let you switch Evolution tools, and above that is a list of all the available folders for the current tool. For additional information, see <link linkend="usage-mainwindow-shortcutbar">The Side Bar</link>.</para>
    </formalpara>
    <formalpara id="b17xycio">
     <title>Switcher:</title>
-    <para>The switcher at the bottom of the side bar lets you switch between the Evolution tools - mail, contacts, Calendars, Memos and Tasks.</para>
+    <para>The switcher at the bottom of the side bar lets you switch between the Evolution tools - Mail, Contacts, Calendars, Memos and Tasks.</para>
    </formalpara>
    <formalpara id="b17s9ol7">
     <title>Status Bar:</title>
-    <para>The status bar periodically displays a message, or tells you the progress of a task. This most often happens when you're checking or sending e-mail. These progress queues are shown in the previous figure. The Online/Offline indicator is here, too, in the lower left of the window.</para>
+    <para>The status bar periodically displays a message, or tells you the progress of a task. This most often happens when you're checking or sending email. These progress queues are shown in the previous figure. The Online/Offline indicator is here, too, in the lower left of the window.</para>
    </formalpara>
    <formalpara id="b17s9or8">
     <title>Preview Pane:</title>
-    <para>The preview pane displays the contents of the e-mail that is selected in the e-mail list.</para>
+    <para>The preview pane displays the contents of the email that is selected in the message list.</para>
    </formalpara>
 
    <section id="usage-mainwindow-menubar">
     <title>The Menu Bar</title>
-    <para>The menu bar's contents always provide all the possible actions for any given view of your data. If you're looking at your Inbox, most of the menu items relate to e-mail. Some content relates to other components of Evolution and some, especially in the File menu, relates to the application as a whole.</para>
+    <para>The menu bar's contents always provide all the possible actions for any given view of your data. If you're looking at your Inbox, most of the menu items relate to email. Some content relates to other components of Evolution and some, especially in the File menu, relates to the application as a whole.</para>
     <formalpara id="bs7g1fu">
      <title>File:</title>
      <para>Anything related to a file or to the operations of the application is listed in this menu, such as creating things, saving them to disk, printing them, and quitting the program itself.</para>
@@ -822,8 +824,8 @@
    <section id="usage-mainwindow-shortcutbar">
     <title>The Sidebar</title>
     <para>Sidebar is the vertical panel on the left side of the Evolution main window. At the bottom of the sidebar is the Switcher, that lets you switch between the Evolution tools like Mail, Memo,Tasks and Contacts. Above the Switcher you can see a list of folders for the current Evolution tool.</para>
-    <para>The folder list organizes your e-mail, calendars, contact lists, and task lists in a tree, similar to a <link linkend="filetree">file tree</link>. Most people find one to four folders at the base of the tree, depending on the tool and their system configuration. Each Evolution tool has at least one folder, called On This Computer, for local information. For example, the folder list for the e-mail tool shows any remote e-mail storage you have set up, plus local folders and search folders, which are discussed in <link linkend="usage-mail-organize-vfolders">Using Search Folders</link>.</para>
-    <para>If you get large amounts of e-mail, you might want more folders than just your Inbox. You can create multiple calendar, task, or contacts folders.</para>
+    <para>The folder list organizes your email, calendars, address books, task lists and memo lists in a tree, similar to a <link linkend="filetree">file tree</link>. Most people find one to four folders at the base of the tree, depending on the tool and their system configuration. Each Evolution tool has at least one folder, called On This Computer, for local information. For example, the folder list for the email tool shows any remote email storage you have set up, plus local folders and search folders, which are discussed in <link linkend="usage-mail-organize-vfolders">Using Search Folders</link>.</para>
+    <para>If you get large amounts of email, you might want more folders than just your Inbox. You can create multiple calendar, task, or contacts folders.</para>
     <para>To create a new folder:</para>
     <orderedlist>
      <listitem id="bs7fael">
@@ -842,7 +844,7 @@
 
     <section id="b17s9pb0">
      <title>Changing Switcher Appearance:</title>
-     <para>To change the appearance of  your switcher click <emphasis>View &gt; Switcher Appearance</emphasis> from the Menu bar. Under Switcher Appearance you can select:</para>
+     <para>To change the appearance of your switcher click <emphasis>View &gt; Switcher Appearance</emphasis> from the Menu bar. Under Switcher Appearance you can select:</para>
      <formalpara id="b13cep2o">
       <title>Icons and Text:</title>
       <para>Displays buttons with the label and the icon corresponding to it.</para>
@@ -901,41 +903,41 @@
       <para>Checks the number of total and unread messages in a folder, and, for remote folders, lets you select whether to copy the folder to your local system for offline operation.</para>
      </formalpara>
      <para>You can also rearrange folders and messages by dragging and dropping them.</para>
-     <para>Any time new e-mail arrives in a e-mail folder, that folder label is displayed in bold text, along with the number of new messages in that folder.</para>
+     <para>Any time new email arrives in a email folder, that folder label is displayed in bold text, along with the number of new messages in that folder.</para>
     </section>
    </section>
 
    <section id="basics-mail">
-    <title>E-Mail</title>
-    <para>Evolution e-mail is like other e-mail programs in several ways:</para>
+    <title>Email</title>
+    <para>Evolution email is like other email programs in several ways:</para>
     <itemizedlist>
      <listitem>
-      <para>It can send and receive e-mail in HTML or as plain text, and makes it easy to send and receive multiple file attachments. </para>
+      <para>It can send and receive email in HTML or as plain text, and makes it easy to send and receive multiple file attachments.</para>
      </listitem>
      <listitem>
-      <para>It supports multiple e-mail sources, including <link linkend="imap">IMAP</link>, <link linkend="pop">POP3</link>, and local mbox or mh spools and files created by other e-mail programs.</para>
+      <para>It supports multiple email sources, including <link linkend="imap">IMAP</link>, <link linkend="pop">POP3</link>, and local mbox or mh spools and files created by other email programs.</para>
      </listitem>
      <listitem>
-      <para>It can sort and organize your e-mail in a wide variety of ways with folders, searches, and filters.</para>
+      <para>It can sort and organize your email in a wide variety of ways with folders, searches, and filters.</para>
      </listitem>
      <listitem>
       <para>It lets you guard your privacy with encryption.</para>
      </listitem>
     </itemizedlist>
-    <para>However, Evolution has some important differences from other e-mail programs. First, It is built to handle very large amounts of e-mail. The <link linkend="usage-mail-organize-spam">junk e-mail</link>, message <link linkend="usage-mail-organize-filters">filtering</link> and <link linkend="usage-mail-organize-search">searching</link> functions were built for speed and efficiency. There's also the <link linkend="usage-mail-organize-vfolders">search folder</link>, an advanced organizational feature not found in some e-mail clients. If you get a lot of e-mail, or if you keep every message you get in case you need to refer to it later, you'll find this feature especially useful. Here's a quick explanation of what's happening in your main Evolution e-mail window.</para>
+    <para>However, Evolution has some important differences from other email programs. First, It is built to handle very large amounts of email. The <link linkend="usage-mail-organize-spam">junk email</link>, message <link linkend="usage-mail-organize-filters">filtering</link> and <link linkend="usage-mail-organize-search">searching</link> functions were built for speed and efficiency. There's also the <link linkend="usage-mail-organize-vfolders">search folder</link>, an advanced organizational feature not found in some email clients. If you get a lot of email, or if you keep every message you get in case you need to refer to it later, you will find this feature especially useful. Here's a quick explanation of what's happening in your main Evolution email window.</para>
     <mediaobject id="b159qi3q"><imageobject><imagedata format="PNG" fileref="figures/evo_mail_a.png"/></imageobject></mediaobject>
     <formalpara id="b17sa4um">
      <title>Message List:</title>
-     <para>The message list displays all the messages that you have. This includes all your read and unread messages, and e-mail that is flagged to be deleted.</para>
+     <para>The message list displays all the messages that you have. This includes all your read and unread messages, and email that is flagged to be deleted.</para>
     </formalpara>
     <formalpara id="b17sa500">
      <title>Preview Pane:</title>
-     <para>This is where your e-mail is displayed.</para>
+     <para>The preview pane displays the message that is currently chosen in the message list.</para>
     </formalpara>
     <para>If you find the preview pane too small, you can resize the pane, enlarge the whole window, or double-click the message in the message list to have it open in a new window. To change the size of a pane, drag the divider between the two panes.</para>
     <para>As with folders, you can right-click messages in the message list and get a menu of possible actions, including moving or deleting them, creating filters or search folders based on them, and marking them as junk mail.</para>
-    <para>Most of the e-mail-related actions you want to perform are listed in the Message Menu and Folder Menu in the menu bar. The most frequently used ones, like Reply and Forward, also appear as buttons in the toolbar. Most of them are also located in the right-click menu and as keyboard shortcuts.</para>
-    <para>For an in-depth guide to the e-mail capabilities of Evolution, read <link linkend="usage-mail">Sending and Receiving E-Mail</link>.</para>
+    <para>Most of the email-related actions you want to perform are listed in the Message Menu and Folder Menu in the menu bar. The most frequently used ones, like Reply and Forward, also appear as buttons in the toolbar. Most of them are also located in the right-click menu and as keyboard shortcuts.</para>
+    <para>For an in-depth guide to the email capabilities of Evolution, read <link linkend="usage-mail">Sending and Receiving Email</link>.</para>
    </section>
 
    <section id="basics-calendar">
@@ -952,7 +954,7 @@
     </formalpara>
     <formalpara id="b17sa5qs">
      <title>Task List:</title>
-     <para>Tasks are distinct from appointments because they generally don't have times associated with them. You can see a larger view of your task list by clicking Tasks in the switcher.</para>
+     <para>Tasks are distinct from appointments because they generally don't have times associated with them. You can use the list in a larger window by clicking the Tasks button in the side bar.</para>
     </formalpara>
     <para>For more information about the calendar, see <link linkend="usage-calendar">Evolution Calendar</link>.</para>
    </section>
@@ -962,9 +964,9 @@
     <para>The Evolution contacts can handle all of the functions of an address book or phone book. However, it is easier to update Evolution than it is to change an actual paper book, in part because Evolution can synchronize with Palm OS&z-3rdParty; devices and use <link linkend="ldap">LDAP</link> directories on a network.</para>
     <para>To use the contacts tool, click Contacts in the switcher. By default, the display shows all your contacts in alphabetical order, in a minicard view. You can select other views from the View menu, and adjust the width of the columns by clicking and dragging the gray column dividers.</para>
     <mediaobject id="usage-contact-fig"><imageobject><imagedata format="PNG" fileref="figures/contacts_mainwindow_a.png"/></imageobject></mediaobject>
-    <para>Another advantage of the Evolution contacts is its integration with the rest of the application. For example, you can right-click an e-mail address in Evolution mail to instantly create a contact entry.</para>
+    <para>Another advantage of the Evolution contacts is its integration with the rest of the application. For example, you can right-click an email address in Evolution mail to instantly create a contact entry.</para>
     <para><emphasis>Contact List</emphasis></para>
-    <para>The largest section of the contacts display shows a list of individual contacts. You can also search the contacts in the same way that you search e-mail folders, using the search tool on the right side of the toolbar.</para>
+    <para>The largest section of the contacts display shows a list of individual contacts. You can also search the contacts in the same way that you search email folders, using the search tool on the right side of the toolbar.</para>
     <para>For detailed instructions on how to use the address book, read <link linkend="usage-contact">Evolution Contacts: the Address Book</link>.</para>
    </section>
   </section>
@@ -996,7 +998,7 @@
     <para>This feature restores your settings from the archive.</para>
     <orderedlist>
      <listitem id="b17rbrfm">
-      <para>Select File &gt; Restore Settings to open the available evolution.tar.gz files</para>
+      <para>Select File &gt; Restore Settings to open the available evolution.tar.gz files.</para>
      </listitem>
      <listitem id="b17rbry6">
       <para>Select the evolution.tar.gz and click Save.</para>
@@ -1019,7 +1021,8 @@
   </section>
   <section id="bsekq8r">
    <title>Command Line Options</title>
-   <para>Evolution has a number of command line options that you can use. You can find the full list by entering the command <command>man evolution</command> or <command>evolution --help</command>. The most important command line options are:</para>
+   <para>Evolution has a number of command line options that you can use. For more information about command line options, open a terminal window and type <command>evolution --help</command>.</para>
+   <para>The most important command line options are:</para>
    <informaltable>
     <tgroup cols="2">
      <colspec colwidth="2.844*" colname="1" colnum="1"/>
@@ -1049,7 +1052,7 @@
        </entry>
        <entry colname="2">
         <para>Disables all the preview panes when you launch Evolution.</para>
-        <para>It lets Evolution not to open the last crashed message, task or contact when you restart Evolution. Thus, it  provides a way to avoid system crash caused by previewing message, task or contact. </para>
+        <para>It lets Evolution not to open the last crashed message, task or contact when you restart Evolution. Thus, it provides a way to avoid system crash caused by previewing message, task or contact.</para>
        </entry>
       </row>
       <row id="bsl8i03">
@@ -1057,7 +1060,7 @@
         <para>evolution mailto:<varname>joe somewhere net</varname></para>
        </entry>
        <entry colname="2">
-        <para>Starts Evolution and begins composing a message to the e-mail address listed.</para>
+        <para>Starts Evolution and begins composing a message to the email address listed.</para>
        </entry>
       </row>
       <row id="bsl8i04">
@@ -1097,7 +1100,7 @@
         <para>evolution <quote>%s</quote></para>
        </entry>
        <entry colname="2">
-        <para>Makes Evolution your default e-mail handler for your Web browser and in the GNOME&z-3rdParty; Control Center.</para>
+        <para>Makes Evolution your default email handler for your Web browser and in the GNOME&z-3rdParty; Control Center.</para>
        </entry>
       </row>
      </tbody>
@@ -1107,14 +1110,14 @@
  </chapter>
 
  <chapter id="usage-mail">
-  <title>Sending and Receiving E-Mail</title>
-  <para>This section, and <link linkend="usage-mail-organize">Organizing Your E-Mail</link>, provide you with an in-depth guide to the capabilities of <trademark>Evolution</trademark> as a mail client. For information about how to customize your mail account, see <link linkend="config-prefs-mail">Mail Preferences</link>.</para>
+  <title>Sending and Receiving Email</title>
+  <para>This section, and <link linkend="usage-mail-organize">Organizing Your Email</link>, provide you with an in-depth guide to the capabilities of <trademark>Evolution</trademark> as a mail client. For information about how to customize your mail account, see <link linkend="config-prefs-mail">Mail Preferences</link>.</para>
   <itemizedlist>
    <listitem>
     <para><link linkend="usage-mail-getnsend-read">Reading Mail</link></para>
    </listitem>
    <listitem>
-    <para><link linkend="usage-mail-getnsend-send">Composing New E-Mail Messages</link></para>
+    <para><link linkend="usage-mail-getnsend-send">Composing New Email Messages</link></para>
    </listitem>
    <listitem>
     <para><link linkend="rsvp-stuff">Sending Invitations by Mail</link></para>
@@ -1131,8 +1134,8 @@
    <title>Reading Mail</title>
    <para>If you are not already viewing mail, switch to the mail tool by clicking the Mail shortcut button, or press Ctrl+1. To read a message, select it in the message list; if you'd like to see it in its own window, either double-click it, press Enter, or press Ctrl+O.</para>
    <tip>
-    <para>To read mail with the keyboard, you can click the Spacebar to page down and press Backspace to page up while reading an e-mail. Ensure that you use the keys when message list is enabled.</para>
-    <para>Navigate the message list by using the arrow keys on the keyboard. To go to the next and previous unread messages, press the period (.) or comma (,) keys. On most keyboards, these keys are also marked with the &gt; and &lt; symbols, which is a convenient way to remember that they move you forward and backward in your message list. You can also use the right square bracket (]) for the next unread message, and the left square bracket ([) for the previous unread message.</para>
+    <para>To read mail with the keyboard, you can click the Spacebar to page down and press Backspace to page up while reading an email. Ensure that you use the keys when the message list is enabled.</para>
+    <para>Navigate the message list by using the arrow keys on the keyboard. To go to the next and previous unread messages, press the period (.) or comma (,) keys. On some keyboards, these keys are also marked with the &gt; and &lt; symbols, which is a convenient way to remember that they move you forward and backward in your message list. You can also use the right square bracket (]) for the next unread message, and the left square bracket ([) for the previous unread message.</para>
    </tip>
 
    <section id="b17rgdac">
@@ -1141,7 +1144,10 @@
     <para>To enable Magic Spacebar:</para>
     <orderedlist>
      <listitem id="b1axmc7p">
-      <para>Click Edit &gt; Preferences &gt; Mail Preferences and select the Enable Magic Spacebar check box.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
+     </listitem>
+     <listitem id="b1axmc7q">
+      <para>Select the Enable Magic Spacebar check box.</para>
      </listitem>
     </orderedlist>
     <para>When you are in the Mail view, the Spacebar has the following behavior:</para>
@@ -1150,13 +1156,13 @@
       <para>When you press the Spacebar for the first time, it takes you to the next unread message.</para>
      </listitem>
      <listitem>
-      <para>If the message is more than one screen long, the apacebar works as Page Down key.</para>
+      <para>If the message is more than one screen long, the Spacebar works as Page Down key.</para>
      </listitem>
      <listitem>
       <para>If you press the Spacebar after you reach the bottom of the page, it takes you to the next unread message.</para>
      </listitem>
      <listitem>
-      <para>If there are no more unread messages in the mailbox,  pressing the Spacebar takes you to the next unread message in the next folder.</para>
+      <para>If there are no more unread messages in the mailbox, pressing the Spacebar takes you to the next unread message in the next folder.</para>
      </listitem>
      <listitem>
       <para>If new messages arrive in a number of folders, the Spacebar toggles between those folders. This feature allows you to switch to the next unread message in a different folder without clicking the folder.</para>
@@ -1166,20 +1172,20 @@
 
    <section id="b13qb7i4">
     <title>Checking for New Mail</title>
-    <para>To check your mail, click Send/Receive in the toolbar. If you haven&apos;t created any mail accounts yet, the setup assistant asks you for the information it needs to check your e-mail. For information on creating mail accounts, see <link linkend="usage-mainwindow-starting">Starting Evolution for the First Time</link>.</para>
-    <para>If this is your first time checking mail, or you haven&apos;t asked Evolution to store your password, you are prompted for the password. Enter your password to download your e-mail.</para>
+    <para>To check your mail, click Send/Receive in the toolbar. If you haven&apos;t created any mail accounts yet, the setup assistant asks you for the information it needs to check your email. For information on creating mail accounts, see <link linkend="usage-mainwindow-starting">Starting Evolution for the First Time</link>.</para>
+    <para>If this is your first time checking mail, or you haven&apos;t asked Evolution to store your password, you are prompted for the password. Enter your password to download your email.</para>
     <para>If you get an error message instead of mail, you probably need to check your network settings. To learn how to do that, see <link linkend="mail-prefs-headers">Mail Header Preferences</link>, or ask your system administrator.</para>
    </section>
 
    <section id="b17qh4uo">
     <title>New Mail Notification</title>
-    <para>Evolution notifies you of new e-mail. When you receive a new mail in your inbox,  a blinking icon appears on the Switcher.</para>
+    <para>Evolution notifies you of new email. When you receive a new mail in your inbox, a blinking icon appears on the Switcher.</para>
     <mediaobject id="b1a5asi6"><imageobject><imagedata format="PNG" fileref="figures/evo_newmail.png"/></imageobject></mediaobject>
-    <para>You can also view a blinking icon <inlinegraphic format="PNG" fileref="figures/evo_blink.png"/>  in the notification area that disappears when you open the new e-mail. Mouse over the <inlinegraphic format="PNG" fileref="figures/evo_blink.png"/> icon to view the notification message.</para>
+    <para>You can also see a blinking icon <inlinegraphic format="PNG" fileref="figures/evo_blink.png"/> in the notification area that disappears when you open the new email. You can keep the mouse over the <inlinegraphic format="PNG" fileref="figures/evo_blink.png"/> icon to view the notification message.</para>
    </section>
 
    <section id="b131ni8g">
-    <title>Vertical View Versus Classical View</title>      
+    <title>Vertical View Versus Classical View</title>
     <para>Evolution provides you vertical view in addition to the classical view. In the vertical view, message preview pane is located at the right side of the message list when compared to the Classical view where the message preview pane is placed below the message list. Vertical View enables you to use the extra width of the wide screen monitors.</para>
     <formalpara id="b131nl11">
      <title>Vertical View:</title>
@@ -1190,7 +1196,7 @@
       <para>Click View &gt; Preview &gt; Vertical View</para>
      </listitem>
     </orderedlist>
-    <para>In Vertical view, default message list contains a double line compressed headers, which enables you to consume the extra width in the preview column.The compressed columns have Sender Name and Email, Attachment Icon, Date and Subject in the second line.</para>
+    <para>In Vertical view, default message list contains a double line compressed headers, which enables you to consume the extra width in the preview column. The compressed columns have Sender Name and Email, Attachment Icon, Date and Subject in the second line.</para>
     <mediaobject id="b159qju3"><imageobject><imagedata format="PNG" fileref="figures/ver_view_a.png"/></imageobject></mediaobject>
     <formalpara id="b131nkqr">
      <title>Classical View:</title>
@@ -1210,30 +1216,32 @@
     <para>Use the following procedure to set the limit of addresses to be displayed:</para>
     <orderedlist>
      <listitem id="b131onkl">
-      <para>Click Edit &gt; Preferences</para>
+      <para>Select Edit &gt; Preferences.</para>
      </listitem>
      <listitem id="b131onsx">
-      <para>Select Mail Preferences</para>
+      <para>Select Mail Preferences.</para>
      </listitem>
      <listitem id="b131onvr">
-      <para>Check <guilabel>Shrink To/CC/Bcc headers to column</guilabel> to limit the address</para>
+      <para>Check <guilabel>Shrink To/CC/Bcc headers to column</guilabel> to limit the address.</para>
      </listitem>
      <listitem id="b131oo0c">
       <para>Enter the limit in the field.</para>
      </listitem>
     </orderedlist>
-    <para>You can expand the message headers by click the  <inlinegraphic format="PNG" fileref="figures/plus.png"/> icon or the <guilabel>...</guilabel> in the message preview pane. To collapse click  <inlinegraphic format="PNG" fileref="figures/minus.png"/> icon in the  preview pane.</para>
+    <para>You can expand the message headers by clicking the <inlinegraphic format="PNG" fileref="figures/plus.png"/> icon or the <guilabel>...</guilabel> in the message preview pane. To collapse click <inlinegraphic format="PNG" fileref="figures/minus.png"/> icon in the  preview pane.</para>
    </section>
 
    <section id="bsempjs">
     <title>Sharing Mailboxes with Other Mail Programs</title>
-    <para>If you want to use Evolution and another e-mail client, such as Mutt, at the same time, use the following procedure:</para>
+    <para>If you want to use Evolution and another email client, such as Mutt, at the same time, use the following procedure:</para>
     <orderedlist>
      <listitem id="bsen3rq">
       <para>Download your mail in the other application as you would normally.</para>
      </listitem>
      <listitem id="bsen3u8">
-      <para>In Evolution, click Edit &gt; Preferences, then click Mail Accounts. Select the account you want to use to share mail and click Edit. Instead of Edit, you might want to create a new account just for this source of mail by clicking New.</para>
+      <para>In Evolution:</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
+      <para>Select the account you want to use to share mail and click Edit. Instead of Edit, you might want to create a new account just for this source of mail by clicking New.</para>
      </listitem>
      <listitem id="bsen3wh">
       <para>Under the Receiving Mail tab, select the type of mail file that your other mail application uses, then specify the full path to that location. A typical choice would be mbox files, with the path /home/<varname>username</varname>/Mail/.</para>
@@ -1251,12 +1259,15 @@
 
     <section id="usage-mail-getnsend-get-attach-actions">
      <title>Saving or Opening Attachments</title>
-     <para>If you get an e-mail message with an attachment, Evolution can help you save the attachment or open it with the appropriate applications.</para>
+     <para>If you get an email message with an attachment, Evolution can help you save the attachment or open it with the appropriate applications.</para>
      <para>Evolution shows a right-arrow icon, the number of attachments, and a Save or Save All button to save all the attachments. Click the right-arrow icon to show the attachment bar.</para>
      <para>To save an attachment to disk:</para>
      <orderedlist>
       <listitem id="bsen45z">
-       <para>Click the down-arrow on the attachment icon, or right-click the attachment icon in the attachment bar, then click Save As.</para>
+       <para>Click the down-arrow on the attachment icon or right-click the attachment icon in the attachment bar.</para> 
+      </listitem>
+      <listitem id="bsen45d">
+       <para>Click Save As.</para>
       </listitem>
       <listitem id="bsen4bg">
        <para>Select a location and name for the file.</para>
@@ -1283,7 +1294,7 @@
     <section id="usage-mail-getnsend-get-attach-html">
      <title>Inline Images in HTML Mail</title>
      <para>When someone sends you HTML mail that includes an image in the body of the message (for example, the welcome message in your Inbox), Evolution displays the image inside the message. You can create messages like this by using the Insert Image tool in the message composer. Alternately, just drag an image into the message composition area.</para>
-     <para>Some images are links in a message, rather than being part of the message. Evolution can download those images from the Internet, but does not do so unless you request it. This is because remotely Servered images can be slow to load and display, and can even be used by spammers to track who reads the e-mail. Not automatically loading images helps protect your privacy.</para>
+     <para>Some images are links in a message, rather than being part of the message. Evolution can download those images from the Internet, but does not do so unless you request it. This is because remotely servered images can be slow to load and display, and can even be used by spammers to track who reads the email. Not automatically loading images helps protect your privacy.</para>
      <para>To load the images for one message:</para>
      <orderedlist>
       <listitem id="bsen9jh">
@@ -1293,7 +1304,7 @@
      <para>To set the default action for loading images:</para>
      <orderedlist>
       <listitem id="bsenabn">
-       <para>Click Edit &gt; Preferences, then click Mail Preferences.</para>
+       <para>Select Edit &gt; Preferences, then select Mail Preferences.</para>
       </listitem>
       <listitem id="bsenajw">
        <para>Click the HTML Mail tab.</para>
@@ -1340,8 +1351,8 @@
 
    <section id="usage-mail-getnsend-get-news">
     <title>Using Evolution for News</title>
-    <para>USENET newsgroups are similar to mail, so it is often convenient to read news and mail side by side. You can add a news source, called an NNTP server, the same way you would add <link linkend="bse54o0">new e-mail account</link>, selecting USENET News as the source type. The news server appear as a remote mail server, and each news group works like an IMAP folder. When you click Send/Receive, Evolution also checks for news messages.</para>
-    <para>When you create a news group account, you are not subscribed to any groups. To subscribe to a news group:</para>
+    <para>USENET newsgroups are similar to mail, so it is often convenient to read news and mail side by side. You can add a news source, called an NNTP server, the same way you would add <link linkend="bse54o0">new email account</link>, selecting USENET News as the Server type. The news server appear as a remote mail server, and each newsgroup works like an IMAP folder. When you click Send/Receive, Evolution also checks for news messages.</para>
+    <para>When you create a newsgroup account, you are not subscribed to any groups. To subscribe to a newsgroup:</para>
     <orderedlist>
      <listitem id="bsx1euy">
       <para>Click Folder &gt; Subscriptions.</para>
@@ -1358,23 +1369,23 @@
    <section id="usage-mail-getnsend-delete">
     <title>Deleting Mail</title>
     <para>Evolution allows you to delete unwanted messages. To delete a message, select it and press the Delete key, or click the delete tool in the toolbar, press Ctrl+D, or right-click the message, then click Delete.</para>
-    <para>When you press Delete or click the Trash folder, your mail is not actually deleted, but is marked for deletion. Your e-mail is recoverable until you have expunged your mail. When you expunge a folder, you remove all the mail that you have marked for deletion.To show deleted messages, uncheck Hide Deleted Messages option from the View menu. You can view the messages striken off for later deletion. You can also find deleted messages in your Trash folder.</para>
+    <para>When you press Delete or click the Trash folder, your mail is not actually deleted, but is marked for deletion. Your email is recoverable until you have expunged your mail. When you expunge a folder, you remove all the mail that you have marked for deletion.To show deleted messages, uncheck Hide Deleted Messages option from the View menu. You can view the messages striken off for later deletion. You can also find deleted messages in your Trash folder.</para>
     <para>To permanently erase all the deleted messages in a folder, click Folder &gt; Expunge or press Ctrl+E.</para>
-    <para>Trash folders in GroupWise, local and IMAP accounts are actually virtual search folders that display all messages you have marked for later deletion. Hence, emptying Trash is nothing but expunging deleted mails from all your folders in the account.</para>
+    <para>Trash folders in GroupWise, local and IMAP accounts are actually virtual search folders that display all messages you have marked for later deletion. Hence, emptying Trash is nothing but expunging deleted mail from all your folders in the account.</para>
     <para>However, this is not true for the Trash folder on Exchange servers, which behaves just the same as it does in Outlook. It is a normal folder with actual messages in it. For more information about search folders, see <link linkend="usage-mail-organize-vfolders">Using Search Folders</link>.</para>
    </section>
 
    <section id="usage-mail-getnsend-undelete">
     <title>Undeleting Messages</title>
-    <para>You can undelete a message that has been deleted but not expunged. To undelete a message, select the message, click Edit &gt; Undelete.</para>
+    <para>You can undelete a message that has been deleted but not expunged. To undelete a message, select the message, click Edit &gt; Undelete. Note that View &gt; Hide Deleted messages in the menubar must be disabled for this.</para>
     <para>If you have marked a message for deletion, undeleting it unmarks it, and the message is removed from the Trash folder.</para>
    </section>
   </section>
 
   <section id="usage-mail-getnsend-send">
-   <title>Composing New E-Mail Messages</title>
-   <para>You can start writing a new e-mail message by clicking File &gt; New &gt; Mail Message, by pressing Ctrl+N when in the mailing tool, or by clicking New in the toolbar.</para>
-   <para>Enter an address in the To field. If you want to enter multiple email addresses, type in the addresses separated by comma. You can also use contact list to send messages to multiple recipients.Enter a subject in the Subject field, and a message in the box at the bottom of the window. After you have written your message, click Send.</para>
+   <title>Composing New Email Messages</title>
+   <para>You can start writing a new email message by clicking File &gt; New &gt; Mail Message, by pressing Ctrl+N when in the mailing tool, or by clicking New in the toolbar.</para>
+   <para>Enter an address in the To field. If you want to enter multiple email addresses, type in the addresses separated by comma. You can also use a contact list to send messages to multiple recipients. Enter a subject in the Subject field, and a message in the box at the bottom of the window. After you have written your message, click Send.</para>
    <para>New mail message window look like this:</para>
    <mediaobject id="usage-mail-newmsg-fig"><imageobject><imagedata format="PNG" fileref="figures/evo_newmess_a.png"/></imageobject></mediaobject>
    <para>This section contains the following topics:</para>
@@ -1392,19 +1403,19 @@
      <para><link linkend="usage-mail-getnsend-send-compose">Attachments</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="usage-mail-getnsend-send-to-types">Specifying Additional Recipients for E-Mail</link></para>
+     <para><link linkend="usage-mail-getnsend-send-to-types">Specifying Additional Recipients for Email</link></para>
     </listitem>
     <listitem>
      <para><link linkend="usage-mail-getnsend-send-to">Choosing Recipients Quickly</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="usage-mail-getnsend-send-reply">Replying to E-Mail Messages</link></para>
+     <para><link linkend="usage-mail-getnsend-send-reply">Replying to Email Messages</link></para>
     </listitem>
     <listitem>
      <para><link linkend="usage-mail-getnsend-send-find">Searching and Replacing with the Composer</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="usage-mail-getnsend-send-html">Enhancing Your E-Mail with HTML</link></para>
+     <para><link linkend="usage-mail-getnsend-send-html">Enhancing Your Email with HTML</link></para>
     </listitem>
     <listitem>
      <para><link linkend="BJEHCDFA">Mail Send Options</link></para>
@@ -1413,7 +1424,7 @@
      <para><link linkend="usage-mail-getnsend-fwd">Forwarding Mail</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="usage-mail-getnsend-ettiquette">Tips for E-Mail Courtesy</link></para>
+     <para><link linkend="usage-mail-getnsend-ettiquette">Tips for Email Courtesy</link></para>
     </listitem>
    </itemizedlist>
 
@@ -1425,7 +1436,7 @@
     <section id="bsfnqkj">
      <title>Using Character Sets</title>
      <para>A character set is a computer's version of an alphabet. In the past, the ASCII character set was used almost universally. However, it contains only 128 characters, meaning it is unable to display characters in Cyrillic, Kanjii, or other non-Latin alphabets. To work around language display problems, programmers developed a variety of methods, so many human languages now have their own specific character sets, and items written in other character sets display incorrectly. Eventually, standards organizations developed the UTF-8 Unicode&z-3rdParty; character set to provide a single compatible set of codes for everyone.</para>
-     <para>Most e-mail messages state in advance which character set they use, so Evolution usually knows what to display for a given binary number. However, if you find that messages are displayed as rows of incomprehensible characters, try selecting a different character set in the mail settings screen. If your recipients can't read your messages, try selecting a different character set in the composer options dialog box. For some languages, such as Turkish or Korean, it might work best for you to select the language-specific character set. However, the best choice for most users is UTF-8, which offers the widest range of characters for the widest range of languages.</para>
+     <para>Most email messages state in advance which character set they use, so Evolution usually can display those messages correctly. However, if you find that messages are displayed as rows of incomprehensible characters, try selecting a different character set in the mail settings screen. If your recipients can't read your messages, try selecting a different character set in the composer options dialog box. For some languages, such as Turkish or Korean, it might work best for you to select the language-specific character set. However, the best choice for most users is UTF-8, which offers the widest range of characters for the widest range of languages.</para>
     </section>
    </section>
 
@@ -1447,7 +1458,7 @@
 
    <section id="usage-mail-getnsend-offline">
     <title>Working Offline</title>
-    <para>Offline mode help you communicate with remote mail storage systems like <trademark class="registered">GroupWise</trademark>, IMAP or Exchange, in situations where you are not connected to the network at all times. Evolution keeps a local copy of one or more folders to allow you to compose messages, storing them in your Outbox to be sent the next time you connect.</para>
+    <para>Offline mode helps you communicate with remote mail storage systems like <trademark class="registered">GroupWise</trademark>, IMAP or Exchange, in situations where you are not connected to the network at all times. Evolution keeps a local copy of one or more folders to allow you to compose messages, storing them in your Outbox to be sent the next time you connect.</para>
     <para>POP mail downloads all messages to your local system, but other connections usually download just the headers, and get the rest only when you want to read the message. Before you go offline, Evolution downloads the unread messages from the folders you have chosen to store.</para>
     <para>To mark a folder for offline use,</para>
     <orderedlist>
@@ -1500,7 +1511,7 @@
 
    <section id="usage-mail-getnsend-send-compose">
     <title>Attachments</title>
-    <para>To attach a file to your e-mail:</para>
+    <para>To attach a file to your email:</para>
     <orderedlist>
      <listitem id="bsfnwxr">
       <para>Click the Attach icon in the composer toolbar.</para>
@@ -1512,13 +1523,13 @@
       <para>Click OK.</para>
      </listitem>
     </orderedlist>
-    <para>You can also drag a file into the composer window. If you want to send it as an inline attachment, right-click the attachment and click Properties, then select Automatic Display of Attachments.</para>
+    <para>You can also drag a file to the attachment bar of the composer window. If you want to send it as an inline attachment, right-click the attachment and click Properties, then select Automatic Display of Attachments.</para>
     <para>When you send the message, a copy of the attached file goes with it. Be aware that large attachments can take a long time to send and receive.</para>
    </section>
    <section id="b17rcxmf">
     <title>Attachment Reminder:</title>
-    <para>Evolution has an Attachment Reminder plugin you can use to remind yourself to attach a file to an e-mail. If it determines that you have not attached the file, it displays the following message:</para>
-    <mediaobject id="b17rcrvr"><imageobject><imagedata format="PNG" fileref="figures/attach_reminder_a.png.png"/></imageobject></mediaobject>
+    <para>Evolution has an Attachment Reminder plugin you can use to remind yourself to attach a file to an email. If it determines that you have not attached the file, it displays the following message:</para>
+    <mediaobject id="b17rcrvr"><imageobject><imagedata format="PNG" fileref="figures/attach_reminder_a.png"/></imageobject></mediaobject>
     <orderedlist>
      <listitem id="b17rctav">
       <para>Click Continue Editing to attach the missing file, or click Send to send the message without any attachment.</para>
@@ -1541,16 +1552,16 @@
       <para>To edit any of the existing keywords, select the keyword, click Edit, then modify the word as desired.</para>
      </listitem>
      <listitem id="b1a57zh4">
-      <para>When you have finished making your selections, click Close to exit the Plugin Manager.</para>
+      <para>Click Close.</para>
      </listitem>
     </orderedlist>
    </section>
    <section id="usage-mail-getnsend-send-to-types">
-    <title>Specifying Additional Recipients for E-Mail</title>
-    <para><trademark>Evolution</trademark>, like most e-mail programs, recognizes three types of addressee: primary recipients, secondary recipients, and hidden (blind) recipients. The simplest way to direct a message is to put the e-mail address or addresses in the To: field, which denotes primary recipients. Use the Cc: field to send a message to secondary recipients.</para>
+    <title>Specifying Additional Recipients for Email</title>
+    <para><trademark>Evolution</trademark>, like most email programs, recognizes three types of addresses: primary recipients, secondary recipients, and hidden (blind) recipients. The simplest way to direct a message is to put the email address or addresses in the To: field, which denotes primary recipients. Use the Cc: field to send a message to secondary recipients.</para>
     <para>Addresses on the Bcc: list are hidden from the other recipients of the message. You can use it to send mail to large groups of people, especially if they don't know each other or if privacy is a concern. If your Bcc: field is absent, click View &gt; Bcc Field.</para>
-    <para>If you frequently write e-mail to the same groups of people, you can create address lists in the contacts tool, and then send them mail as though they have a single address. To learn how to do that, see <link linkend="usage-contact-organize-group-list">Creating a List of Contacts</link>.</para>
-    <para>Evolution has the ability to let you specify the Reply-To in an e-mail. Using this, you can set up a special Reply-To for an e-mail.To do this:</para>
+    <para>If you frequently write email to the same groups of people, you can create address lists in the contacts tool, and then send them mail as though they have a single address. To learn how to do that, see <link linkend="usage-contact-organize-group-list">Creating a List of Contacts</link>.</para>
+    <para>Evolution has the ability to let you specify the Reply-To in an email. Using this, you can set up a special Reply-To for an email. To do this:</para>
     <orderedlist>
      <listitem id="bsfnz55">
       <para>Open a compose window.</para>
@@ -1572,20 +1583,20 @@
 
    <section id="usage-mail-getnsend-send-to">
     <title>Choosing Recipients Quickly</title>
-    <para>Address auto completion is by default enabled in Evolution when you create contacts.Evolution makes it easy for you to quickly fill in the address field without having to remember the email address of recipients. You can type nicknames or other portions of address data in the address field and Evolution will display a drop-down list of possible address completions from your contacts. If you type a name or nickname that can go with more than one card, Evolution opens a dialog box to ask you which person you meant.</para>
-    <para>If Evolution does not complete addresses automatically, click Edit &gt; Preferences, then click Autocompletion. There, select the groups of contacts you want to use for address autocompletion in the mailer.</para>
-    <para>Alternately, you can click the To:, Cc:, or Bcc: buttons to get a list of the e-mail addresses in your contacts. Select addresses and click the arrows to move them into the appropriate address columns.</para>
-    <para>For more information about using e-mail with the contact manager and the calendar, see <link linkend="contact-automation-basic">Send Me a Card: Adding New Cards Quickly</link> and <link linkend="usage-calendar-apts">Scheduling With the Evolution Calendar</link>.</para>
+    <para>Address auto completion is by default enabled in Evolution when you create contacts. Evolution makes it easy for you to quickly fill in the address field without having to remember the email address of recipients. You can type nicknames or other portions of address data in the address field and Evolution will display a drop-down list of possible address completions from your contacts. If you type a name or nickname that can go with more than one card, Evolution opens a dialog box to ask you which person you meant.</para>
+    <para>If Evolution does not complete addresses automatically, click Edit &gt; Preferences, then click Autocompletion. There, select the address book you want to use for address autocompletion in the mailer.</para>
+    <para>Alternately, you can click the To:, Cc:, or Bcc: buttons to get a list of the email addresses in your contacts. Select addresses and click the arrows to move them into the appropriate address columns.</para>
+    <para>For more information about using email with the contact manager and the calendar, see <link linkend="contact-automation-basic">Send Me a Card: Adding New Cards Quickly</link> and <link linkend="usage-calendar-apts">Scheduling With the Evolution Calendar</link>.</para>
    </section>
 
    <section id="usage-mail-getnsend-send-reply">
-    <title>Replying to E-Mail Messages</title>
-    <para>To reply to a message, click the message to reply to in the e-mail list and click Reply, or right-click within the message and select Reply to Sender. This opens the message composer. The To: and Subject: fields are already filled, although you can alter them if you prefer. In addition, the full text of the old message is inserted into the new message, either in grey with a blue line on one side (for HTML display) or with the &gt; character before each line (in plain text mode), to indicate that it is part of the previous message.</para>
+    <title>Replying to Email Messages</title>
+    <para>To reply to a message, click the message to reply to in the message list and click the Reply button in the toolbar, or right-click within the message and select Reply to Sender. This opens the message composer. The To: and Subject: fields are already filled, although you can alter them if you prefer. In addition, the full text of the old message is inserted into the new message, either in grey with a blue line on one side (for HTML display) or with the &gt; character before each line (in plain text mode), to indicate that it is part of the previous message.</para>
     <para>If you're reading a message with several recipients, you can use Reply to All instead of Reply. If there are large numbers of people in the Cc: or To: fields, this can save substantial amounts of time.</para>
 
     <section id="bsfo4jl">
      <title>Using the Reply To All Feature</title>
-     <para>Susan sends an e-mail to a client and sends copies to Tim and to an internal company mailing list of co-workers. If Tim wants to make a comment for all of them to read, he uses Reply to All, but if he just wants to tell Susan that he agrees with her, he uses Reply. His reply does not reach anyone that Susan put on her Bcc list, because that list is not shared with anyone.</para>
+     <para>Susan sends an email to a client and sends copies to Tim and to an internal company mailing list of co-workers. If Tim wants to make a comment for all of them to read, he uses Reply to All, but if he just wants to tell Susan that he agrees with her, he uses Reply. His reply does not reach anyone that Susan put on her Bcc list, because that list is not shared with anyone.</para>
      <para>If you subscribe to a mailing list, and want your reply to go just to the list, rather than to the sender, select Reply to List instead of Reply or Reply to All.</para>
     </section>
 
@@ -1667,13 +1678,13 @@
    </section>
 
    <section id="usage-mail-getnsend-send-html">
-    <title>Enhancing Your E-Mail with HTML</title>
-    <para>Normally, you can't set text styles or insert pictures in e-mail. However, most newer e-mail programs can display images and text styles in addition to basic alignment and paragraph formatting. They do this with <link linkend="html">HTML</link>, just like Web pages do.</para>
+    <title>Enhancing Your Email with HTML</title>
+    <para>Normally, you can't set text styles or insert pictures in email. However, most newer email programs can display images and text styles in addition to basic alignment and paragraph formatting. They do this with <link linkend="html">HTML</link>, just like Web pages do.</para>
     <para>Some people do not have HTML-capable mail clients, or prefer not to receive HTML-enhanced mail because it is slower to download and display. Because of this, Evolution sends plain text unless you explicitly ask for HTML.</para>
 
     <section id="bsait28">
      <title>Basic HTML Formatting</title>
-     <para>You can change the format of an e-mail message from plain text to HTML by choosing Format HTML.</para>
+     <para>You can change the format of an email message from plain text to HTML by choosing Format &gt; HTML from the menu bar.</para>
      <para>To send all your mail as HTML by default, set your mail format preferences in the mail configuration dialog box. See <link linkend="config-prefs-mail-composer">Composer Preferences</link> for more information.</para>
      <para>HTML formatting tools are located in the toolbar just above the space where you actually compose the message. They also appear in the Insert and Format menus.</para>
      <para>The icons in the toolbar are explained in <link linkend="tooltip">tool-tips</link>, which appear when you hold your mouse pointer over the buttons. The buttons fall into five categories:</para>
@@ -1684,7 +1695,7 @@
      <para>For instance, instead of using asterisks to mark a bulleted list, you can use the Bulleted List style from the style drop-down list. Evolution uses different bullet styles, and handles word wrap and multiple levels of indentation.</para>
      <formalpara id="bsai86c">
       <title>Text Styles:</title>
-      <para>Use these buttons to determine the way your e-mail looks. If you have text selected, the style applies to the selected text. If you do not have text selected, the style applies to whatever you type next.</para>
+      <para>Use these buttons to determine the way your email looks. If you have text selected, the style applies to the selected text. If you do not have text selected, the style applies to whatever you type next.</para>
      </formalpara>
      <informaltable>
       <tgroup cols="2">
@@ -1754,13 +1765,13 @@
      </formalpara>
      <formalpara id="bsaialx">
       <title>Color Selection:</title>
-      <para>At the far right is the color section tool, where a box displays the current text color. To choose a new color, click the arrow button to the right. If you have text selected, the color applies to the selected text. If you do not have text selected, the color applies to whatever you type next. You can select a background color or image by right-clicking the message background, then selecting Style Page.</para>
+      <para>At the far right is the color section tool, where a box displays the current text color. To choose a new color, click the arrow button to the right. If you have text selected, the color applies to the selected text. If you do not have text selected, the color applies to whatever you type next. You can select a background color or image by right-clicking the message background, then selecting Style &gt; Page Style.</para>
      </formalpara>
     </section>
 
     <section id="bsait29">
      <title>Advanced HTML Formatting</title>
-     <para>Under the Insert menu, there are several more items you can use to style your e-mail. To use these and other HTML formatting tools, make sure you have enabled HTML mode by using Format HTML.</para>
+     <para>Under the Insert menu, there are several more items you can use to style your email. To use these and other HTML formatting tools, make sure you have enabled HTML mode by using Format &gt; HTML from the menu bar.</para>
 
      <section id="bsait2a">
       <title>Inserting a Link</title>
@@ -1785,7 +1796,7 @@
       <title>Inserting an Image</title>
       <orderedlist>
        <listitem id="bsainv6">
-        <para>Click Image.</para>
+        <para>Click Insert &gt; Image in the menubar.</para>
        </listitem>
        <listitem id="bsaio4q">
         <para>Browse to and select the image file.</para>
@@ -1801,7 +1812,7 @@
       <para>You can insert a horizontal line into the text to help divide two sections:</para>
       <orderedlist>
        <listitem id="bsaiotf">
-        <para>Click Rule.</para>
+        <para>Click Insert &gt; Rule in the menubar.</para>
        </listitem>
        <listitem id="bsaioxz">
         <para>Select the width, size, and alignment.</para>
@@ -1820,7 +1831,7 @@
       <para>You can insert a table into the text:</para>
       <orderedlist>
        <listitem id="bsaiq2x">
-        <para>Click Table.</para>
+        <para>Click Insert &gt; Table in the menubar.</para>
        </listitem>
        <listitem id="bsaiq6r">
         <para>Select the number of rows and columns.</para>
@@ -1830,7 +1841,7 @@
        </listitem>
        <listitem id="bsaiqp8">
         <para>Select a background for the table.</para>
-        <para>To insert a picture for the background, click Browse and select the desired image.</para>
+        <para>To insert a picture for the background, click the filechooser button and select the desired image.</para>
        </listitem>
        <listitem id="bsaiqs5">
         <para>Click Close.</para>
@@ -1842,10 +1853,10 @@
 
    <section id="BJEHCDFA">
     <title>Mail Send Options</title>
-    <para>You can set the following options when sending mails in Evolution.</para>
+    <para>You can set the following options when sending mail in Evolution.</para>
     <formalpara id="b101lleg">
      <title>Read Receipts:</title>
-     <para>Evolution allows you to request a receipt for your sent messages to indicate when your message is being viewed by the recipient. Receipts are useful when sending e-mail that is time-sensitive. To request a receipt, click Insert &gt; Request Read Receipt in the composer window.</para>
+     <para>Evolution allows you to request a receipt for your sent messages to indicate when your message is being viewed by the recipient. Receipts are useful when sending email that is time-sensitive. To request a receipt, click Insert &gt; Request Read Receipt in the composer window.</para>
     </formalpara>
     <formalpara id="b101llei">
      <title>Prioritize Message:</title>
@@ -1863,10 +1874,10 @@
     <para>To change your default settings,</para>
     <orderedlist>
      <listitem id="b13uu17q">
-      <para>Select Edit &gt;Preferences to open Evolution Preferences window.</para>
+      <para>Select Edit &gt; Preferences.</para>
      </listitem>
      <listitem id="b13uu2g0">
-      <para>Select the mail account you want to change the default settings.</para>
+      <para>Select the mail account whose default settings you want to change.</para>
      </listitem>
      <listitem id="b13uu7dv">
       <para>Click Edit to open Account Editor window.</para>
@@ -1920,7 +1931,7 @@
 
    <section id="usage-mail-getnsend-fwd">
     <title>Forwarding Mail</title>
-    <para>When you receive an e-mail, you can forward it to other individuals or groups that might be interested. You can forward a message as an attachment to a new message (this is the default) or you can send it <link linkend="inline">in	line</link> as a quoted portion of the message you are sending. Attachment forwarding is best if you want to send the full, unaltered message to someone else. Inline forwarding is best if you want to send portions of a message, or if you have a large number of comments on different sections of the message you are forwarding. Remember to note from whom the message came, and whether you have removed or altered content.</para>
+    <para>When you receive an email, you can forward it to other individuals or groups that might be interested. You can forward a message as an attachment to a new message (this is the default) or you can send it <link linkend="inline">in	line</link> as a quoted portion of the message you are sending. Attachment forwarding is best if you want to send the full, unaltered message to someone else. Inline forwarding is best if you want to send portions of a message, or if you have a large number of comments on different sections of the message you are forwarding. Remember to note from whom the message came, and whether you have removed or altered content.</para>
     <para>To forward a message you are reading:</para>
     <orderedlist>
      <listitem id="b10fnnjq">
@@ -1932,14 +1943,15 @@
       <para>Select an addressee as you would when sending a new message; the subject is already entered, although you can alter it if you want.</para>
      </listitem>
      <listitem id="b10fnop8">
-      <para>Add your comments on the message in the composition frame, then click Send.</para>
+      <para>Add your comments on the message in the composition frame</para>
+      <para>Click Send.</para>
      </listitem>
     </orderedlist>
     <para>Attachments to a message you are forwarding are forwarded only when you send the original message as an attachment. Inline messages do not forward any attachments.</para>
    </section>
 
    <section id="usage-mail-getnsend-ettiquette">
-    <title>Tips for E-Mail Courtesy</title>
+    <title>Tips for Email Courtesy</title>
     <itemizedlist>
      <listitem>
       <para>Don't forward chain letters. If you must, watch out for hoaxes and urban legends, and make sure the message doesn't have multiple layers of greater-than signs, (&gt;) indicating multiple layers of careless in-line forwarding.</para>
@@ -1954,7 +1966,7 @@
       <para>Check your spelling and use complete sentences. By default, Evolution puts a red line beneath words it doesn't recognize, as you type them.</para>
      </listitem>
      <listitem>
-      <para>Don't send nasty e-mails (flames). If you get one, don't write back.</para>
+      <para>Don't send nasty emails (flames). If you get one, don't write back.</para>
      </listitem>
      <listitem>
       <para>When you reply or forward, include enough of the previous message to provide context.</para>
@@ -1968,8 +1980,8 @@
 
   <section id="rsvp-stuff">
    <title>Sending Invitations by Mail</title>
-   <para>If you create an event in the calendar component, you can then send invitations to the attendee list through the Evolution e-mail tool. The invitation card is sent as an attachment in iCal format.</para>
-   <para>To send an invitation in GroupWise, right click on the calendar item and click Forward as iCalendar.</para>
+   <para>If you create an event in the calendar component, you can then send invitations to the attendee list through the Evolution email tool. The invitation card is sent as an attachment in iCal format.</para>
+   <para>To send an invitation, right click on the calendar item and click Forward as iCalendar.</para>
    <para>When you receive an invitation, you have several options:</para>
    <formalpara id="bsaizt9">
     <title>Accept:</title>
@@ -1981,10 +1993,10 @@
    </formalpara>
    <formalpara id="bsaj06a">
     <title>Decline:</title>
-    <para>Indicates you are unable to attend the meeting. The meeting is not entered into your calendar when you click OK, although your response is sent to the meeting host if you have selected the RSVP option.</para>
+    <para>Indicates you are unable to attend the meeting. The meeting is not entered into your calendar when you click OK, although your response is sent to the meeting host if you have selected the Send reply to sender option.</para>
    </formalpara>
    <formalpara id="bsaj0dc">
-    <title>RSVP:</title>
+    <title>Send reply to sender:</title>
     <para>Select this option if you want your response sent to the meeting organizers.</para>
    </formalpara>
   </section>
@@ -1997,7 +2009,7 @@
      <para>Select Folder &gt; Subscriptions.</para>
     </listitem>
     <listitem id="bsmqyid">
-     <para>If you have accounts on multiple IMAP servers, select the server where you want to manage your subscriptions. </para>
+     <para>If you have accounts on multiple IMAP servers, select the server where you want to manage your subscriptions.</para>
      <para>Evolution displays a list of available files and folders.</para>
     </listitem>
     <listitem id="bsmqyky">
@@ -2005,7 +2017,7 @@
      <para>You should select at least the Inbox folder. Depending upon the way your IMAP server is configured, the list of available files might include non-mail folders. If it does, you can ignore them.</para>
     </listitem>
     <listitem id="bsmqz9t">
-     <para>Click Subscribe to add a folder to the subscribed list.</para>
+     <para>Enable the corresponding checkbox to add a folder to the subscribed list.</para>
     </listitem>
     <listitem id="bsmqzlz">
      <para>When you have subscribed to the folders you want, close the window.</para>
@@ -2015,7 +2027,7 @@
 
   <section id="encryption">
    <title>Encryption</title>
-   <para>To protect and encode your e-mail transmissions, Evolution offers two encryption methods:</para>
+   <para>To protect and encode your email transmissions, Evolution offers two encryption methods:</para>
    <itemizedlist>
     <listitem>
      <para>GPG Encryption</para>
@@ -2025,8 +2037,8 @@
     </listitem>
    </itemizedlist>
    <para>Evolution helps you protect your privacy by using GNU Privacy Guard (GPG), an implementation of strong <link linkend="public-key-encryption">Public Key Encryption.</link></para>
-   <para>GPG uses two keys: public and private. You can give your public key to anyone you want to receive encrypted messages, or put it on a public key server so that people can look it up before contacting you. Your private key lets you decrypt any message encrypted with your public key. Never give your private key to anyone.</para>
-   <para> When you send a message that is encrypted, you must encrypt it using your intended recipient's public key. To receive an encrypted message, you must make sure that the sender has your public key in advance. For signing messages, you encrypt the signature with your private key, so only your public key can unlock it. When you send the message, the recipient gets your public key and unlocks the signature, verifying your identity.</para>
+   <para>In order to send and receive encrypted emails using GPG, it is necessary to use two kinds of encryption keys: public and private. Public keys are used to encrypt messages and private keys to decrypt them. To send encrypted email, you must have the recepient's public key, which is used to encrypt the message. The recipient then uses his/her private key to decrypt (and read) the encrypted message.</para>
+   <para>Those who wish to send you encrypted email must first have a copy of your public key on your keyring. To this end, public keys can be shared with those who want to send encrypted messages to you. In order to do this, you may place your public key on a public key server. Private keys should not be shared with others.</para>
    <para>Evolution does not support older versions of PGP, such as OpenPGP and Inline PGP.</para>
    <para>You can use encryption in two different ways:</para>
    <itemizedlist>
@@ -2063,7 +2075,7 @@
       <para>Type your real name, then press Enter.</para>
      </listitem>
      <listitem id="bsg30bg">
-      <para>Type your e-mail address, then press Enter.</para>
+      <para>Type your email address, then press Enter.</para>
      </listitem>
      <listitem id="bsg30ec">
       <para>(Optional) Type a comment, then press Enter.</para>
@@ -2113,7 +2125,7 @@
     <title>Setting up GPG Encryption</title>
     <orderedlist>
      <listitem id="bsg364h">
-      <para>Click Edit &gt; Preferences, then click Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="bsg368f">
       <para>Select the account you want to use securely, then click Edit.</para>
@@ -2131,7 +2143,7 @@
       <para>Click Close.</para>
      </listitem>
     </orderedlist>
-    <para>Evolution requires that you know your key ID. If you don't remember it, you can find it by typing <command>gpg --list-keys</command> in a console window. Your key ID is an eight-character string with random numbers and letters.</para>
+    <para>Evolution requires that you know your key ID. If you don't remember it, you can find it by typing <command>gpg --list-keys</command> in a terminal window. Your key ID is an eight-character string with random numbers and letters.</para>
    </section>
 
    <section id="bspya9p">
@@ -2145,16 +2157,17 @@
       <para>Click Security &gt; PGP Encrypt.</para>
      </listitem>
      <listitem id="bsg2prj">
-      <para>Compose your message, then click Send.</para>
+      <para>Compose your message.</para>
+      <para>Click Send.</para>
      </listitem>
     </orderedlist>
-    <para>You can set Evolution to always sign your e-mail messages:</para>
+    <para>You can set Evolution to always sign your email messages:</para>
     <orderedlist>
      <listitem id="bsaj12e">
-      <para>Click Edit &gt; Preferences, then select Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="bsaj1aj">
-      <para>Select the mail account to encrypt, then click Edit.</para>
+      <para>Select the account you want to use securely, then click Edit.</para>
      </listitem>
      <listitem id="bsaj1es">
       <para>Click the Security tab.</para>
@@ -2181,14 +2194,17 @@
     <title>S/MIME Encryption</title>
     <para>S/MIME encryption also uses a key-based approach, but it has some significant advantages in convenience and security. S/MIME uses certificates, which are similar to keys. The public portion of each certificate is held by the sender of a message and by one of several certificate authorities, who are paid to guarantee the identity of the sender and the security of the message. Evolution already recognizes a large number of certificate authorities, so when you get a message with an S/MIME certificate, your system automatically receives the public portion of the certificate and decrypts or verifies the message.</para>
     <para>S/MIME is used most often in corporate settings. In these cases, administrators supply certificates that they have purchased from a certificate authority. In some cases, an organization can act as its own certificate authority, with or without a guarantee from a dedicated authority such as VeriSign&z-3rdParty; or Thawte&z-3rdParty;. In either case, the system administrator provides you with a certificate file.</para>
-    <para>If you want to use S/MIME independently, you can extract an identification certificate from your Mozilla&z-3rdParty; or Netscape* Web browser. See the Mozilla help <ulink url="http://www.mozilla.org/projects/security/pki/psm/help_21/using_certs_help.html";>Mozilla Help</ulink>for more information on security certificates.</para>
+    <para>If you want to use S/MIME independently, you can extract an identification certificate from your Mozilla&z-3rdParty; or Netscape&z-3rdParty; Web browser. See the <ulink url="http://www.mozilla.org/projects/security/pki/psm/help_21/using_certs_help.html";>Mozilla Help</ulink>for more information on security certificates.</para>
     <para>The certificate file is a password-protected file on your computer.</para>
 
     <section id="bspyee8">
      <title>Adding a Signing Certificate</title>
      <orderedlist>
       <listitem id="bsg2rkq">
-       <para>Click Edit &gt; Preferences, then click Certificate.</para>
+       <para>Select Edit &gt; Preferences.</para>
+      </listitem>
+      <listitem id="bsg2rkr">
+       <para>Click Certificates.</para>
       </listitem>
       <listitem id="bsg2rra">
        <para>Click Import.</para>
@@ -2209,7 +2225,10 @@
      <para>To have every message signed or encrypted:</para>
      <orderedlist>
       <listitem id="bsg2t55">
-       <para>Click Edit &gt; Preferences, then select the account to encrypt the messages in.</para>
+       <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
+      </listitem>
+      <listitem id="bsg2t56">
+       <para>Select the account to encrypt the messages in.</para>
       </listitem>
       <listitem id="bsg2tam">
        <para>Click Edit, then click Security.</para>
@@ -2235,11 +2254,11 @@
  </chapter>
 
  <chapter id="usage-mail-organize">
-  <title>Organizing Your E-Mail</title>
-  <para>Whether you only get a few e-mail messages a day, or you receive hundreds, you probably want to sort and organize them. <trademark>Evolution</trademark> has the tools to help you do it.</para>
+  <title>Organizing Your Email</title>
+  <para>Whether you only get a few email messages a day, or you receive hundreds, you probably want to sort and organize them. <trademark>Evolution</trademark> has the tools to help you do it.</para>
   <itemizedlist>
    <listitem>
-    <para><link linkend="importing-mail-and-settings">Importing Your Old E-Mail</link></para>
+    <para><link linkend="importing-mail-and-settings">Importing Your Old Email</link></para>
    </listitem>
    <listitem>
     <para><link linkend="usage-mail-organize-columns">Sorting the Message List</link></para>
@@ -2262,8 +2281,8 @@
   </itemizedlist>
 
   <section id="importing-mail-and-settings">
-   <title>Importing Your Old E-Mail</title>
-   <para>Evolution allows you to import old e-mail and contacts so that you don't need to worry about losing your old information.</para>
+   <title>Importing Your Old Email</title>
+   <para>Evolution allows you to import old email and contacts so that you don't need to worry about losing your old information.</para>
 
    <section id="importing-mail">
     <title>Importing Single Files</title>
@@ -2273,7 +2292,7 @@
      <para>The address book format used by the GNOME, KDE, and many other contact management applications. You should be able to export to vCard format from any address book application.</para>
     </formalpara>
     <formalpara id="b141jcun">
-     <title>vCalender:</title>
+     <title>vCalendar:</title>
      <para>A format for storing calender files, which is generally used by Evolution, Microsoft Outlook, Sunbird, and Korganizer.</para>
     </formalpara>
     <formalpara id="bsawccr">
@@ -2282,21 +2301,21 @@
     </formalpara>
     <formalpara id="b10ac57t">
      <title>Evolution/Mozilla/Outlook CSV/Tab (.csv, .tab):</title>
-     <para>CSV or Tab files saved using Evolution, Microsoft Outlook and Mozilla.</para>
+     <para>CSV or Tab files saved by using Evolution, Microsoft Outlook and Mozilla.</para>
     </formalpara>
     <formalpara id="bsawckg">
      <title>Microsoft Outlook Express 4 (.mbx):</title>
-     <para>The e-mail file format used by Microsoft Outlook Express 4. For other versions of Microsoft Outlook and Outlook Express, see the workaround described in <link linkend="bsawgkk">Step 1</link>. </para>
+     <para>The email file format used by Microsoft Outlook Express 4. For other versions of Microsoft Outlook and Outlook Express, see the workaround described in <link linkend="bsawgkk">Step 1</link>.</para>
     </formalpara>
     <formalpara id="bsawdfx">
      <title>LDAP Data Interchange Format (.LDIF):</title>
-     <para>A standard data format for contact cards. </para>
+     <para>A standard data format for contact cards.</para>
     </formalpara>
     <formalpara id="bsawdmw">
      <title>Berkley Mailbox (.mbox or null extension):</title>
-     <para>The e-mail format used by Mozilla, Netscape, Evolution, Eudora&z-3rdParty;, and many other e-mail clients. </para>
+     <para>The email format used by Mozilla, Netscape, Evolution, Eudora&z-3rdParty;, and many other email clients.</para>
     </formalpara>
-    <para>To import your old e-mail:</para>
+    <para>To import your old email:</para>
     <orderedlist>
      <listitem id="bsaweb1">
       <para>Click File &gt; Import.</para>
@@ -2333,11 +2352,12 @@
      </listitem>
     </orderedlist>
     <mediaobject id="b13sf59f"><imageobject><imagedata format="PNG" fileref="figures/evo_import_asst_a.png"/></imageobject></mediaobject>
-    <para>Microsoft Outlook and versions of Outlook Express after version 4 use proprietary formats that Evolution cannot read or import. One migration method that works well is to use the Outport application. See <ulink url="http://outport.sourceforge.net";>outport.sourceforge.net</ulink> for additional information. You can also import data into another Windows mail client such as Mozilla.</para>
+    <para>Microsoft Outlook&z-3rdParty; and versions of Outlook Express after version 4 use proprietary formats that Evolution cannot read or import.</para>
+    <para>One migration method that works well is to use the Outport application. See <ulink url="http://outport.sourceforge.net";>outport.sourceforge.net</ulink> for additional information. You can also import data into another Windows mail client such as Mozilla.</para>
     <orderedlist>
      <listitem id="bsawgkk">
       <para>While in Windows, import your .pst files into Mozilla Mail (or another mail program such as Netscape or Eudora that uses the standard mbox format).</para>
-      <para>Mozilla and Netscape users need to click File &gt; Compact &gt; All Folders from within the Netscape or Mozilla mail tool. Otherwise, Evolution imports and undeletes the messages in your Trash folders.</para>
+      <para>Before importing email from Netscape&z-3rdParty;, Mozilla and Netscape users need to click File &gt; Compact &gt; All Folders from within the Netscape or Mozilla mail tool. Otherwise, Evolution imports and undeletes the messages in your Trash folders.</para>
      </listitem>
      <listitem id="bsawh7h">
       <para>Copy the files to the system or partition that Evolution is installed on.</para>
@@ -2352,12 +2372,12 @@
 
   <section id="usage-mail-organize-columns">
    <title>Sorting the Message List</title>
-   <para>Evolution helps you work by letting you sort your e-mail. To sort by sender, subject, or date, click the bars with those labels at the top of the message list. The direction of the arrow next to the label indicates the direction of the sort. Click again, to sort them in reverse order. For example, click Date to sort messages by date from oldest to newest. Click again, and Evolution sorts the list from newest to oldest. You can also right-click the message header bars to get a set of sorting options, and to add to or remove columns from the message list.</para>
-   <para>To look at the complete headers for a message, click View &gt; Message Display &gt; Show Full Headers. To see all message data, click View &gt; Message Display &gt; Show E-Mail Source.</para>
+   <para>Evolution helps you work by letting you sort your email. To sort by sender, subject, or date, click the bars with those labels at the top of the message list. The direction of the arrow next to the label indicates the direction of the sort. Click again, to sort them in reverse order. For example, click Date to sort messages by date from oldest to newest. Click again, and Evolution sorts the list from newest to oldest. You can also right-click the message header bars to get a set of sorting options, and to add to or remove columns from the message list.</para>
+   <para>To look at the complete headers for a message, click View &gt; All Message Headers. To see all message data, click View &gt; Message Source.</para>
 
    <section id="b17qguvc">
-    <title>Sorting Mail In E-mail Threads</title>
-    <para>You can also choose a threaded message view. Click View &gt; Threaded Message List to turn the threaded view on or off. When you select this option, Evolution groups the replies to a message with the original, so you can follow the thread of a conversation from one message to the next.</para>
+    <title>Sorting Mail In Email Threads</title>
+    <para>You can also choose a threaded message view. Click View &gt; Group By Threads to turn the threaded view on or off. When you select this option, Evolution groups the replies to a message with the original, so you can follow the thread of a conversation from one message to the next.</para>
     <mediaobject id="b1448dzl"><imageobject><imagedata format="PNG" fileref="figures/mail-threaded.png"/></imageobject></mediaobject>
     <para>In a thread of conversation view, each new message is stacked below of the ones that arrived before it, so that the newest message is always the one you see first. Whenever a new message arrives to an old thread as a reply, you will see it below the parent message. You always see the thread based on the date of the recent message received. The threads are sorted by the date of most recent message in the threads.</para>
     <tip>
@@ -2372,7 +2392,7 @@
 
    <section id="b17qgvet">
     <title>Sorting Mail With Column Headers</title>
-    <para>In addition to it, Evolution enables you to sort your messages by using Sort-by list.You can use any of the criteria given in the Sort-by list such as <emphasis>sender, location, to, from, size, </emphasis>and so forth to perform sorting. It returns the sorted email list that matches the criteria you have selected.</para>
+    <para>In addition to it, Evolution enables you to sort your messages by using Sort-by list. You can use any of the criteria given in the Sort-by list such as <emphasis>sender, location, to, from, size</emphasis> and so forth to perform sorting. It returns the sorted email list that matches the criteria you have selected.</para>
     <para>To sort messages, perform the following procedure:</para>
     <orderedlist>
      <listitem id="b131itxb">
@@ -2441,23 +2461,23 @@
        </listitem>
       </itemizedlist>
       <note>
-       <para>Clicking each sort criteria cycles take you through three possibilities. Sort by criteria in ascending or descending order or unsort the message. When you click any of the sort criteria reiteratively, Evolution sort the messages in a sequential order - ascending, descending and unsort. For example, when you click Recepients for the first time, Evolution sort the messages by recepients in ascending order and for the second  time, sort in the reverse order. For the next click, messages will be displayed unsorted.</para>
+       <para>Clicking each sort criteria cycles take you through three possibilities. Sort by criteria in ascending or descending order or unsort the message. When you click any of the sort criteria reiteratively, Evolution sort the messages in a sequential order - ascending, descending and unsort. For example, when you click Recepients for the first time, Evolution sort the messages by recipients in ascending order and for the second time, sort in the reverse order. For the next click, messages will be displayed unsorted.</para>
       </note>
       <formalpara id="bsawhu7">
        <title>Sort Ascending:</title>
-       <para>Sorts the messages top to bottom and returns you the sorted e-mail list in the order of oldest to the latest.</para>
+       <para>Sorts the messages top to bottom and returns you the sorted message list in the order of oldest to the latest.</para>
       </formalpara>
       <formalpara id="b1449089">
        <title>Sort Descending:</title>
-       <para>Sort descending revers the order and returns you the sorted e-mail list in the order of newest to oldest.</para>
+       <para>Sort descending revers the order and returns you the sorted message list in the order of newest to oldest.</para>
       </formalpara>
       <formalpara id="b144939d">
        <title>Unsort:</title>
        <para>Unsort removes sorting from this column, reverting to the order of messages as they were added to the folder.</para>
       </formalpara>
       <formalpara id="bsawiat">
-       <title>Removing a Column: </title>
-       <para>Remove this column from the display. You can also remove columns by dragging the header off the list and letting it drop. </para>
+       <title>Removing a Column:</title>
+       <para>Remove this column from the display. You can also remove columns by dragging the header off the list and letting it drop.</para>
       </formalpara>
       <formalpara id="bsawie2">
        <title>Adding a Column:</title>
@@ -2473,7 +2493,7 @@
       </formalpara>
      </listitem>
      <listitem id="b131iudb">
-      <para>Select the search criteria.</para>
+      <para>Select the search criteria from the list.</para>
       <para>You can view the messages in the desired order in the message list.</para>
      </listitem>
     </orderedlist>
@@ -2516,7 +2536,7 @@
     <para>Flags can help you organize your work in a number of ways. For example, you might add a Flag Status column to your message list and sort that way. Alternately, you could create a search folder that displays all your flagged messages, then clear the flags when you're done, so the search folder contains only messages with upcoming deadlines.</para>
     <formalpara id="b17s9rir">
      <title>Mark as Important Feature:</title>
-     <para>If you prefer a simpler way to remind yourself about messages, you can mark them as important by right-clicking the message, then click Mark as Important or Select Message &gt; Mark as &gt;Important.</para>
+     <para>If you prefer a simpler way to remind yourself about messages, you can mark them as important by right-clicking the message, then click Mark as Important or Select Message &gt; Mark as &gt; Important from the menubar.</para>
     </formalpara>
    </section>
   </section>
@@ -2524,13 +2544,13 @@
   <section id="usage-mail-organize-folders">
    <title>Getting Organized with Folders</title>
    <para>Evolution, like most other mail systems, stores mail in folders. You start out with a few mail folders, such as Inbox, Outbox, and Drafts, but you can create as many as you like. Create new folders by clicking Folder &gt; New, or by right-clicking in the folder list and selecting New Folder.</para>
-   <para>When you click OK, your new folder appears in the folder view. You can then move the messages to it by dragging and dropping them, or right click &gt; Move to folder or press Shift+Ctrl+V. </para>
-   <para>You can also drop the messages to a particular folder by selecting Message &gt; Move to folder or press Shift+Ctrl +V. This will open Select folder window, where you can drop your message to any of the folders listed.</para>
+   <para>When you click OK, your new folder appears in the folder view. You can then move the messages to it by dragging and dropping them, or right click on the message and choose Move to folder, or press Shift+Ctrl+V.</para>
+   <para>You can also drop the messages to a particular folder by selecting Message &gt; Move to folder. This will open the Select folder window, where you can drop your message to any of the folders listed.</para>
    <mediaobject id="b13td8j9"><imageobject><imagedata format="PNG" fileref="figures/evo_select_folder.png"/></imageobject></mediaobject>
    <para>If you want to create a new folder click New at the bottom left of the window. Specify the location and enter the label of the folder at the entry box appeared at the top. You can also move the messages from one folder to another by selecting the message and then press Move tab at the bottom right.</para>
-   <para>If you create a filter with the filter assistant, you can have mail filed automatically. For that select Edit &gt; Message Filters to appear Message Filters window</para>
+   <para>If you create a filter with the filter assistant, you can have mail filed automatically. Select Edit &gt; Message Filters to bring up the Message Filters window.</para>
    <mediaobject id="b13tf6pl"><imageobject><imagedata format="PNG" fileref="figures/evo_message_filters_a.png"/></imageobject></mediaobject>
-   <para>Click the Add tab to appear Add Rule window from where you can set different criteria for filtering messages. For more information refer <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
+   <para>Click on the Add button to bring up the Add Rule window from where you can set different criteria for filtering messages. For additional information on filtering, see <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
    <note>
     <para>The Inbox folder on most IMAP servers cannot contain both subfolders and messages. When you create additional folders on your IMAP mail server, branch them from the root of the IMAP account's folder tree, not from the Inbox. If you create subfolders in your Inbox folder, you lose the ability to read messages that exist in your Inbox until you move the folders out of the way.</para>
    </note>
@@ -2543,13 +2563,13 @@
     <title>Quick Search:</title>
     <para>Quick Search displays all the messages that match the in-built criteria you selected from the drop-down list at the top left side, just above the message list.</para>
    </formalpara>
-   <para>To perform quick search, perform the following procedure:</para>
+   <para>To perform a quick search, perform the following procedure:</para>
    <orderedlist>
     <listitem id="b131j296">
-     <para>Click Show to expand the drop-down list.</para>
+     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
     </listitem>
     <listitem id="b131j2j8">
-     <para>Select the search criteria from the list</para>
+     <para>Select the search criteria from the list:</para>
      <itemizedlist>
       <listitem>
        <para>All Messages</para>
@@ -2600,7 +2620,7 @@
     </listitem>
    </orderedlist>
    <tip>
-    <para>The following labels need not necessarily be the same as the default names listed here.You can change the name of these labels by selecting Edit &gt; Preferences &gt; Mail Preferences &gt; Colors.</para>
+    <para>The following labels need not necessarily be the same as the default names listed here. You can change the name of these labels by selecting Edit &gt; Preferences &gt; Mail Preferences &gt; Colors.</para>
     <itemizedlist>
      <listitem>
       <para>Important</para>
@@ -2621,11 +2641,11 @@
    </tip>
    <formalpara id="b131jgie">
     <title>Customized Search:</title>
-    <para>Evolution allows you to perform customized search.To search for a message use the following procedure:</para>
+    <para>Evolution allows you to perform customized search. To search for a message use the following procedure:</para>
    </formalpara>
    <orderedlist>
     <listitem id="b131jhwt">
-     <para>Click search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to specify the search type.</para>
+     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
      <formalpara id="b131lvi6">
       <title>Subject or Sender Contain:</title>
       <para>Finds messages that contain the search text in the subject or sender. It does not search in the message body.</para>
@@ -2677,21 +2697,21 @@
    </orderedlist>
    <para>Evolution shows your search results in the message list. You might want to create a search folder instead; see <link linkend="usage-mail-organize-vfolders">Using Search Folders</link> for more detail.</para>
    <note>
-    <para>To clear your search click the Clear button or menu, or enter a blank search. You can also  press Shift+Ctrl+Q to clear the search.</para>
+    <para>To clear your search you can click the Clear icon in the search string field, or choose Search &gt; Clear from the menubar, or enter a blank search. You can also press Shift+Ctrl+Q to clear the search.</para>
    </note>
    <tip>
-    <para>You can even perform a quick search on a customized search results as it just filters and displays  the messages in the message list.</para>
+    <para>You can even perform a quick search on a customized search results as it just filters and displays the messages in the message list.</para>
    </tip>
    <formalpara id="b13tvajl">
     <title>Advanced Search:</title>
-    <para>To perform advanced search,</para>
+    <para> You can perform an advanced search based on any of the search types.</para>
    </formalpara>
    <orderedlist>
     <listitem id="b13tvav6">
-     <para>Select Search menu</para>
+     <para>Select the Search menu.</para>
     </listitem>
     <listitem id="b13tvb7l">
-     <para>Click Advanced Search to open Advanced Search dialogue box</para>
+     <para>Click Advanced Search to open Advanced Search dialog box.</para>
      <mediaobject id="b13tvd61"><imageobject><imagedata format="PNG" fileref="figures/evo_adv_search_a.png"/></imageobject></mediaobject>
      
     </listitem>
@@ -2714,25 +2734,25 @@
    </formalpara>
    <formalpara id="b13tvnp3">
     <title>Edit Saved Searches:</title>
-    <para>To edit your saved searches</para>
+    <para>To edit your saved searches,</para>
    </formalpara>
    <orderedlist>
     <listitem id="b13tw1cm">
-     <para>Select Search </para>
+     <para>Select Search from the menu bar.</para>
     </listitem>
     <listitem id="b13tw2vp">
-     <para>Click Edit Saved Searches to open Searches dialogue box.</para>
+     <para>Click Edit Saved Searches to open the Searches dialog box.</para>
      <mediaobject id="b13tw8de"><imageobject><imagedata format="PNG" fileref="figures/evo_edit_search.png"/></imageobject></mediaobject>
      
     </listitem>
     <listitem id="b13tw8px">
-     <para>Click Edit tab to edit to open Edit Rule dialogue box</para>
+     <para>Click the Edit button to open the Edit Rule dialog box.</para>
      <para>You can also add or remove Searches from the list by using the respective buttons available at the right.</para>
      <mediaobject id="b13twan3"><imageobject><imagedata format="PNG" fileref="figures/evo_edit_rule_a.png"/></imageobject></mediaobject>
      
     </listitem>
     <listitem id="b13twb4j">
-     <para>Edit the title or search criteria from the dialogue box.</para>
+     <para>Edit the title or search criteria from the dialog box.</para>
     </listitem>
     <listitem id="b13twbu1">
      <para>Click OK.</para>
@@ -2759,11 +2779,11 @@
       
      </listitem>
      <listitem id="bsazb4y">
-      <para>Define the criteria for the filter in the If section.</para>
+      <para>Define the criteria for the filter in the first section.</para>
       <para>For each of the filter criteria, you must first select which parts of the message you want to filter:</para>
       <formalpara id="bsh25ic">
        <title>Sender:</title>
-       <para>The sender's address.</para>
+       <para>The sender's email address or the name of the sender.</para>
       </formalpara>
       <formalpara id="bsh25ui">
        <title>Recipient:</title>
@@ -2784,7 +2804,7 @@
       </formalpara>
       <formalpara id="bshkb9x">
        <title>Expression:</title>
-       <para>(For programmers only) Match a message according to an expression you write in the Scheme language, used to define filters in Evolution.</para>
+       <para>(For programmers only) Match a message according to an expression you write in the Scheme language used to define filters in Evolution.</para>
       </formalpara>
       <formalpara id="bshkbvl">
        <title>Date Sent:</title>
@@ -2796,7 +2816,7 @@
       </formalpara>
       <formalpara id="bshkcwe">
        <title>Label:</title>
-       <para>Messages can have labels of Important, Work, Personal, To Do, or Later. You can set tables with other filters or by hand.</para>
+       <para>Messages can have labels of Important, Work, Personal, To Do, or Later. You can set labels with other filters or manually.</para>
       </formalpara>
       <formalpara id="bshkdbe">
        <title>Score:</title>
@@ -2816,7 +2836,7 @@
       </formalpara>
       <formalpara id="bshkej1">
        <title>Attachments:</title>
-       <para>Creates a filter based on whether there is an attachment for the e-mail.</para>
+       <para>Creates a filter based on whether there is an attachment for the email.</para>
       </formalpara>
       <formalpara id="bshkev3">
        <title>Mailing List </title>
@@ -2840,7 +2860,7 @@
       </formalpara>
       <formalpara id="bshkh3t">
        <title>Select the Criteria for the Condition:</title>
-       <para>If you want multiple criteria for this filter, click Add Criterion and repeat step 4.</para>
+       <para>If you want multiple criteria for this filter, click Add and repeat step 4.</para>
       </formalpara>
       <formalpara id="bshkhi8">
        <title>Select the Actions for the Filter in the Then Section:</title>
@@ -2850,13 +2870,13 @@
        <listitem>
         <formalpara id="bsmr5pj">
          <title>Move to Folder:</title>
-         <para>Moves the message into a folder you specify. Click Here to select the destination folder.</para>
+         <para>Moves the message into a folder you specify.</para>
         </formalpara>
        </listitem>
        <listitem>
         <formalpara id="bsmr9sg">
          <title>Copy to Folder:</title>
-         <para>Puts a copy of the message into a folder you specify. Click Here to select the destination folder.</para>
+         <para>Puts a copy of the message into a folder you specify.</para>
         </formalpara>
        </listitem>
        <listitem>
@@ -2868,7 +2888,7 @@
        <listitem>
         <formalpara id="bsmr9zn">
          <title>Stop Processing:</title>
-         <para>Select this if you want to have all other filters ignore this message.</para>
+         <para>Select this if you want to all other filters ignore this message. Note that only filters listed after this particular rule will be ignored.</para>
         </formalpara>
        </listitem>
        <listitem>
@@ -2916,7 +2936,7 @@
        <listitem>
         <formalpara id="bsmrdip">
          <title>Pipe to Program:</title>
-         <para>Sends the message to a program of your choice. No return value is expected. This feature can be used to create automatic Web postings from e-mail messages or to perform additional message post processing not supported by Evolution.</para>
+         <para>Sends the message to a program of your choice. No return value is expected. This feature can be used to create automatic Web postings from email messages or to perform additional message post processing not supported by Evolution.</para>
         </formalpara>
        </listitem>
        <listitem>
@@ -2928,7 +2948,7 @@
       </itemizedlist>
      </listitem>
      <listitem id="bsazp1t">
-      <para>Click Add Action if you need multiple actions and click OK.</para>
+      <para>Click Add if you need multiple actions and click OK.</para>
      </listitem>
      <listitem id="bsazq81">
       <para>Click OK.</para>
@@ -2937,10 +2957,10 @@
     <para>There is an easy shortcut for fast filter or search folder creation:</para>
     <orderedlist>
      <listitem id="bsh2232">
-      <para>Right-click the message in the e-mail list.</para>
+      <para>Right-click the message in the message list.</para>
      </listitem>
      <listitem id="bsh22bz">
-      <para>Select one of the items under the Create Rule from the Message submenu.</para>
+      <para>Select one of the items under the Create Rule From Message submenu.</para>
       <para>Creating a rule based on a message opens the filter creation tool with some of the information about the message already filled in for your convenience.</para>
      </listitem>
     </orderedlist>
@@ -2981,12 +3001,12 @@
 
   <section id="usage-mail-organize-vfolders">
    <title>Using Search Folders</title>
-   <para>If filters aren't flexible enough, or you find yourself performing the same search again and again, consider a search folder. Search folders are an advanced way of viewing your e-mail messages within Evolution. If you get a lot of mail or often forget where you put messages, search folders can help you keep things organized.</para>
+   <para>If filters aren't flexible enough, or you find yourself performing the same search again and again, consider a search folder. Search folders are an advanced way of viewing your email messages within Evolution. If you get a lot of mail or often forget where you put messages, search folders can help you keep things organized.</para>
    <para>A search folder is really a hybrid of all the other organizational tools: it looks like a folder, it acts like a search, and you set it up like a filter. In other words, a conventional folder actually contains messages, but a search folder is a view of messages that might be in several different folders. The messages it contains are determined on the fly using a set of criteria you choose in advance.</para>
    <para>As messages that meet the search folder criteria arrive or are deleted, Evolution automatically adjusts the search folder contents. When you delete a message, it is erased from the folder in which it actually exists, as well as any search folders that display it.</para>
    <para>The Unmatched Search Folder is the opposite of other search folders: it displays all messages that do not appear in other search folders.</para>
-   <para>If you use remote e-mail storage like IMAP or Microsoft Exchange, and have created search folders to search through them, the Unmatched Search Folder also searches the remote folders. If you do not create any search folders that search remote mail stores, the Unmatched Search Folder does not search in them either.</para>
-   <para>As an example of using folders, searches, and search folders, consider the following: To organize his mailbox, Jim sets up a search folder for e-mail from his friend and co-worker Anna. He has another search folder for messages that have novell.com in the address and Evolution in the subject line, so he can keep a record of what people from work send him about Evolution. If Anna sends him a message about anything other than Evolution, it only shows up in the <quote>Anna</quote> search folder. When Anna sends him mail about the user interface for Evolution, he can see the message both in the <quote>Anna</quote> search folder and in the <quote>Internal Evolution Discussion</quote> search folder.</para>
+   <para>If you use remote email storage like IMAP or Microsoft Exchange, and have created search folders to search through them, the Unmatched Search Folder also searches the remote folders. If you do not create any search folders that search remote mail stores, the Unmatched Search Folder does not search in them either.</para>
+   <para>As an example of using folders, searches, and search folders, consider the following: To organize his mailbox, Jim sets up a search folder for email from his friend and co-worker Anna. He has another search folder for messages that have novell.com in the address and Evolution in the subject line, so he can keep a record of what people from work send him about Evolution. If Anna sends him a message about anything other than Evolution, it only shows up in the <quote>Anna</quote> search folder. When Anna sends him mail about the user interface for Evolution, he can see the message both in the <quote>Anna</quote> search folder and in the <quote>Internal Evolution Discussion</quote> search folder.</para>
 
    <section id="vfolder-create">
     <title>Creating A Search Folder</title>
@@ -3028,8 +3048,8 @@
        <para>Searches in the actual text of the message.</para>
       </formalpara>
       <formalpara id="bshkzum">
-       <title>Expression:(For programmers only)</title>
-       <para>Match a message according to an expression you write in the Scheme language used to define filters in Evolution.  </para>
+       <title>Expression (For programmers only):</title>
+       <para>Match a message according to an expression you write in the Scheme language used to define filters in Evolution.</para>
       </formalpara>
       <formalpara id="bshkzun">
        <title>Date Sent:</title>
@@ -3061,7 +3081,7 @@
       </formalpara>
       <formalpara id="bshkzuu">
        <title>Attachments:</title>
-       <para>Creates a filter based on whether there is an attachment for the e-mail.</para>
+       <para>Creates a filter based on whether there is an attachment for the email.</para>
       </formalpara>
       <formalpara id="bshkzuv">
        <title>Mailing List:</title>
@@ -3073,7 +3093,7 @@
       </formalpara>
      </listitem>
      <listitem id="bsazxjk">
-      <para>Select the folders where this search folder will search. Your options are:</para>
+      <para>Select which folders will be used for the search folder. Your options are:</para>
       <formalpara id="bsmr82i">
        <title> All local folders:</title>
        <para>Uses all local folders for the search folder source in addition to individual folders that are selected.</para>
@@ -3114,13 +3134,14 @@
 
   <section id="usage-mail-organize-spam">
    <title>Stopping Junk Mail (Spam)</title>
-   <para>Evolution can check for junk mail for you. Evolution uses SpamAssassin  and/ or Bogofilter with trainable Bayesian filters to perform the spam check. When the software detects mail that appears to be junk mail, it will flag it and hide it from your view. Messages that are flagged as junk mail are displayed only in the Junk folder.</para>
-   <para>The junk mail filter can learn which kinds of mail are legitimate and which are not if you train it. When you first start using junk mail blocking, check the Junk folder to be sure that legitimate mail doesn't get flagged as junk mail. If good mail, is incorrectly flagged, remove it from the Junk folder by right-clicking it and selecting Mark as Not Junk or press Shift+Ctrl+J. If Evolution misses junk mail, right-click the message, then click Mark as Junk or press Ctrl+J. When you correct it, the filter can recognize similar messages in the future, and becomes more accurate as time goes on.</para>
-   <para>Every filter needs to learn at the least 100 spam and 100 ham to start working. For that, you must  mark each message manually by clicking the <emphasis>Not junk</emphasis> button in the toolbar to learn that it is ham. The <emphasis>Junk</emphasis> button learns a message as spam.</para>
-   <para>To change your junk mail filtering preferences, click Edit &gt; Preferences, then click Mail Preferences. For more information on this see, <link linkend="mail-prefs-junk">Junk Mail Preferences</link>.</para>
+   <para>Evolution can check for junk mail for you. Evolution uses SpamAssassin and/or Bogofilter with trainable Bayesian filters to perform the spam check. When the software detects mail that appears to be junk mail, it will flag it and hide it from your view. Messages that are flagged as junk mail are displayed only in the Junk folder.</para>
+   <para>The junk mail filter can learn which kinds of mail are legitimate and which are not if you train it. When you first start using junk mail blocking, check the Junk folder to be sure that legitimate mail doesn't get flagged as junk mail. If good mail is incorrectly flagged, remove it from the Junk folder by right-clicking it and selecting Mark as Not Junk or press Shift+Ctrl+J. If Evolution misses junk mail, right-click the message, then click Mark as Junk or press Ctrl+J. When you correct it, the filter can recognize similar messages in the future, and becomes more accurate as time goes on.</para>
+   <para>Every filter needs to learn at the least 100 spam and 100 ham to start working. For that, you must mark each message manually by clicking the <emphasis>Not junk</emphasis> button in the toolbar to learn that it is ham. The <emphasis>Junk</emphasis> button learns a message as spam.</para>
+   <para>To change your junk mail filtering preferences, click Edit &gt; Preferences, then click Mail Preferences.</para>
+   <para>For additional information on junk content, see <link linkend="mail-prefs-junk">Junk Mail Preferences</link>.</para>
    <para>For additional junk mail settings, see <link linkend="more-mail-options">Receiving Mail Options</link>.</para>
    <note>
-    <para>SpamAssassin is an application that scan through the mail box to find junk mails. Evolution uses SpamAssassin as the default spam-filtering application. For more information, see<ulink url="http://spamassassin.apache.org/";> The Apache SpamAssassin Project</ulink>.</para>
+    <para>SpamAssassin is an application that scan through the mail box to find junk mail. Evolution uses SpamAssassin as the default spam-filtering application. For more information, see<ulink url="http://spamassassin.apache.org/";> The Apache SpamAssassin Project</ulink>.</para>
     <para>Bogofilter is a mail filter that classifies mail as spam or ham (non-spam) by a statistical analysis of the message's header and content (body). It is able to learn from the user's classifications and corrections. For more information on Bogofilter, see <ulink url="http://bogofilter.sourceforge.net/";>The Bogofilter site</ulink>.</para>
    </note>
   </section>
@@ -3149,14 +3170,14 @@
 
   <section id="usage-contact-cards">
    <title>Contacts and Cards</title>
-   <para>Contacts are the individuals you have chosen to add to your address book so you can keep track of information about them and send e-mail to them. In Evolution, an individual contact is called a card.For more information on organizing your contact list see <link linkend="usage-contact-organize">Organizing your Contacts</link>. To learn about configuring the contacts tool, refer <link linkend="config-prefs-contact">Contact Management</link>.</para>
+   <para>Contacts are the individuals you have chosen to add to your address book so you can keep track of information about them and send email to them. In Evolution, an individual contact is called a card. For more information on organizing your contacts see <link linkend="usage-contact-organize">Organizing your Contacts</link>. To learn about configuring the contacts tool, refer <link linkend="config-prefs-contact">Contact Management</link>.</para>
 
    <section id="bsqchx3">
     <title>The Contact Editor</title>
     <para>If you want to add or change cards, use the contact editor. You can edit email address, telephone numbers, mailer addresses and all other contact information you have entered for a particular contact.</para>
     <para>The contact editor window has three tabs:</para>
     <formalpara id="b13psru7">
-     <title>Contacts:</title>
+     <title>Contact:</title>
      <para>Contains basic contact information.</para>
     </formalpara>
     <formalpara id="b13pss9b">
@@ -3167,13 +3188,12 @@
      <title>Mailing Address:</title>
      <para>Contains the individual's mailing address.</para>
     </formalpara>
-    <para>You can also use Action Menu to find Forward Contact, which opens a new message with the card already attached, and Send Message to Contact, which opens a new message to the contact's e-mail address.</para>
-    <para>From the Contact Editor toolbar, you can save and close, print, close, or delete the contact.</para>
-    <para>You can add card from within an e-mail message or calendar appointment. In an open e-mail, right-click any e-mail address or message, and click Add to Address Book or select Add Sender to Address Book from the Message menu.</para>
+    <para>You can also the Forward Contact menu item in the Action menu, which opens a new message with the card already attached, and Send Message to Contact, which opens a new message to the contact's email address.</para>
+    <para>You can add a card from within an email message or calendar appointment. In an open email, right-click any email address or message, and click Add to Address Book or select Add Sender to Address Book from the Message menu.</para>
     <para>Most of the items in the contact editor simply display the information you enter, but some of them have additional features:</para>
     <formalpara id="b13psuii">
      <title>Full Name:</title>
-     <para>Specify the name of your contact here. You can type a name into the Full Name field, but you can also click the Full Name button to bring up a small dialog box with text boxes for first and last names, titles like <quote>Mr.</quote> or <quote>Her Excellency,</quote> and suffixes like <quote>Jr.</quote> The Full Name field also interacts with the File Under box to help you organize your contacts and to handle multi-word surnames.To see how it works, type a name in the Full Name field. As an example, we'll use Miguel de Icaza. You'll notice that the File Under field also fills in, but in reverse: Icaza, Miguel de. If you had entered John Q. Doe, the contacts editor would have correctly guessed that the entry should be filed under <quote>Doe, John Q.</quote> However, Miguel's surname, <quote>de Icaza,</quote> has two words, and to sort it correctly you must enter de Icaza, Miguel in the File As entry.</para>
+     <para>Specify the name of your contact here. You can type a name into the Full Name field, but you can also click the Full Name button to bring up a small dialog box with text boxes for first and last names, titles like <quote>Mr.</quote> or <quote>Her Excellency,</quote> and suffixes like <quote>Jr.</quote> The Full Name field also interacts with the File Under box to help you organize your contacts and to handle multi-word surnames. To see how it works, type a name in the Full Name field. As an example, we will use Miguel de Icaza. You will notice that the File Under field also fills in, but in reverse: Icaza, Miguel de. If you had entered John Q. Doe, the contacts editor would have correctly guessed that the entry should be filed under <quote>Doe, John Q.</quote> However, Miguel's surname, <quote>de Icaza,</quote> has two words, and to sort it correctly you must enter de Icaza, Miguel in the File As entry.</para>
     </formalpara>
     <formalpara id="b13psvf3">
      <title>Where:</title>
@@ -3194,10 +3214,7 @@
      <para>Follow the steps given below to create a new card.</para>
      <orderedlist>
       <listitem id="b13prudx">
-       <para>Click the down arrow key next to the New button in the toolbar</para>
-      </listitem>
-      <listitem id="b13prup2">
-       <para>Select Contacts from the drop-down list or press Shift+Ctrl+C to appear Contact Editor.</para>
+      <para>Click File &gt; New &gt; Contact.</para>
       </listitem>
       <listitem id="b13prwao">
        <para>Enter the contact information to the entry boxes provided.</para>
@@ -3209,33 +3226,34 @@
      <para>If you want to change a card that already exists,</para>
      <orderedlist>
       <listitem id="b13ps1yb">
-       <para>Press Contact tool from the Switcher to appear the Contact list.</para>
+       <para>Go to the Contacts window by selecting View &gt; Window &gt; Contacts from the menubar.</para>
       </listitem>
       <listitem id="b13ps28d">
        <para>Double click on the card you want to edit.</para>
       </listitem>
       <listitem id="b13ps3r7">
-       <para>Edit from the Contact Editor window.</para>
+       <para>Edit the information in the Contact Editor window.</para>
       </listitem>
       <listitem id="b13ps518">
        <para>Click OK.</para>
       </listitem>
      </orderedlist>
-     <para>You can also edit the contact information from the message list.</para>
+     <para>You can also edit the contact information from the preview pane.</para>
      <orderedlist>
       <listitem id="b13psb92">
-       <para>Right click on the address from Message Header</para>
+       <para>Right click on the address from Message Header.</para>
       </listitem>
       <listitem id="b13psizd">
-       <para>Select Add to Address Book to appear Contact Quick-Add window</para>
+       <para>Select Add to Address Book to bring up the Contact Quick-Add window.</para>
        <mediaobject id="b13psl8w"><imageobject><imagedata format="PNG" fileref="figures/quick_add_a.png"/></imageobject></mediaobject>
        
       </listitem>
       <listitem id="b13pslot">
-       <para>Press Edit Full tab at the bottom left to appear Contact Editor window</para>
+       <para>Press the Edit Full button at the bottom left to bring up the Contact Editor window.</para>
       </listitem>
       <listitem id="b13pslyy">
-       <para>Edit the required information from Contact Editor and press OK.</para>
+       <para>Edit the information in the Contact Editor window.</para>
+       <para>Click OK.</para>
       </listitem>
      </orderedlist>
     </section>
@@ -3250,7 +3268,7 @@
    </formalpara>
    <orderedlist>
     <listitem id="b131m9n2">
-     <para>Click <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
+     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
     </listitem>
     <listitem id="b131mb7o">
      <para>Specify the search criteria from any of the following:</para>
@@ -3282,10 +3300,10 @@
      <para>Select Add to add additional criteria.</para>
     </listitem>
     <listitem id="bsb05aw">
-     <para>Click Search.</para>
+     <para>Click OK.</para>
     </listitem>
    </orderedlist>
-   <para>To show all your contacts, Click Clear in the search bar or search with an empty query.</para>
+   <para>To clear your search you can click the Clear icon in the search string field, or choose Search &gt; Clear from the menubar, or enter a blank search. You can also press Shift+Ctrl+Q to clear the search.</para>
    <formalpara id="b131mh80">
     <title>Quick Search:</title>
     <para>Displays all the contacts that match the built-in criteria you have selected from the drop-down list at the top left side, just above the Display pane.</para>
@@ -3293,10 +3311,10 @@
    <para>To perform quick search, use the following procedure:</para>
    <orderedlist>
     <listitem id="b131mjuy">
-     <para>Click show to expand the drop-down list.</para>
+     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
     </listitem>
     <listitem id="b131mkao">
-     <para>Select the search criteria from any of the following:</para>
+     <para>Select the search criteria from the list:</para>
      <itemizedlist>
       <listitem>
        <para>Anniversary</para>
@@ -3356,7 +3374,7 @@
        <para>Suppliers</para>
       </listitem>
       <listitem>
-       <para>Time &amp;Expenses</para>
+       <para>Time &amp; Expenses</para>
       </listitem>
       <listitem>
        <para>VIP</para>
@@ -3365,25 +3383,25 @@
        <para>Waiting</para>
       </listitem>
       <listitem>
-       <para>Weather:Cloudy</para>
+       <para>Weather: Cloudy</para>
       </listitem>
       <listitem>
-       <para>Weather:Fog</para>
+       <para>Weather: Fog</para>
       </listitem>
       <listitem>
-       <para>Weather:Partly Cloudy</para>
+       <para>Weather: Partly Cloudy</para>
       </listitem>
       <listitem>
-       <para>Weather:Rain</para>
+       <para>Weather: Rain</para>
       </listitem>
       <listitem>
-       <para>Weather:Snow</para>
+       <para>Weather: Snow</para>
       </listitem>
       <listitem>
-       <para>Weather:Sunny</para>
+       <para>Weather: Sunny</para>
       </listitem>
       <listitem>
-       <para>Weather:Thunderstorms</para>
+       <para>Weather: Thunderstorms</para>
       </listitem>
      </itemizedlist>
     </listitem>
@@ -3395,7 +3413,7 @@
 
   <section id="usage-contact-organize">
    <title>Organizing your Contacts</title>
-   <para>Evolution allows you to organize your contact list. You can create several individual address books, or contact groups. Within a given address book, you can have several categories of contacts.</para>
+   <para>Evolution allows you to organize your contacts. You can create several individual address books, or contact lists. Within a given address book, you can have several categories of contacts.</para>
    <itemizedlist>
     <listitem>
      <para><link linkend="usage-contact-organize-group">Contacts Groups</link></para>
@@ -3413,10 +3431,10 @@
 
    <section id="usage-contact-organize-group">
     <title>Contacts Groups</title>
-    <para>Contacts Groups are nothing but Address Books.The simplest way to organize contacts is to create additional address books. You can create a new one by clicking File &gt; New &gt; Address Book. For contacts groups on your computer, you only need to provide a name. For contacts on the network, you need to provide more information about the contacts server you are trying to access.</para>
-    <para>To move a card from one group to another, just drag it from the main display of contacts. You cannot change the contents of most network contact groups.</para>
+    <para>Contacts Groups are nothing but Address Books. The simplest way to organize contacts is to create additional address books. You can create a new one by clicking File &gt; New &gt; Address Book. For contacts groups on your computer, you only need to provide a name. For contacts on the network, you need to provide more information about the contacts server you are trying to access.</para>
+    <para>To move a card from one group to another, just drag it from the main display of contacts and drop it to a different group. You cannot change the contents of most network contact groups.</para>
     <note>
-     <para>Contacts groups are not the same as contact lists. A contact group is like a folder or address book full of contacts. A contact list is a single contact that contains other contacts, and is most often used to e-mail several people at once.</para>
+     <para>Contacts groups are not the same as contact lists. A contact group is like a folder or address book full of contacts. A contact list is a single contact that contains other contacts, and is most often used to email several people at once.</para>
     </note>
    </section>
 
@@ -3435,8 +3453,8 @@
 
    <section id="usage-contact-organize-group-list">
     <title>Creating a List of Contacts</title>
-    <para>A contact list is a set of contacts with a single nickname that you create. When you send e-mail to the nickname, it is sent to every member of the list. This differs from a network mailing list in that it exists only on your computer as a convenience to you, rather than as an actual e-mail address managed by a mailing list application on a server.</para>
-    <para>For example, you could create one card for each family member, then add those cards to a contact list called <quote>Family.</quote> Then, instead of entering each person's e-mail address individually, you can send e-mail to <quote>Family</quote> and the message would go to all of them.</para>
+    <para>A contact list is a set of contacts with a single nickname that you create. When you send email to the nickname, it is sent to every member of the list. This differs from a network mailing list in that it exists only on your computer as a convenience to you, rather than as an actual email address managed by a mailing list application on a server.</para>
+    <para>For example, you could create one card for each family member, then add those cards to a contact list called <quote>Family.</quote> Then, instead of entering each person's email address individually, you can send email to <quote>Family</quote> and the message would go to all of them.</para>
     <para> To create a list of contacts:</para>
     <orderedlist>
      <listitem id="bshlf6r">
@@ -3448,26 +3466,26 @@
       <para>Specify a name for the list.</para>
      </listitem>
      <listitem id="bshlfcp">
-      <para>Specify the names or e-mail addresses of contacts.</para>
+      <para>Specify the names or email addresses of contacts.</para>
       <para>or</para>
       <para>Drag contacts from the main window into the list.</para>
      </listitem>
      <listitem id="bshlfem">
-      <para>Choose whether you want to hide the e-mail addresses when you send a message to the list.</para>
-      <para>Unless it is a very small list, it is recommended that you leave the addresses hidden. This is the same thing as using the <quote>Bcc:</quote> feature discussed in <link linkend="usage-mail-getnsend-send-to-types">Specifying Additional Recipients for E-Mail</link>.</para>
+      <para>Choose whether you want to hide the email addresses when you send a message to the list.</para>
+      <para>Unless it is a very small list, it is recommended that you leave the addresses hidden. This is the same thing as using the <quote>Bcc:</quote> feature discussed in <link linkend="usage-mail-getnsend-send-to-types">Specifying Additional Recipients for Email</link>.</para>
      </listitem>
      <listitem id="bshlfgv">
       <para>When you are finished, click OK.</para>
      </listitem>
     </orderedlist>
-    <para>The list appears as a contact card, which you can use as you would any other card, including mailing the list to another person and sending e-mail to the list.</para>
-    <para>To mail the list, open a new e-mail and type the name you chose for the list. Evolution addresses the message to the entire list when you send the message. You can also right-click the list's address card in the contacts tool and select Send Message to List.</para>
+    <para>The list appears as a contact card, which you can use as you would any other card, including mailing the list to another person and sending email to the list.</para>
+    <para>To mail the list, open a new email and type the name you chose for the list. Evolution addresses the message to the entire list when you send the message. You can also right-click the list's address card in the contacts tool and select Send Message to List.</para>
     <para>Evolution cannot store contact lists on Microsoft Exchange servers.</para>
    </section>
 
    <section id="usage-contact-organize-group-category">
     <title>Grouping with Categories</title>
-    <para>Another way to group cards is to mark them as belonging to different categories. You can mark a card as being in several categories or no category at all. For example, you put a friend's card in the <guilabel>Business</guilabel> category because he works with you, the <guilabel>Friends</guilabel> category because he's a friend, and the <guilabel>Frequent</guilabel> category because you call him often.</para>
+    <para>Another way to group cards is to mark them as belonging to different categories. You can mark a card as being in several categories or no category at all. For example, you put a friend's card in the <guilabel>Business</guilabel> category because he works with you and the <guilabel>Friends</guilabel> category because he's a friend.</para>
     <para>To mark a card as belonging to a category,</para>
     <orderedlist>
      <listitem id="b13ptaog">
@@ -3475,7 +3493,7 @@
      </listitem>
      <listitem id="b13ptb98">
       <para>Click the Categories button at the left.</para>
-      <para>You can view the Categories dialogue box as given below.</para>
+      <para>You can view the Categories dialog box as given below.</para>
       <para></para>
       <para></para>
       <para></para>
@@ -3490,21 +3508,21 @@
       <para>Select the category from the list. You can select as many or as few categories as you like.</para>
      </listitem>
     </orderedlist>
-    <para>If the master list of categories doesn't suit you, you can add your own categories. To add new category,</para>
+    <para>If the master list of categories doesn't suit you, you can add your own categories. To add a new category,</para>
     <orderedlist>
      <listitem id="b13ptcwe">
-      <para>Enter the new category in the entry box at the top</para>
+      <para>Enter the new category in the entry box at the top.</para>
      </listitem>
      <listitem id="b13ptef4">
       <para>Click OK.</para>
-      <para>You can view the category name appeared in the field next to Categories button in the Contact Editor</para>
+      <para>You can view the category name appeared in the field next to Categories button in the Contact Editor.</para>
      </listitem>
      <listitem id="b13ptgw7">
-      <para>Press OK at the right bottom of the Contact Editor window.</para>
+      <para>Click OK.</para>
      </listitem>
     </orderedlist>
     <tip>
-     <para>You can edit or set the color and icon for each categories available under categories list. To achieve that click Edit button at the bottom of the Categories window. Press delete button to delete the items from the list.</para>
+     <para>You can edit or set the color and icon for each categories available under categories list. To achieve that click Edit button at the bottom of the Categories window. Press the Delete button to delete the items from the list.</para>
     </tip>
    </section>
   </section>
@@ -3512,10 +3530,10 @@
   <section id="usage-contact-sharing">
    <title>LDAP: Shared Address Books on a Network</title>
    <para>The <link linkend="ldap">LDAP</link> protocol was created to let users share contact information over a network by sharing access to a central directory. LDAP allows a company to maintain a shared set of contact information. Many companies keep a common LDAP address book for all their employees or for client contacts.</para>
-   <para>To learn how to add a remote LDAP directory to your available contact folders, see <link linkend="config-prefs-contact">Contact Management</link>. Remote groups of contacts appear under the On LDAP Servers item in the switcher. They work like a local folder of contact cards, with the following exceptions: </para>
+   <para>To learn how to add a remote LDAP directory to your available address books, see <link linkend="config-prefs-contact">Contact Management</link>. Remote groups of contacts appear under the On LDAP Servers item in the switcher. They work like a local folder of contact cards, with the following exceptions:</para>
    <itemizedlist>
     <listitem>
-     <para>Network folders are only available when you are connected to the network. If you use a laptop or have a modem connection, you might want to copy or cache some of the network directory. You do this by dragging and dropping your desired contacts into the local contacts list.</para>
+     <para>Network folders are only available when you are connected to the network. If you use a laptop or have a modem connection, you might want to copy or cache some of the network directory. You do this by dragging and dropping your desired contacts into the local address books.</para>
      <para>You can also mark the network folder for offline usage. To mark the folder, right-click the folder, then click Properties. Select Copy Folder Content Locally for Offline Operation.</para>
     </listitem>
     <listitem>
@@ -3534,7 +3552,7 @@
 
   <section id="contact-automation-basic">
    <title>Send Me a Card: Adding New Cards Quickly</title>
-   <para>When you get information about a person in the mail or in a calendar entry, you can add it to an address card. To do so, right-click any e-mail address or e-mail message, and click Add to Address Book on the menu that appears. If the sender already exists, the Editor tab opens and you can edit the detail. Evolution can also add cards from a hand-held device during HotSync&z-3rdParty; operation. For more information, see <link linkend="config-sync">Synchronizing Your Handheld Device</link>.</para>
+   <para>When you get information about a person in the mail or in a calendar entry, you can add it to an address card. To do so, right-click any email address or email message, and click Add to Address Book on the menu that appears. If the sender already exists, the Editor tab opens and you can edit the detail. Evolution can also add cards from a hand-held device during HotSync&z-3rdParty; operation. For more information, see <link linkend="config-sync">Synchronizing Your Handheld Device</link>.</para>
   </section>
  </chapter>
 
@@ -3576,7 +3594,7 @@
 
   <section id="usage-calendar-view">
    <title>Ways of Looking at your Calendar</title>
-   <para>In Evolution, you can keep multiple calendars and overlay them one over the next. For example, you might have a schedule of events for work, one for home, and one for your favorite sports team. The switcher lists those calendars, and you can select or deselect the boxes next to them to show and hide the appointments in your calendar view. By hiding and showing different sets of appointments, you can be sure to avoid conflicts, while keeping a minimum of clutter in your view.</para>
+   <para>In Evolution, you can keep multiple calendars and overlay them one over the next. For example, you might have a schedule of events for work, one for home, and one for your favorite sports team. The side bar lists those calendars, and you can select or deselect the boxes next to them to show and hide the appointments in your calendar view. By hiding and showing different sets of appointments, you can be sure to avoid conflicts, while keeping a minimum of clutter in your view.</para>
    <para>Appointments for each calendar appear as a different color.</para>
    <para>The toolbar offers you five different buttons that can show you different views of your calendar.</para>
    <informaltable>
@@ -3637,9 +3655,9 @@
      </tbody>
     </tgroup>
    </informaltable>
-   <para>You can also select an arbitrary range of days in the small calendar just above the switcher at the left. To do this, select the days that you want to view in your calendar.</para>
+   <para>You can also select an arbitrary range of days in the small calendar in the side bar. To do this, select the days that you want to view in your calendar.</para>
    <mediaobject id="b14av0ey"><imageobject><imagedata format="PNG" fileref="figures/evo_cal_a.png"/></imageobject></mediaobject>
-   <para>The Prev and Next buttons move you forward and back in your calendar pages. If you are using a week or month view, you can move by week or month. To return to today's listing, click the Today button in the toolbar.</para>
+   <para>The Previous and Next buttons move you forward and back in your calendar pages. If you are using a week or month view, you can move by week or month. To return to today's listing, click the Today button in the toolbar.</para>
    <para>To visit calendar entries for a specific date, click Go To and select the date in the dialog box that appears.</para>
 
    <section id="b13xy2ak">
@@ -3647,13 +3665,13 @@
     <para>Evolution allows you to edit the label of your calendar, assign color, and copy content for offline use. To set your calendar properties</para>
     <orderedlist>
      <listitem id="b13xybev">
-      <para>Select the calendar from the folder view at the left.</para>
+      <para>Select the calendar from the side bar at the left.</para>
      </listitem>
      <listitem id="b13xyc0b">
-      <para>Right click.</para>
+      <para>Right click on the calendar.</para>
      </listitem>
      <listitem id="b13xyc3r">
-      <para>Select Properties to open Calendar Properties dialogue box.</para>
+      <para>Select Properties to open Calendar Properties dialog box.</para>
       <para></para>
       <para></para>
       <para></para>
@@ -3668,7 +3686,7 @@
       <para>Edit the label from Name field.</para>
      </listitem>
      <listitem id="b13xyirm">
-      <para>To assign a color for the calendar, click the Color tab.</para>
+      <para>To assign a color for the calendar, click the Color button.</para>
      </listitem>
      <listitem id="b13xyj63">
       <para>Select the color and click OK.</para>
@@ -3714,7 +3732,7 @@
       </itemizedlist>
      </listitem>
      <listitem id="b1a4ah6w">
-      <para>Set the time to automatically refresh the calendar. </para>
+      <para>Set the time to automatically refresh the calendar.</para>
      </listitem>
      <listitem id="b1a4ak4r">
       <para>Select Use SSL to enable SSL for communication between Evolution and the Google server.</para>
@@ -3727,7 +3745,7 @@
       <para>If you select this option, you cannot modify or create the calendar items.</para>
      </listitem>
      <listitem id="b1a4awms">
-      <para>Click OK to save your modifications.</para>
+      <para>Click OK.</para>
      </listitem>
     </orderedlist>
    </section>
@@ -3783,25 +3801,26 @@
       <listitem id="bshlods">
        <para>Click File &gt; New &gt; Appointment.</para>
        <para>or</para>
-       <para>Click Calendars on the Switcher, then click New &gt; Appointment.</para>
+       <para>Click Calendars on the Switcher, then click File &gt; New &gt; Appointment.</para>
        <para>or</para>
-       <para>Double-click in a blank space on the calendar view to open an Appointment dialogue box. The appointment is created for that particular time on the calendar view against which you have double clicked on.</para>
+       <para>Double-click in a blank space on the calendar view to open an Appointment dialog box. The particular time on the calendar view against which you have double clicked on will be suggested for the new appointment.</para>
        <para>or</para>
        <para>Select the required duration on the calender view and enter the summary.</para>
       </listitem>
       <listitem id="b10fnwj2">
-       <para>Select a calendar in the Calendar drop-down list. Type a brief summary of the appointment in the Summary field.</para>
+       <para>Select a calendar in the Calendar drop-down list.</para>
+       <para>Enter a brief summary in the Summary field.</para>
        <mediaobject id="b13uby19"><imageobject><imagedata format="PNG" fileref="figures/evo_calender_appointmnt.png"/></imageobject></mediaobject>
        
       </listitem>
       <listitem id="b10fnwru">
-       <para>Type a location for the appointment in the Location field.</para>
+       <para>(Optional) Type a location in the Location field.</para>
       </listitem>
       <listitem id="b13uc0pd">
-       <para>Select the date, time and set the duration</para>
+       <para>Select the date and time.</para>
       </listitem>
       <listitem id="b13uc1k9">
-       <para>Enter a brief summary of the appointment in the description field.</para>
+       <para>Enter a brief summary in the Summary field.</para>
       </listitem>
       <listitem id="b10fnwwl">
        <para>To select this appointment as an all day event, click Options &gt; All Day Event.</para>
@@ -3809,10 +3828,10 @@
        <para>Click the All Day Event button on the toolbar.</para>
       </listitem>
       <listitem id="b10fnxet">
-       <para>If the event is an all day event, specify a starting and ending date.</para>
+       <para>If the event is an all day event, specify a starting date and an ending date.</para>
       </listitem>
       <listitem id="b10fnxkk">
-       <para>If the event is not an all day event, specify a starting and ending time.</para>
+       <para>If the event is not an all day event, specify a starting time and an ending time.</para>
       </listitem>
       <listitem id="b10fnxtn">
        <para>Select For to specify the duration.</para>
@@ -3829,18 +3848,19 @@
        <para>To show the time as busy, click Options &gt; Show Time as Busy.</para>
       </listitem>
       <listitem id="b10fnz0t">
-       <para>(Optional) Type a category in the Categories field. To show or hide the Categories field, click View &gt; Categories.</para>
-       <para>For more information on categories, see <link linkend="bxmtbjb">Classifications</link>.</para>
+       <para>(Optional) Type a category in the Categories field.</para>
+       <para>To show or hide the Categories field, click View &gt; Categories.</para>
       </listitem>
       <listitem id="b10fo1zg">
-       <para>Type a description in the Description field.</para>
+       <para>(Optional) Enter a description in the Description field.</para>
       </listitem>
       <listitem id="b10fo251">
-       <para>To select an alarm for this appointment, click Alarm on the toolbar.</para>
-       <para>If you select an alarm, specify when and how you want the alarm to notify. For more information on reminders, see <link linkend="bshly4v">Reminders</link>.</para>
+       <para>To create an alarm for this appointment, click Alarms on the toolbar, or click Options &gt; Alarms.</para>
+       <para>Select Customize to add or remove customized alarms for the event.</para>
+       <para>For more information on reminders, see <link linkend="bshly4v">Reminders</link>.</para>
       </listitem>
       <listitem id="b10fo3gm">
-       <para>(Optional) To add an attachment to the appointment, drag and drop the attachment into the attachment bar.</para>
+       <para>(Optional) To add an attachment, drag and drop the attachment into the attachment bar.</para>
        <para>or</para>
        <para>Click the Attach button on the toolbar, or click Insert &gt; Attachment and then browse to the attachment.</para>
       </listitem>
@@ -3890,16 +3910,13 @@
      <para>To create a reminder:</para>
      <orderedlist>
       <listitem id="bxmtait">
-       <para>When creating an appointment, click Alarms on the toolbar, or click Options &gt; Alarms.</para>
-      </listitem>
-      <listitem id="bzz2wmd">
-       <para>Select the alarm for the event.</para>
+       <para>To create an alarm for this appointment, click Alarms on the toolbar, or click Options &gt; Alarms.</para>
       </listitem>
       <listitem id="bzz2xh4">
        <para>Select Customize to add or remove customized alarms for the event.</para>
       </listitem>
      </orderedlist>
-     <para>If you have stored reminders in a local calendar, they work from the moment you log in. However, for reminders stored on any remote server like GroupWise Exchange which requires authentication, you must run Evolution at least once after logging in. No matter where the reminders are stored, you can quit Evolution and still be reminded of an upcoming appointment.</para>
+     <para>If you have stored reminders in a local calendar, they work from the moment you log in. However, for reminders stored on any remote server like GroupWise or Exchange which requires authentication, you must run Evolution at least once after logging in. No matter where the reminders are stored, you can quit Evolution and still be reminded of an upcoming appointment.</para>
     </section>
 
     <section id="bxmtbjb">
@@ -3909,47 +3926,47 @@
      <para>You can categorize appointments in the same way you can categorize contacts.</para>
      <orderedlist>
       <listitem id="bzxwtyr">
-       <para>Type a category in the Categories field.</para>
+       <para>(Optional) Type a category in the Categories field.</para>
       </listitem>
       <listitem id="bsqcyli">
        <para>Select the check box next to each category that matches the appointment you are creating.</para>
       </listitem>
       <listitem id="bzy02er">
-       <para>To show or hide Categories field, click View &gt; Categories.</para>
+       <para>To show or hide the Categories field, click View &gt; Categories.</para>
       </listitem>
      </orderedlist>
      <tip>
       <para>You can add a new category to your category list by clicking Edit Master Category List, then click Click Here To Add A Category.</para>
      </tip>
      <para>After you have selected your categories, click OK to assign these categories to the appointment. The categories you selected are now listed in the text box to the right of the Categories button.</para>
-     <para>Appointments with categories appear with icons in the calendar display, and you can also search for appointments by category. To display only the appointments in a particular category, select Category Is in the search bar at the top of the calendar, and select a category.</para>
+     <para>Appointments with categories appear with icons in the calendar display, and you can also search for appointments by category. To display only the appointments in a particular category, select the corresponding category in the search bar at the top of the calendar.</para>
     </section>
 
     <section id="bxmtcp3">
      <title>Recurrence</title>
      <para>The Recurrence tool button lets you describe repetition in appointments ranging from once every day up to once every 100 years. You can then choose a time and date when the appointment stops recurring, and, under Exceptions, pick individual days when the appointment does not recur. Make your selections from left to right, and you form a sentence: <quote>Every two weeks on Monday and Friday until January 3, 2008</quote> or <quote>Every month on the first Friday for 12 occurrences.</quote></para>
-     <para>After you have finished settings, click the disk icon in the toolbar to save and close the appointment editor window. If you want, you can alter an appointment summary in the calendar view by clicking it and typing. You can change other settings by right-clicking the appointment then choosing Open, or double-clicking the appointment.</para>
+     <para>After you have finished settings, click the Save button in the toolbar to save and close the appointment editor window. If you want, you can alter an appointment summary in the calendar view by clicking it and typing. You can change other settings by right-clicking the appointment then choosing Open, or double-clicking the appointment.</para>
     </section>
    </section>
 
    <section id="usage-calendar-rsvp">
     <title>Sending a Meeting Invitation</title>
     <para>A meeting is an event you schedule for multiple people. Evolution can be used to schedule group meetings and help you manage responses to meeting requests.</para>
-    <para>When you create a meeting or group appointment, you can specify the attendees in several categories, such as <quote>chair</quote> or <quote>required.</quote> When you save the meeting listing, each attendee is sent an e-mail with the meeting information, which also gives them the option to respond.</para>
-    <para>If you don't need to collect attendance information when you're scheduling an event, and would rather just announce the event, right-click the meeting and select Forward as iCalendar. This opens a new e-mail message with the event notification attached as an announcement. Recipients can add the event to their calendars with one click, but it won't automatically send you e-mail about whether they plan to attend.</para>
+    <para>When you create a meeting or group appointment, you can specify the attendees in several categories, such as <quote>chair</quote> or <quote>required</quote>. When you save the meeting listing, each attendee is sent an email with the meeting information, which also gives them the option to respond.</para>
+    <para>If you don't need to collect attendance information when you're scheduling an event, and would rather just announce the event, right-click the meeting and select Forward as iCalendar. This opens a new email message with the event notification attached as an announcement. Recipients can add the event to their calendars with one click, but it won't automatically send you email about whether they plan to attend.</para>
     <para>To schedule a meeting:</para>
     <orderedlist>
      <listitem id="bsb0agm">
       <para>Click File &gt; New &gt; Meeting.</para>
      </listitem>
      <listitem id="bsb0ao0">
-      <para>If you have multiple e-mail accounts, select the one to use by selecting an item in the Organizer field.</para>
+      <para>If you have multiple email accounts, select the one to use by selecting an item in the Organizer field.</para>
      </listitem>
      <listitem id="b10fof8d">
       <para>Select a calendar in the Calendar drop-down list.</para>
      </listitem>
      <listitem id="b10fofba">
-      <para>Click Add to add the e-mail addresses of people you want to invite.</para>
+      <para>Click Add to add the email addresses of people you want to invite.</para>
      </listitem>
      <listitem id="b10fofdk">
       <para>To remove an attendee from the list, select an attendee and press Remove.</para>
@@ -3961,13 +3978,15 @@
       <para>Click View on the menu bar to show or hide the Type, Role, Status, and RSVP fields.</para>
      </listitem>
      <listitem id="b10fofv1">
-      <para>Type summary of the meeting in the Summary field.</para>
+      <para>Enter a brief summary in the Summary field.</para>
      </listitem>
      <listitem id="b10fofxb">
-      <para>Type a location for the meeting in the Location field.</para>
+      <para>(Optional) Type a location in the Location field.</para>
      </listitem>
      <listitem id="b10fofz9">
-      <para>To select this meeting as an all day event, click the All Day Event button on the toolbar.</para>
+       <para>To select this appointment as an all day event, click Options &gt; All Day Event.</para>
+       <para>or</para>
+       <para>Click the All Day Event button on the toolbar.</para>
      </listitem>
      <listitem id="b10fog24">
       <para>If the event is an all day event, specify a starting date and an ending date.</para>
@@ -3976,7 +3995,9 @@
       <para>If the event is not an all day event, specify a starting time and an ending time.</para>
      </listitem>
      <listitem id="bzxwvrs">
-      <para>Select For to specify the duration or select Until to specify the ending time of the event.</para>
+      <para>Select For to specify the duration.</para>
+      <para>or</para>
+      <para>Select Until to specify the ending time of the event.</para>
      </listitem>
      <listitem id="bzxys1w">
       <para>Type the time zone information in the Time Zone field.</para>
@@ -3985,11 +4006,12 @@
       <para>To hide or show the Time Zone field, click View &gt; Time Zone.</para>
      </listitem>
      <listitem id="b10foc50">
-      <para>(Optional) To set an alarm for this meeting, click Alarms on the toolbar, then specify when and how you want to the alarm to notify you.</para>
+      <para>To create an alarm for this appointment, click Alarms on the toolbar, or click Options &gt; Alarms.</para>
+      <para>Select Customize to add or remove customized alarms for the event.</para>
       <para>For more information on reminders, see <link linkend="bshly4v">Reminders</link>.</para>
      </listitem>
      <listitem id="b10fof8e">
-      <para>(Optional) To add an attachment to the appointment, drag and drop the attachment into the attachment bar.</para>
+      <para>(Optional) To add an attachment, drag and drop the attachment into the attachment bar.</para>
       <para>or</para>
       <para>Click the Attach button on the toolbar, or click Insert &gt; Attachment and then browse to the attachment.</para>
      </listitem>
@@ -4010,9 +4032,9 @@
       <para>Click Save to save the meeting.</para>
      </listitem>
     </orderedlist>
-    <para>An e-mail is sent out to all the recipients, inviting them to your event.</para>
+    <para>An email is sent out to all the recipients, inviting them to your event.</para>
     <note>
-     <para>A meeting can have only one organizer, and only the organizer can add participants. You can designate yourself the organizer of the meeting, but if you are not the original organizer, you can create confusion in the scheduling process. If you want to invite additional people to a meeting without changing the organizer, it is best to forward the first organizer's message to the additional participants.</para>
+     <para>In Evolution, a meeting can have only one organizer, and only the organizer can add participants to that meeting. Though it is possible to change the organizer of a meeting, this is not recommended as a means to invite additional participants to meetings. If you want to invite additional people to a meeting and are not that meeting's organizer, it is recommended that you forward the invitation message you received from the original meeting organiser to additional participants.</para>
     </note>
    </section>
 
@@ -4030,13 +4052,13 @@
       <para>Decline</para>
      </listitem>
     </itemizedlist>
-    <para>Click OK to send an e-mail to the organizer with your answer. The event is also added to your calendar if you accept.</para>
+    <para>Click OK to send an email to the organizer with your answer. The event is also added to your calendar if you accept.</para>
     <para>After you add the meeting to your calendar, you can make changes to the information, but if the original organizer sends out another update, your changes might be overwritten.</para>
    </section>
 
    <section id="receiving-rsvp-response">
     <title>Reading Responses to Meeting Requests</title>
-    <para>When you get a reply to a meeting invitation you sent, you can view it inline by clicking the attachment and selecting View Inline. At the bottom, you can click OK to update your attendee list.</para>
+    <para>When you get a reply to a meeting invitation you sent, you can view it inline by clicking the attachment and selecting View Inline.</para>
    </section>
 
    <section id="usage-calendar-freebusy">
@@ -4048,7 +4070,7 @@
       <para>Click File &gt; New &gt; Meeting.</para>
      </listitem>
      <listitem id="b10foig5">
-      <para>Click Add to add the e-mail addresses of people you want to invite.</para>
+      <para>Click Add to add the email addresses of people you want to invite.</para>
      </listitem>
      <listitem id="bsb0c7x">
       <para>Click the Free/Busy button on the toolbar, or click Options &gt; Free/Busy.</para>
@@ -4056,7 +4078,7 @@
       
      </listitem>
      <listitem id="b10fogwo">
-      <para>Adjust the meeting time, either by dragging the meeting borders or by using the Autopick buttons to choose a time automatically, then click Save and Close. Attendees on an Exchange server have the appointment updated automatically; others receive e-mail notification of any change in plans.</para>
+      <para>Adjust the meeting time, either by dragging the meeting borders or by using the Autopick buttons to choose a time automatically, then click Save and Close. Attendees on an Exchange server have the appointment updated automatically; others receive email notification of any change in plans.</para>
      </listitem>
     </orderedlist>
     <formalpara id="bsb0cyw">
@@ -4070,7 +4092,7 @@
 
     <section id="publishing-freebusy">
      <title>Publishing Calendar and Free/Busy Information Without a Groupware Server</title>
-     <para>You can publish Calendar and Free/Busy information to a WebDAV,  FTP server, or remote machine through secure shell or other Web server with HTTP PUT support. Check with your system administrator if you are not sure you have this functionality.</para>
+     <para>You can publish Calendar and Free/Busy information to a WebDAV, FTP server, or remote machine through secure shell or other Web server with HTTP PUT support. Check with your system administrator if you are not sure you have this functionality.</para>
      <para>To set up Calendar or Free/Busy publishing:</para>
      <orderedlist>
       <listitem id="bxpfdeu">
@@ -4097,7 +4119,7 @@
      </orderedlist>
      <para>To immediately publish calendar information, go to the Calendar tool and click Actions &gt; Publish Calendar Information.</para>
      <note>
-      <para>Evolution allows you to specify a template to use when posting to the Free/Busy server.</para>
+      <para>You can specify a template to use when posting to the Free/Busy server.</para>
      </note>
     </section>
 
@@ -4117,10 +4139,10 @@
    </formalpara>
    <orderedlist>
     <listitem id="b131n1cx">
-     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list</para>
+     <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
     </listitem>
     <listitem id="b131n2au">
-     <para>Select the search type:</para>
+     <para>Specify the search criteria from any of the following:</para>
      <itemizedlist>
       <listitem>
        <para>Summary contains</para>
@@ -4143,7 +4165,7 @@
    </formalpara>
    <orderedlist>
     <listitem id="b17qblvd">
-     <para>Select the desired search type from the drop-down list.</para>
+     <para>Select the Search menu.</para>
     </listitem>
     <listitem id="b17qbhvy">
      <para>Select Advanced Search to open Advanced Search dialog box.</para>
@@ -4173,7 +4195,7 @@
      <para>Click the Show drop-down list.</para>
     </listitem>
     <listitem id="b131n7gu">
-     <para>Select the search criteria:</para>
+     <para>Select the search criteria from the list:</para>
      <itemizedlist>
       <listitem>
        <para>Any Category</para>
@@ -4209,7 +4231,7 @@
        <para>Goals/Objectives</para>
       </listitem>
       <listitem>
-       <para>Holidays</para>
+       <para>Holiday</para>
       </listitem>
       <listitem>
        <para>Holiday Cards</para>
@@ -4221,7 +4243,7 @@
        <para>International</para>
       </listitem>
       <listitem>
-       <para>Key Customers</para>
+       <para>Key Customer</para>
       </listitem>
       <listitem>
        <para>Miscellaneous</para>
@@ -4258,7 +4280,7 @@
 
   <section id="CHDFEJGG">
    <title>Printing Displayed Items</title>
-   <para>To print the displayed calendar items, click File &gt; Print or right click on the calendar item &gt; Print.</para>
+   <para>To print the displayed calendar items, click File &gt; Print.</para>
   </section>
 
   <section id="bshm4dy">
@@ -4274,7 +4296,7 @@
      <para>In the Calendar, right-click the meeting you want to delegate.</para>
     </listitem>
     <listitem id="bxqatxv">
-     <para>Click Delegate Meetings.</para>
+     <para>Click Delegate Meeting.</para>
     </listitem>
     <listitem id="bxqe3l9">
      <para>Select the contacts you want to delegate the meeting to.</para>
@@ -4283,19 +4305,20 @@
      <para>Click OK.</para>
     </listitem>
    </orderedlist>
-   <para>Each contact receives a copy of the meeting.</para>
+   <para>Each contact receives a copy of the meeting invitation.</para>
   </section>
 
   <section id="usage-calendar-multiple">
    <title>Multiple Calendars, Web Calendars, and CalDAV</title>
    <para>To create a new calendar, click File &gt; New &gt; Calendar. If the calendar is one you plan to store locally, you need only provide a name and color. If it is a remote calendar, specify the name, color, URL, and a refresh frequency. The refresh frequency determines how often Evolution checks to see if the calendar has changed. If you are working with someone who publishes an online calendar, you might want to check for updates every thirty minutes. On the other hand, if you have displayed a sports team schedule in your calendar, you might not need to refresh it more than once a week.</para>
    <para>The <ulink url="http://icalshare.com";>icalshare.com Web site</ulink> has an extensive list of shared online calendars, including national and religious holidays, phases of the moon, sports, and local and regional events.</para>
-   <para>Evolution lets you view and manage calendars on remote CalDAV servers such as <trademark class="registered">Hula</trademark>. For more information about Hula, see the <ulink url="http://www.hula-project.org";>Hula Project Web site</ulink>. The procedure to create a CalDAV calendar source is similar to that of a remote Web calendar source. You can view and create calendar events on CalDav accounts just like other calendars on Evolution.</para>
+   <para>Evolution lets you view and manage calendars on remote CalDAV servers. The procedure to create a CalDAV calendar source is similar to that of a remote Web calendar source. You can view and create calendar events on CalDav accounts just like other calendars on Evolution.</para>
   </section>
 
   <section id="usage-calendar-todo">
    <title>The Task List</title>
-   <para>The Task List, located in the lower-right corner of the calendar, lets you keep a list of tasks separate from your calendar appointments. You can use the list in a larger window by clicking the Tasks button in the switcher or in the folder tree.</para>
+   <para>The Task List, located in the upper-right corner of the calendar, lets you keep a list of tasks separate from your calendar appointments.</para>
+   <para>You can use the list in a larger window by clicking the Tasks button in the side bar.</para>
    <para>Task Lists are more easily organized in the dedicated Tasks tool. Each task list is assigned a color, and you can use the Tasks tool switcher to hide and show task lists just like calendars. In the calendar display task pad, tasks from all visible task lists appear, color coded by list.</para>
    <itemizedlist>
     <listitem>
@@ -4325,26 +4348,26 @@
       <para>Click OK.</para>
      </listitem>
     </orderedlist>
-    <para>After you have added a task to your to-do list, its summary appears in the Summary section of the task list. To view or edit a detailed description of an item, double-click it, or right-click it and select Open. You can delete items by selecting them, then clicking Delete.The list of tasks is sorted in a similar way to the list of e-mail messages in Evolution Mail. Click once on a message header to change the direction and type of sorting, or right-click to add or remove columns from the display.</para>
+    <para>After you have added a task to your to-do list, its summary appears in the Summary section of the task list. To view or edit a detailed description of an item, double-click it, or right-click it and select Open. You can delete items by selecting them, then clicking Delete. The list of tasks is sorted in a similar way to the list of email messages in Evolution Mail. Click once on a message header to change the direction and type of sorting, or right-click to add or remove columns from the display.</para>
    </section>
 
    <section id="task-folders">
     <title>Creating a New Task</title>
     <orderedlist>
      <listitem id="b10155hr">
-      <para>Click New &gt; Task.</para>
+      <para>Click File &gt; New &gt; Task.</para>
      </listitem>
      <listitem id="b10155hs">
       <para>Select a group for the task.</para>
      </listitem>
      <listitem id="b10155ht">
-      <para>Type a brief summary for the task in the Summary field.</para>
+      <para>Enter a brief summary in the Summary field.</para>
      </listitem>
      <listitem id="b10155hu">
-      <para>(Optional) Specify a starting date and ending date for the task</para>
+      <para>(Optional) Specify a starting date and ending date for the task.</para>
      </listitem>
      <listitem id="b10155hv">
-      <para>(Optional) Specify a starting time and ending time for the task</para>
+      <para>(Optional) Specify a starting time and ending time for the task.</para>
      </listitem>
      <listitem id="b10fqh6l">
       <para>Type the time zone information in the Time Zone field.</para>
@@ -4357,18 +4380,18 @@
       <para>To show or hide the Categories field, click View &gt; Categories.</para>
      </listitem>
      <listitem id="b10155hy">
-      <para>Type a description for the task.</para>
+      <para>(Optional) Enter a description in the Description field.</para>
      </listitem>
      <listitem id="b10155hz">
-      <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential) for the task.</para>
+      <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential).</para>
      </listitem>
      <listitem id="b10155i0">
       <para>(Optional) To specify a status for the task, click Options &gt; Status Details.</para>
      </listitem>
      <listitem id="b10fqh6m">
-      <para>(Optional) To add an attachment to the task, drag and drop the attachment into the attachment bar.</para>
+      <para>(Optional) To add an attachment, drag and drop the attachment into the attachment bar.</para>
       <para>or</para>
-      <para>Click the Attach button on the toolbar, then browse to the attachment.</para>
+      <para>Click the Attach button on the toolbar, or click Insert &gt; Attachment and then browse to the attachment.</para>
      </listitem>
     </orderedlist>
    </section>
@@ -4376,23 +4399,23 @@
    <section id="b1012vcx">
     <title>Assigned Tasks</title>
     <para>Evolution can be used to assign a task to multiple people.</para>
-    <para>When you assign a task, you can specify the attendees in several categories, such as <quote>chair</quote> or <quote>required.</quote> When you save the task, each attendee is sent an e-mail with the task information, which also gives them the option to respond.</para>
+    <para>When you assign a task, you can specify the attendees in several categories, such as <quote>chair</quote> or <quote>required.</quote> When you save the task, each attendee is sent an email with the task information, which also gives them the option to respond.</para>
     <para>To assign a new task:</para>
     <orderedlist>
      <listitem id="b1012vcy">
       <para>Click File &gt; New &gt; Assigned Task.</para>
      </listitem>
      <listitem id="b1012vcz">
-      <para>If you have multiple e-mail accounts, select the one to use by selecting an item in the Organizer field.</para>
+      <para>If you have multiple email accounts, select the one to use by selecting an item in the Organizer field.</para>
      </listitem>
      <listitem id="b1012vd0">
       <para>Select a group for the task.</para>
      </listitem>
      <listitem id="b1012vd1">
-      <para>Click Add, or press Insert key, or right click and then press Add to add the e-mail addresses of people you want to assign the task.To remove an attendee from the list, select an attendee, then press Remove.To edit a field, select the field, then click Edit.Click View on the menu bar to show or hide the Type, Role, Status, and RSVP fields.</para>
+      <para>Click Add, or press Insert key, or right click and then press Add to add the email addresses of people you want to assign the task. To remove an attendee from the list, select an attendee, then press Remove. To edit a field, select the field, then click Edit. Click View on the menu bar to show or hide the Type, Role, Status, and RSVP fields.</para>
      </listitem>
      <listitem id="b1012vd2">
-      <para>Type a brief summary of the task in the Summary field.</para>
+      <para>Enter a brief summary in the Summary field.</para>
      </listitem>
      <listitem id="b1012vd3">
       <para>(Optional) Specify a starting date and time, and a due date and time for the task.</para>
@@ -4405,18 +4428,18 @@
      </listitem>
      <listitem id="b1012vd6">
       <para>(Optional) Type a category in the Categories field.</para>
-      <para>To show or hide Categories field, click View &gt; Categories.</para>
+      <para>To show or hide the Categories field, click View &gt; Categories.</para>
      </listitem>
      <listitem id="b1012vd7">
-      <para>Type a description for the task.</para>
+      <para>(Optional) Enter a description in the Description field.</para>
      </listitem>
      <listitem id="b10fqh6o">
-      <para>(Optional) To add an attachment to the assigned task, drag and drop the attachment into the attachment bar. </para>
+      <para>(Optional) To add an attachment, drag and drop the attachment into the attachment bar.</para>
       <para>or</para>
-      <para>Click the Attach button on the toolbar, then browse to the attachment.</para>
+      <para>Click the Attach button on the toolbar, or click Insert &gt; Attachment and then browse to the attachment.</para>
      </listitem>
      <listitem id="b10fqh6p">
-      <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential) for the task.</para>
+      <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential).</para>
      </listitem>
      <listitem id="b1012vda">
       <para>(Optional) To specify a status for the task, click Options &gt; Status Details.</para>
@@ -4432,10 +4455,10 @@
     </formalpara>
     <orderedlist>
      <listitem id="b17qcy7p">
-      <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list</para>
+      <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
      </listitem>
      <listitem id="b17qcyfg">
-      <para>Select the search type:</para>
+      <para>Specify the search criteria from any of the following:</para>
       <itemizedlist>
        <listitem>
         <para>Summary contains</para>
@@ -4454,10 +4477,11 @@
     </orderedlist>
     <formalpara id="b17qczaw">
      <title>Advanced Search:</title>
-     <para>You can perform an advanced search based on any of the search type.</para>
+     <para>You can perform an advanced search based on any of the search types.</para>
     </formalpara>
     <orderedlist>
      <listitem id="b17qczhr">
+      <para>Select the Search menu.</para>
       <para>Select Advanced Search to open Advanced Search dialog box.</para>
       <para>Search name field displays the search type you have selected.</para>
       <mediaobject id="b17qcztn"><imageobject><imagedata format="PNG" fileref="figures/evo_cal_advsearch.png"/></imageobject></mediaobject>
@@ -4501,7 +4525,7 @@
     </formalpara>
     <formalpara id="b17qei0d">
      <title>Tasks With Attachment:</title>
-     <para>It shows all the tasks with attachments.</para>
+     <para>Displays all the tasks with attachments.</para>
     </formalpara>
     <formalpara id="b17qejz7">
      <title>&lt;List of Categories&gt;:</title>
@@ -4513,7 +4537,7 @@
       <para>Click the Show drop-down list from the Search bar.</para>
      </listitem>
      <listitem id="b17qd0wm">
-      <para>Select the search criteria:</para>
+      <para>Select the search criteria from the list:</para>
       <itemizedlist>
        <listitem>
         <para>Any Category</para>
@@ -4616,41 +4640,41 @@
      <para>Click File &gt; New &gt; Memo.</para>
     </listitem>
     <listitem id="b1012vdf">
-     <para>Select a group in which you would create a memo entry.</para>
+     <para>Select the Group in which you would like to create the entry.</para>
     </listitem>
     <listitem id="b1012vdg">
      <para>(Optional) Type a category in the Categories field.</para>
      <para>To show or hide Categories field, click View &gt; Categories.</para>
     </listitem>
     <listitem id="b1012vdh">
-     <para>Type text for the memo in the Summary field.</para>
+     <para>Enter a brief summary in the Summary field.</para>
     </listitem>
     <listitem id="b15ilfa0">
      <para>In the Start Date field, type the date this reminder note should appear in the recipients' Calendars.</para>
     </listitem>
     <listitem id="b15ilpb6">
-     <para>Type text for the memo in the Memo Content field.</para>
+     <para>(Optional) Enter a description in the Description field.</para>
     </listitem>
     <listitem id="b10fqh6q">
-     <para>(Optional) To add an attachment to the memo, drag and drop the attachment into the attachment bar.</para>
+     <para>(Optional) To add an attachment, drag and drop the attachment into the attachment bar.</para>
      <para>or</para>
-     <para>Click the Attach button on the toolbar, then browse to the attachment.</para>
+     <para>Click the Attach button on the toolbar, or click Insert &gt; Attachment and then browse to the attachment.</para>
     </listitem>
     <listitem id="b10fqh6r">
-     <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential) for the memo.</para>
+     <para>(Optional) Click Options &gt; Classifications, then select a classification (as Public, Private or Confidential).</para>
     </listitem>
    </orderedlist>
 
    <section id="b1012vdk">
     <title>The Memo List</title>
-    <para>As with calendars and tasks, you can create multiple memo lists. Each memo list is assigned a color, and you can use the Memos switcher to hide and show memos.</para>
-    <para>To create a new memo list: </para>
+    <para>As with calendars and tasks, you can create multiple memo lists. Each memo list is assigned a color, and you can use the side bar to hide and show memo lists.</para>
+    <para>To create a new memo list:</para>
     <orderedlist>
      <listitem id="b1012vdl">
       <para>Click File &gt; New &gt; Memo List.</para>
      </listitem>
      <listitem id="b1012vdm">
-      <para>Type the group, name and color for the memo list.</para>
+      <para>Enter the type, name and color for the memo list.</para>
      </listitem>
      <listitem id="b1012vdo">
       <para>Click OK.</para>
@@ -4667,10 +4691,10 @@
     </formalpara>
     <orderedlist>
      <listitem id="b17qers6">
-      <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list</para>
+      <para>Click the search icon <inlinegraphic format="PNG" fileref="figures/stock_search.png"/> to expand the drop-down list.</para>
      </listitem>
      <listitem id="b17qerzd">
-      <para>Select the search type:</para>
+      <para>Specify the search criteria from any of the following:</para>
       <itemizedlist>
        <listitem>
         <para>Summary contains</para>
@@ -4702,10 +4726,10 @@
       
      </listitem>
      <listitem id="b17qetof">
-      <para>Click Add to add rules. </para>
+      <para>Click Add to add rules.</para>
      </listitem>
      <listitem id="b17qewzp">
-      <para>Select the criteria, then type a search entry in the given field.</para>
+      <para>Select the criteria, and then type a search entry in the given field.</para>
      </listitem>
      <listitem id="b17qexap">
       <para>Click OK.</para>
@@ -4715,7 +4739,7 @@
      </listitem>
     </orderedlist>
     <formalpara id="b17qeyur">
-     <title>Quick Search: </title>
+     <title>Quick Search:</title>
      <para>Displays all the Memo items that match the criteria that you have selected from the Show drop-down list in the Search bar.</para>
     </formalpara>
     <orderedlist>
@@ -4723,7 +4747,7 @@
       <para>Click the Show drop-down list.</para>
      </listitem>
      <listitem id="b17qezl9">
-      <para>Select the search criteria:</para>
+      <para>Select the search criteria from the list:</para>
       <itemizedlist>
        <listitem>
         <para>Any Category</para>
@@ -4821,7 +4845,7 @@
 
   <section id="bxqaqja">
    <title>Marcus Bains Line</title>
-   <para>The Marcus Bains Line is a marker to show the current date and time. This feature is now available in the Evolution calendar.</para>
+   <para>The Marcus Bains Line is a marker to show the current date and time. This feature is available in the Evolution calendar.</para>
   </section>
  </chapter>
 
@@ -4882,19 +4906,19 @@
       <listitem>
        <formalpara id="b10fqio8">
         <title>Viewing Mail in Exchange Folders:</title>
-        <para>Mail stored on the Exchange server is visible in the Mail component in Evolution. </para>
+        <para>Mail stored on the Exchange server is visible in the Mail component in Evolution.</para>
        </formalpara>
       </listitem>
       <listitem>
        <formalpara id="b10fqiuh">
-        <title>Sending E-mail via Exchange Protocols:</title>
-        <para>If you use the Microsoft Exchange mail transport protocol to send e-mail, make sure that the address you have entered as your e-mail address is exactly the one that the Exchange server has on file. This might be <quote>yourname exchange-server example com</quote> rather than <quote>yourname example com </quote></para>
+        <title>Sending Email via Exchange Protocols:</title>
+        <para>If you use the Microsoft Exchange mail transport protocol to send email, make sure that the address you have entered as your email address is exactly the one that the Exchange server has on file. This might be <quote>yourname exchange-server example com</quote> rather than <quote>yourname example com </quote></para>
        </formalpara>
       </listitem>
       <listitem>
        <formalpara id="b13pa41j">
         <title>Out of Office Message:</title>
-        <para>You can set <quote>out of Office</quote> message that will automatically be sent to people who send mails to you while you are away from office.</para>
+        <para>You can set <quote>out of Office</quote> message that will automatically be sent to people who send mail to you while you are away from office.</para>
        </formalpara>
       </listitem>
       <listitem>
@@ -4928,13 +4952,13 @@
       <listitem>
        <formalpara id="b10fqjzj">
         <title>Address Completion:</title>
-        <para>Supported for your Exchange Contacts folder. </para>
+        <para>Supported for your Exchange Contacts folder.</para>
        </formalpara>
       </listitem>
       <listitem>
        <formalpara id="b10fqk4l">
         <title>Adding vCards to the Address Book:</title>
-        <para>Allows you to save the vCards you receive in attachment to your Exchange address book.New Address Book entries can also be created on Exchange from received e-mail messages with a single click.</para>
+        <para>Allows you to save the vCards you receive in attachment to your Exchange address book.New Address Book entries can also be created on Exchange from received email messages with a single click.</para>
        </formalpara>
       </listitem>
      </itemizedlist>
@@ -5001,7 +5025,7 @@
      <title>Creating a New Exchange Account</title>
      <orderedlist>
       <listitem id="bshnbof">
-       <para>Click Edit &gt; Preferences or press Shift+Ctrl+S</para>
+       <para>Select Edit &gt; Preferences.</para>
       </listitem>
       <listitem id="bshnbsi">
        <para>Click Add.</para>
@@ -5010,30 +5034,12 @@
       </listitem>
       <listitem id="bshnbxz">
        <para>Create the account following the procedure in <link linkend="usage-mainwindow-starting">Starting Evolution for the First Time</link>. Remember to select Microsoft Exchange as server type in the Receiving Mail section.</para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
        <mediaobject id="bs4aw7k"><imageobject><imagedata format="PNG" fileref="figures/exchng-rec-mails.png"/></imageobject></mediaobject>
        
       </listitem>
      </orderedlist>
      <note>
-      <para>You may configure only Only one Microsoft Exchange account can be configured in Evolution.</para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
-      <para></para>
+      <para>Only one Microsoft Exchange account can be configured in Evolution.</para>
      </note>
      <mediaobject id="bs4aw7l"><imageobject><imagedata format="PNG" fileref="figures/exchng-rec-options.png"/></imageobject></mediaobject>
      
@@ -5044,42 +5050,19 @@
      <para>Use the following procedure to configure your existing account for Evolution Exchange:</para>
      <orderedlist>
       <listitem id="bsqdqje">
-       <para>Click Edit &gt; Preferences or press Shift+Ctrl+S, then click Mail Accounts.</para>
+       <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
       </listitem>
       <listitem id="bsqdqvl">
        <para>Select the account you want to convert, then click Edit to appear the Account Editor.</para>
        <para>You can view Identity tab enabled.</para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
        <mediaobject id="b13p90wc"><imageobject><imagedata format="PNG" fileref="figures/exchg-identity.png"/></imageobject></mediaobject>
        
       </listitem>
       <listitem id="bshngg7">
-       <para>Change your e-mail address as needed.</para>
+       <para>Change your email address as needed.</para>
       </listitem>
       <listitem id="bshngsm">
        <para>Click the Receiving Mail tab, then select Microsoft Exchange as your server type.</para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
        <mediaobject id="b13pb2z0"><imageobject><imagedata format="PNG" fileref="figures/exchng-rec-mail.png"/></imageobject></mediaobject>
        
       </listitem>
@@ -5087,21 +5070,13 @@
        <para>Type your user name, and the Outlook Web Access (OWA) URL. Click Authenticate, then enter the password at the prompt. The Exchange server authenticates your account.</para>
       </listitem>
       <listitem id="bxpfgk7">
-       <para>Select your authentication method.</para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
-       <para></para>
+       <para>Select your authentication type in the Authentication list.</para>
        <mediaobject id="b13pb4ri"><imageobject><imagedata format="PNG" fileref="figures/exchng-rec-option.png"/></imageobject></mediaobject>
        
       </listitem>
       <listitem id="bshnhvg">
-       <para>Click the Receiving Options tab, then specify how often to check for new mail, your Global Catalog server name and whether to apply filters to messages in your Inbox, check for junk, set a password expiry period, and any other settings you want to include.</para>
+       <para>Click the Receiving Options tab.</para>
+       <para>Specify how often to check for new mail, your Global Catalog server name and whether to apply filters to messages in your Inbox, check for junk, set a password expiry period, and any other settings you want to include.</para>
       </listitem>
       <listitem id="bshnjw0">
        <para>Use the Defaults tab to define folders, send cc: or bcc: messages to certain IDs, and set options for message receipts.</para>
@@ -5121,7 +5096,7 @@
   <section id="access">
    <title>Accessing the Exchange Server</title>
    <para>When you have installed Evolution Exchange, you can access public folders and perform certain Exchange actions like delegation and password management, and subscribing to other user's calendars, tasks, and contact folders. You can also carry out any folder-related operations like adding, deleting, and renaming folders, and selecting folder permissions on calendars, tasks, and contact folders. Use the regular Mail tool for mail, the Contacts tool for contacts, and the Calendar tool for setting schedules.</para>
-   <para>If you are using both an Exchange account and a local mail account, you should be aware that whenever you save an e-mail address or appointment from an e-mail message, it is saved in your Exchange contacts list or calendar, rather than in your local account. The same is true for synchronization with Palm OS devices; tasks, and appointments.Addresses from your Palm OS device are synchronized in the Exchange folders rather than in local folders.</para>
+   <para>If you are using both an Exchange account and a local mail account, you should be aware that whenever you save an email address or appointment from an email message, it is saved in your Exchange contacts list or calendar, rather than in your local account. The same is true for synchronization with Palm OS devices; tasks, and appointments.Addresses from your Palm OS device are synchronized in the Exchange folders rather than in local folders.</para>
    <para>To avoid unnecessary strain on the server, the Global Address List (GAL) appears empty until you search for something in it.</para>
    <para></para>
   </section>
@@ -5190,10 +5165,10 @@
        </important>
        <orderedlist>
         <listitem id="b17qwr4g">
-         <para>Click User to open Show Contacts dialogue box.</para>
+         <para>Click User to open Show Contacts dialog box.</para>
         </listitem>
         <listitem id="b17qwruz">
-         <para>Select the contact from the desired Address book and click Add, then close the dialogue box.</para>
+         <para>Select the contact from the desired Address book and click Add, then close the dialog box.</para>
          <warning>
           <para>You are not permitted to send a message on behalf of more than one person at a time.</para>
          </warning>
@@ -5208,7 +5183,7 @@
        <para>Select the Request a read receipt for this message to get a read receipt for the message you have sent.</para>
       </listitem>
       <listitem id="b15flpzo">
-       <para>Click OK to confirm your selection.</para>
+       <para>Click OK.</para>
       </listitem>
      </orderedlist>
     </section>
@@ -5224,10 +5199,11 @@
        <para>Open a new Meeting composer window.</para>
       </listitem>
       <listitem id="b17ren0l">
-       <para>Add the recipients. </para>
+       <para>Add the recipients.</para>
       </listitem>
       <listitem id="b17renoo">
-       <para>Fill in the information, then click Send.</para>
+       <para>Fill in the information.</para>
+       <para>Click Send.</para>
        <para>When the recipient receives the calendar item, a message indicates that the item was created by someone on behalf of the Delegator.</para>
       </listitem>
      </orderedlist>
@@ -5243,7 +5219,10 @@
      <para>To add someone to your list of delegates:</para>
      <orderedlist>
       <listitem id="bxpfj0n">
-       <para>Click Edit &gt; Preferences or press Shift+Ctrl+S, then click the Exchange Settings tab.</para>
+       <para>Select Edit &gt; Preferences.</para>
+      </listitem>
+      <listitem id="bxpfj0o">
+       <para>Click the Exchange Settings tab.</para>
       </listitem>
       <listitem id="b17qx94g">
        <para>Click Delegation Assistant to open the Delegates dialog box.</para>
@@ -5295,7 +5274,7 @@
        
       </listitem>
       <listitem id="bshokwk">
-       <para>Specify the e-mail address of the user who has delegated to you, or click User to select the user from your address book.</para>
+       <para>Specify the email address of the user who has delegated to you, or click User to select the user from your address book.</para>
       </listitem>
       <listitem id="bshol98">
        <para>Select the folder you want to open.</para>
@@ -5336,15 +5315,15 @@
 
    <section id="b13pnzby">
     <title>Reminders</title>
-    <para>Reminders for meetings in your Exchange calendar do not work until you have run Evolution at least once after logging in. This is different from locally stored reminders, which work from the moment you log in, regardless of whether you have run Evolution in the session.so that you can fix a convenient time for a meeting.To enable Reminder setting in your Exchange account, select <guilabel>Remember the password</guilabel> checkbox. To find more information about Reminders see<link linkend="bshly4v">Reminders</link></para>
+    <para>Reminders for meetings in your Exchange calendar do not work until you have run Evolution at least once after logging in. This is different from locally stored reminders, which work from the moment you log in, regardless of whether you have run Evolution in the session so that you can fix a convenient time for a meeting. To enable Reminder setting in your Exchange account, select <guilabel>Remember the password</guilabel> checkbox. To find more information about Reminders see<link linkend="bshly4v">Reminders</link>.</para>
    </section>
 
    <section id="exchange-out-of-office">
     <title>Setting an Out of Office Message</title>
-    <para>An Out of Office message is an automatic reply that you can send as a reply to messages, explaining why you aren't immediately responding to their messages. For example, if you go on vacation for a week and won't access your e-mail, you can set an automatic reply so that people know that you aren't ignoring them.</para>
+    <para>An Out of Office message is an automatic reply that you can send as a reply to messages, explaining why you are not immediately responding to their messages. For example, if you go on vacation for a week and will not access your email, you can set an automatic reply so that people know that you are not ignoring them.</para>
     <orderedlist>
      <listitem id="bsbgb7t">
-      <para>Click Edit &gt; Preferences &gt; Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="bxn8hun">
       <para>Select the Exchange account, then click Edit.</para>
@@ -5497,10 +5476,10 @@
        <para>Address Completion is supported for your GroupWise address books, including the System address book, the Frequent Contacts address book, and your personal address book.</para>
       </listitem>
       <listitem>
-       <para>If you receive a card attachment and click Save in Address Book, it is saved to your Personal address book. New Address Book entries can also be added to your personal address book from received E-mail messages.</para>
+       <para>If you receive a card attachment and click Save in Address Book, it is saved to your Personal address book. New Address Book entries can also be added to your personal address book from received Email messages.</para>
       </listitem>
       <listitem>
-       <para>To create your GroupWise Frequent contacts and Personal address books, you need to access your GroupWise account once through GroupWise Java client because Evolution currently does not support creating them.The GroupWise system address book is marked for offline use by default.This boosts performance.</para>
+       <para>To create your GroupWise Frequent contacts and Personal address books, you need to access your GroupWise account once through GroupWise Java client because Evolution currently does not support creating them. The GroupWise system address book is marked for offline use by default.This boosts performance.</para>
       </listitem>
      </itemizedlist>
     </listitem>
@@ -5627,7 +5606,7 @@
     <title>Creating a New GroupWise Account</title>
     <orderedlist>
      <listitem id="bv7wb3t">
-      <para>Click Edit &gt; Preferences, then click Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="bv7wbac">
       <para>Click Add.</para>
@@ -5640,21 +5619,21 @@
 
    <section id="buw5x0k">
     <title>Changing an Existing Account to Work with GroupWise</title>
-    <para>If you have an existing e-mail account, and want to convert it to use with GroupWise:</para>
+    <para>If you have an existing email account, and want to convert it to use with GroupWise:</para>
     <orderedlist>
      <listitem id="buw5x0l">
-      <para>Click Edit &gt; Preferences, then click Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="buw5x0m">
       <para>Select the account you want to convert, then click Edit.</para>
      </listitem>
      <listitem id="buw5x0n">
-      <para>Click the Identity tab. </para>
+      <para>Click the Identity tab.</para>
       <mediaobject id="bv7wbfs"><imageobject><imagedata format="PNG" fileref="figures/evo_identityedit_a.png"/></imageobject></mediaobject>
       
      </listitem>
      <listitem id="bxpfqzp">
-      <para>Change your e-mail address as needed.</para>
+      <para>Change your email address as needed.</para>
      </listitem>
      <listitem id="buw5x0o">
       <para>Click the Receiving Email tab, then select Novell GroupWise as your server type.</para>
@@ -5668,7 +5647,8 @@
       </note>
      </listitem>
      <listitem id="bsthkyr">
-      <para>Click the Receiving Options tab, then select if you want Evolution to automatically check for new mail.</para>
+      <para>Click the Receiving Options tab.</para>
+      <para>Select if you want Evolution to automatically check for new mail.</para>
       <para>If you select this option, you need to specify how often Evolution should check for new messages.</para>
       <mediaobject id="bv7wc82"><imageobject><imagedata format="PNG" fileref="figures/evo_gwreceiveoptedit_a.png"/></imageobject></mediaobject>
       
@@ -5677,7 +5657,7 @@
       <para>Select if you want to check for new messages in all folders.</para>
      </listitem>
      <listitem id="bv7wbr9">
-      <para>Select if you want to apply filters to new messages in the Inbox on the server.</para>
+      <para>Select Apply filters to new messages in inbox on this server if you want to apply filters.</para>
       <para>For additional information on filtering, see <link linkend="usage-mail-org-filters-new">Creating New Filter Rules</link>.</para>
      </listitem>
      <listitem id="bv7wbto">
@@ -5702,7 +5682,8 @@
       <para>(Optional) Click the Proxy tab, then click Add to add any Proxy users to your account.</para>
      </listitem>
      <listitem id="buw5x0s">
-      <para>Click OK, then click Close.</para>
+      <para>Click OK.</para>
+      <para>Click Close.</para>
      </listitem>
     </orderedlist>
    </section>
@@ -5720,7 +5701,7 @@
    <para>To send a Reminder Note,</para>
    <orderedlist>
     <listitem id="b15ijcgi">
-     <para>Click New &gt; Shared Memo to open the new window.</para>
+     <para>Click File &gt; New &gt; Shared Memo.</para>
     </listitem>
     <listitem id="b15ijcow">
      <para>Select the Organizer's account name from the drop-down list given next to the Organizer field.</para>
@@ -5729,10 +5710,10 @@
      <para>In the To field, type a username, then press Enter. Repeat for additional users.</para>
     </listitem>
     <listitem id="b15ijfl9">
-     <para>Select the Group in which you would create the entry.</para>
+     <para>Select the Group in which you would like to create the entry.</para>
     </listitem>
     <listitem id="b15ijg02">
-     <para>Enter a brief description about the Reminder Note in the Summary field.</para>
+     <para>Enter a brief summary in the Summary field.</para>
     </listitem>
     <listitem id="b15ijgcw">
      <para>In the Start Date field, type the date this reminder note should appear in the recipients' Calendars.</para>
@@ -5741,7 +5722,7 @@
      <para>Specify the category that the Reminder note falls under.</para>
     </listitem>
     <listitem id="b15ijkkf">
-     <para>Enter the description for the Reminder Note.</para>
+     <para>(Optional) Enter a description in the Description field.</para>
     </listitem>
     <listitem id="b15ijkqc">
      <para>Click Save.</para>
@@ -5764,7 +5745,7 @@
      <para>Click Actions &gt; Schedule Meeting.</para>
     </listitem>
     <listitem id="bv7wato">
-     <para>Add attendees, either by entering their e-mail addresses into the list, or by clicking the Invite Others button.</para>
+     <para>Add attendees, either by entering their email addresses into the list, or by clicking the Invite Others button.</para>
     </listitem>
     <listitem id="bv7wb0h">
      <para>Click Options, then click Update Free/Busy to check participant schedules and, if possible, update the meeting in all participants' calendars.</para>
@@ -5793,15 +5774,15 @@
     </listitem>
    </itemizedlist>
    <important>
-    <para>You can manage your sent items for GroupWise e-mail only if the recipient is located on the same GroupWise system as you.</para>
+    <para>You can manage your sent items for GroupWise email only if the recipient is located on the same GroupWise system as you.</para>
    </important>
 
    <section id="Aaez1x0">
     <title>Confirming Delivery of Items You have Sent</title>
-    <para>Evolution provides several ways for you to confirm that your item was delivered. You can easily track message status of any message you have sent. For example, you can see when an e-mail was delivered and when the recipient opened or deleted the e-mail.</para>
+    <para>Evolution provides several ways for you to confirm that your item was delivered. You can easily track message status of any message you have sent. For example, you can see when an email was delivered and when the recipient opened or deleted the email.</para>
     <formalpara id="b17sa0q2">
      <title>Track an Item You Sent:</title>
-     <para> You can check the status in the Message Status window of an e-mail you have sent.</para>
+     <para> You can check the status in the Message Status window of an email you have sent.</para>
     </formalpara>
     <formalpara id="b17sa0y1">
      <title>Receive Notification When the Item is Opened or Deleted:</title>
@@ -5809,14 +5790,15 @@
     </formalpara>
     <formalpara id="b17sa1iu">
      <title>Request a Reply:</title>
-     <para>You can inform the recipient that you need a reply to an e-mail. Evolution adds a sentence to the item stating that a reply is requested and changes the icon in the recipient's Mailbox to a double arrow. For information, see <link linkend="Ak05sv1">Requesting a Reply for Items You Send</link>.</para>
+     <para>You can inform the recipient that you need a reply to an email. Evolution adds a sentence to the item stating that a reply is requested and changes the icon in the recipient's Mailbox to a double arrow. For information, see <link linkend="Ak05sv1">Requesting a Reply for Items You Send</link>.</para>
     </formalpara>
 
     <section id="b17qstbk">
      <title>Enabling Status Tracking</title>
      <orderedlist>
       <listitem id="b17qt8ih">
-       <para>In the Compose Message window, click Insert &gt; Send Options &gt; Status Tracking</para>
+       <para>In the Compose Message window, click Insert &gt; Send Options.</para>
+       <para>Select Status Tracking.</para>
        <mediaobject id="b17qsuu3"><imageobject><imagedata format="PNG" fileref="figures/evo_gwstatustrack.png"/></imageobject></mediaobject>
        
       </listitem>
@@ -5844,7 +5826,7 @@
      <title>Checking the Status of an Item You Have Sent</title>
      <orderedlist>
       <listitem id="Aaezj33">
-       <para>Right-click an e-mail in your Sent folder, then click Track Message Status.</para>
+       <para>Right-click an email in your Sent folder, then click Track Message Status.</para>
        <para>With Message Tracking, you know when the item reaches the recipients or is read by them. You also know exactly who received your message, who read your message, and who deleted it and when.</para>
       </listitem>
      </orderedlist>
@@ -5852,7 +5834,7 @@
    </section>
 
    <section id="bv7v0t1">
-    <title>Changing the Priority of an E-Mail</title>
+    <title>Changing the Priority of an Email</title>
     <orderedlist>
      <listitem id="bv7vmrv">
       <para>In the Compose Message window, click Insert &gt; Send Options.</para>
@@ -5908,7 +5890,7 @@
       <para>Click the Sent Items folder in the Folder List.</para>
      </listitem>
     </orderedlist>
-    <para>All sent items reside in this folder unless you select a different folder for sent e-mail in the account editor default settings. For more information, refer to <link linkend="b17s9qmz">Changing Default Folder for Sent and Draft Items</link> under <link linkend="b13uhy6r">Default Settings</link>.</para>
+    <para>All sent items reside in this folder unless you select a different folder for sent email in the account editor default settings. For more information, refer to <link linkend="b17s9qmz">Changing Default Folder for Sent and Draft Items</link> under <link linkend="b13uhy6r">Default Settings</link>.</para>
    </section>
    <section id="bxjm31g">
     <title>Delegating an Item</title>
@@ -6058,7 +6040,7 @@
     <title>Adding and Removing Proxy Names and Rights in Your Proxy List</title>
     <orderedlist>
      <listitem id="Aai4s3e">
-      <para>Click Edit &gt; Preferences, then click Mail Accounts.</para>
+      <para>Select Edit &gt; Preferences, then select Mail Accounts.</para>
      </listitem>
      <listitem id="bxmtp5i">
       <para>Select the GroupWise account to edit, then click Edit.</para>
@@ -6078,7 +6060,8 @@
       <para>Repeat <link linkend="Aai4sat">Step 4</link> and <link linkend="Aai4sll">Step 5</link> to assign rights to each user in the Proxy List.</para>
      </listitem>
      <listitem id="Aai4sse">
-      <para>Click OK, then click Close.</para>
+      <para>Click OK.</para>
+      <para>Click Close.</para>
      </listitem>
     </orderedlist>
     <para>To delete a user from the Proxy List, select the user, then click Remove User.</para>
@@ -6125,7 +6108,7 @@
 
   <section id="bxqwde6">
    <title>Junk Mail Handling</title>
-   <para>Junk mail handling for GroupWise accounts is a little different then other junk mail handling. When you mark an item as junk mail in GroupWise, the item is added to your junk list in the GroupWise system. Because these settings are on the GroupWise system, your junk list follows you from computer to computer.</para>
+   <para>Junk mail handling for GroupWise accounts is a little different than other junk mail handling. When you mark an item as junk mail in GroupWise, the item is added to your junk list in the GroupWise system. Because these settings are on the GroupWise system, your junk list follows you from computer to computer.</para>
    <itemizedlist>
     <listitem>
      <para><link linkend="bxqwfae">Marking a Message As Junk Mail</link></para>
@@ -6137,10 +6120,10 @@
      <para><link linkend="bxqwfgd">Enabling or Disabling Your Junk Mail List</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="bxqwjg6">Adding an E-Mail Address to Your Junk List</link></para>
+     <para><link linkend="bxqwjg6">Adding an Email Address to Your Junk List</link></para>
     </listitem>
     <listitem>
-     <para><link linkend="bxqwk0f">Removing an E-Mail Address from Your Junk List</link></para>
+     <para><link linkend="bxqwk0f">Removing an Email Address from Your Junk List</link></para>
     </listitem>
    </itemizedlist>
 
@@ -6184,13 +6167,13 @@
    </section>
 
    <section id="bxqwjg6">
-    <title>Adding an E-Mail Address to Your Junk List</title>
+    <title>Adding an Email Address to Your Junk List</title>
     <orderedlist>
      <listitem id="bxqwjmf">
       <para>Right-click a message, then click Junk Mail Settings.</para>
      </listitem>
      <listitem id="bxqwjq0">
-      <para>Type the e-mail address to block in the Email field.</para>
+      <para>Type the email address to block in the Email field.</para>
      </listitem>
      <listitem id="bxqwju6">
       <para>Click Add, then click OK.</para>
@@ -6199,13 +6182,13 @@
    </section>
 
    <section id="bxqwk0f">
-    <title>Removing an E-Mail Address from Your Junk List</title>
+    <title>Removing an Email Address from Your Junk List</title>
     <orderedlist>
      <listitem id="bxqwkeq">
       <para>Right-click a message, then click Junk Mail Settings.</para>
      </listitem>
      <listitem id="bxqwker">
-      <para>Select the e-mail address to remove, then click Remove.</para>
+      <para>Select the email address to remove, then click Remove.</para>
      </listitem>
      <listitem id="bxqwkes">
       <para>Click OK.</para>
@@ -6215,23 +6198,6 @@
   </section>
  </chapter>
 
- <chapter id="b1012tkg">
-  <title>Connecting to Hula</title>
-  <para><trademark>Evolution</trademark> supports mail connectivity to <trademark class="registered">Hula</trademark> servers through IMAP and calendaring support through CalDAV.</para>
-  <para>To add your Hula account to Evolution, you must create a new Hula account by performing the following steps:</para>
-  <orderedlist>
-   <listitem id="b10at9kq">
-    <para>Click Edit, click Preferences, then click Mail Accounts.</para>
-   </listitem>
-   <listitem id="b10at9yx">
-    <para>In the Preferences window, click Add.</para>
-   </listitem>
-   <listitem id="b10ata4v">
-    <para>Follow the procedure explained in <link linkend="usage-mainwindow-starting">Starting Evolution for the First Time</link>.</para>
-   </listitem>
-  </orderedlist>
- </chapter>
-
  <chapter id="config-prefs">
   <title>Advanced Configuration</title>
   <para>Perhaps your mail server has changed names. Or you have grown tired of a certain layout for your appointments. Whatever the reason, you can change your <trademark>Evolution</trademark> settings.</para>
@@ -6261,16 +6227,16 @@
     <para><link linkend="b1a4ol61">Debug Logs</link></para>
    </listitem>
   </itemizedlist>
-  <para>You reach the Evolution settings window by clicking Edit &gt; Preferences. In the left part of the settings window is a column, similar to the Evolution switcher, that lets you choose which portion of  Evolution to customize. The right part of the window is where you make your actual changes.</para>
+  <para>You reach the Evolution settings window by clicking Edit &gt; Preferences. In the left part of the settings window is a column, similar to the Evolution switcher, that lets you choose which portion of Evolution to customize. The right part of the window is where you make your actual changes.</para>
   <mediaobject id="config-prefs-mail-fig"><imageobject><imagedata format="PNG" fileref="figures/mailer_preferences.png"/></imageobject></mediaobject>
   <para>There are six items you can customize.</para>
   <formalpara id="b17sa7c0">
    <title>Mail Accounts:</title>
-   <para>Add or change information about your e-mail accounts, such as the servers you connect to, the way you download mail, and your password authentication mode. This is the most complex item in the list, and is covered in <link linkend="config-prefs-mail-identity">Working with Mail Accounts</link>.</para>
+   <para>Add or change information about your email accounts, such as the servers you connect to, the way you download mail, and your password authentication mode. This is the most complex item in the list, and is covered in <link linkend="config-prefs-mail-identity">Working with Mail Accounts</link>.</para>
   </formalpara>
   <formalpara id="b17sa7hj">
    <title>Autocompletion:</title>
-   <para>Set the contact groups to be used when completing e-mail addresses in the message composer. For more information, see <link linkend="bshoq5l">Autocompletion</link>.</para>
+   <para>Set the address books to be used when completing email addresses in the message composer. For more information, see <link linkend="bshoq5l">Autocompletion</link>.</para>
   </formalpara>
   <formalpara id="b17sa7qv">
    <title>Mail Preferences:</title>
@@ -6278,7 +6244,7 @@
   </formalpara>
   <formalpara id="b17sa85j">
    <title>Composer Preferences:</title>
-   <para>These are settings for the way that you use the mail composer, such as shortcuts, signatures, and spelling. This includes the ability to substitute graphical emoticons for  <quote>emoticons</quote> such as : ) that many people use in e-mail. This tool is covered in <link linkend="config-prefs-mail-composer">Composer Preferences</link>.</para>
+   <para>These are settings for the way that you use the mail composer, such as signatures, and spelling. This includes the ability to substitute graphical emoticons for <quote>emoticons</quote> such as : ) that many people use in email. This tool is covered in <link linkend="config-prefs-mail-composer">Composer Preferences</link>.</para>
   </formalpara>
   <formalpara id="b17sa8cq">
    <title>Calendar and Tasks:</title>
@@ -6292,17 +6258,17 @@
 
   <section id="config-prefs-mail-identity">
    <title>Working with Mail Accounts</title>
-   <para>Evolution allows you to maintain multiple accounts, or identities. When you are writing an e-mail message, you can choose which account to use by selecting from the drop-down list next to the From field in the message composer.</para>
-   <para>Click Send/Receive to select all mail sources that are not disabled. If you don't want to check mail for a given account, select the account in the Mail Accounts tab and click the Disable button.. </para>
+   <para>Evolution allows you to maintain multiple accounts, or identities. When you are writing an email message, you can choose which account to use by selecting from the drop-down list next to the From field in the message composer.</para>
+   <para>Click Send/Receive to update all mail sources that are not disabled. If you don't want to check mail for a given account, select the account in Edit &gt; Preferences &gt; Mail Accounts page and click the Disable button.</para>
    <para>To add a new account, click Add to open the Evolution configuration assistant. To alter an existing account, select it in the Preferences window, then click Edit to open the account editor dialog box.</para>
    <para>The account editor dialog box has seven sections:</para>
    <formalpara id="bsbhdwn">
     <title>Identity:</title>
-    <para>Specify the name and e-mail address for this account. You can also choose a default signature to insert into messages sent from this account.</para>
+    <para>Specify the name and email address for this account. You can also choose a default signature to insert into messages sent from this account.</para>
    </formalpara>
    <formalpara id="bsbhe10">
     <title>Receiving Email:</title>
-    <para>Select the way you receive e-mail. You can download e-mail from a <link linkend="pop">POP server</link>, read and keep it on the server (Microsoft Exchange, <trademark class="registered">Novell</trademark> <trademark class="registered">GroupWise</trademark>, or IMAP<link linkend="imap">IMAP</link>), or read it from files that already exist on your desktop computer. Your server requires you to use a Secure Socket Layer (SSL) connection. You can select from the given three options: No encryption, TLS encryption or SSL encryption.</para>
+    <para>Select the way you receive email. You can download email from a <link linkend="pop">POP server</link>, read and keep it on the server (Microsoft Exchange, <trademark class="registered">Novell</trademark> <trademark class="registered">GroupWise</trademark>, or IMAP<link linkend="imap">IMAP</link>), or read it from files that already exist on your desktop computer. If your server requires you to use a secure connection, you can select from the given three options: No encryption, TLS encryption or SSL encryption.</para>
    </formalpara>
    <para>Your system administrator might ask you to connect to a specific port on a mail server. To specify which port you use, just type a colon and the port number after the server name. For example, to connect to port 143 on the server smtp.example.com, specify smtp.example.com:143 as the server name.</para>
    <para>For additional information, see <link linkend="second-step">Receiving Mail</link>.</para>
@@ -6313,12 +6279,12 @@
    <para>For additional information, see <link linkend="more-mail-options">Receiving Mail Options</link>.</para>
    <formalpara id="bsbhltb">
     <title>Sending Mail:</title>
-    <para>Use this section to choose and configure a method for sending mail. You can choose <link linkend="smtp">SMTP</link>, Microsoft Exchange (if you have installed the Evolution Connector for Microsoft Exchange), or <link linkend="sendmail">Sendmail</link>.</para>
+    <para>Use this section to choose and configure a method for sending mail. You can choose <link linkend="smtp">SMTP</link>, Microsoft Exchange (if you have installed the Evolution Connector for Microsoft Exchange), <link linkend="sendmail">Sendmail</link> or many other options.</para>
    </formalpara>
    <para>For additional information, see <link linkend="third-step">Sending Mail</link>.</para>
    <formalpara id="bsbhn0t">
     <title>Defaults:</title>
-    <para>Use this section to set where this account stores the messages that it has sent, and the messages that you save as drafts. If you want to revert to the default settings, click Restore Defaults.</para>
+    <para>Use this section to set where this account stores the messages that it has sent, and the messages that you save as drafts. If you want to revert to the default settings, click Restore.</para>
    </formalpara>
    <para>If you want to send someone a copy of every message from this account, select either Always Carbon-Copy (Cc) To: or Always Blind Carbon-Copy (Bcc) To:, and specify one or more addresses.</para>
    <para>You can specify the way you want to receive message receipts. You can set Send message receipts to Never, Always or Ask for each message. For more information refer <link linkend="b13uhy6r">Default Settings</link>.</para>
@@ -6335,15 +6301,15 @@
 
   <section id="bshoq5l">
    <title>Autocompletion</title>
-   <para>The Autocompletion tool lets you choose address books to auto-complete names for you. This functionality requires accessibility to each of the address books you want to use. To enable autocompletion, select each of the address books that you want to use auto completion in the Autocompletion page.</para>
+   <para>The Autocompletion tool lets you choose address books to auto-complete names for you in the mail composer. This functionality requires accessibility to each of the address books you want to use. To enable autocompletion, select each of the address books that you want to use auto completion in the Autocompletion page.</para>
   </section>
 
   <section id="b15fx7uz">
    <title>IMAP Mail Headers</title>
-   <para>Evolution allow you to choose the headers that you want to download so that you can reduce the  download time and at the same time having control as to filter or move your mails around the way you like it. Evolution help you customize your IMAP Mail header preferences and thus save the download time. The IMAP Mail headers are as follows:</para>
+   <para>Evolution allows you to choose the headers that you want to download so that you can reduce the download time and filter or move your mail around the way you like it. Evolution help you customize your IMAP Mail header preferences and thus save the download time. The IMAP Mail header options are as follows:</para>
    <formalpara id="b15fzvdp">
     <title>All Headers:</title>
-    <para>This include all the available IMAP Mail headers. By choosing this option, Evolution will download all the Headers for all the messages.</para>
+    <para>This includes all the available IMAP Mail headers. By choosing this option, Evolution will download all the headers for all the messages.</para>
    </formalpara>
    <formalpara id="b15fzvjw">
     <title>Basic Headers:</title>
@@ -6351,9 +6317,9 @@
    </formalpara>
    <formalpara id="b15fzvq4">
     <title>Mailing List Headers:</title>
-    <para>Enable this option to have filters based on mailing list headers (like list ID) so that in addition to the basic headers, the headers that correspond to mailing-lists are also fetched. Mailing list headers will have the informations such as the mailing list ID, owner of the mailing list, and so on with which you can create mailing list filters.</para>
+    <para>Enable this option to have filters based on mailing list headers (like list ID) so that in addition to the basic headers, the headers that correspond to mailing-lists are also fetched. Mailing list headers will have the informations such as the mailinglist-ID, owner of the mailing list, and so on with which you can create mailing list filters.</para>
    </formalpara>
-   <para>This is the default Header preferences that comes with Evolution. When this option is chosen, Evolution will download a basic set of headers (as described above) along with a set of headers that are needed for client-side filters based on mailing lists. If you do not have any filters on Evolution, it is recommended to switch to the "Basic Headers Only"option.</para>
+   <para>This is the default Header preference that comes with Evolution. When this option is chosen, Evolution will download a basic set of headers (as described above) along with a set of headers that are needed for client-side filters based on mailing lists. If you do not have any filters on Evolution, it is recommended to switch to the "Basic Headers Only" option.</para>
    <formalpara id="b15g0l0t">
     <title>Custom Headers:</title>
     <para>These are the extra headers in addition to the above standard headers. You can add custom headers in addition to the standard headers. If you want to have filters based on some specific custom headers and you do not want to compromise on the network speed by downloading-all-mail-headers, Evolution provides a handy way of achieving this by the Custom Headers Option. Here, you can selectively Add/Remove headers based on your needs.</para>
@@ -6361,7 +6327,7 @@
    <note>
     <para>This option may not be needed if you have chosen to download ALL Headers.</para>
    </note>
-   <para>To set the IMAP Mail headers: </para>
+   <para>To set the IMAP Mail headers:</para>
    <orderedlist>
     <listitem id="b15fy0yh">
      <para>Select Edit &gt; Preferences.</para>
@@ -6384,7 +6350,7 @@
      <para>Click Basic Headers to download basic headers.</para>
     </listitem>
     <listitem id="b15g0kdi">
-     <para>Click Basic and Mailing Headers to download both. </para>
+     <para>Click Basic and Mailing Headers to download both.</para>
     </listitem>
     <listitem id="b15g160e">
      <para>Click Add to add any predefined custom headers.</para>
@@ -6421,23 +6387,23 @@
      <para><link linkend="bxjncro">Calendar and Tasks Preferences</link></para>
     </listitem>
    </itemizedlist>
-   <para>For information on individual e-mail account settings, see <link linkend="config-prefs-mail-identity">Working with Mail Accounts</link>.</para>
+   <para>For information on individual email account settings, see <link linkend="config-prefs-mail-identity">Working with Mail Accounts</link>.</para>
 
    <section id="config-prefs-mail-general">
     <title>General Mail Settings</title>
     <para>The General page has the following options:</para>
     <formalpara id="bsbhnw0">
      <title>Message Fonts:</title>
-     <para>Normally, Evolution uses the same fonts as other GNOME applications. To choose different fonts, deselect Use the same fonts as other applications and select one font for standard typefaces and a second for monospace, terminal, or display.</para>
+     <para>Normally, Evolution uses the same fonts as other GNOME applications. To choose different fonts, deselect Use the same fonts as other applications and select one font for standard typefaces and a second for monospace.</para>
     </formalpara>
     <formalpara id="bsbho3f">
      <title>Message Display:</title>
-     <para>Choose how long you want to wait before marking a message read, how to highlight quotations, and the default encoding. Enable <guilabel>Fall back to threading message by subject</guilabel> to group the messages as message threads. You can also set the limit to the number of addresses displayed in the message header by enabling <guilabel>Shrink To/CC/BCC header to</guilabel> option.You can also set the limit for rendering text content in the message you recive.By default, when you receive a message with text content more than 4096 Kilo Bytes, Evolution will not render the message in the preview pane. You can view unformatted text either inline or using an external application. You can also enable Magic spacebar and search folders. </para>
+     <para>Choose how long you want to wait before marking a message read, how to highlight quotations, and the default encoding. Enable <guilabel>Fall back to threading message by subject</guilabel> to group the messages as message threads. You can also set the limit to the number of addresses displayed in the message header by enabling <guilabel>Shrink To/CC/BCC header to</guilabel> option.You can also set the limit for rendering text content in the message you receive. By default, when you receive a message with text content more than 4096 Kilo Bytes, Evolution will not render the message in the preview pane. You can view unformatted text either inline or using an external application. You can also enable Magic spacebar and search folders.</para>
     </formalpara>
-    <para>To group the messages as threads select View &gt; Group By threads or press Ctrl +T.</para>
+    <para>To group the messages as threads select View &gt; Group By threads or press Ctrl+T.</para>
     <formalpara id="bsbhq3y">
      <title>Deleting Mail:</title>
-     <para>Choose whether to delete messages automatically when quitting Evolution and how frequently, and whether you want to explicitly confirm the final deletion of messages.Select Confirm when expunging a folder to confirm the final deletion. You can have four different options to set the frequency for deletion: Everytime, Once per day, Once per week, and Once per month.</para>
+     <para>Choose whether to delete messages automatically when quitting Evolution and how frequently, and whether you want to explicitly confirm the final deletion of messages. Select Confirm when expunging a folder to confirm the final deletion. You can have four different options to set the frequency for deletion: Everytime, Once per day, Once per week, and Once per month.</para>
     </formalpara>
     <formalpara id="bsbhq7t">
      <title>New Mail Notifications:</title>
@@ -6450,7 +6416,7 @@
     <para>The HTML Mail page has the following options:</para>
     <formalpara id="bsbhqot">
      <title>Show Image Animations:</title>
-     <para>Turns animation on or off.</para>
+     <para>Turns image animation (e.g. GIF files) on or off.</para>
     </formalpara>
     <formalpara id="bsbhquu">
      <title>Prompt When Sending HTML Messages to Contacts That Don't Want Them:</title>
@@ -6458,9 +6424,9 @@
     </formalpara>
     <formalpara id="bsbhr9p">
      <title>Loading Images:</title>
-     <para>You can embed a image in an e-mail and have it load only when the message arrives. However, spammers can use image loading patterns to confirm <quote>live</quote> addresses and invade your privacy. You can elect to never load images automatically, to load images only if the sender is in your contacts, or always load images.</para>
+     <para>You can embed a image in an email and have it load only when the message arrives. However, spammers can use image loading patterns to confirm <quote>valid</quote> addresses and invade your privacy. You can elect to never load images automatically, to load images only if the sender is in your contacts, or always load images.</para>
     </formalpara>
-    <para>If you have chosen not to load images automatically, you can choose to see the images in one message at a time by selecting View &gt; Load Images or press Ctrl +I.</para>
+    <para>If you have chosen not to load images automatically, you can choose to see the images in one message at a time by selecting View &gt; Load Images or press Ctrl+I.</para>
    </section>
 
    <section id="mail-prefs-colors">
@@ -6485,7 +6451,7 @@
       <para>Edit name and color, then click OK.</para>
      </listitem>
     </orderedlist>
-    <para>To assign a label to a specific e-mail message:</para>
+    <para>To assign a label to a specific email message:</para>
     <orderedlist>
      <listitem id="b1a58ynk">
       <para>Right-click the message from the message preview.</para>
@@ -6511,7 +6477,7 @@
 
    <section id="mail-prefs-junk">
     <title>Junk Mail Preferences</title>
-    <para>You can check your incoming messages for junk content by using Bogofilter and  SpamAssassin* tools, which have trainable Bayesian filters. You need to enable the Junk plugins to start filtering junk mail.</para>
+    <para>You can check your incoming messages for junk content by using Bogofilter and SpamAssassin&z-3rdParty; tools, which have trainable Bayesian filters. You need to enable the Junk plugins to start filtering junk mail.</para>
     <para>To enable Junk plugins:</para>
     <orderedlist>
      <listitem id="b17rdxkm">
@@ -6523,14 +6489,14 @@
     </orderedlist>
     <formalpara id="b17rdsy5">
      <title>General:</title>
-     <para>You can check incoming e-mail for junk contents and also decide how often you want to delete junk mail. You also have the option to choose either SpamAssassin or Bogofilter, or you can select both.</para>
+     <para>You can check incoming email for junk contents and also decide how often you want to delete junk mail. You also have the option to choose either SpamAssassin or Bogofilter, or you can select both.</para>
     </formalpara>
     <formalpara id="bsaz9zd">
      <title>Checking Incoming Mail for Junk:</title>
      <para>This option turns automatic junk mail filtering on or off.</para>
     </formalpara>
     <formalpara id="b17xmakf">
-     <title>Delete junk mails on exit:</title>
+     <title>Delete junk mail on exit:</title>
      <para>This option deletes junk messages when you exit. You can also specify when to delete the junk messages (every time, once per day, once per week, once per month).</para>
     </formalpara>
     <formalpara id="b17rfn2y">
@@ -6540,21 +6506,21 @@
     <mediaobject id="b17rds6i"><imageobject><imagedata format="PNG" fileref="figures/evo_junk_a.png"/></imageobject></mediaobject>
     <formalpara id="b17rfjfx">
      <title>SpamAssassin Options:</title>
-     <para>Remote Test performs junk mail filtering on remote servers. It also includes online tests, like checking for blacklisted message senders and ISPs. </para>
+     <para>Remote Test performs junk mail filtering on remote servers. It also includes online tests, like checking for blacklisted message senders and ISPs.</para>
     </formalpara>
     <para>This option uses tests that require a network connection, such as checking to see if a message is in a list of known junk messages, or if the sender or gateway are blacklisted by anti-spam organizations. Online tests can make filtering slower, because remote tests add to the amount of time it takes to check for junk mail, but they increase accuracy. When you select this option, you do not need to do any additional setup.</para>
     <formalpara id="b17rfjnv">
      <title>Bogofilter Options:</title>
-     <para>Select Convert mail text to Unicode to enable Unicode* filtering. For more information on Bogofilter, see the <ulink url="http://bogofilter.sourceforge.net/";>Bogofilter site</ulink>.</para>
+     <para>Select Convert mail text to Unicode to enable Unicode&z-3rdParty; filtering. For more information on Bogofilter, see the <ulink url="http://bogofilter.sourceforge.net/";>Bogofilter site</ulink>.</para>
     </formalpara>
     <note>
-     <para>Check new messages for junk contents option under Edit &gt; Preferences &gt; Mail Accounts &gt; Edit &gt; Receiving option is enabled only for IMAP. Check incoming mail for junk option under Edit &gt; Prefernces &gt; Mail Preferences &gt; Junk &gt; General refers only to POP and Local Delivery.</para>
+     <para>Check new messages for junk contents option under Edit &gt; Preferences &gt; Mail Accounts &gt; Edit &gt; Receiving options is enabled only for IMAP. Check incoming mail for junk option under Edit &gt; Preferences &gt; Mail Preferences &gt; Junk &gt; General refers only to POP and Local Delivery.</para>
     </note>
    </section>
 
    <section id="bxjnb81">
     <title>Automatic Contacts Preferences</title>
-    <para>There are two items in this section: Automatic Contacts automatically adds people that you respond to into your address book. You can select the default address book for automatic contacts from the list. </para>
+    <para>There are two items in this section: Automatic Contacts automatically adds people that you respond to into your address book. You can select the default address book for automatic contacts from the list.</para>
     <para>Instant Messaging Contacts periodically synchronizes contact information and images with your instant messaging program. Currently this only works with Pidgin. Your address book must not be a read-only one for both these features to function properly.</para>
    </section>
 
@@ -6566,7 +6532,7 @@
 
   <section id="config-prefs-mail-composer">
    <title>Composer Preferences</title>
-   <para>There are three tabs for message composer settings where you can set the composer preferences. The General tab covers shortcuts and assorted behavior, the Signature tab sets your signature, and the Spell Checking tab controls spell checking.</para>
+   <para>There are three tabs for message composer settings where you can set the composer preferences. The General tab covers assorted behavior, the Signature tab sets your signature, and the Spell Checking tab controls spell checking.</para>
    <itemizedlist>
     <listitem>
      <para><link linkend="bshpixy">General</link></para>
@@ -6581,7 +6547,7 @@
 
    <section id="bshpixy">
     <title>General</title>
-    <para>In the General tab, you can set the following options:</para>
+    <para>The General page has the following options:</para>
     <formalpara id="bsbhs8n">
      <title>Default Behavior:</title>
      <para>Choose how to normally forward and reply to messages, what character set they will use, whether they are in HTML, and whether that HTML can contain graphic emoticons.</para>
@@ -6613,18 +6579,19 @@
 
    <section id="bshpjpl">
     <title>Signature</title>
-    <para>The signature editor allows you to create several different signatures in plain text or in HTML, and to specify which of them will be added to e-mail you create in the message composer. If you prefer to use an alternate signature or none at all, you can select it from the mail composer itself.</para>
+    <para>The signature editor allows you to create several different signatures in plain text or in HTML, and to specify which of them will be added to email you create in the message composer. If you prefer to use an alternate signature or none at all, you can select it from the mail composer itself.</para>
    </section>
 
    <section id="bshpjuj">
     <title>Spell Checking</title>
-    <para>To choose a spell-checking language, select it here. You must install the gnome-spell package, for spell-checking to be available in Evolution. Additional dictionaries are also available through <trademark class="registered">Red Carpet</trademark> and are detected automatically if you have installed them. You must also install the aspell package. If this is the case, please contact your packager. To have the composer automatically check your spelling while you type, select Check Spelling While I Type. You can set the color for misspelled words.</para>
+    <para>To choose a spell-checking language, select it here. You must install gnome-spell, aspell, and an aspell language package
+(like for example aspell-en for english language) for spell-checking to be available in Evolution. Additional dictionaries are available through your package manager and are detected automatically if you have installed them. To have the composer automatically check your spelling while you type, select Check Spelling While I Type. You can set the color for misspelled words.</para>
    </section>
   </section>
 
   <section id="config-prefs-cal">
    <title>Calendar and Tasks Settings</title>
-   <para>The calendar configuration tool has four pages:</para>
+   <para>The calendar configuration tool has several pages:</para>
    <itemizedlist>
     <listitem>
      <para><link linkend="bshpskx">General</link></para>
@@ -6649,7 +6616,7 @@
     </formalpara>
     <formalpara id="bsbhup9">
      <title>Time Format:</title>
-     <para>Choose between twelve-hour (AM/PM) and twenty-four-hour time formats. </para>
+     <para>Choose between twelve-hour (AM/PM) and twenty-four-hour time formats.</para>
     </formalpara>
     <formalpara id="bsbhuut">
      <title>Week Starts:</title>
@@ -6657,7 +6624,7 @@
     </formalpara>
     <formalpara id="bsbhuzl">
      <title>Day Begins:</title>
-     <para>For Evolution, a normal work day begins at 9 a.m. and ends at 5 p.m. You can select your preferred hours to make sure that all your events are displayed properly. </para>
+     <para>For Evolution, a normal work day begins at 9 a.m. and ends at 5 p.m. You can select your preferred hours.</para>
     </formalpara>
     <formalpara id="bsbhv3n">
      <title>Day Ends:</title>
@@ -6712,7 +6679,7 @@
 
    <section id="b13yjhw2">
     <title>Free/Busy</title>
-    <para>Allows you to specify a template to use while posting your Free/Buy information to a server.</para>
+    <para>You can specify a template to use when posting to the Free/Busy server.</para>
    </section>
 
    <section id="bxjng8p">
@@ -6729,7 +6696,7 @@
    <para>Evolution allows you to add certificates for yourself as well as for contacts. This allows you to communicate with others securely over an encrypted connection, or sign a message confirming your identity to the contact. These settings only apply to S/MIME encryption.</para>
    <formalpara id="bshov9m">
     <title>Your Certificates:</title>
-    <para>Click the Your Certificates tab to display a list of certificates that you own. You can import, view, back up and delete your certificates from this page.</para>
+    <para>Click the Your Certificates tab to display a list of certificates that you own. You can import, view and delete your certificates from this page.</para>
    </formalpara>
    <formalpara id="bshovvp">
     <title>Contact Certificates:</title>
@@ -6797,24 +6764,24 @@
       </formalpara>
      </listitem>
      <listitem id="bxmw8kf">
-      <para>If you selected On This Computer, specify the name of the computer, and choose whether you want to the new address book as your default folder.</para>
+      <para>If you selected On This Computer, specify the name of the address book, and choose whether you want to the new address book as your default folder.</para>
       <para>or</para>
-      <para> If you are creating an <link linkend="ldap">LDAP</link> server, enter the server information as requested by the assistant:</para>
+      <para> If you are creating an address book on an <link linkend="ldap">LDAP</link> server, enter the server information as requested by the assistant:</para>
       <formalpara id="bxmwai1">
        <title>Server Name:</title>
        <para>The Internet address of the contact server you are using.</para>
       </formalpara>
       <formalpara id="bxmwai2">
        <title>Login Method:</title>
-       <para>Specify whether your login is anonymous, uses an e-mail address, or uses a distinguished name. If the login is not anonymous, specify the e-mail address or distinguished name (DN) required by the server.</para>
+       <para>Specify whether your login is anonymous, uses an email address, or uses a distinguished name. If the login is not anonymous, specify the email address or distinguished name (DN) required by the server.</para>
       </formalpara>
       <formalpara id="bxmwai3">
        <title>Port:</title>
-       <para>The Internet port Evolution connects to in order to access the LDAP database. This is normally 389. </para>
+       <para>The Internet port Evolution connects to in order to access the LDAP database. This is normally 389.</para>
       </formalpara>
       <formalpara id="bxmwai4">
        <title>Use SSL/TLS:</title>
-       <para>SSL and TLS are security mechanisms. If you select Always, Evolution does not connect unless secure connections are available. The default value is Whenever Possible, which uses secure connections if they are available, but does not cause failure if they are not. </para>
+       <para>SSL and TLS are security mechanisms. If you select No Encryption, Evolution will send your password unencrypted. By using SSL or TLS, a secure connection will be used and your password will be sent encrypted.</para>
       </formalpara>
       <formalpara id="bxmwai5">
        <title>Details: Search Base:</title>
@@ -6860,7 +6827,7 @@
        <title>Search Filter:</title>
        <para>The search filter can be set here for all the LDAP queries. For example:</para>
       </formalpara>
-      <para>ObjectClass=*: Lists all the objects from the server.ObjectClass=User: Lists only the user objects.Filter (|(ObjectClass=User)(ObjectClass=groupOfNames)): Retrieves the User and Contact List objects.(&amp;(mail=*)(ObjectClass=*)): Lists the objects associated with the e-mail addresses.</para>
+      <para>ObjectClass=*: Lists all the objects from the server.ObjectClass=User: Lists only the users. Filter (|(ObjectClass=User)(ObjectClass=groupOfNames)): Retrieves the User and Contact List objects.(&amp;(mail=*)(ObjectClass=*)): Lists the objects associated with the email addresses.</para>
       <note>
        <para>If you change any LDAP address book configurations, Evolution and the Evolution Data Server need to be restarted in order to see the changes.</para>
       </note>
@@ -6883,7 +6850,7 @@
      <mediaobject id="b1a4or91"><imageobject><imagedata format="PNG" fileref="figures/evo_debuglogs_a.png"/></imageobject></mediaobject>
     </listitem>
     <listitem id="b1a4orv0">
-     <para>Specify the display duration for the error messages. </para>
+     <para>Specify the display duration for the error messages.</para>
      <para>The messages remain in the statusbar for this specified time.</para>
     </listitem>
    </orderedlist>
@@ -6910,7 +6877,7 @@
 
   <section id="bshq58g">
    <title>Enabling Synchronization</title>
-   <para>If you haven't used a handheld device with your computer before, you need to run the GNOME Control Center by clicking System &gt; Settings, and make sure that Pilot Link is properly configured. Make sure that you have read and write permissions on the device, which is normally n /dev/pilot. If that does not work, check in /dev/ttyS0 if you have a serial connection, or in /dev/ttyUSB1 for a USB connection. You can do this by becoming root and adding your username to the group that owns this device node. For a USB device on sync, two device nodes are created, ttyUSB0 and ttyUSB1. The second node is the one to be used in configuring the device.</para>
+   <para>If you haven't used a handheld device with your computer before, you need to run the GNOME Control Center by clicking System &gt; Settings, and make sure that Pilot Link is properly configured. Make sure that you have read and write permissions on the device, which is normally in /dev/pilot. If that does not work, check in /dev/ttyS0 if you have a serial connection, or in /dev/ttyUSB1 for a USB connection. You can do this by becoming root and adding your username to the group that owns this device node. For a USB device on sync, two device nodes are created, ttyUSB0 and ttyUSB1. The second node is the one to be used in configuring the device.</para>
   </section>
 
   <section id="bshq7hl">
@@ -6939,7 +6906,7 @@
   <section id="bshq2qn">
    <title>Synchronizing Information</title>
    <para>Use the following procedure to synchronize the data on your Palm OS device with the data you store in Evolution.</para>
-   <para>If you want to back up your information before synchronizing, make a copy of the <command>evolution</command> directory inside your home directory.</para>
+   <para>If you want to back up your information before synchronizing, make a copy of the <command>.evolution</command> directory inside your home directory.</para>
    <orderedlist>
     <listitem id="bshq1vg">
      <para>Put your handheld device in its cradle and press the HotSync button.</para>
@@ -6971,7 +6938,7 @@
     </listitem>
    </orderedlist>
    <para>Mozilla creates a set of files in the directory<command> Windows\Application_Data\Mozilla\Profiles\(UserName)\(Random Letters)\Mail\Local Folders\OutlookMail\</command>. The data files are those that have no file extension.</para>
-   <para>If you are using Windows XP or Windows 2000, your Windows hard drive is probably in the NTFS format, which some Linux systems cannot read without additional software. You might find it simpler to copy the mail folders to a different drive or to burn a CD.</para>
+   <para>If you are using Windows Vista&z-3rdParty;, Windows XP&z-3rdParty; or Windows 2000&z-3rdParty;, your Windows hard drive is probably in the NTFS format, which some Linux systems cannot read without additional software. You might find it simpler to copy the mail folders to a different drive or to burn a CD.</para>
    <para>When you have your mail in a format Evolution can understand, reboot to Linux. Then continue with the following procedure. To create new folders for your files:</para>
    <orderedlist>
     <listitem id="bshqeej">
@@ -6984,7 +6951,7 @@
      <para>Start Evolution.</para>
     </listitem>
     <listitem id="bshqejx">
-     <para>Select File &gt; New Folder to create the folders you want.</para>
+     <para>Select File &gt; New &gt; Mail Folder to create the folders you want.</para>
     </listitem>
    </orderedlist>
    <para>To import the data files:</para>
@@ -6993,10 +6960,10 @@
      <para>In Evolution, open the File Import assistant by clicking File &gt; Import.</para>
     </listitem>
     <listitem id="bshqera">
-     <para>Click Next, then select Import A Single File.</para>
+     <para>Click Next, then select Import a single file.</para>
     </listitem>
     <listitem id="bshqesz">
-     <para>Leave the file type as Automatic, then click Browse to select the data file.</para>
+     <para>Click on the filechooser to select the data file.</para>
      <para>Remember, the data files are the files that have no file extension.</para>
     </listitem>
     <listitem id="bshqeuv">
@@ -7034,24 +7001,24 @@
    <title>Opening or Creating Items</title>
    <mediaobject id="b17sanky"><imageobject><imagedata format="PNG" fileref="figures/quick_reference.png"/></imageobject></mediaobject>
    <formalpara id="b17sa9kd">
-    <title>New Item: </title>
+    <title>New Item:</title>
     <para>Press Ctrl+N to open a new item for whatever part of Evolution you're working in. In mail, this means you create a new message. If you're looking at your address book, Ctrl+N creates a new contact card, and in the calendar, a new appointment.</para>
    </formalpara>
    <formalpara id="b17sa9q1">
-    <title>Creating a New E-mail Message:</title>
-    <para>Use File &gt; New &gt; Mail Message or Shift+Ctrl+M. </para>
+    <title>Creating a New Email Message:</title>
+    <para>Click File &gt; New &gt; Mail Message or Shift+Ctrl+M.</para>
    </formalpara>
    <formalpara id="b17saa12">
     <title>Creating a New Appointment:</title>
-    <para>Use File &gt; New Appointment or Shift+Ctrl+A.</para>
+    <para>Click File &gt; New &gt; Appointment or Shift+Ctrl+A.</para>
    </formalpara>
    <formalpara id="b17saa8l">
     <title>Entering a New Contact:</title>
-    <para>Double-click in any blank space in the contact manager to create a new address card. You can also use File &gt; New Contact or Shift+Ctrl+C.</para>
+    <para>Double-click in any blank space in the contact manager to create a new address card. You can also click File &gt; New &gt; Contact or Shift+Ctrl+C.</para>
    </formalpara>
    <formalpara id="b17saahc">
     <title>Creating a New Task:</title>
-    <para>File &gt; New Task or Shift+Ctrl+T.</para>
+    <para>Click File &gt; New &gt; Task or Shift+Ctrl+T.</para>
    </formalpara>
   </section>
 
@@ -7088,7 +7055,7 @@
    </formalpara>
    <formalpara id="b17sazyg">
     <title>Adding a Sender to the Address Book:</title>
-    <para>Right-click a message and select Add Sender to Address Book. You can also right-click on any e-mail address to add it to your address book.</para>
+    <para>Right-click on any email address to add it to your address book.</para>
    </formalpara>
   </section>
 
@@ -7096,12 +7063,12 @@
    <title>Calendar</title>
    <formalpara id="b17sb0hv">
     <title>Creating a New Appointment:</title>
-    <para>Use File &gt; New Appointment or Shift+Ctrl+A.</para>
+    <para>Click File &gt; New &gt; Appointment or Shift+Ctrl+A.</para>
    </formalpara>
    <para>You can also click in any blank spot in the calendar and start typing to create a new appointment entry.</para>
    <formalpara id="b17sb0tt">
     <title>Creating a New Task:</title>
-    <para>Use File &gt; New Task or Shift+Ctrl+T.</para>
+    <para>Click File &gt; New &gt; Task or Shift+Ctrl+T.</para>
    </formalpara>
   </section>
 
@@ -7112,15 +7079,15 @@
     <para>Double-click the contact's address card to change details.</para>
    </formalpara>
    <formalpara id="b17sb24c">
-    <title>Deleting a Contact: </title>
-    <para>Right-click a contact, then click Delete; or select a contact, then click Delete on the toolbar. </para>
+    <title>Deleting a Contact:</title>
+    <para>Right-click a contact, then click Delete; or select a contact, then click Delete on the toolbar.</para>
    </formalpara>
    <formalpara id="b17sb29u">
-    <title>Sending E-mails to a Contact:</title>
+    <title>Sending Emails to a Contact:</title>
     <para>Right-click a contact, then click Send Message to Contact.</para>
    </formalpara>
    <formalpara id="b17sb2ia">
-    <title>Creating a New Contact: </title>
+    <title>Creating a New Contact:</title>
     <para>Double-click in any blank space in the contact manager to create a new address card, or right-click anywhere in the address book and select New Contact. You can also click File &gt; New Contact or press Shift+Ctrl+C.</para>
    </formalpara>
   </section>
@@ -7134,9 +7101,9 @@
 
  <appendix id="authors">
   <title>Authors</title>
-  <para>Evolution was written by the <trademark>Evolution</trademark> team and numerous other dedicated GNOME programmers. You can see their names by clicking Help &gt; About from any Evolution window.</para>
+  <para>Evolution was written by the <trademark>Evolution</trademark> team and numerous other dedicated GNOME programmers. You can see their names by clicking Help &gt; About from the main Evolution window.</para>
   <para>The Evolution code owes a great debt to the GNOME-pim and GNOME-Calendar applications, and to KHTMLW. The developers of Evolution acknowledge the efforts and contributions of all who worked on those projects.</para>
-  <para>For more information please visit the Evolution <ulink url="http://www.novell.com/products/desktop/features/evolution.html";>Web page</ulink>. Please send all comments, suggestions, and bug reports to the <ulink url="http://bugzilla.gnome.com";>bug tracking database</ulink>. Instructions for submitting bug reports can be found on-line at the same location. You can also use the GNOME bug report tool, bug-buddy, to submit your defect reports.</para>
+  <para>For more information please visit the Evolution <ulink url="http://www.gnome.org/projects/evolution";>Web page</ulink>. Please send all comments, suggestions, and bug reports to the <ulink url="http://bugzilla.gnome.org";>bug tracking database</ulink>. Instructions for submitting bug reports can be found on-line at the same location. You can also use the GNOME bug report tool, bug-buddy, to submit your defect reports.</para>
   <para>This manual was written by:</para>
   <itemizedlist>
    <listitem>
@@ -7173,7 +7140,7 @@
     <para>With the help of the application programmers and the GNOME Documentation Project.</para>
    </listitem>
   </itemizedlist>
-  <para>Please file comments and suggestions for this manual as bugs in the GNOME bug tracking system. If you contributed to this project but do not see your name here, please contact Radhika PC (pradhika novell com) or Sreenivasa Ragavan (sragavan novell com) and either of them will list you.</para>
+  <para>Please file comments and suggestions for this manual as bugs in the GNOME bug tracking system. If you contributed to this project but do not see your name here, please contact Radhika PC (pradhika novell com) or Srinivasa Ragavan (sragavan novell com) and either of them will list you.</para>
   <para>Partial list of Documentation Translators (application translated to numerous additional languages):</para>
   <itemizedlist>
    <listitem>
@@ -7203,13 +7170,13 @@
   <glossentry id="attachment">
    <glossterm>attachment</glossterm>
    <glossdef>
-    <para>Any file sent with an e-mail. Attachments can be embedded in a message or appended to it.</para>
+    <para>Any file sent with an email. Attachments can be embedded in a message or appended to it.</para>
    </glossdef>
   </glossentry>
   <glossentry id="automatic-indexing">
    <glossterm>automatic indexing</glossterm>
    <glossdef>
-    <para>A pre-downloading procedure that allows Evolution to quickly refer to data. It enables faster searches and decreases memory usage for data displays.</para>
+    <para>A feature which allows Evolution to quickly find and sort data.</para>
    </glossdef>
   </glossentry>
   <glossentry id="bsi89la">
@@ -7263,19 +7230,19 @@
   <glossentry id="forward">
    <glossterm>forward</glossterm>
    <glossdef>
-    <para>Forwards a copy of the message and any additional comments to a different e-mail address.</para>
+    <para>Forwards a copy of the message and any additional comments to a different email address.</para>
    </glossdef>
   </glossentry>
   <glossentry id="groupware">
    <glossterm>groupware</glossterm>
    <glossdef>
-    <para>A term describing an application that helps groups of people work together. Typically, a groupware application has several productivity features built into one program, including e-mail, calendar, and address book tools.</para>
+    <para>A term describing an application that helps groups of people work together. Typically, a groupware application has several productivity features built into one program, including email, calendar, and address book tools.</para>
    </glossdef>
   </glossentry>
   <glossentry id="html">
    <glossterm>HTML</glossterm>
    <glossdef>
-    <para>Hypertext Markup Language (HTML) is a language for describing page layout in electronic documents such as Web pages, help files, and e-mail messages. HTML can be used in e-mail and news posts to insert images and apply text treatments.</para>
+    <para>Hypertext Markup Language (HTML) is a language for describing page layout in electronic documents such as Web pages, help files, and email messages. HTML can be used in email and news posts to insert images and apply text treatments.</para>
    </glossdef>
   </glossentry>
   <glossentry id="ical">
@@ -7287,7 +7254,7 @@
   <glossentry id="imap">
    <glossterm>IMAP</glossterm>
    <glossdef>
-    <para>Internet Mail Access Protocol. It allows access to e-mail that is typically stored remotely on a server rather than on a local hard disk. Often contrasted with POP.</para>
+    <para>Internet Mail Access Protocol. It allows access to email that is typically stored remotely on a server rather than on a local hard disk. Often contrasted with POP.</para>
    </glossdef>
   </glossentry>
   <glossentry id="inline">
@@ -7305,19 +7272,19 @@
   <glossentry id="mail-client">
    <glossterm>mail client</glossterm>
    <glossdef>
-    <para>The application with which a person reads and sends e-mail. Its counterparts are the various types of mail servers, which handle user authentication and direct messages from the sender to the recipient.</para>
+    <para>The application with which a person reads and sends email. Its counterparts are the various types of mail servers, which handle user authentication and direct messages from the sender to the recipient.</para>
    </glossdef>
   </glossentry>
   <glossentry id="pop">
    <glossterm>POP</glossterm>
    <glossdef>
-    <para>Post Office Protocol. A mechanism for e-mail transport. In contrast to IMAP, it is used only to get mail from a server and store it locally on your hard disk.</para>
+    <para>Post Office Protocol. A mechanism for email transport. In contrast to IMAP, it is used only to get mail from a server and store it locally on your hard disk.</para>
    </glossdef>
   </glossentry>
   <glossentry id="protocol">
    <glossterm>protocol</glossterm>
    <glossdef>
-    <para>An agreed-upon method of communication, especially one for sending particular types of information between computer systems. Examples include POP (Post Office Protocol), for e-mail, and HTTP (HypterText Transfer Protocol) for Web pages.</para>
+    <para>An agreed-upon method of communication, especially one for sending particular types of information between computer systems. Examples include POP (Post Office Protocol), for email, and HTTP (HyperText Transfer Protocol) for Web pages.</para>
    </glossdef>
   </glossentry>
   <glossentry id="public-key-encryption">
@@ -7347,7 +7314,7 @@
   <glossentry id="vfolder">
    <glossterm>search folder</glossterm>
    <glossdef>
-    <para>An e-mail organization tool. Search folders allow you to create a folder that contains the results of a complex search. Search folder contents are updated dynamically.</para>
+    <para>An email organization tool. Search folders allow you to create a folder that contains the results of a complex search. Search folder contents are updated dynamically.</para>
    </glossdef>
   </glossentry>
   <glossentry id="search-scope">
@@ -7371,7 +7338,7 @@
   <glossentry id="signature">
    <glossterm>signature</glossterm>
    <glossdef>
-    <para>Text placed at the end of every e-mail sent, similar to a hand-written signature at the bottom of a written letter. A signature can be anything from a favorite quotation to a link to a Web page; courtesy dictates that it be fewer than four lines long.</para>
+    <para>Text placed at the end of every email sent, similar to a hand-written signature at the bottom of a written letter. A signature can be anything from a favorite quotation to a link to a Web page; courtesy dictates that it be fewer than four lines long.</para>
    </glossdef>
   </glossentry>
   <glossentry id="smtp">
@@ -7395,7 +7362,7 @@
   <glossentry id="vcard">
    <glossterm>vCard</glossterm>
    <glossdef>
-    <para>A file format for the exchange of contact information. When you get an address card attached to an e-mail, it is probably in vCard format.</para>
+    <para>A file format for the exchange of contact information. When you get an address card attached to an email, it is probably in vCard format.</para>
    </glossdef>
   </glossentry>
  </glossary>

Modified: branches/kill-bonobo/help/Makefile.am
==============================================================================
--- branches/kill-bonobo/help/Makefile.am	(original)
+++ branches/kill-bonobo/help/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -9,7 +9,7 @@
 DOC_FIGURES =  \
 	figures/account_editor_a.png 		\
 	figures/addrs_book_a.png		\
-	figures/attach_reminder_a.png.png	\
+	figures/attach_reminder_a.png		\
 	figures/calendar.png 			\
 	figures/categories_a.png 		\
 	figures/collap_head_a.png 		\

Modified: branches/kill-bonobo/help/quickref/C/quickref.tex
==============================================================================
--- branches/kill-bonobo/help/quickref/C/quickref.tex	(original)
+++ branches/kill-bonobo/help/quickref/C/quickref.tex	Fri Aug  8 04:26:12 2008
@@ -48,7 +48,7 @@
 		\textit{\textbf{Components}}		&					\\
 		Mail					& \textbf{Ctrl+1}			\\
 		Contacts				& \textbf{Ctrl+2}			\\
-		Calendar				& \textbf{Ctrl+3}			\\
+		Calendars				& \textbf{Ctrl+3}			\\
 		Tasks					& \textbf{Ctrl+4}			\\
 		\vspace{1.5mm}
 		Memos					& \textbf{Ctrl+5}			\\
@@ -67,7 +67,7 @@
 		Move mail/contacts to folder		& \textbf{Shift+Ctrl+V}			\\
 		Copy mail/contacts to folder		& \textbf{Shift+Ctrl+Y}			\\
 	\end{tabular*}
-	\section*{Contacts/Memo Components}
+	\section*{Contacts/Memos Components}
 	\begin{tabular*}{4in}{rp{1.5in}}
 		\textit{\textbf{General Commands}}	&					\\
 		New contact				& \textbf{Shift+Ctrl+C}			\\
@@ -97,7 +97,7 @@
 		Scroll up				& \textbf{Backspace}			\\
 		Scroll down				& \textbf{Space}			\\
 	\end{tabular*}
-	\section*{Calendar/Task Components}
+	\section*{Calendars/Tasks Components}
 	\begin{tabular*}{4in}{rp{1.5in}}
 		\textit{\textbf{General Commands}}	&					\\
 		New appointment				& \textbf{Shift+Ctrl+A}			\\

Modified: branches/kill-bonobo/mail/GNOME_Evolution_Mail.server.in.in
==============================================================================
--- branches/kill-bonobo/mail/GNOME_Evolution_Mail.server.in.in	(original)
+++ branches/kill-bonobo/mail/GNOME_Evolution_Mail.server.in.in	Fri Aug  8 04:26:12 2008
@@ -34,9 +34,9 @@
     <oaf_attribute name="evolution:button_label" type="string" _value="Mail"/>
 	<oaf_attribute name="evolution:button_tooltips" type="string" _value="Mail"/>
     <oaf_attribute name="evolution:button_sort_order" type="string" value="-10"/>
-    <oaf_attribute name="evolution:button_icon" type="string" value="stock_mail"/>
+    <oaf_attribute name="evolution:button_icon" type="string" value="evolution-mail"/>
 
-    <oaf_attribute name="evolution:component_icon" type="string" value="stock_mail"/>
+    <oaf_attribute name="evolution:component_icon" type="string" value="evolution-mail"/>
     <oaf_attribute name="evolution:component_display_order" type="number" value="1"/>
 
     <oaf_attribute name="evolution:uri_schemas" type="stringv">
@@ -59,7 +59,7 @@
 		   _value="Evolution Mail component"/>
 
     <oaf_attribute name="evolution:shell_component_icon" type="string"
-		   value="stock_mail"/>
+		   value="evolution-mail"/>
     <oaf_attribute name="evolution:shell_component_launch_order" type="number"
 		   value="1"/>
   </oaf_server>
@@ -177,7 +177,7 @@
 		   _value="Configure your network connection settings here"/>
 
     <oaf_attribute name="evolution2:config_item:icon_name" type="string"
-		   value="stock_proxy"/>
+		   value="preferences-system-network-proxy"/>
     
     <oaf_attribute name="evolution2:config_item:priority" type="string" value="-8"/>
     

Modified: branches/kill-bonobo/mail/e-searching-tokenizer.c
==============================================================================
--- branches/kill-bonobo/mail/e-searching-tokenizer.c	(original)
+++ branches/kill-bonobo/mail/e-searching-tokenizer.c	Fri Aug  8 04:26:12 2008
@@ -224,6 +224,8 @@
 	EMemChunk *match_chunks;
 };
 
+/* will be enabled only if debug is enabled */
+#if d(1) -1 != -1
 static void
 dump_trie(struct _state *s, int d)
 {
@@ -242,6 +244,7 @@
 		m = m->next;
 	}
 }
+#endif
 
 /* This builds an Aho-Corasick search trie for a set of utf8 words */
 /* See

Modified: branches/kill-bonobo/mail/em-account-editor.c
==============================================================================
--- branches/kill-bonobo/mail/em-account-editor.c	(original)
+++ branches/kill-bonobo/mail/em-account-editor.c	Fri Aug  8 04:26:12 2008
@@ -2020,6 +2020,96 @@
 	return hbox;
 }
 
+static void
+emae_option_options_changed (GtkComboBox *options, EMAccountEditorService *service)
+{
+	const char *name = g_object_get_data (G_OBJECT (options), "option-name");
+	char *value = NULL;
+	CamelURL *url = emae_account_url (service->emae, emae_service_info[service->type].account_uri_key);
+	int id = gtk_combo_box_get_active (options);
+
+	if (id != -1) {
+		GtkTreeModel *model;
+		GtkTreeIter iter;
+
+		model = gtk_combo_box_get_model (options);
+		if (gtk_tree_model_iter_nth_child (model, &iter, NULL, id)) {
+			gtk_tree_model_get (model, &iter, 0, &value, -1);
+		}
+	}
+
+	camel_url_set_param (url, name, value);
+	emae_uri_changed (service, url);
+	camel_url_free (url);
+	g_free (value);
+}
+
+/* 'values' is in format "value0:caption0:value2:caption2:...valueN:captionN" */
+static GtkWidget *
+emae_option_options (EMAccountEditorService *service, CamelURL *url, const char *name, const char *values, GtkWidget *l)
+{
+	GtkComboBox *w;
+	GtkListStore *store;
+	GtkTreeIter iter;
+	const char *p, *value, *caption;
+	GtkCellRenderer *cell;
+	int active = 0; /* the first item entered is always a default item */
+	int i;
+	const char *val = camel_url_get_param (url, name);
+
+	w = GTK_COMBO_BOX (gtk_combo_box_new ());
+
+	/* value and caption */
+	store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
+
+	p = values;
+	for (p = values, i = 0; p; i++) {
+		char *vl, *cp;
+
+		value = p;
+		caption = strchr (p, ':');
+		if (caption) {
+			caption++;
+		} else {
+			g_warning (G_STRLOC ": expected ':' not found at '%s'", p);
+			break;
+		}
+		p = strchr (caption, ':');
+
+		vl = g_strndup (value, caption - value - 1);
+		if (p) {
+			p++;
+			cp = g_strndup (caption, p - caption - 1);
+		} else
+			cp = g_strdup (caption);
+
+		gtk_list_store_append (store, &iter);
+		gtk_list_store_set (store, &iter, 0, vl, 1, dgettext (service->provider->translation_domain, cp), -1);
+
+		if (val && g_ascii_strcasecmp (val, vl) == 0)
+			active = i;
+
+		g_free (vl);
+		g_free (cp);
+	}
+
+	gtk_combo_box_set_model (w, (GtkTreeModel *)store);
+	gtk_combo_box_set_active (w, i > 0 ? active : -1);
+
+	cell = gtk_cell_renderer_text_new ();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (w), cell, TRUE);
+	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (w), cell, "text", 1, NULL);
+
+	gtk_widget_show (GTK_WIDGET (w));
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (l), GTK_WIDGET (w));
+
+	g_object_set_data (G_OBJECT (w), "option-name", (void *)name);
+	g_signal_connect (w, "changed", G_CALLBACK (emae_option_options_changed), service);
+
+	return GTK_WIDGET (w);
+}
+
 static GtkWidget *
 emae_receive_options_item(EConfig *ec, EConfigItem *item, struct _GtkWidget *parent, struct _GtkWidget *old, void *data)
 {
@@ -2062,7 +2152,7 @@
 {
 	EMAccountEditor *emae = data;
 	struct _receive_options_item *item = (struct _receive_options_item *)eitem;
-	GtkWidget *w, *l;
+	GtkWidget *w, *l, *h;
 	CamelProviderConfEntry *entries;
 	GtkWidget *depw;
 	GSList *depl = NULL, *n;
@@ -2151,6 +2241,20 @@
 				depl = g_slist_prepend(depl, w);
 			row++;
 			break;
+		case CAMEL_PROVIDER_CONF_OPTIONS:
+			h = gtk_hbox_new (FALSE, 4);
+			gtk_widget_show (h);
+			l = g_object_new (gtk_label_get_type (), "label", entries[i].text, "xalign", 0.0, "use_underline", TRUE, NULL);
+			gtk_widget_show (l);
+			w = emae_option_options (service, url, entries[i].name, entries[i].value, l);
+			gtk_box_pack_start (GTK_BOX (h), l, FALSE, FALSE, 0);
+			gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0);
+			gtk_table_attach ((GtkTable *)parent, h, 0, 2, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+			if (depw) {
+				depl = g_slist_prepend (depl, h);
+			}
+			row++;
+			break;
 		default:
 			break;
 		}

Modified: branches/kill-bonobo/mail/em-composer-utils.c
==============================================================================
--- branches/kill-bonobo/mail/em-composer-utils.c	(original)
+++ branches/kill-bonobo/mail/em-composer-utils.c	Fri Aug  8 04:26:12 2008
@@ -68,6 +68,8 @@
 #define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0)
 #endif
 
+#define GCONF_KEY_TEMPLATE_PLACEHOLDERS "/apps/evolution/mail/template_placeholders"
+
 static EAccount * guess_account (CamelMimeMessage *message, CamelFolder *folder);
 
 struct emcs_t {
@@ -808,8 +810,143 @@
 {
 	EMsgComposer *composer;
 
+	/* Template specific code follows. */
+	if (em_utils_folder_is_templates(drafts, NULL) == TRUE) {
+		/* retrieve the message from the CamelFolder */
+		CamelDataWrapper *content;
+		CamelStream *mem;
+		CamelContentType *type;
+		CamelMimePart *mime_part = CAMEL_MIME_PART (message);
+		CamelDataWrapper *mail_text;
+		CamelMultipart *body = camel_multipart_new ();
+		CamelStream *stream;		
+		CamelMimePart *part;
+		int count1 = 0, string_changed = 0;
+
+		char *str;
+		gint count = 2;
+
+		content = camel_medium_get_content_object ((CamelMedium *) message);
+		if (!content)
+			return;
+
+		/*
+		 * Get non-multipart content from multipart message.
+		 */
+		while (CAMEL_IS_MULTIPART (content) && count > 0)
+		{
+			mime_part = camel_multipart_get_part (CAMEL_MULTIPART (content), 0);
+			content = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part));
+			count--;
+		}
+
+		if (!mime_part)
+			return;
+
+		type = camel_mime_part_get_content_type (mime_part);
+		if (!camel_content_type_is (type, "text", "plain"))
+			return;
+
+		mem = camel_stream_mem_new ();
+		camel_data_wrapper_decode_to_stream (content, mem);
+
+		str = g_strndup ((const gchar*)((CamelStreamMem *) mem)->buffer->data, ((CamelStreamMem *) mem)->buffer->len);
+		camel_object_unref (mem);
+
+		const char *cur = str;
+		int i;
+		for (i = 0; i < strlen(str); i++) {
+			if (!g_ascii_strncasecmp (cur, "$", 1)) {
+				const char *end = cur, *check_env;
+				char *out;
+				GConfClient *gconf;
+				GSList *clue_list = NULL, *list;
+
+				gconf = gconf_client_get_default ();
+
+				while (*end && !g_unichar_isspace (*end) && (*end != '"'))
+					end++;
+
+				out = g_strndup ((const gchar *) cur, end - cur);
+				check_env = out;
+
+				char **temp_str = g_strsplit (str, out, 2);
+
+				/* Get the list from gconf */
+				clue_list = gconf_client_get_list ( gconf, GCONF_KEY_TEMPLATE_PLACEHOLDERS, GCONF_VALUE_STRING, NULL );
+
+				g_object_unref (gconf);
+
+				for (list = clue_list; list; list = g_slist_next (list)) {
+					char **temp = g_strsplit (list->data, "=", 2);
+					if (!g_ascii_strcasecmp(temp[0], out+1)) {
+						str = g_strdup_printf("%s%s%s", temp_str[0], temp[1], temp_str[1]);
+						cur = str + i;
+						count1 = 1;
+						string_changed = 1;
+					}
+					else
+						count1 = 0;
+					g_strfreev(temp);
+				}
+
+				if (clue_list) {
+					g_slist_foreach (clue_list, (GFunc) g_free, NULL);
+					g_slist_free (clue_list);
+				}
+
+				if (!count1) {
+					if (getenv(out+1)) {
+						str = g_strdup_printf("%s%s%s", temp_str[0], getenv(out + 1), temp_str[1]);
+						cur = str + i;
+						count1 = 1;
+						string_changed = 1;
+					}
+					else
+						count1 = 0;
+				}
+
+				g_strfreev(temp_str);
+			}	
+			else 
+				cur++;
+		}
+
+		if (string_changed) {
+
+			/* Create toplevel container */
+			camel_data_wrapper_set_mime_type (CAMEL_DATA_WRAPPER (body),
+					"multipart/alternative;");
+			camel_multipart_set_boundary (body, NULL);
+
+			stream = camel_stream_mem_new ();
+
+			mail_text = camel_data_wrapper_new ();
+			camel_data_wrapper_set_mime_type_field (mail_text, type);
+			
+			camel_stream_printf (stream, "%s", g_strdup(str));
+
+			camel_data_wrapper_construct_from_stream (mail_text, stream);
+			camel_object_unref (stream);
+
+			part = camel_mime_part_new ();
+			camel_medium_set_content_object (CAMEL_MEDIUM (part), mail_text);
+			camel_object_unref (mail_text);
+			camel_multipart_add_part (body, part);
+			camel_object_unref (part);
+
+			/* Finish creating the message */
+			camel_medium_set_content_object (CAMEL_MEDIUM (message), CAMEL_DATA_WRAPPER(body));
+			camel_object_unref (body);
+		}
+	}
+		
 	composer = e_msg_composer_new_with_message (message);
-	em_composer_utils_setup_callbacks (composer, NULL, NULL, 0, 0, drafts, uid);
+	
+	if (em_utils_folder_is_templates(drafts, NULL) == TRUE) 
+		em_composer_utils_setup_callbacks (composer, NULL, NULL, 0, 0, NULL, NULL);
+	else
+		em_composer_utils_setup_callbacks (composer, NULL, NULL, 0, 0, drafts, uid);
 
 	composer_set_no_change (composer, TRUE);
 
@@ -819,16 +956,20 @@
 /**
  * em_utils_edit_message:
  * @message: message to edit
+ * @folder: used to recognize the templates folder
  *
  * Opens a composer filled in with the headers/mime-parts/etc of
  * @message.
  **/
 void
-em_utils_edit_message (CamelMimeMessage *message)
+em_utils_edit_message (CamelMimeMessage *message, CamelFolder *folder)
 {
 	g_return_if_fail (CAMEL_IS_MIME_MESSAGE (message));
 
-	edit_message (message, NULL, NULL);
+	if (folder)
+		edit_message (message, folder, NULL);
+	else
+		edit_message (message, NULL, NULL);	
 }
 
 static void

Modified: branches/kill-bonobo/mail/em-composer-utils.h
==============================================================================
--- branches/kill-bonobo/mail/em-composer-utils.h	(original)
+++ branches/kill-bonobo/mail/em-composer-utils.h	Fri Aug  8 04:26:12 2008
@@ -51,7 +51,7 @@
 void em_utils_post_to_folder (struct _CamelFolder *folder);
 void em_utils_post_to_url (const char *url);
 
-void em_utils_edit_message (struct _CamelMimeMessage *message);
+void em_utils_edit_message (struct _CamelMimeMessage *message, struct _CamelFolder *folder);
 void em_utils_edit_messages (struct _CamelFolder *folder, GPtrArray *uids, gboolean replace);
 
 void em_utils_forward_attached (struct _CamelFolder *folder, GPtrArray *uids, const char *fromuri);

Modified: branches/kill-bonobo/mail/em-event.c
==============================================================================
--- branches/kill-bonobo/mail/em-event.c	(original)
+++ branches/kill-bonobo/mail/em-event.c	Fri Aug  8 04:26:12 2008
@@ -189,6 +189,18 @@
 	return t;
 }
 
+EMEventTargetCustomIcon *
+em_event_target_new_custom_icon(EMEvent *eme, GtkCellRenderer *renderer, const char *folder_name, guint32 flags)
+{
+	EMEventTargetCustomIcon *t = e_event_target_new(&eme->popup, EM_EVENT_TARGET_CUSTOM_ICON, sizeof(*t));
+
+	t->renderer = renderer;
+	t->folder_name = folder_name;
+	t->target.mask = ~flags;
+
+	return t;
+}
+
 /* ********************************************************************** */
 
 static void *emeh_parent_class;
@@ -215,11 +227,16 @@
 	{ NULL }
 };
 
+static const EEventHookTargetMask emeh_custom_icon_masks[] = {
+	{ "customicon", EM_EVENT_CUSTOM_ICON },
+	{ NULL }
+};
 static const EEventHookTargetMap emeh_targets[] = {
 	{ "folder", EM_EVENT_TARGET_FOLDER, emeh_folder_masks },
 	{ "message", EM_EVENT_TARGET_MESSAGE, emeh_message_masks },
 	{ "composer", EM_EVENT_TARGET_COMPOSER, emeh_composer_masks},
 	{ "sendreceive", EM_EVENT_TARGET_SEND_RECEIVE, emeh_send_receive_masks},
+	{ "customicon", EM_EVENT_TARGET_CUSTOM_ICON, emeh_custom_icon_masks},
 	{ NULL }
 };
 

Modified: branches/kill-bonobo/mail/em-event.h
==============================================================================
--- branches/kill-bonobo/mail/em-event.h	(original)
+++ branches/kill-bonobo/mail/em-event.h	Fri Aug  8 04:26:12 2008
@@ -46,6 +46,7 @@
 	EM_EVENT_TARGET_MESSAGE,
 	EM_EVENT_TARGET_COMPOSER,
 	EM_EVENT_TARGET_SEND_RECEIVE,
+	EM_EVENT_TARGET_CUSTOM_ICON,
 };
 
 /* Flags that describe TARGET_FOLDER */
@@ -68,6 +69,11 @@
 	EM_EVENT_SEND_RECEIVE = 1<< 0,
 };
 
+/* Flags that describe TARGET_CUSTOM_ICON*/
+enum {
+	EM_EVENT_CUSTOM_ICON = 1<< 0,
+};
+
 typedef struct _EMEventTargetFolder EMEventTargetFolder;
 
 struct _EMEventTargetFolder {
@@ -105,6 +111,14 @@
 	int row;
 };
 
+typedef struct _EMEventTargetCustomIcon EMEventTargetCustomIcon;
+
+struct _EMEventTargetCustomIcon {
+	EEventTarget target;
+
+	GtkCellRenderer *renderer;
+	const char 	*folder_name;
+};
 
 typedef struct _EEventItem EMEventItem;
 
@@ -127,6 +141,7 @@
 EMEventTargetComposer *em_event_target_new_composer(EMEvent *emp, const struct _EMsgComposer *composer, guint32 flags);
 EMEventTargetMessage *em_event_target_new_message(EMEvent *emp, struct _CamelFolder *folder, struct _CamelMimeMessage *message, const char *uid, guint32 flags);
 EMEventTargetSendReceive * em_event_target_new_send_receive(EMEvent *eme, struct _GtkWidget *table, gpointer data, int row, guint32 flags);
+EMEventTargetCustomIcon * em_event_target_new_custom_icon(EMEvent *eme, GtkCellRenderer *renderer, const char *uri, guint32 flags);
 
 /* ********************************************************************** */
 

Modified: branches/kill-bonobo/mail/em-folder-browser.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-browser.c	(original)
+++ branches/kill-bonobo/mail/em-folder-browser.c	Fri Aug  8 04:26:12 2008
@@ -877,7 +877,7 @@
 		view_sexp = "(match-all (not (system-flag  \"Seen\")))";
 		break;
 	case VIEW_READ_MESSAGES:
-		view_sexp = "(match-all (system-flag  \"Seen\"))";
+		view_sexp = "(match-all (system-flag  \"Seen\" ))";
 		break;
         case VIEW_RECENT_MESSAGES:
 		if (!em_utils_folder_is_sent (folder, folder_uri))
@@ -892,7 +892,7 @@
 			view_sexp = " (match-all (> (get-sent-date) (- (get-current-date) 432000)))";
 		break;
         case VIEW_WITH_ATTACHMENTS:
-		view_sexp = "(match-all (system-flag \"Attachments\"))";
+		view_sexp = "(match-all (system-flag \"Attachments\" ))";
 		break;
 	case VIEW_NOT_JUNK:
 		view_sexp = "(match-all (not (system-flag \"junk\")))";
@@ -925,7 +925,7 @@
 		duplicate = FALSE;
 		break;
 	case VIEW_MESSAGES_MARKED_AS_IMPORTANT:
-		view_sexp = "(match-all (system-flag  \"Flagged\"))";
+		view_sexp = "(match-all (system-flag  \"Flagged\" ))";
 		break;
 	case VIEW_ANY_FIELD_CONTAINS:
 		break;

Modified: branches/kill-bonobo/mail/em-folder-properties.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-properties.c	(original)
+++ branches/kill-bonobo/mail/em-folder-properties.c	Fri Aug  8 04:26:12 2008
@@ -351,7 +351,8 @@
 			}
 			emfp_items_translated = TRUE;
 		}
-	}
+	} else if (!strcmp(prop_data->name, "INBOX"))
+		emfp_items[EMFP_FOLDER_SECTION].label = _("Inbox");
 	else
 		emfp_items[EMFP_FOLDER_SECTION].label = prop_data->name;
 

Modified: branches/kill-bonobo/mail/em-folder-tree-model.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-tree-model.c	(original)
+++ branches/kill-bonobo/mail/em-folder-tree-model.c	Fri Aug  8 04:26:12 2008
@@ -448,6 +448,10 @@
 	const char *name;
 	guint32 flags;
 
+	/* make sure we don't already know about it? */
+	if (g_hash_table_lookup (si->full_hash, fi->full_name))
+		return;
+	
 	if (!fully_loaded)
 		load = fi->child == NULL && !(fi->flags & (CAMEL_FOLDER_NOCHILDREN | CAMEL_FOLDER_NOINFERIORS));
 
@@ -878,8 +882,9 @@
 	if (!(si = g_hash_table_lookup (model->store_hash, store)))
 		return;
 
-	g_hash_table_remove (model->store_hash, si->store);
 	g_hash_table_remove (model->account_hash, si->account);
+	/* store_hash owns and frees the si structure, thus free it after done with it */
+	g_hash_table_remove (model->store_hash, si->store);
 }
 
 

Modified: branches/kill-bonobo/mail/em-folder-tree.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-tree.c	(original)
+++ branches/kill-bonobo/mail/em-folder-tree.c	Fri Aug  8 04:26:12 2008
@@ -72,6 +72,7 @@
 #include "em-folder-selector.h"
 #include "em-folder-selection.h"
 #include "em-folder-properties.h"
+#include "em-event.h"
 
 #define d(x)
 
@@ -285,6 +286,8 @@
 	GdkPixbuf *pixbuf = NULL;
 	gboolean is_store;
 	guint32 flags;
+	EMEventTargetCustomIcon *target;
+	const char *folder_name;
 
 	if (!initialised) {
 		folder_icons[FOLDER_ICON_NORMAL] = e_icon_factory_get_icon ("folder", E_ICON_SIZE_MENU);
@@ -326,8 +329,14 @@
 				pixbuf = folder_icons[FOLDER_ICON_SHARED_BY_ME];
 			else if (flags & CAMEL_FOLDER_VIRTUAL)
 				pixbuf = folder_icons[FOLDER_ICON_VIRTUAL];
-			else
+			else {
 				pixbuf = folder_icons[FOLDER_ICON_NORMAL];
+				g_object_set (renderer, "pixbuf", pixbuf, "visible", !is_store, NULL);
+				gtk_tree_model_get (model, iter, COL_STRING_FULL_NAME, &folder_name, -1);
+				target = em_event_target_new_custom_icon (em_event_peek(), renderer, folder_name, EM_EVENT_CUSTOM_ICON);
+     				e_event_emit ((EEvent *)em_event_peek (), "folder.customicon", (EEventTarget *) target);
+				return;
+			}
 		}
 	}
 
@@ -368,7 +377,7 @@
 		 * Do not translate the "folder-display|" part. Remove it
 		 * from your translation.
 		 */
-		display = g_strdup_printf (Q_("folder-display|%s (%u)"), name, unread);
+		display = g_strdup_printf (C_("folder-display", "%s (%u)"), name, unread);
 		g_free (name);
 	} else
 		display = name;
@@ -1087,7 +1096,7 @@
 static gboolean
 is_special_local_folder (const char *name)
 {
-	return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent"));
+	return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent") || !strcmp (name, "Templates"));
 }
 
 static GdkAtom
@@ -1724,7 +1733,7 @@
 {
 	struct _EMFolderTreePrivate *priv = m->emft->priv;
 	struct _EMFolderTreeModelStoreInfo *si;
-	GtkTreeIter root, iter;
+	GtkTreeIter root, iter, titer;
 	CamelFolderInfo *fi;
 	GtkTreeStore *model;
 	GtkTreePath *path;
@@ -1766,6 +1775,13 @@
 	/* get the first child (which will be a dummy node) */
 	gtk_tree_model_iter_children ((GtkTreeModel *) model, &iter, &root);
 
+	/* Traverse to the last valid iter */
+	titer = iter;
+	while (gtk_tree_model_iter_next((GtkTreeModel *) model, &iter)) 
+		titer = iter; /* Preserve the last valid iter */
+
+	iter = titer;
+
 	/* FIXME: camel's IMAP code is totally on crack here, @top's
 	 * folder info should be @fi and fi->child should be what we
 	 * want to fill our tree with... *sigh* */

Modified: branches/kill-bonobo/mail/em-folder-utils.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-utils.c	(original)
+++ branches/kill-bonobo/mail/em-folder-utils.c	Fri Aug  8 04:26:12 2008
@@ -81,7 +81,7 @@
 static gboolean
 emfu_is_special_local_folder (const char *name)
 {
-	return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent"));
+	return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent") || !strcmp (name, "Templates"));
 }
 
 struct _EMCopyFolders {

Modified: branches/kill-bonobo/mail/em-folder-view.c
==============================================================================
--- branches/kill-bonobo/mail/em-folder-view.c	(original)
+++ branches/kill-bonobo/mail/em-folder-view.c	Fri Aug  8 04:26:12 2008
@@ -220,13 +220,6 @@
 	{ "MailStop", 0 },
 
 	{ NULL },
-
-	/* always enabled
-
-	{ "ViewFullHeaders", IS_0MESSAGE, 0 },
-	{ "ViewNormal",      IS_0MESSAGE, 0 },
-	{ "ViewSource",      IS_0MESSAGE, 0 },
-	{ "CaretMode",       IS_0MESSAGE, 0 }, */
 };
 
 struct _EMFolderViewPrivate {
@@ -520,6 +513,7 @@
 	}
 
         if (em_utils_folder_is_drafts(emfv->folder, emfv->folder_uri)
+	    || em_utils_folder_is_templates(emfv->folder, emfv->folder_uri) 	
 	    || em_utils_folder_is_outbox(emfv->folder, emfv->folder_uri)) {
 		em_utils_edit_messages(emfv->folder, uids, TRUE);
 		return uids->len;
@@ -2209,13 +2203,6 @@
 	g_string_free(name, TRUE);
 }
 
-/* must match em_format_mode_t order */
-static const char * const emfv_display_styles[] = {
-	"/commands/ViewNormal",
-	"/commands/ViewFullHeaders",
-	"/commands/ViewSource"
-};
-
 static void
 emfv_view_mode(BonoboUIComponent *uic, const char *path, Bonobo_UIComponent_EventType type, const char *state, void *data)
 {
@@ -2299,10 +2286,9 @@
 		bonobo_ui_component_add_listener(uic, "CaretMode", emfv_caret_mode, emfv);
 
 		style = ((EMFormat *)emfv->preview)->mode?EM_FORMAT_ALLHEADERS:EM_FORMAT_NORMAL;
-		bonobo_ui_component_set_prop(uic, emfv_display_styles[style], "state", style?"1":"0", NULL);
-		/*		bonobo_ui_component_add_listener(uic, "ViewNormal", emfv_view_mode, emfv); */
+		if (style)
+			bonobo_ui_component_set_prop(uic, "/commands/ViewFullHeaders", "state", "1", NULL);
 		bonobo_ui_component_add_listener(uic, "ViewFullHeaders", emfv_view_mode, emfv);
-		/*		bonobo_ui_component_add_listener(uic, "ViewSource", emfv_view_mode, emfv); */
 		em_format_set_mode((EMFormat *)emfv->preview, style);
 
 		if (emfv->folder)
@@ -2647,7 +2633,7 @@
 	/* Ignore double-clicks on columns that handle thier own state */
 	if (MESSAGE_LIST_COLUMN_IS_ACTIVE (col))
 		return;
-
+	
 	em_folder_view_open_selected(emfv);
 }
 

Modified: branches/kill-bonobo/mail/em-format-html-display.c
==============================================================================
--- branches/kill-bonobo/mail/em-format-html-display.c	(original)
+++ branches/kill-bonobo/mail/em-format-html-display.c	Fri Aug  8 04:26:12 2008
@@ -100,8 +100,6 @@
 
 #define d(x)
 
-#define EFHD_TABLE_OPEN "<table>"
-
 struct _EMFormatHTMLDisplayPrivate {
 	/* For the interactive search dialogue */
 	/* TODO: Should this be more subtle, like the mozilla one? */
@@ -1030,10 +1028,10 @@
 #endif
 
 static void
-efhd_xpkcs7mime_add_cert_table(GtkWidget *vbox, EDList *certlist, struct _smime_pobject *po)
+efhd_xpkcs7mime_add_cert_table(GtkWidget *vbox, CamelDList *certlist, struct _smime_pobject *po)
 {
 	CamelCipherCertInfo *info = (CamelCipherCertInfo *)certlist->head;
-	GtkTable *table = (GtkTable *)gtk_table_new(e_dlist_length(certlist), 2, FALSE);
+	GtkTable *table = (GtkTable *)gtk_table_new(camel_dlist_length(certlist), 2, FALSE);
 	int n = 0;
 
 	while (info->next) {
@@ -1135,7 +1133,7 @@
 		gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	}
 
-	if (!e_dlist_empty(&po->valid->sign.signers))
+	if (!camel_dlist_empty(&po->valid->sign.signers))
 		efhd_xpkcs7mime_add_cert_table(vbox, &po->valid->sign.signers, po);
 
 	gtk_widget_show_all(vbox);
@@ -1167,7 +1165,7 @@
 		gtk_box_pack_start((GtkBox *)vbox, w, TRUE, TRUE, 6);
 	}
 
-	if (!e_dlist_empty(&po->valid->encrypt.encrypters))
+	if (!camel_dlist_empty(&po->valid->encrypt.encrypters))
 		efhd_xpkcs7mime_add_cert_table(vbox, &po->valid->encrypt.encrypters, po);
 
 	gtk_widget_show_all(vbox);

Modified: branches/kill-bonobo/mail/em-format-html.c
==============================================================================
--- branches/kill-bonobo/mail/em-format-html.c	(original)
+++ branches/kill-bonobo/mail/em-format-html.c	Fri Aug  8 04:26:12 2008
@@ -84,7 +84,6 @@
 
 #define d(x)
 
-#define EFH_TABLE_OPEN "<table>"
 #define EFM_MESSAGE_START_ANAME "evolution#message#start"
 #define EFH_MESSAGE_START "<A name=\"" EFM_MESSAGE_START_ANAME "\"></A>"
 
@@ -1868,7 +1867,7 @@
 			GString *html;
 
 			if (!(addrs = camel_header_address_decode (header->value, hdr_charset)))
-				return;
+				break;
 
 			html = g_string_new("");
 			name = efh_format_address(efh, html, addrs, header->name);
@@ -1883,7 +1882,7 @@
 			GString *html;
 
 			if (!(addrs = camel_header_address_decode (header->value, hdr_charset)))
-				return;
+				break;
 
 			html = g_string_new("");
 			name = efh_format_address(efh, html, addrs, header->name);
@@ -1942,15 +1941,30 @@
 
 				if (!mailer_shown && mailer && (!g_ascii_strcasecmp (header->name, "X-Mailer") ||
 								!g_ascii_strcasecmp (header->name, "User-Agent") ||
-								!g_ascii_strcasecmp (header->name, "X-Newsreader"))) {
-					struct _camel_header_raw xmailer;
+								!g_ascii_strcasecmp (header->name, "X-Newsreader") ||
+								!g_ascii_strcasecmp (header->name, "X-MimeOLE"))) {
+					struct _camel_header_raw xmailer, *use_header = NULL;
+
+					if (!g_ascii_strcasecmp (header->name, "X-MimeOLE")) {
+						for (use_header = header->next; use_header; use_header = use_header->next) {
+							if (!g_ascii_strcasecmp (use_header->name, "X-Mailer") ||
+							    !g_ascii_strcasecmp (use_header->name, "User-Agent") ||
+							    !g_ascii_strcasecmp (use_header->name, "X-Newsreader")) {
+								/* even we have X-MimeOLE, then use rather the standard one, when available */
+								break;
+							}
+						}
+					}
+
+					if (!use_header)
+						use_header = header;
 
 					xmailer.name = "X-Evolution-Mailer";
-					xmailer.value = header->value;
+					xmailer.value = use_header->value;
 					mailer_shown = TRUE;
 
 					efh_format_header (emf, stream, part, &xmailer, h->flags, charset);
-					if (strstr(header->value, "Evolution"))
+					if (strstr(use_header->value, "Evolution"))
 						have_icon = TRUE;
 				} else if (!g_ascii_strcasecmp (header->name, "Face") && !face_decoded) {
 					char *cp = header->value;
@@ -2086,7 +2100,7 @@
 	camel_stream_filter_add(filtered_stream, html_filter);
 	camel_object_unref(html_filter);
 
-	camel_stream_write_string((CamelStream *)stream, EFH_TABLE_OPEN "<tr><td><tt>");
+	camel_stream_write_string((CamelStream *)stream, "<table><tr><td><tt>");
 	em_format_format_text(emf, (CamelStream *)filtered_stream, dw);
 	camel_object_unref(filtered_stream);
 

Modified: branches/kill-bonobo/mail/em-format-quote.c
==============================================================================
--- branches/kill-bonobo/mail/em-format-quote.c	(original)
+++ branches/kill-bonobo/mail/em-format-quote.c	Fri Aug  8 04:26:12 2008
@@ -343,7 +343,9 @@
 	} else if (!strcmp (name, "X-Evolution-Mailer")) { /* pseudo-header */
 		if (!(txt = camel_medium_get_header (part, "x-mailer")))
 			if (!(txt = camel_medium_get_header (part, "user-agent")))
-				return;
+				if (!(txt = camel_medium_get_header (part, "x-newsreader")))
+					if (!(txt = camel_medium_get_header (part, "x-mimeole")))
+						return;
 		
 		txt = value = camel_header_format_ctext (txt, charset);
 		

Modified: branches/kill-bonobo/mail/em-format.c
==============================================================================
--- branches/kill-bonobo/mail/em-format.c	(original)
+++ branches/kill-bonobo/mail/em-format.c	Fri Aug  8 04:26:12 2008
@@ -735,7 +735,7 @@
 	if (emf->valid == NULL) {
 		emf->valid = valid;
 	} else {
-		e_dlist_addtail(&emf->valid_parent->children, (EDListNode *)valid);
+		camel_dlist_addtail(&emf->valid_parent->children, (CamelDListNode *)valid);
 		camel_cipher_validity_envelope(emf->valid_parent, valid);
 	}
 
@@ -1159,6 +1159,7 @@
 	if ((filename = camel_mime_part_get_filename (part)))
 		g_string_append_printf(stext, " (%s)", filename);
 	if ((description = camel_mime_part_get_description(part)) &&
+		(*description != 0) &&
 		!(filename && (strcmp(filename, description) == 0)))
 		g_string_append_printf(stext, ", \"%s\"", description);
 

Modified: branches/kill-bonobo/mail/em-migrate.c
==============================================================================
--- branches/kill-bonobo/mail/em-migrate.c	(original)
+++ branches/kill-bonobo/mail/em-migrate.c	Fri Aug  8 04:26:12 2008
@@ -67,16 +67,19 @@
 #include "e-util/e-util-private.h"
 #include "e-util/e-plugin.h"
 
+#include "mail-component.h"
 #include "mail-config.h"
+#include "mail-session.h"
 #include "em-utils.h"
 #include "em-migrate.h"
 
 #define d(x) x
 
 #ifndef G_OS_WIN32
-
-/* No previous versions have been available on Win32, so don't bother
- * with upgrade support from 1.x on Win32.
+/* No versions previous to 2.8 or thereabouts have been available on
+ * Windows, so don't bother with upgrade support from earlier versions
+ * on Win32. Do try to support upgrades from 2.12 and later to the
+ * current version.
  */
 
 /* upgrade helper functions */
@@ -1189,12 +1192,14 @@
 }
 
 
+#endif	/* !G_OS_WIN32 */
+
 static GtkWidget *window;
 static GtkLabel *label;
 static GtkProgressBar *progress;
 
 static void
-em_migrate_setup_progress_dialog (void)
+em_migrate_setup_progress_dialog (const char *desc)
 {
 	GtkWidget *vbox, *hbox, *w;
 
@@ -1207,9 +1212,8 @@
 	gtk_widget_show (vbox);
 	gtk_container_add ((GtkContainer *) window, vbox);
 
-	w = gtk_label_new (_("The location and hierarchy of the Evolution mailbox "
-			     "folders has changed since Evolution 1.x.\n\nPlease be "
-			     "patient while Evolution migrates your folders..."));
+	w = gtk_label_new (desc);
+	
 	gtk_label_set_line_wrap ((GtkLabel *) w, TRUE);
 	gtk_widget_show (w);
 	gtk_box_pack_start_defaults ((GtkBox *) vbox, w);
@@ -1240,12 +1244,11 @@
 {
 	char *text;
 
-	text = g_strdup_printf (_("Migrating `%s':"), folder_name);
+	text = g_strdup_printf (_("Migrating '%s':"), folder_name);
 	gtk_label_set_text (label, text);
 	g_free (text);
 
 	gtk_progress_bar_set_fraction (progress, 0.0);
-
 	while (gtk_events_pending ())
 		gtk_main_iteration ();
 }
@@ -1264,6 +1267,8 @@
 		gtk_main_iteration ();
 }
 
+#ifndef G_OS_WIN32
+
 static gboolean
 is_mail_folder (const char *metadata)
 {
@@ -1476,10 +1481,8 @@
 			goto exception;
 
 		total += nwritten;
-#ifndef G_OS_WIN32
 		if (show_progress)
 			em_migrate_set_progress (((double) total) / ((double) st.st_size));
-#endif
 	} while (total < st.st_size);
 
 	if (fsync (writefd) == -1)
@@ -1862,7 +1865,9 @@
 		return -1;
 	}
 
-	em_migrate_setup_progress_dialog ();
+	em_migrate_setup_progress_dialog (_("The location and hierarchy of the Evolution mailbox "
+			     "folders has changed since Evolution 1.x.\n\nPlease be "
+			     "patient while Evolution migrates your folders..."));
 
 	while (res == 0 && (dent = readdir (dir))) {
 		char *full_path;
@@ -2671,7 +2676,7 @@
 		mail_config_save_accounts ();
 }
 
-#endif
+#endif	/* !G_OS_WIN32 */
 
 static int
 emm_setup_initial(const char *evolution_dir)
@@ -2837,6 +2842,113 @@
 	g_object_unref (client);
 }
 
+
+static void
+migrate_folders(CamelStore *store, CamelFolderInfo *fi, const char *acc, CamelException *ex)
+{
+	CamelFolder *folder;
+
+	while (fi) {
+		char *tmp = g_strdup_printf ("%s/%s", acc, fi->full_name);
+		em_migrate_set_folder_name (tmp);
+		g_free (tmp);
+		folder = camel_store_get_folder (store, fi->full_name, 0, ex);
+		if (folder != NULL)
+			camel_folder_summary_migrate_infos (folder->summary);
+		migrate_folders(store, fi->child, acc, ex);
+		fi = fi->next;
+	}
+}
+
+static CamelStore *
+setup_local_store (MailComponent *mc)
+{
+	CamelURL *url;
+	char *tmp;
+	CamelStore *store;
+	
+	url = camel_url_new("mbox:", NULL);
+	tmp = g_build_filename (mail_component_peek_base_directory(mc), "local", NULL);
+	camel_url_set_path(url, tmp);
+	g_free(tmp);
+	tmp = camel_url_to_string(url, 0);
+	store = (CamelStore *)camel_session_get_service(session, tmp, CAMEL_PROVIDER_STORE, NULL);
+	g_free(tmp);
+
+	return store;
+	
+}
+static void
+migrate_to_db()
+{
+	EAccountList *accounts;
+	EIterator *iter;
+	int i=0, len;
+	MailComponent *component = mail_component_peek ();
+	CamelStore *store = NULL;
+	CamelFolderInfo *info;
+	
+	if (!(accounts = mail_config_get_accounts ()))
+		return;
+	
+	iter = e_list_get_iterator ((EList *) accounts);
+	len = e_list_length ((EList *) accounts);
+	
+	camel_session_set_online ((CamelSession *) session, FALSE);
+	em_migrate_setup_progress_dialog (_("The summary format of the Evolution mailbox "
+			     "folders has been moved to sqlite since Evolution 2.24.\n\nPlease be "
+			     "patient while Evolution migrates your folders..."));
+
+	em_migrate_set_progress ( (double)i/(len+1));
+	store = setup_local_store (component);
+	info = camel_store_get_folder_info (store, NULL, CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST|CAMEL_STORE_FOLDER_INFO_SUBSCRIBED, NULL);	
+	if (info) {
+		migrate_folders(store, info, _("On This Computer"), NULL);
+	}
+	i++;
+	em_migrate_set_progress ( (double)i/(len+1));
+
+	
+	while (e_iterator_is_valid (iter)) {
+		EAccount *account = (EAccount *) e_iterator_get (iter);
+		EAccountService *service;
+		const char *name;
+
+		
+		service = account->source;
+		name = account->name;
+		em_migrate_set_progress ( (double)i/(len+1));		
+		if (account->enabled
+		    && service->url != NULL
+		    && service->url[0]
+		    && strncmp(service->url, "mbox:", 5) != 0) {
+
+			CamelException ex;
+
+			camel_exception_init (&ex);
+			mail_component_load_store_by_uri (component, service->url, name);
+
+			store = (CamelStore *) camel_session_get_service (session, service->url, CAMEL_PROVIDER_STORE, &ex);
+			info = camel_store_get_folder_info (store, NULL, CAMEL_STORE_FOLDER_INFO_RECURSIVE|CAMEL_STORE_FOLDER_INFO_FAST|CAMEL_STORE_FOLDER_INFO_SUBSCRIBED, &ex);
+			if (info) {
+				migrate_folders(store, info, account->name, &ex);
+				
+			} else
+				printf("%s:%s: failed to get folder infos \n", G_STRLOC, G_STRFUNC);
+			camel_exception_clear(&ex);
+				
+		}
+		i++;
+		e_iterator_next (iter);
+
+	}
+
+	//camel_session_set_online ((CamelSession *) session, TRUE);
+
+	g_object_unref (iter);
+	em_migrate_close_progress_dialog ();
+}
+
 int
 em_migrate (const char *evolution_dir, int major, int minor, int revision, CamelException *ex)
 {
@@ -2860,8 +2972,8 @@
 	if (major == 0)
 		return emm_setup_initial(evolution_dir);
 
-#ifndef G_OS_WIN32
 	if (major == 1 && minor < 5) {
+#ifndef G_OS_WIN32
 		xmlDocPtr config_xmldb = NULL, filters, vfolders;
 
 		path = g_build_filename (g_get_home_dir (), "evolution", NULL);
@@ -2917,18 +3029,27 @@
 		}
 
 		g_free (path);
+#else
+		g_error ("Upgrading from ancient versions not supported on Windows");
+#endif
 	}
 
 	if (major < 2 || (major == 2 && minor < 12)) {
+#ifndef G_OS_WIN32
 		em_update_accounts_2_11 ();
+#else
+		g_error ("Upgrading from ancient versions not supported on Windows");
+#endif
 	}
 
+
 	if (major < 2 || (major == 2 && minor < 22))
 		em_update_message_notify_settings_2_21 ();
 
-	if (major < 2 || (major == 2 && minor < 24))
+	if (major < 2 || (major == 2 && minor < 24)) {
 		em_update_sa_junk_setting_2_23 ();
+		migrate_to_db();
+	}
 
-#endif	/* !G_OS_WIN32 */
 	return 0;
 }

Modified: branches/kill-bonobo/mail/em-network-prefs.c
==============================================================================
--- branches/kill-bonobo/mail/em-network-prefs.c	(original)
+++ branches/kill-bonobo/mail/em-network-prefs.c	Fri Aug  8 04:26:12 2008
@@ -323,8 +323,7 @@
 		emnp_set_sensitiveness (prefs, NETWORK_PROXY_MANUAL, FALSE);
 		emnp_set_sensitiveness (prefs, NETWORK_PROXY_AUTOCONFIG, FALSE);
 		if (type == NETWORK_PROXY_SYS_SETTINGS) {
-			d(g_print ("%s:%s:%d: Loading sys settings... \n", 
-				   __FILE__, __PRETTY_FUNCTION__, __LINE__));
+			d(g_print ("%s:%s: Loading sys settings... \n", G_STRLOC, G_STRFUNC));
 			emnp_load_sys_settings (prefs->gconf);
 		}
 
@@ -357,11 +356,11 @@
 	if (GTK_IS_SPIN_BUTTON (widget)) {
 		port = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget));
 		gconf_client_set_int (gconf, (const char *)data, port, NULL);
-		d(g_print ("%s:%s:%d: %s is SpinButton: value = [%d]\n", __FILE__, __PRETTY_FUNCTION__, __LINE__, (const char *)data, port));
+		d(g_print ("%s:%s: %s is SpinButton: value = [%d]\n", G_STRLOC, G_STRFUNC, (const char *)data, port));
 	} else if (GTK_IS_ENTRY (widget)) {
 		value = gtk_entry_get_text (GTK_ENTRY (widget));
 		gconf_client_set_string (gconf, (const char *)data, value, NULL);
-		d(g_print ("%s:%s:%d: %s is Entry: value = [%s]\n", __FILE__, __PRETTY_FUNCTION__, __LINE__, (const char *)data, value));
+		d(g_print ("%s:%s: %s is Entry: value = [%s]\n", G_STRLOC, G_STRFUNC, (const char *)data, value));
 	}
 
 }

Modified: branches/kill-bonobo/mail/em-subscribe-editor.c
==============================================================================
--- branches/kill-bonobo/mail/em-subscribe-editor.c	(original)
+++ branches/kill-bonobo/mail/em-subscribe-editor.c	Fri Aug  8 04:26:12 2008
@@ -312,8 +312,8 @@
 					e_dlist_addtail(&sub->pending, (EDListNode *)node);
 			}
 		} else {
-			d(printf("%s:%d:%s: fi->flags & CAMEL_FOLDER_NOINFERIORS=%d\t node->path=[%p]\n",
-				 __FILE__, __LINE__, __GNUC_PRETTY_FUNCTION__, fi->flags & CAMEL_FOLDER_NOINFERIORS,
+			d(printf("%s:%s: fi->flags & CAMEL_FOLDER_NOINFERIORS=%d\t node->path=[%p]\n",
+				 G_STRLOC, G_STRFUNC, fi->flags & CAMEL_FOLDER_NOINFERIORS,
 				 node->path));
 		}
 
@@ -408,7 +408,7 @@
 	struct _emse_folderinfo_msg *m;
 	int id;
 
-	d(printf("%s:%d:%s: Starting get folderinfo of '%s'\n", __FILE__, __LINE__, __GNUC_PRETTY_FUNCTION__,
+	d(printf("%s:%s: Starting get folderinfo of '%s'\n", G_STRLOC, G_STRFUNC,
 		 node?node->info->full_name:"<root>"));
 
 	m = mail_msg_new (&sub_folderinfo_info);
@@ -501,7 +501,7 @@
 	char *row_name;
 
 	gtk_tree_model_get(model, iter, 1, &row_name, -1);
-	d(printf("%s:%d:%s: row-expanded '%s'\n", __FILE__, __LINE__, __GNUC_PRETTY_FUNCTION__,
+	d(printf("%s:%s: row-expanded '%s'\n", G_STRLOC, G_STRFUNC,
 		 row_name?row_name:"<root>"));
 
 	/* Do we really need to fetch the children for this row? */

Modified: branches/kill-bonobo/mail/em-utils.c
==============================================================================
--- branches/kill-bonobo/mail/em-utils.c	(original)
+++ branches/kill-bonobo/mail/em-utils.c	Fri Aug  8 04:26:12 2008
@@ -1364,7 +1364,53 @@
 	return path;
 }
 
+/** em_utils_folder_is_templates:
+ * @folder: folder
+ * @uri: uri for this folder, if known
+ *
+ * Decides if @folder is a Templates folder.
+ *
+ * Returns %TRUE if this is a Drafts folder or %FALSE otherwise.
+ **/
+
+gboolean
+em_utils_folder_is_templates (CamelFolder *folder, const char *uri)
+{
+	EAccountList *accounts;
+	EAccount *account;
+	EIterator *iter;
+	int is = FALSE;
+	char *templates_uri;
 
+	if (folder == mail_component_get_folder (NULL, MAIL_COMPONENT_FOLDER_TEMPLATES))
+		return TRUE;
+	
+	if (uri == NULL)
+		return FALSE;
+		
+	accounts = mail_config_get_accounts();
+	iter = e_list_get_iterator ((EList *)accounts);
+	while (e_iterator_is_valid (iter)) {
+		account = (EAccount *)e_iterator_get (iter);
+		
+		if (account->templates_folder_uri) {
+			templates_uri = em_uri_to_camel (account->templates_folder_uri);
+			if (camel_store_folder_uri_equal (folder->parent_store, templates_uri, uri)) {
+				g_free (templates_uri);
+				is = TRUE;
+				break;
+			}
+			g_free (templates_uri);
+		}
+		
+		e_iterator_next (iter);
+	}
+	
+	g_object_unref (iter);
+	
+	return is;
+}
+		
 /**
  * em_utils_folder_is_drafts:
  * @folder: folder

Modified: branches/kill-bonobo/mail/em-utils.h
==============================================================================
--- branches/kill-bonobo/mail/em-utils.h	(original)
+++ branches/kill-bonobo/mail/em-utils.h	Fri Aug  8 04:26:12 2008
@@ -82,6 +82,7 @@
 void em_utils_save_parts (struct _GtkWidget *parent, const char *prompt, GSList * parts);
 
 gboolean em_utils_folder_is_drafts(struct _CamelFolder *folder, const char *uri);
+gboolean em_utils_folder_is_templates(struct _CamelFolder *folder, const char *uri);
 gboolean em_utils_folder_is_sent(struct _CamelFolder *folder, const char *uri);
 gboolean em_utils_folder_is_outbox(struct _CamelFolder *folder, const char *uri);
 

Modified: branches/kill-bonobo/mail/evolution-mail.schemas.in
==============================================================================
--- branches/kill-bonobo/mail/evolution-mail.schemas.in	(original)
+++ branches/kill-bonobo/mail/evolution-mail.schemas.in	Fri Aug  8 04:26:12 2008
@@ -318,9 +318,9 @@
          <short>Load images for HTML messages over http</short>
          <long>
           Load images for HTML messages over http(s). Possible values are:
-          0 - Never load images off the net.
-          1 - Load images in messages from contacts.
-          2 - Always load images off the net.
+          "0" - Never load images off the net.
+          "1" - Load images in messages from contacts.
+          "2" - Always load images off the net.
          </long>
       </locale>
     </schema>
@@ -506,8 +506,9 @@
       <locale name="C">
          <short>Hides the per-folder preview and removes the selection</short>
          <long>
-          This key is read only once and reset to false after read. This unselects the 
-	  mail in the list and removes the preview for that folder.
+          This key is read only once and reset to "false" after read. This
+          unselects the mail in the list and removes the preview for that
+          folder.
          </long>
       </locale>
     </schema>
@@ -1026,8 +1027,9 @@
       <default>0</default>
       <locale name="C">
          <short>Level beyond which the message should be logged.</short>
-         <long> This can have three possible values. 0 for errors. 1 for warnings. 
-	 	2 for debug messages.
+         <long>
+           This can have three possible values. "0" for errors.
+           "1" for warnings. "2" for debug messages.
          </long>
       </locale>
     </schema>
@@ -1341,10 +1343,10 @@
       <type>int</type>
       <default>60</default>
       <locale name="C">
-        <short>Time interval, in seconds, how often upload store changes to server.</short>
+        <short>Server synchronization interval</short>
         <long>
-          Time interval, in seconds, how often upload store changes to server.
-	  The actual value cannot be less than 30 seconds.
+          Controls how frequently local changes are synchronized with the
+          remote mail server.  The interval must be at least 30 seconds.
         </long>
       </locale>
     </schema>

Modified: branches/kill-bonobo/mail/mail-component.c
==============================================================================
--- branches/kill-bonobo/mail/mail-component.c	(original)
+++ branches/kill-bonobo/mail/mail-component.c	Fri Aug  8 04:26:12 2008
@@ -161,6 +161,7 @@
 	{ N_("Drafts"), },
 	{ N_("Outbox"), },
 	{ N_("Sent"), },
+	{ N_("Templates"), },
 	{ "Inbox", },		/* 'always local' inbox */
 };
 
@@ -578,6 +579,8 @@
 		    && (!strcmp (name, "Drafts") || !strcmp (name, "Inbox")
 			|| !strcmp (name, "Outbox") || !strcmp (name, "Sent")))
 			use_name = _(name);
+		else if (!strcmp (name, "INBOX"))
+ 			use_name = _("Inbox");
 		else
 			use_name = name;
 
@@ -753,7 +756,7 @@
 	gtk_widget_show (statusbar_widget);
 
 	vbox = gtk_vbox_new(FALSE, 0);
-	info = e_info_label_new("stock_mail");
+	info = e_info_label_new("evolution-mail");
 	e_info_label_set_info((EInfoLabel *)info, _("Mail"), "");
 	gtk_box_pack_start((GtkBox *)vbox, info, FALSE, TRUE, 0);
 	gtk_box_pack_start((GtkBox *)vbox, tree_widget, TRUE, TRUE, 0);
@@ -911,7 +914,7 @@
 
 	list->_buffer[0].id = "message";
 	list->_buffer[0].description = _("New Mail Message");
-	list->_buffer[0].menuDescription = _("_Mail Message");
+	list->_buffer[0].menuDescription = (char *) C_("New", "_Mail Message");
 	list->_buffer[0].tooltip = _("Compose a new mail message");
 	list->_buffer[0].menuShortcut = 'm';
 	list->_buffer[0].iconName = "mail-message-new";
@@ -919,7 +922,7 @@
 
 	list->_buffer[1].id = "folder";
 	list->_buffer[1].description = _("New Mail Folder");
-	list->_buffer[1].menuDescription = _("Mail _Folder");
+	list->_buffer[1].menuDescription = (char *) C_("New", "Mail _Folder");
 	list->_buffer[1].tooltip = _("Create a new mail folder");
 	list->_buffer[1].menuShortcut = '\0';
 	list->_buffer[1].iconName = "folder-new";

Modified: branches/kill-bonobo/mail/mail-component.h
==============================================================================
--- branches/kill-bonobo/mail/mail-component.h	(original)
+++ branches/kill-bonobo/mail/mail-component.h	Fri Aug  8 04:26:12 2008
@@ -47,6 +47,7 @@
 	MAIL_COMPONENT_FOLDER_DRAFTS,
 	MAIL_COMPONENT_FOLDER_OUTBOX,
 	MAIL_COMPONENT_FOLDER_SENT,
+	MAIL_COMPONENT_FOLDER_TEMPLATES,
 	MAIL_COMPONENT_FOLDER_LOCAL_INBOX,
 };
 

Modified: branches/kill-bonobo/mail/mail-config.glade
==============================================================================
--- branches/kill-bonobo/mail/mail-config.glade	(original)
+++ branches/kill-bonobo/mail/mail-config.glade	Fri Aug  8 04:26:12 2008
@@ -4962,7 +4962,7 @@
 				<widget class="GtkCheckButton" id="mlimit_checkbutton">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Do not format text contents in messages if the text si_ze exceeds</property>
+				  <property name="label" translatable="yes">Do not format messages when text si_ze exceeds</property>
 				  <property name="use_underline">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>
@@ -5646,7 +5646,7 @@
 		    <widget class="GtkCheckButton" id="chkPromptWantHTML">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">_Prompt when sending HTML messages to contacts that do not want them</property>
+		      <property name="label" translatable="yes">_Prompt on sending HTML mail to contacts that do not want them</property>
 		      <property name="use_underline">True</property>
 		      <property name="relief">GTK_RELIEF_NORMAL</property>
 		      <property name="focus_on_click">True</property>
@@ -6847,7 +6847,7 @@
 		      <child>
 			<widget class="GtkLabel" id="label590">
 			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">This option will be overridden if a match for custom junk headers is found.</property>
+			  <property name="label" translatable="yes">Option is ignored if a match for custom junk headers is found.</property>
 			  <property name="use_underline">False</property>
 			  <property name="use_markup">False</property>
 			  <property name="justify">GTK_JUSTIFY_LEFT</property>

Modified: branches/kill-bonobo/mail/mail-dialogs.glade
==============================================================================
--- branches/kill-bonobo/mail/mail-dialogs.glade	(original)
+++ branches/kill-bonobo/mail/mail-dialogs.glade	Fri Aug  8 04:26:12 2008
@@ -235,17 +235,6 @@
 	</packing>
       </child>
 
-      <child>
-	<widget class="GtkNotebook" id="notebook1">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
-
 	  <child>
 	    <widget class="GtkVBox" id="vbox161">
 	      <property name="border_width">12</property>
@@ -473,68 +462,8 @@
 		</packing>
 	      </child>
 	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label473">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Summary</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
 	  </child>
 
-	  <child>
-	    <placeholder/>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label474">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Details</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
     </widget>
   </child>
 </widget>

Modified: branches/kill-bonobo/mail/mail-ops.c
==============================================================================
--- branches/kill-bonobo/mail/mail-ops.c	(original)
+++ branches/kill-bonobo/mail/mail-ops.c	Fri Aug  8 04:26:12 2008
@@ -1976,7 +1976,7 @@
 save_messages_desc (struct _save_messages_msg *m)
 {
 	return g_strdup_printf(ngettext("Saving %d message",
-					"Saving %d messsages", m->uids->len),
+					"Saving %d messages", m->uids->len),
 			       m->uids->len);
 }
 

Modified: branches/kill-bonobo/mail/mail-vfolder.c
==============================================================================
--- branches/kill-bonobo/mail/mail-vfolder.c	(original)
+++ branches/kill-bonobo/mail/mail-vfolder.c	Fri Aug  8 04:26:12 2008
@@ -50,7 +50,7 @@
 #include "mail-tools.h"
 #include "mail-vfolder.h"
 
-#define d(x)  /* (printf("%s(%d):%s: ",  __FILE__, __LINE__, __PRETTY_FUNCTION__), (x))*/
+#define d(x)  /* (printf("%s:%s: ",  G_STRLOC, G_STRFUNC), (x))*/
 
 static EMVFolderContext *context;	/* context remains open all time */
 CamelStore *vfolder_store; /* the 1 static vfolder store */

Modified: branches/kill-bonobo/mail/message-list.c
==============================================================================
--- branches/kill-bonobo/mail/message-list.c	(original)
+++ branches/kill-bonobo/mail/message-list.c	Fri Aug  8 04:26:12 2008
@@ -2589,7 +2589,7 @@
 		return NULL;
 
 	info = get_message_info (ml, node);
-	if (is_node_selectable (ml, info))
+	if (info && is_node_selectable (ml, info))
 		return NULL;
 
 	last = e_tree_row_count (ml->tree);
@@ -2603,7 +2603,7 @@
 	while (vrow < last) {
 		node = e_tree_node_at_row (et, vrow);
 		info = get_message_info (ml, node);
-		if (is_node_selectable (ml, info))
+		if (info && is_node_selectable (ml, info))
 			return g_strdup (camel_message_info_uid (info));
 		vrow ++;
 	}
@@ -2615,7 +2615,7 @@
 	while (vrow >= 0) {
 		node = e_tree_node_at_row (et, vrow);
 		info = get_message_info (ml, node);
-		if (is_node_selectable (ml, info))
+		if (info && is_node_selectable (ml, info))
 			return g_strdup (camel_message_info_uid (info));
 		vrow --;
 	}
@@ -3644,6 +3644,9 @@
 	struct _glibsuxcrap *y = x;
 	CamelMessageInfo *mi;
 
+	if(y->count)
+		return;
+
 	mi = camel_folder_get_message_info(y->folder, key);
 	if (mi) {
 		y->count++;
@@ -3651,7 +3654,7 @@
 	}
 }
 
-/* returns number of hidden messages */
+/* returns 0 or 1 depending if there are hidden messages */
 unsigned int
 message_list_hidden(MessageList *ml)
 {
@@ -4310,6 +4313,15 @@
 		camel_folder_thread_messages_ref(m->tree);
 	}
 
+	if (message_list_length (ml) <= 0) {
+		/* there is some info why the message list is empty, let it be something useful */
+		char *txt = g_strconcat (_("Generating message list"), "..." , NULL);
+
+		e_tree_set_info_message (m->ml->tree, txt);
+
+		g_free (txt);
+	}
+
 	/* if we're busy already kick off timeout processing, so normal updates are immediate */
 	if (ml->regen == NULL)
 		ml_regen_timeout(m);

Modified: branches/kill-bonobo/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/addressbook-file/org-gnome-addressbook-file.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -4,7 +4,8 @@
      type="shlib"
      location="@PLUGINDIR@/liborg-gnome-addressbook-file SOEXT@"
      id="org.gnome.evolution.addressbook.file"
-     _name="Local Address Books">
+     _name="Local Address Books"
+     system_plugin="true">
      <author name="Sivaiah Nallagatla" email="snallagatla novell com"/>
      <_description>Provides core functionality for local address books.</_description>
         <hook class="org.gnome.evolution.addressbook.config:1.0">

Modified: branches/kill-bonobo/plugins/backup-restore/org-gnome-backup-restore.error.xml
==============================================================================
--- branches/kill-bonobo/plugins/backup-restore/org-gnome-backup-restore.error.xml	(original)
+++ branches/kill-bonobo/plugins/backup-restore/org-gnome-backup-restore.error.xml	Fri Aug  8 04:26:12 2008
@@ -19,6 +19,6 @@
   </error>  
    <error id="insufficient-permissions" type="error">
    	<_title>Insufficient Permissions</_title>
-	<_secondary>The selected folder does not have enough permissions to create the file</_secondary>
+	<_secondary>The selected folder is not writable.</_secondary>
    </error>
 </error-list>

Modified: branches/kill-bonobo/plugins/bbdb/bbdb.c
==============================================================================
--- branches/kill-bonobo/plugins/bbdb/bbdb.c	(original)
+++ branches/kill-bonobo/plugins/bbdb/bbdb.c	Fri Aug  8 04:26:12 2008
@@ -49,6 +49,8 @@
 
 #include "bbdb.h"
 
+#define d(x)
+
 /* Plugin hooks */
 int e_plugin_lib_enable (EPluginLib *ep, int enable);
 void bbdb_handle_reply (EPlugin *ep, EMEventTargetMessage *target);
@@ -119,7 +121,7 @@
 {
  	/* Start up the plugin. */
 	if (enable) {
-		fprintf (stderr, "BBDB spinning up...\n");
+		d(fprintf (stderr, "BBDB spinning up...\n"));
 
 		if (bbdb_check_gaim_enabled ())
 			bbdb_sync_buddy_list_check ();
@@ -562,7 +564,7 @@
 	gtk_box_pack_start (GTK_BOX (hbox), inner_vbox, FALSE, FALSE, 0);
 
 	/* Enable BBDB checkbox */
-	check = gtk_check_button_new_with_mnemonic (_("_Automatically create entries in the addressbook when responding to messages"));
+	check = gtk_check_button_new_with_mnemonic (_("_Auto-create addressbook entries when replying to messages"));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), gconf_client_get_bool (target->gconf, GCONF_KEY_ENABLE, NULL));
 	g_signal_connect (GTK_TOGGLE_BUTTON (check), "toggled", G_CALLBACK (enable_toggled_cb), stuff);
 	gtk_box_pack_start (GTK_BOX (inner_vbox), check, FALSE, FALSE, 0);
@@ -598,7 +600,7 @@
 	gtk_box_pack_start (GTK_BOX (hbox), inner_vbox, FALSE, FALSE, 0);
 
 	/* Enable Gaim Checkbox */
-	check_gaim = gtk_check_button_new_with_mnemonic (_("Periodically synchronize contact information and images from Pidgin buddy list"));
+	check_gaim = gtk_check_button_new_with_mnemonic (_("Synchronize contact info and images from Pidgin buddy list"));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_gaim), gconf_client_get_bool (target->gconf, GCONF_KEY_ENABLE_GAIM, NULL));
 	g_signal_connect (GTK_TOGGLE_BUTTON (check_gaim), "toggled", G_CALLBACK (enable_gaim_toggled_cb), stuff);
 	gtk_box_pack_start (GTK_BOX (inner_vbox), check_gaim, FALSE, FALSE, 0);

Modified: branches/kill-bonobo/plugins/caldav/caldav-source.c
==============================================================================
--- branches/kill-bonobo/plugins/caldav/caldav-source.c	(original)
+++ branches/kill-bonobo/plugins/caldav/caldav-source.c	Fri Aug  8 04:26:12 2008
@@ -38,6 +38,8 @@
 
 #include <string.h>
 
+#define d(x)
+
 /*****************************************************************************/
 /* prototypes */
 int              e_plugin_lib_enable      (EPluginLib                 *ep,
@@ -84,7 +86,7 @@
 {
 
 	if (enable) {
-		g_print ("CalDAV Eplugin starting up ...\n");
+		d(g_print ("CalDAV Eplugin starting up ...\n"));
 		ensure_caldav_source_group ();
 	}
 

Modified: branches/kill-bonobo/plugins/caldav/org-gnome-evolution-caldav.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/caldav/org-gnome-evolution-caldav.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/caldav/org-gnome-evolution-caldav.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -7,7 +7,8 @@
 	  load-on-startup="true"
 	  domain="@GETTEXT_PACKAGE@"
 	  localedir="@LOCALEDIR@"
-	  _name="CalDAV sources">
+	  _name="CalDAV sources"
+          system_plugin="true">
   		<author name="Christian Kellner" email="gicmo gnome org"/>
 		<_description>CalDAV Calendar sources</_description>
 

Modified: branches/kill-bonobo/plugins/calendar-file/org-gnome-calendar-file.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/calendar-file/org-gnome-calendar-file.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/calendar-file/org-gnome-calendar-file.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -4,7 +4,8 @@
      type="shlib"
      location="@PLUGINDIR@/liborg-gnome-calendar-file SOEXT@"
      id="org.gnome.evolution.calendar.file"
-     _name="Local Calendars">
+     _name="Local Calendars"
+     system_plugin="true">
      <author name="JP Rosevear" email="jpr novell com"/>
      <_description>Provides core functionality for local calendars.</_description>
         <hook class="org.gnome.evolution.calendar.config:1.0">

Modified: branches/kill-bonobo/plugins/calendar-http/org-gnome-calendar-http.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/calendar-http/org-gnome-calendar-http.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/calendar-http/org-gnome-calendar-http.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -4,7 +4,8 @@
      type="shlib"
      location="@PLUGINDIR@/liborg-gnome-calendar-http SOEXT@"
      id="org.gnome.evolution.calendar.http"
-     _name="HTTP Calendars">
+     _name="HTTP Calendars"
+     system_plugin="true">
      <author name="David Trowbridge" email="David Trowbridge Colorado edu"/>
      <_description>Provides core functionality for webcal and http calendars.</_description>
         <hook class="org.gnome.evolution.calendar.config:1.0">

Modified: branches/kill-bonobo/plugins/calendar-weather/org-gnome-calendar-weather.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/calendar-weather/org-gnome-calendar-weather.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/calendar-weather/org-gnome-calendar-weather.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -4,7 +4,8 @@
      type="shlib"
      location="@PLUGINDIR@/liborg-gnome-calendar-weather SOEXT@"
      id="org.gnome.evolution.calendar.weather"
-     _name="Weather Calendars">
+     _name="Weather Calendars"
+     system_plugin="true">
         <_description>Provides core functionality for weather calendars.</_description>
 	<author name="David Trowbridge" email="trowbrds cs colorado edu"/>
         <hook class="org.gnome.evolution.calendar.config:1.0">

Modified: branches/kill-bonobo/plugins/email-custom-header/Makefile.am
==============================================================================
--- branches/kill-bonobo/plugins/email-custom-header/Makefile.am	(original)
+++ branches/kill-bonobo/plugins/email-custom-header/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -42,7 +42,8 @@
 	fi
 
 glade_DATA =							\
-	org-gnome-email-custom-header.glade
+	org-gnome-email-custom-header.glade			\
+	email-custom-header.glade
 
 EXTRA_DIST = 							\
 	org-gnome-email-custom-header.eplug.xml			\

Modified: branches/kill-bonobo/plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in
==============================================================================
--- branches/kill-bonobo/plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in	(original)
+++ branches/kill-bonobo/plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in	Fri Aug  8 04:26:12 2008
@@ -8,7 +8,7 @@
       <list_type>string</list_type>
       <default>[Security=Personal;Unclassified;Protected;InConfidence;Secret;Topsecret]</default>
       <locale name="C">
-         <short>List of Custom Header</short>
+         <short>List of Custom Headers</short>
          <long>The key specifies the list of custom headers that you can add  to an outgoing message. The format for specifying a Header and Header value is: Name of the custom header followed by "=" and the values separated by ";"</long>
       </locale>
     </schema>

Modified: branches/kill-bonobo/plugins/email-custom-header/email-custom-header.c
==============================================================================
--- branches/kill-bonobo/plugins/email-custom-header/email-custom-header.c	(original)
+++ branches/kill-bonobo/plugins/email-custom-header/email-custom-header.c	Fri Aug  8 04:26:12 2008
@@ -33,10 +33,28 @@
 #include "mail/em-event.h"
 #include "composer/e-msg-composer.h"
 #include "libedataserver/e-account.h"
+#include "e-util/e-config.h"
 #include "email-custom-header.h"
 
 
 #define d(x) x
+#define GCONF_KEY_CUSTOM_HEADER "/apps/evolution/eplugin/email_custom_header/customHeader"
+
+typedef struct {
+        GladeXML *xml;
+        GConfClient *gconf;
+        GtkWidget   *treeview;
+        GtkWidget   *header_add;
+        GtkWidget   *header_edit;
+        GtkWidget   *header_remove;
+        GtkListStore *store;
+} ConfigData;
+
+enum {
+        HEADER_KEY_COLUMN,
+	HEADER_VALUE_COLUMN,
+        HEADER_N_COLUMNS,
+};
 
 struct _EmailCustomHeaderOptionsDialogPrivate {
 	/* Glade XML data */
@@ -60,8 +78,17 @@
 static void epech_dialog_dispose (GObject *object);
 static void epech_setup_widgets (CustomHeaderOptionsDialog *mch);
 static gint epech_check_existing_composer_window(gconstpointer a, gconstpointer b);
-
+static void commit_changes (ConfigData *cd);
+int e_plugin_lib_enable (EPluginLib *ep, int enable);
+GtkWidget *e_plugin_lib_get_configure_widget (EPlugin *epl);
 gboolean e_plugin_ui_init(GtkUIManager *manager, EMsgComposer *composer);
+GtkWidget *org_gnome_email_custom_header_config_option (struct _EPlugin *epl, struct _EConfigHookItemFactoryData *data);
+
+int
+e_plugin_lib_enable (EPluginLib *ep, int enable)
+{
+        return 0;
+}
 
 static void 
 epech_get_widgets_data (CustomHeaderOptionsDialog *mch)
@@ -242,7 +269,7 @@
 
 	client = gconf_client_get_default (); 
 	g_return_if_fail (GCONF_IS_CLIENT (client));
-	gconf_client_add_dir (client, "/apps/evolution/eplugin/email_custom_header" , GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
+	gconf_client_add_dir (client, GCONF_KEY_CUSTOM_HEADER, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
 	epech_load_from_gconf (client, "/apps/evolution/eplugin/email_custom_header/customHeader", mch);
 
 	return;
@@ -554,3 +581,388 @@
 	return TRUE;
 }
 
+static void
+commit_changes (ConfigData *cd)
+{
+	GtkTreeModel *model = NULL;
+	GSList *header_config_list = NULL;
+	GtkTreeIter iter;
+	gboolean valid;
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
+	valid = gtk_tree_model_get_iter_first (model, &iter);
+
+	while (valid) {
+		gchar *keyword = NULL, *value = NULL;
+		gtk_tree_model_get (model, &iter, HEADER_KEY_COLUMN, &keyword, -1);
+		/* Check if the keyword is not empty */
+		gtk_tree_model_get (model, &iter, HEADER_VALUE_COLUMN, &value, -1);
+                /* Check if the keyword is not empty */
+                if ((keyword) && (g_utf8_strlen(g_strstrip(keyword), -1) > 0)){
+                        if ((value) && (g_utf8_strlen(g_strstrip(value), -1) > 0)){
+                                keyword = g_strconcat (keyword, "=", value, NULL);
+                        }
+                        header_config_list = g_slist_append (header_config_list, g_strdup(keyword));
+                }
+		g_free (keyword);
+		valid = gtk_tree_model_iter_next (model, &iter);
+	}
+
+	gconf_client_set_list (cd->gconf, GCONF_KEY_CUSTOM_HEADER, GCONF_VALUE_STRING, header_config_list, NULL);
+
+	g_slist_foreach (header_config_list, (GFunc) g_free, NULL);
+	g_slist_free (header_config_list);
+}
+
+static void
+header_isempty (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ConfigData *cd)
+{
+	GtkTreeSelection *selection;
+	char *keyword = NULL;
+	char *value = NULL;
+	gboolean valid;
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (cd->treeview));
+	/* move to the previous node */
+	valid = gtk_tree_path_prev (path);
+
+	gtk_tree_model_get (model, iter, HEADER_KEY_COLUMN, &keyword, -1);
+
+	if ((keyword) && !(g_utf8_strlen (g_strstrip (keyword), -1) > 0))
+		gtk_list_store_remove (cd->store, iter);
+
+	/* Check if we have a valid row to select. If not, then select
+	 * the previous row */
+	if (gtk_list_store_iter_is_valid (GTK_LIST_STORE (model), iter)) {
+		gtk_tree_selection_select_iter (selection, iter);
+	} else {
+		if (path && valid) {
+			gtk_tree_model_get_iter (model, iter, path);
+			gtk_tree_selection_select_iter (selection, iter);
+		}
+	}
+
+	gtk_widget_grab_focus (cd->treeview);
+	g_free (keyword);
+	g_free (value);
+}
+
+static gboolean
+header_foreach_check_isempty (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, ConfigData *cd)
+{
+	gboolean valid;
+
+	valid = gtk_tree_model_get_iter_first (model, iter);
+	while (valid && gtk_list_store_iter_is_valid (cd->store, iter)) {
+		char *keyword = NULL;
+		gtk_tree_model_get (model, iter, HEADER_KEY_COLUMN, &keyword, -1);
+		/* Check if the keyword is not empty and then emit the row-changed
+		signal (if we delete the row, then the iter gets corrupted) */
+		if ((keyword) && !(g_utf8_strlen (g_strstrip (keyword), -1) > 0))
+			gtk_tree_model_row_changed (model, path, iter);
+		
+		char *value = NULL;
+                gtk_tree_model_get (model, iter, HEADER_VALUE_COLUMN, &value, -1);
+                /* Check if the keyword is not empty and then emit the row-changed
+                signal (if we delete the row, then the iter gets corrupted) */
+                if ((value) && !(g_utf8_strlen (g_strstrip (value), -1) > 0))
+                        gtk_tree_model_row_changed (model, path, iter);
+
+		g_free (keyword);
+                g_free (value);
+
+		valid = gtk_tree_model_iter_next (model, iter);
+	}
+
+	return FALSE;
+}
+
+static void
+cell_edited_callback (GtkCellRendererText *cell,
+		      gchar               *path_string,
+		      gchar               *new_text,
+		      ConfigData             *cd)
+{
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
+
+	gtk_tree_model_get_iter_from_string (model, &iter, path_string);
+
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+				    HEADER_KEY_COLUMN, new_text, -1);
+
+	commit_changes (cd);
+}
+
+static void
+cell_value_edited_callback (GtkCellRendererText *cell,
+                      gchar               *path_string,
+                      gchar               *new_text,
+                      ConfigData          *cd)
+{
+        GtkTreeModel *model;
+        GtkTreeIter iter;
+
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
+
+        gtk_tree_model_get_iter_from_string (model, &iter, path_string);
+
+        gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+                    HEADER_VALUE_COLUMN, new_text, -1);
+
+        commit_changes (cd);
+}
+
+static void
+header_add_clicked (GtkButton *button, ConfigData *cd)
+{
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	gchar *new_header = NULL;
+	GtkTreeViewColumn *focus_col;
+	GtkTreePath *path;
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
+	gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) header_foreach_check_isempty, cd);
+
+	/* Disconnect from signal so that we can create an empty row */
+	g_signal_handlers_disconnect_matched(G_OBJECT(model), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, header_isempty, cd);
+
+	new_header = g_strdup ("");
+	gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+			    HEADER_KEY_COLUMN, new_header, -1);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+			    HEADER_VALUE_COLUMN, new_header, -1);
+
+	focus_col = gtk_tree_view_get_column (GTK_TREE_VIEW (cd->treeview), HEADER_KEY_COLUMN);
+	path = gtk_tree_model_get_path (model, &iter);
+
+	if (path) {
+		gtk_tree_view_set_cursor (GTK_TREE_VIEW (cd->treeview), path, focus_col, TRUE);
+		gtk_tree_view_row_activated(GTK_TREE_VIEW(cd->treeview), path, focus_col);
+		gtk_tree_path_free (path);
+	}
+
+	/* We have done our job, connect back to the signal */
+	g_signal_connect(G_OBJECT(model), "row-changed", G_CALLBACK(header_isempty), cd);
+}
+
+static void
+header_remove_clicked (GtkButton *button, ConfigData *cd)
+{
+	GtkTreeSelection *selection;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	GtkTreePath *path;
+	gboolean valid;
+	gint len;
+
+	valid = FALSE;
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (cd->treeview));
+	if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+		return;
+
+	/* Get the path and move to the previous node :) */
+	path = gtk_tree_model_get_path (model, &iter);
+	if (path)
+		valid = gtk_tree_path_prev(path);
+
+	gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
+
+	len = gtk_tree_model_iter_n_children (model, NULL);
+	if (len > 0) {
+		if (gtk_list_store_iter_is_valid (GTK_LIST_STORE(model), &iter)) {
+			gtk_tree_selection_select_iter (selection, &iter);
+		} else {
+			if (path && valid) {
+				gtk_tree_model_get_iter(model, &iter, path);
+				gtk_tree_selection_select_iter (selection, &iter);
+			}
+		}
+	} else {
+		gtk_widget_set_sensitive (cd->header_edit, FALSE);
+		gtk_widget_set_sensitive (cd->header_remove, FALSE);
+	}
+
+	gtk_widget_grab_focus(cd->treeview);
+	gtk_tree_path_free (path);
+
+	commit_changes (cd);
+}
+
+static void
+header_edit_clicked (GtkButton *button, ConfigData *cd)
+{
+	GtkTreeSelection *selection;
+	GtkTreeModel *model;
+	GtkTreePath *path;
+	GtkTreeIter iter;
+	GtkTreeViewColumn *focus_col;
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (cd->treeview));
+	if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+		return;
+
+	focus_col = gtk_tree_view_get_column (GTK_TREE_VIEW (cd->treeview), HEADER_KEY_COLUMN);
+	path = gtk_tree_model_get_path (model, &iter);
+
+	if (path) {
+		gtk_tree_view_set_cursor (GTK_TREE_VIEW (cd->treeview), path, focus_col, TRUE);
+		gtk_tree_path_free (path);
+	}
+}
+
+static void
+selection_changed (GtkTreeSelection *selection, ConfigData *cd)
+{
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+
+	if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+		gtk_widget_set_sensitive (cd->header_edit, TRUE);
+		gtk_widget_set_sensitive (cd->header_remove, TRUE);
+	} else {
+		gtk_widget_set_sensitive (cd->header_edit, FALSE);
+		gtk_widget_set_sensitive (cd->header_remove, FALSE);
+	}
+}
+
+static void
+destroy_cd_data (gpointer data)
+{
+	ConfigData *cd = (ConfigData *) data;
+
+	if (!cd)
+		return;
+
+	g_object_unref (cd->xml);
+	g_object_unref (cd->gconf);
+	g_free (cd);
+}
+
+GtkWidget *
+e_plugin_lib_get_configure_widget (EPlugin *epl)
+{
+	GtkCellRenderer *renderer;
+	GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	GtkWidget *hbox;
+	GSList *list;
+	GSList *header_list = NULL;
+	GtkTreeModel *model;
+	gint index;
+        gchar *buffer;
+        char *str_colon = NULL, *str1_colon = NULL;
+        GtkTreeViewColumn *col;
+	int col_pos;
+
+	GConfClient *client = gconf_client_get_default();
+
+	ConfigData *cd = g_new0 (ConfigData, 1);
+
+	char *gladefile;
+
+	gladefile = g_build_filename (EVOLUTION_GLADEDIR,
+			"email-custom-header.glade",
+			NULL);
+	cd->xml = glade_xml_new (gladefile, "ech_configuration_box", NULL);
+	g_free (gladefile);
+
+	cd->gconf = gconf_client_get_default ();
+
+	cd->treeview = glade_xml_get_widget (cd->xml, "header_treeview");
+
+	cd->store = gtk_list_store_new (HEADER_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
+
+	gtk_tree_view_set_model (GTK_TREE_VIEW (cd->treeview), GTK_TREE_MODEL (cd->store));
+
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (cd->treeview), -1, _("Key"),
+			renderer, "text", HEADER_KEY_COLUMN, NULL);
+	col = gtk_tree_view_get_column (GTK_TREE_VIEW (cd->treeview), col_pos -1);
+        gtk_tree_view_column_set_resizable (col, TRUE);
+        gtk_tree_view_column_set_reorderable(col, TRUE);
+        g_object_set (col, "min-width", 50, NULL);
+
+	g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL);
+	g_signal_connect(renderer, "edited", (GCallback) cell_edited_callback, cd);
+
+	renderer = gtk_cell_renderer_text_new ();
+        col_pos = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (cd->treeview), -1, _("Values"),
+                        renderer, "text", HEADER_VALUE_COLUMN, NULL);
+        col = gtk_tree_view_get_column (GTK_TREE_VIEW (cd->treeview), col_pos -1);
+        gtk_tree_view_column_set_resizable (col, TRUE);
+        gtk_tree_view_column_set_reorderable(col, TRUE);
+        g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL);
+
+        g_signal_connect(renderer, "edited", (GCallback) cell_value_edited_callback, cd);
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (cd->treeview));
+	gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
+	g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (selection_changed), cd);
+	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (cd->treeview), TRUE);
+
+	cd->header_add = glade_xml_get_widget (cd->xml, "header_add");
+	g_signal_connect (G_OBJECT (cd->header_add), "clicked", G_CALLBACK (header_add_clicked), cd);
+
+	cd->header_remove = glade_xml_get_widget (cd->xml, "header_remove");
+	g_signal_connect (G_OBJECT (cd->header_remove), "clicked", G_CALLBACK (header_remove_clicked), cd);
+	gtk_widget_set_sensitive (cd->header_remove, FALSE);
+
+	cd->header_edit = glade_xml_get_widget (cd->xml, "header_edit");
+	g_signal_connect (G_OBJECT (cd->header_edit), "clicked", G_CALLBACK (header_edit_clicked), cd);
+	gtk_widget_set_sensitive (cd->header_edit, FALSE);
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
+	g_signal_connect(G_OBJECT(model), "row-changed", G_CALLBACK(header_isempty), cd);
+
+	/* Populate tree view with values from gconf */
+	header_list = gconf_client_get_list (client,GCONF_KEY_CUSTOM_HEADER,GCONF_VALUE_STRING, NULL);	
+
+	for (list = header_list; list; list = g_slist_next (list)) {
+		gtk_list_store_append (cd->store, &iter);
+		gchar **parse_header_list;
+                buffer = list->data;
+                parse_header_list = g_strsplit_set (buffer, "=,", -1);
+                str_colon = g_strconcat (parse_header_list[0], "", NULL);
+                gtk_list_store_set (cd->store, &iter, HEADER_KEY_COLUMN, str_colon, -1);
+		
+		for (index = 0; parse_header_list[index+1] ; ++index) {
+                        str1_colon = g_strconcat (parse_header_list[index+1], "", NULL);
+                        gtk_list_store_set (cd->store, &iter, HEADER_VALUE_COLUMN, str1_colon, -1);
+                }
+	}
+	g_free (str_colon);
+	g_free (str1_colon);
+
+	if (header_list) {
+		g_slist_foreach (header_list, (GFunc) g_free, NULL);
+		g_slist_free (header_list);
+	}
+
+	/* Add the list here */
+
+	hbox = gtk_vbox_new (FALSE, 0);
+
+	gtk_box_pack_start (GTK_BOX (hbox), glade_xml_get_widget (cd->xml, "ech_configuration_box"), TRUE, TRUE, 0);
+
+	/* to let free data properly on destroy of configuration widget */
+	g_object_set_data_full (G_OBJECT (hbox), "mycd-data", cd, destroy_cd_data);
+
+	return hbox;
+}
+
+/* Configuration in Mail Prefs Page goes here */
+
+GtkWidget *
+org_gnome_email_custom_header_config_option (struct _EPlugin *epl, struct _EConfigHookItemFactoryData *data)
+{
+	/* This function and the hook needs to be removed,
+	once the configure code is thoroughly tested */
+
+	return NULL;
+
+}

Modified: branches/kill-bonobo/plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -18,5 +18,12 @@
 				</menubar>
 			</ui-manager>
 		</hook>
+		
+		<hook class="org.gnome.evolution.mail.config:1.0">
+                        <group target="prefs" id="org.gnome.evolution.mail.composerPrefs">
+                                <item type="section" path="00.general/10.alerts/" factory="org_gnome_email_custom_header_config_option"/>
+                        </group>
+                </hook>
+
 	</e-plugin>
 </e-plugin-list>

Modified: branches/kill-bonobo/plugins/exchange-operations/exchange-account-setup.c
==============================================================================
--- branches/kill-bonobo/plugins/exchange-operations/exchange-account-setup.c	(original)
+++ branches/kill-bonobo/plugins/exchange-operations/exchange-account-setup.c	Fri Aug  8 04:26:12 2008
@@ -413,6 +413,18 @@
 	}
 }
 
+static const char *
+gal_auth_to_string (E2kAutoconfigGalAuthPref ad_auth)
+{
+	switch (ad_auth) {
+	case E2K_AUTOCONFIG_USE_GAL_DEFAULT: return "default";
+	case E2K_AUTOCONFIG_USE_GAL_BASIC:   return "basic";
+	case E2K_AUTOCONFIG_USE_GAL_NTLM:    return "ntlm";
+	}
+
+	return "default";
+}
+
 static void
 owa_authenticate_user(GtkWidget *button, EConfig *config)
 {
@@ -430,6 +442,7 @@
 	exchange_params = g_new0 (ExchangeParams, 1);
 	exchange_params->host = NULL;
 	exchange_params->ad_server = NULL;
+	exchange_params->ad_auth = E2K_AUTOCONFIG_USE_GAL_DEFAULT;
 	exchange_params->mailbox = NULL;
 	exchange_params->owa_path = NULL;
 	exchange_params->is_ntlm = TRUE;
@@ -487,6 +500,7 @@
 	camel_url_set_param (url, "ad_server", valid ? exchange_params->ad_server: NULL);
 	camel_url_set_param (url, "mailbox", valid ? exchange_params->mailbox : NULL);
 	camel_url_set_param (url, "owa_path", valid ? exchange_params->owa_path : NULL);
+	camel_url_set_param (url, "ad_auth", valid ? gal_auth_to_string (exchange_params->ad_auth) : NULL);
 
 	if (mailbox_entry) {
 		const char *par = camel_url_get_param (url, "mailbox");

Modified: branches/kill-bonobo/plugins/exchange-operations/exchange-folder-subscription.c
==============================================================================
--- branches/kill-bonobo/plugins/exchange-operations/exchange-folder-subscription.c	(original)
+++ branches/kill-bonobo/plugins/exchange-operations/exchange-folder-subscription.c	Fri Aug  8 04:26:12 2008
@@ -237,9 +237,12 @@
 									  user_email_address,
 									  folder_name, &folder);
 			g_free (folder_name);
+			gtk_widget_hide (dialog);
 			switch (result) {
 				case EXCHANGE_ACCOUNT_FOLDER_OK:
 					exchange_account_rescan_tree (subscription_info->account);
+					if (!g_ascii_strcasecmp (e_folder_get_type_string (folder), "mail"))
+						e_error_run (NULL, ERROR_DOMAIN ":folder-restart-evo", NULL);
 					break;
 				case EXCHANGE_ACCOUNT_FOLDER_ALREADY_EXISTS:
 					e_error_run (NULL, ERROR_DOMAIN ":folder-exists-error", NULL);

Modified: branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -5,7 +5,8 @@
     id="org.gnome.evolution.plugin.exchange-operations"
     location="@PLUGINDIR@/liborg-gnome-exchange-operations SOEXT@"
     load-on-startup="true"
-    _name="Exchange Operations">
+    _name="Exchange Operations"
+    system_plugin="true">
     <author name="Sushma Rai" email="rsushma novell com"/>
     <author name="Praveen Kumar" email="kpraveen novell com"/>
     <author name="Shakti Sen" email="shprasad novell com"/>
@@ -37,6 +38,9 @@
                 <item type="item_table"
                         path="10.receive/10.config/20.owa"
 			factory="org_gnome_exchange_owa_url"/>
+		<item type="section"
+			path="10.receive/30.auth/00.exchange_auth"
+			factory="org_gnome_exchange_auth_section"/>
 	</group>
 
         <group

Modified: branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.error.xml
==============================================================================
--- branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	(original)
+++ branches/kill-bonobo/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	Fri Aug  8 04:26:12 2008
@@ -221,6 +221,10 @@
   <_primary>Folder already exists</_primary>
  </error>
 
+ <error id="folder-restart-evo" type="error">
+  <_primary>Evolution requires a restart to load the subscribed user's mailbox</_primary>
+ </error>
+
  <error id="folder-doesnt-exist-error" type="error">
   <_primary>Folder does not exist</_primary>
  </error>

Modified: branches/kill-bonobo/plugins/external-editor/org-gnome-external-editor.xml
==============================================================================
--- branches/kill-bonobo/plugins/external-editor/org-gnome-external-editor.xml	(original)
+++ branches/kill-bonobo/plugins/external-editor/org-gnome-external-editor.xml	Fri Aug  8 04:26:12 2008
@@ -1,7 +1,7 @@
 <Root>
   <commands>
 
-    <cmd name="EPExtEditor" _label="Compose in External Editor"
+    <cmd name="EPExtEditor" _label="Compose in _External Editor"
       _tip="Compose messages using an external editor"
       pixtype="pixmap"/>
 

Modified: branches/kill-bonobo/plugins/google-account-setup/Makefile.am
==============================================================================
--- branches/kill-bonobo/plugins/google-account-setup/Makefile.am	(original)
+++ branches/kill-bonobo/plugins/google-account-setup/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -1,5 +1,6 @@
 INCLUDES = 						\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(EVOLUTION_ADDRESSBOOK_CFLAGS) \
 	-I .						\
 	-I$(top_srcdir)	                                \
 	-DCALDAV_GLADEDIR=\""$(gladedir)"\"		
@@ -10,7 +11,9 @@
 plugin_LTLIBRARIES = liborg-gnome-evolution-google.la
 
 liborg_gnome_evolution_google_la_SOURCES =        \
-	google-source.c
+	google-source.c \
+	google-contacts-source.h \
+	google-contacts-source.c
 
 liborg_gnome_evolution_google_la_LIBADD = 	\
 	$(EVOLUTION_CALENDAR_LIBS)		\

Modified: branches/kill-bonobo/plugins/google-account-setup/google-source.c
==============================================================================
--- branches/kill-bonobo/plugins/google-account-setup/google-source.c	(original)
+++ branches/kill-bonobo/plugins/google-account-setup/google-source.c	Fri Aug  8 04:26:12 2008
@@ -40,8 +40,18 @@
 #include <libedataserver/e-url.h>
 #include <libedataserver/e-account-list.h>
 #include <libecal/e-cal.h>
+#include <libedataserverui/e-cell-renderer-color.h>
+#include <libedataserverui/e-passwords.h>
+
+#include <google/libgdata/gdata-service-iface.h>
+#include <google/libgdata/gdata-feed.h>
+#include <google/libgdata-google/gdata-google-service.h>
+
+#include "google-contacts-source.h"
 
 #define CALENDAR_LOCATION "http://www.google.com/calendar/feeds/";
+#define CALENDAR_DEFAULT_PATH "/private/full"
+#define URL_GET_SUBSCRIBED_CALENDARS "http://www.google.com/calendar/feeds/default/allcalendars/full";
 
 #define d(x)
 
@@ -56,6 +66,8 @@
 /*****************************************************************************/
 /* plugin intialization */
 
+
+
 static void
 ensure_google_source_group ()
 {
@@ -96,6 +108,9 @@
 	if (enable) {
 		d(printf ("\n Google Eplugin starting up ...\n"));
 		ensure_google_source_group ();
+		ensure_google_contacts_source_group ();
+	} else {
+		remove_google_contacts_source_group ();
 	}
 
 	return 0;
@@ -169,6 +184,83 @@
 	return TRUE;
 }
 
+static char *
+sanitize_user_mail (const char *user)
+{
+	if (!user)
+		return NULL;
+
+	if (!is_email (user)) {
+		return g_strconcat (user, "%40gmail.com", NULL);
+	} else {
+		char *tmp = g_malloc0 (sizeof (char) * (1 + strlen (user) + 2));
+		char *at = strchr (user, '@');
+
+		strncpy (tmp, user, at - user);
+		strcat (tmp, "%40");
+		strcat (tmp, at + 1);
+
+		return tmp;
+	}
+}
+
+static char *
+construct_default_uri (const char *username)
+{
+	char *user, *uri;
+
+	user = sanitize_user_mail (username);
+	uri = g_strconcat (CALENDAR_LOCATION, user, CALENDAR_DEFAULT_PATH, NULL);
+	g_free (user);
+
+	return uri;
+}
+
+/* checks whether the given_uri is pointing to the default user's calendar or not */
+static gboolean
+is_default_uri (const char *given_uri, const char *username)
+{
+	char *uri, *at;
+	int ats;
+	gboolean res;
+
+	if (!given_uri)
+		return TRUE;
+
+	uri = construct_default_uri (username);
+
+	/* count number of '@' in given_uri to know how much memory will be required */
+	ats = 0;
+	for (at = strchr (given_uri, '@'); at; at = strchr (at + 1, '@')) {
+		ats++;
+	}
+
+	if (!ats)
+		res = g_ascii_strcasecmp (given_uri, uri) == 0;
+	else {
+		const char *last;
+		char *tmp = g_malloc0 (sizeof (char) * (1 + strlen (given_uri) + (2 * ats)));
+
+		last = given_uri;
+		for (at = strchr (last, '@'); at; at = strchr (at + 1, '@')) {
+			strncat (tmp, last, at - last);
+			strcat (tmp, "%40");
+			last = at + 1;
+		}
+		strcat (tmp, last);
+
+		res = g_ascii_strcasecmp (tmp, uri) == 0;
+
+		g_free (tmp);
+	}
+
+	g_free (uri);
+
+	return res;
+}
+
+static void init_combo_values (GtkComboBox *combo, const char *deftitle, const char *defuri);
+
 static void
 user_changed (GtkEntry *editable, ESource *source)
 {
@@ -176,10 +268,8 @@
 	char       *uri;
 	char       *ruri;
 	const char *user;
-	char *projection;
 
 	uri = e_source_get_uri (source);
-	user = gtk_entry_get_text (GTK_ENTRY (editable));
 
 	if (uri == NULL) {
 		g_free (uri);
@@ -188,24 +278,27 @@
 
 	euri = e_uri_new (uri);
 	g_free (euri->user);
+	euri->user = NULL;
 
-	if (user != NULL) {
-		euri->user = g_strdup (user);
-		e_source_set_property (source, "auth", "1");
-	} else {
-		e_source_set_property (source, "auth", NULL);
-	}
-
-	projection = g_strdup ("/private/full");
+	/* two reasons why set readonly to FALSE:
+	   a) the e_source_set_relative_uri does nothing for readonly sources
+	   b) we are going to set default uri, which should be always writeable */
+	e_source_set_readonly (source, FALSE);
 
-	if (!is_email (user)) {
-		user = g_strconcat (user, "@gmail.com", NULL);
-	}
+	user = gtk_entry_get_text (GTK_ENTRY (editable));
+	uri = construct_default_uri (user);
+	e_source_set_relative_uri (source, uri);
+	g_free (uri);
 
-	e_source_set_relative_uri (source, g_strconcat (CALENDAR_LOCATION, g_strdup(user), g_strdup (projection), NULL));
-	e_source_set_property (source, "username", euri->user);
+	e_source_set_property (source, "username", gtk_entry_get_text (GTK_ENTRY (editable)));
 	e_source_set_property (source, "protocol", "google");
 	e_source_set_property (source, "auth-domain", "google");
+	e_source_set_property (source, "auth", (user && *user) ? "1" : NULL);
+	e_source_set_property (source, "googlename", NULL);
+
+	/* we changed user, thus reset the chosen calendar combo too, because
+	   other user means other calendars subscribed */
+	init_combo_values (GTK_COMBO_BOX (g_object_get_data (G_OBJECT (editable), "CalendarCombo")), _("Default"), NULL);
 
 	ruri = print_uri_noproto (euri);
 	g_free (ruri);
@@ -291,6 +384,229 @@
 	gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), time);
 }
 
+enum {
+	COL_COLOR = 0, /* GDK_TYPE_COLOR */
+	COL_TITLE,     /* G_TYPE_STRING */
+	COL_URL_PATH,  /* G_TYPE_STRING */
+	COL_READ_ONLY, /* G_TYPE_BOOLEAN */
+	NUM_COLUMNS
+};
+
+static void
+init_combo_values (GtkComboBox *combo, const char *deftitle, const char *defuri)
+{
+	GtkTreeIter iter;
+	GtkListStore *store;
+
+	if (!combo)
+		return;
+
+	store = GTK_LIST_STORE (gtk_combo_box_get_model (combo));
+
+	gtk_list_store_clear (store);
+
+	gtk_list_store_append (store, &iter);
+	gtk_list_store_set (store, &iter,
+		COL_COLOR, NULL,
+		COL_TITLE, deftitle,
+		COL_URL_PATH, defuri,
+		COL_READ_ONLY, FALSE,
+		-1);
+
+	gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
+}
+
+static void
+cal_combo_changed (GtkComboBox *combo, ESource *source)
+{
+	GtkListStore *store;
+	GtkTreeIter iter;
+
+	g_return_if_fail (combo != NULL);
+	g_return_if_fail (source != NULL);
+
+	store = GTK_LIST_STORE (gtk_combo_box_get_model (combo));
+
+	if (gtk_combo_box_get_active_iter (combo, &iter)) {
+		char *uri = NULL, *title = NULL;
+		gboolean readonly = FALSE;
+
+		gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, COL_TITLE, &title, COL_URL_PATH, &uri, COL_READ_ONLY, &readonly, -1);
+
+		if (!uri)
+			uri = construct_default_uri (e_source_get_property (source, "username"));
+
+		if (is_default_uri (uri, e_source_get_property (source, "username"))) {
+			/* do not store title when we use default uri */
+			g_free (title);
+			title = NULL;
+		}
+
+		/* first set readonly to FALSE, otherwise if TRUE, then e_source_set_readonly does nothing */
+		e_source_set_readonly (source, FALSE);
+		e_source_set_relative_uri (source, uri);
+		e_source_set_readonly (source, readonly);
+		e_source_set_property (source, "googlename", title);
+		e_source_set_property (source, "protocol", "google");
+		e_source_set_property (source, "auth-domain", "google");
+
+		g_free (title);
+		g_free (uri);
+	}
+}
+
+static void
+claim_error (GtkWindow *parent, const char *error)
+{
+	GtkWidget *dialog;
+
+	dialog = gtk_message_dialog_new (parent,
+			GTK_DIALOG_DESTROY_WITH_PARENT,
+			GTK_MESSAGE_ERROR,
+			GTK_BUTTONS_CLOSE,
+			error);
+	gtk_dialog_run (GTK_DIALOG (dialog));
+	gtk_widget_destroy (dialog);
+}
+
+static void
+retrieve_list_clicked (GtkButton *button, GtkComboBox *combo)
+{
+	ESource *source;
+	GDataGoogleService *service;
+	GDataFeed *feed;
+	char *password, *tmp;
+	const char *username;
+	GError *error = NULL;
+	GtkWindow *parent;
+
+	g_return_if_fail (button != NULL);
+	g_return_if_fail (combo != NULL);
+
+	parent = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (button)));
+
+	source = g_object_get_data (G_OBJECT (button), "ESource");
+	g_return_if_fail (source != NULL);
+
+	username = e_source_get_property (source, "username");
+	if (!username || !*username) {
+		claim_error (parent, _("Please enter user name first."));
+		return;
+	}
+
+	tmp = g_strdup_printf (_("Enter password for user %s to access list of subscribed calendars."), username);
+	password = e_passwords_ask_password (_("Enter password"), "Calendar", "", tmp, 
+			E_PASSWORDS_REMEMBER_NEVER | E_PASSWORDS_REPROMPT | E_PASSWORDS_SECRET | E_PASSWORDS_DISABLE_REMEMBER,
+			NULL, parent);
+	g_free (tmp);
+
+	if (!password)
+		return;
+
+	service = gdata_google_service_new ("cl", "evolution-client-0.0.1");
+	gdata_service_set_credentials (GDATA_SERVICE (service), username, password);
+	/* privacy... maybe... */
+	memset (password, 0, strlen (password));
+	g_free (password);
+
+	feed = gdata_service_get_feed (GDATA_SERVICE (service), URL_GET_SUBSCRIBED_CALENDARS, &error);
+
+	if (feed) {
+		GSList *l;
+		char *old_selected = NULL;
+		int idx, active = -1, default_idx = -1;
+		GtkListStore *store = GTK_LIST_STORE (gtk_combo_box_get_model (combo));
+		GtkTreeIter iter;
+
+		if (gtk_combo_box_get_active_iter (combo, &iter))
+			gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, COL_URL_PATH, &old_selected, -1);
+
+		gtk_list_store_clear (store);
+
+		for (l = gdata_feed_get_entries (feed), idx = 1; l != NULL; l = l->next) {
+			const char *uri, *title, *color, *access;
+			GSList *links;
+			GDataEntry *entry = (GDataEntry *) l->data;
+
+			if (!entry || !GDATA_IS_ENTRY (entry))
+				continue;
+
+			/* skip hidden entries */
+			if (gdata_entry_get_custom (entry, "hidden") && g_ascii_strcasecmp (gdata_entry_get_custom (entry, "hidden"), "true") == 0)
+				continue;
+
+			uri = NULL;
+			for (links = gdata_entry_get_links (entry); links && !uri; links = links->next) {
+				GDataEntryLink *link = (GDataEntryLink *)links->data;
+
+				if (!link || !link->href || !link->rel)
+					continue;
+
+				if (g_ascii_strcasecmp (link->rel, "alternate") == 0)
+					uri = link->href;
+			}
+
+			title = gdata_entry_get_title (entry);
+			color = gdata_entry_get_custom (entry, "color");
+			access = gdata_entry_get_custom (entry, "accesslevel");
+
+			if (uri && title) {
+				GdkColor gdkcolor;
+
+				if (old_selected && g_str_equal (old_selected, uri))
+					active = idx;
+
+				if (color)
+					gdk_color_parse (color, &gdkcolor);
+
+				if (default_idx == -1 && is_default_uri (uri, username)) {
+					/* have the default uri always NULL and first in the combo */
+					uri = NULL;
+					gtk_list_store_insert (store, &iter, 0);
+					default_idx = idx;
+				} else {
+					gtk_list_store_append (store, &iter);
+				}
+
+				gtk_list_store_set (store, &iter,
+					COL_COLOR, color ? &gdkcolor : NULL,
+					COL_TITLE, title,
+					COL_URL_PATH, uri,
+					COL_READ_ONLY, access && !g_str_equal (access, "owner") && !g_str_equal (access, "contributor"),
+					-1);
+				idx++;
+			}
+		}
+
+		if (default_idx == -1) {
+			/* Hey, why we didn't find the default uri? Did something go so wrong or what? */
+			gtk_list_store_insert (store, &iter, 0);
+			gtk_list_store_set (store, &iter,
+				COL_COLOR, NULL,
+				COL_TITLE, _("Default"),
+				COL_URL_PATH, NULL,
+				COL_READ_ONLY, FALSE,
+				-1);
+		}
+
+		gtk_combo_box_set_active (combo, active == -1 ? 0 : active);
+
+		g_free (old_selected);
+		g_object_unref (feed);
+	} else {
+		tmp = g_strdup_printf (_("Cannot read data from Google server.\n%s"), (error && error->message) ? error->message : _("Unknown error."));
+		claim_error (parent, tmp);
+		g_free (tmp);
+
+		if (error) {
+			g_error_free (error);
+			error = NULL;
+		}
+	}
+
+	g_object_unref (service);
+}
+
 GtkWidget *
 plugin_google  (EPlugin                    *epl,
 	     EConfigHookItemFactoryData *data)
@@ -305,11 +621,14 @@
 	GtkWidget    *luser;
 	GtkWidget    *user;
 	GtkWidget    *label;
+	GtkWidget    *combo;
 	char         *uri;
 	char         *username;
 	const char   *ssl_prop;
 	gboolean      ssl_enabled;
 	int           row;
+	GtkCellRenderer *renderer;
+	GtkListStore *store;
 
 	GtkWidget *option, *spin, *menu, *hbox;
 	GtkWidget *times [4];
@@ -425,7 +744,48 @@
         g_free (uri);
 	g_free (username);
 
-	return widget;
-}
+	label = gtk_label_new_with_mnemonic (_("Cal_endar:"));
+	gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+	gtk_widget_show (label);
+	gtk_table_attach (GTK_TABLE (parent), label, 0, 1, row + 4, row + 5, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
+	store = gtk_list_store_new (
+		NUM_COLUMNS,
+		GDK_TYPE_COLOR,		/* COL_COLOR */
+		G_TYPE_STRING,		/* COL_TITLE */
+		G_TYPE_STRING,		/* COL_URL_PATH */
+		G_TYPE_BOOLEAN);	/* COL_READ_ONLY */
 
+	combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
+
+	renderer = e_cell_renderer_color_new ();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
+	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer, "color", COL_COLOR, NULL);
+
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
+	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer, "text", COL_TITLE, NULL);
+
+	init_combo_values (GTK_COMBO_BOX (combo),
+		e_source_get_property (source, "googlename") ? e_source_get_property (source, "googlename") : _("Default"),
+		e_source_get_property (source, "googlename") ? e_source_peek_relative_uri (source) : NULL);
+
+	g_signal_connect (combo, "changed", G_CALLBACK (cal_combo_changed), source);
+
+	g_object_set_data (G_OBJECT (user), "CalendarCombo", combo);
+
+	hbox = gtk_hbox_new (FALSE, 6);
+
+	gtk_box_pack_start (GTK_BOX (hbox), combo, TRUE, TRUE, 0);
+	label = gtk_button_new_with_mnemonic (_("Retrieve _list"));
+	g_signal_connect (label, "clicked", G_CALLBACK (retrieve_list_clicked), combo);
+	g_object_set_data (G_OBJECT (label), "ESource", source);
+	gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+	gtk_widget_show_all (hbox);
+	gtk_table_attach (GTK_TABLE (parent), hbox, 1, 2, row + 4, row + 5, GTK_FILL | GTK_EXPAND, 0, 0, 0);
+
+	return widget;
+}

Modified: branches/kill-bonobo/plugins/google-account-setup/org-gnome-evolution-google.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/google-account-setup/org-gnome-evolution-google.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/google-account-setup/org-gnome-evolution-google.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -1,13 +1,19 @@
 <?xml version="1.0"?>
 <e-plugin-list>
   <e-plugin id="org.gnome.evolution.google" type="shlib" _name="Google sources"
-    location="@PLUGINDIR@/liborg-gnome-evolution-google SOEXT@" load-on-startup="false" localedir = "@LOCALEDIR@">
+    location="@PLUGINDIR@/liborg-gnome-evolution-google SOEXT@" load-on-startup="false" localedir = "@LOCALEDIR@" system_plugin="true">
     <author name="Ebby Wiselyn" email="ebbywiselyn gmail com"/>
-    <_description>A plugin to setup google calendar.</_description>
-    
+    <author name="Joergen Scheibengruber" email="joergen scheibengruber googlemail com"/>
+    <_description>A plugin to setup google calendar and contacts.</_description>
+
     <hook class="org.gnome.evolution.calendar.config:1.0">
       <group target="source" id="org.gnome.evolution.calendar.calendarProperties">
-	<item type="item_table" path="00.general/00.source/15.google" factory="plugin_google"/>
+        <item type="item_table" path="00.general/00.source/15.google" factory="plugin_google"/>
+      </group>
+    </hook>
+    <hook class="org.gnome.evolution.addressbook.config:1.0">
+      <group target="source" id="com.novell.evolution.addressbook.config.accountEditor">
+        <item type="item" path="00.general/10.display/00.google" factory="plugin_google_contacts"/>
       </group>
     </hook>
   </e-plugin>

Modified: branches/kill-bonobo/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <e-plugin-list>
   <e-plugin id="org.gnome.evolution.plugin.gw-account-setup" type="shlib" _name="Groupwise Account Setup"
-    location="@PLUGINDIR@/liborg-gnome-gw-account-setup SOEXT@" load-on-startup="true">
+    location="@PLUGINDIR@/liborg-gnome-gw-account-setup SOEXT@" load-on-startup="true" system_plugin="true">
     <author name="Sivaiah Nallagatla" email="snallagatla novell com"/>
     <_description>A plugin to setup groupwise calendar and contacts sources.</_description>
     

Modified: branches/kill-bonobo/plugins/groupwise-features/org-gnome-proxy-login-errors.xml
==============================================================================
--- branches/kill-bonobo/plugins/groupwise-features/org-gnome-proxy-login-errors.xml	(original)
+++ branches/kill-bonobo/plugins/groupwise-features/org-gnome-proxy-login-errors.xml	Fri Aug  8 04:26:12 2008
@@ -3,7 +3,7 @@
 <error id="invalid-user" type="error">
 <_primary>Invalid user</_primary>
 <_secondary>
-Proxy login as &quot;{0}&quot; was unsuccessful. Please check Email Id and try again. 
+Proxy login as &quot;{0}&quot; was unsuccessful. Please check your email address and try again. 
 </_secondary>
 </error>
 

Modified: branches/kill-bonobo/plugins/groupwise-features/org-gnome-shared-folder.errors.xml
==============================================================================
--- branches/kill-bonobo/plugins/groupwise-features/org-gnome-shared-folder.errors.xml	(original)
+++ branches/kill-bonobo/plugins/groupwise-features/org-gnome-shared-folder.errors.xml	Fri Aug  8 04:26:12 2008
@@ -15,9 +15,17 @@
 </_secondary>
 </error>
 
-<error id="recurrence" type="question" default="GTK_RESPONSE_YES">
+<error id="recurrence-accept" type="question" default="GTK_RESPONSE_YES">
 <_primary>This is a recurring meeting</_primary>
-<_secondary>What would you like to {0}?</_secondary>
+<_secondary>Would you like to accept it?</_secondary>
+ <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/>
+ <button label="This instance" response="GTK_RESPONSE_NO"/>
+ <button label="All instances" response="GTK_RESPONSE_YES"/>
+</error>
+
+<error id="recurrence-decline" type="question" default="GTK_RESPONSE_YES">
+<_primary>This is a recurring meeting</_primary>
+<_secondary>Would you like to decline it?</_secondary>
  <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/>
  <button label="This instance" response="GTK_RESPONSE_NO"/>
  <button label="All instances" response="GTK_RESPONSE_YES"/>

Modified: branches/kill-bonobo/plugins/groupwise-features/process-meeting.c
==============================================================================
--- branches/kill-bonobo/plugins/groupwise-features/process-meeting.c	(original)
+++ branches/kill-bonobo/plugins/groupwise-features/process-meeting.c	Fri Aug  8 04:26:12 2008
@@ -221,14 +221,14 @@
 
 		if (recurring) {
 			gint response;
-			const char *arg;
+			const char *msg;
 
 			if (status == ICAL_PARTSTAT_ACCEPTED || status == ICAL_PARTSTAT_TENTATIVE)
-				arg = "accept";
+				msg = "org.gnome.evolution.mail_shared_folder:recurrence-accept";
 			else
-				arg = "decline";
+				msg = "org.gnome.evolution.mail_shared_folder:recurrence-decline";
 
-			response = e_error_run (NULL, "org.gnome.evolution.mail_shared_folder:recurrence", arg, NULL);
+			response = e_error_run (NULL, msg, NULL);
 			if (response == GTK_RESPONSE_YES) {
 				icalproperty *prop;
 				const char *uid = icalcomponent_get_uid (r_data->icalcomp);

Modified: branches/kill-bonobo/plugins/hula-account-setup/org-gnome-evolution-hula-account-setup.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/hula-account-setup/org-gnome-evolution-hula-account-setup.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/hula-account-setup/org-gnome-evolution-hula-account-setup.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <e-plugin-list>
   <e-plugin id="org.gnome.evolution.plugin.hula-account-setup" type="shlib" _name="Hula Account Setup"
-    location="@PLUGINDIR@/liborg-gnome-evolution-hula-account-setup SOEXT@" load-on-startup="true">
+    location="@PLUGINDIR@/liborg-gnome-evolution-hula-account-setup SOEXT@" load-on-startup="true" system_plugin="true">
     <author name="Harish Krishnaswamy" email="kharish novell com"/>
     <_description>A plugin to setup hula calendar sources.</_description>
     

Modified: branches/kill-bonobo/plugins/itip-formatter/itip-formatter.c
==============================================================================
--- branches/kill-bonobo/plugins/itip-formatter/itip-formatter.c	(original)
+++ branches/kill-bonobo/plugins/itip-formatter/itip-formatter.c	Fri Aug  8 04:26:12 2008
@@ -1652,6 +1652,7 @@
 		icalcomponent_add_property (pitip->ical_comp, prop);
 	}
 
+	/*FIXME Save schedules is misused here, remove it */
 	save_schedules = e_cal_get_save_schedules (pitip->current_ecal);
 
 	switch (response) {
@@ -1713,6 +1714,7 @@
 			break;
 	}
 
+	/* FIXME Remove this and handle this at the groupwise mail provider */
 	if (delete_invitation_from_cache) {
 		CamelFolderChangeInfo *changes = NULL;
 		const char *tag = NULL;

Modified: branches/kill-bonobo/plugins/itip-formatter/itip-view.c
==============================================================================
--- branches/kill-bonobo/plugins/itip-formatter/itip-view.c	(original)
+++ branches/kill-bonobo/plugins/itip-formatter/itip-view.c	Fri Aug  8 04:26:12 2008
@@ -995,8 +995,10 @@
 	/* Summary */
 	priv->summary_label = gtk_label_new (NULL);
 	gtk_misc_set_alignment (GTK_MISC (priv->summary_label), 0, 0.5);
+	gtk_label_set_line_wrap_mode (GTK_LABEL (priv->summary_label), PANGO_WRAP_WORD);
+	gtk_label_set_line_wrap (GTK_LABEL (priv->summary_label), TRUE);
 	gtk_widget_show (priv->summary_label);
-	gtk_table_attach (GTK_TABLE (table), priv->summary_label, 0, 2, 0, 1, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->summary_label, 0, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* Location */
 	priv->location_header = gtk_label_new (_("Location:"));
@@ -1004,7 +1006,7 @@
 	gtk_misc_set_alignment (GTK_MISC (priv->location_header), 0, 0.5);
 	gtk_misc_set_alignment (GTK_MISC (priv->location_label), 0, 0.5);
 	gtk_table_attach (GTK_TABLE (table), priv->location_header, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
-	gtk_table_attach (GTK_TABLE (table), priv->location_label, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->location_label, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* Start time */
 	priv->start_header = gtk_label_new (_("Start time:"));
@@ -1013,7 +1015,7 @@
 	gtk_misc_set_alignment (GTK_MISC (priv->start_label), 0, 0.5);
 	gtk_widget_show (priv->start_header);
 	gtk_table_attach (GTK_TABLE (table), priv->start_header, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
-	gtk_table_attach (GTK_TABLE (table), priv->start_label, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->start_label, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* End time */
 	priv->end_header = gtk_label_new (_("End time:"));
@@ -1021,7 +1023,7 @@
 	gtk_misc_set_alignment (GTK_MISC (priv->end_header), 0, 0.5);
 	gtk_misc_set_alignment (GTK_MISC (priv->end_label), 0, 0.5);
 	gtk_table_attach (GTK_TABLE (table), priv->end_header, 0, 1, 3, 4, GTK_FILL, 0, 0, 0);
-	gtk_table_attach (GTK_TABLE (table), priv->end_label, 1, 2, 3, 4, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->end_label, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* Status */
 	priv->status_header = gtk_label_new (_("Status:"));
@@ -1029,7 +1031,7 @@
 	gtk_misc_set_alignment (GTK_MISC (priv->status_header), 0, 0.5);
 	gtk_misc_set_alignment (GTK_MISC (priv->status_label), 0, 0.5);
 	gtk_table_attach (GTK_TABLE (table), priv->status_header, 0, 1, 4, 5, GTK_FILL, 0, 0, 0);
-	gtk_table_attach (GTK_TABLE (table), priv->status_label, 1, 2, 4, 5, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->status_label, 1, 2, 4, 5, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* Comment */
 	priv->comment_header = gtk_label_new (_("Comment:"));
@@ -1037,7 +1039,7 @@
 	gtk_misc_set_alignment (GTK_MISC (priv->comment_header), 0, 0.5);
 	gtk_misc_set_alignment (GTK_MISC (priv->comment_label), 0, 0.5);
 	gtk_table_attach (GTK_TABLE (table), priv->comment_header, 0, 1, 5, 6, GTK_FILL, 0, 0, 0);
-	gtk_table_attach (GTK_TABLE (table), priv->comment_label, 1, 2, 5, 6, GTK_FILL, 0, 0, 0);
+	gtk_table_attach (GTK_TABLE (table), priv->comment_label, 1, 2, 5, 6, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
 	/* Upper Info items */
 	priv->upper_info_box = gtk_vbox_new (FALSE, 12);
@@ -1119,7 +1121,7 @@
 
 	/* The buttons for actions */
 	priv->button_box = gtk_hbutton_box_new ();
-	gtk_button_box_set_layout (GTK_BUTTON_BOX (priv->button_box), GTK_BUTTONBOX_END);
+	gtk_button_box_set_layout (GTK_BUTTON_BOX (priv->button_box), GTK_BUTTONBOX_START);
 	gtk_box_set_spacing (GTK_BOX (priv->button_box), 12);
 	gtk_widget_show (priv->button_box);
 	gtk_box_pack_start (GTK_BOX (vbox), priv->button_box, FALSE, FALSE, 0);

Modified: branches/kill-bonobo/plugins/mail-notification/Makefile.am
==============================================================================
--- branches/kill-bonobo/plugins/mail-notification/Makefile.am	(original)
+++ branches/kill-bonobo/plugins/mail-notification/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -5,7 +5,7 @@
 
 if ENABLE_DBUS
 INCLUDES += 	-DDBUS_API_SUBJECT_TO_CHANGE=1		\
-		-DDBUS_VERSION=$(DBUS_VERSION)          \
+		-DFOUND_DBUS_VERSION=$(FOUND_DBUS_VERSION)          \
 		$(NMN_CFLAGS)
 endif
 

Modified: branches/kill-bonobo/plugins/mail-notification/apps-evolution-mail-notification.schemas.in
==============================================================================
--- branches/kill-bonobo/plugins/mail-notification/apps-evolution-mail-notification.schemas.in	(original)
+++ branches/kill-bonobo/plugins/mail-notification/apps-evolution-mail-notification.schemas.in	Fri Aug  8 04:26:12 2008
@@ -77,7 +77,7 @@
       <default>true</default>
       <locale name="C">
         <short>Beep or play sound file.</short>
-        <long>If true, then beep, otherwise will play sound file when new messages arrive.</long>
+        <long>If "true", then beep, otherwise will play sound file when new messages arrive.</long>
       </locale>
     </schema>
     <schema>

Modified: branches/kill-bonobo/plugins/mail-notification/mail-notification.c
==============================================================================
--- branches/kill-bonobo/plugins/mail-notification/mail-notification.c	(original)
+++ branches/kill-bonobo/plugins/mail-notification/mail-notification.c	Fri Aug  8 04:26:12 2008
@@ -55,6 +55,7 @@
 #define GCONF_KEY_ENABLED_SOUND	 	GCONF_KEY_ROOT "sound-enabled"
 
 static gboolean enabled = FALSE;
+static GtkWidget *get_cfg_widget (void);
 
 /**
  * each part should "implement" its own "public" functions:
@@ -135,7 +136,7 @@
 
 	/* Appends the data as an argument to the message */
 	dbus_message_append_args (message,
-#if DBUS_VERSION >= 310
+#if FOUND_DBUS_VERSION >= 310
 				  DBUS_TYPE_STRING, &data,
 #else
 				  DBUS_TYPE_STRING, data,
@@ -145,7 +146,7 @@
 	if (new) {
 		char * display_name = em_utils_folder_name_from_uri (data);
 		dbus_message_append_args (message,
-#if DBUS_VERSION >= 310
+#if FOUND_DBUS_VERSION >= 310
 					  DBUS_TYPE_STRING, &display_name, DBUS_TYPE_UINT32, &new,
 #else
 					  DBUS_TYPE_STRING, display_name, DBUS_TYPE_UINT32, new,
@@ -270,6 +271,7 @@
 #define GCONF_KEY_STATUS_NOTIFICATION	GCONF_KEY_ROOT "status-notification"
 
 static GtkStatusIcon *status_icon = NULL;
+static guint blink_timeout_id = 0;
 static unsigned int status_count = 0;
 
 #ifdef HAVE_LIBNOTIFY
@@ -294,6 +296,11 @@
 	gtk_status_icon_set_visible (status_icon, FALSE);
 	g_object_unref (status_icon);
 
+	if (blink_timeout_id) {
+		g_source_remove (blink_timeout_id);
+		blink_timeout_id = 0;
+	}
+
 	status_icon = NULL;
 	status_count = 0;
 }
@@ -306,6 +313,17 @@
 }
 #endif
 
+static gboolean
+stop_blinking_cb (gpointer data)
+{
+	blink_timeout_id = 0;
+
+	if (status_icon)
+		gtk_status_icon_set_blinking (status_icon, FALSE);
+
+	return FALSE;
+}
+
 struct _StatusConfigureWidgets
 {
 	GtkWidget *enable;
@@ -348,11 +366,88 @@
 /* -------------------------------------------------------------------  */
 
 static void
+do_properties (GtkMenuItem *item, gpointer user_data)
+{
+	GtkWidget *cfg, *dialog, *vbox, *label, *hbox;
+	char *text;
+
+	cfg = get_cfg_widget ();
+	if (!cfg)
+		return;
+
+	text = g_strconcat ("<span size=\"x-large\">", _("Evolution's Mail Notification"), "</span>", NULL);
+
+	vbox = gtk_vbox_new (FALSE, 10);
+	label = gtk_label_new (NULL);
+	gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+	gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+	gtk_label_set_markup (GTK_LABEL (label), text);
+	g_free (text);
+
+	gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+	gtk_widget_show (label);
+	gtk_widget_show (vbox);
+
+	hbox = gtk_hbox_new (FALSE, 10);
+	label = gtk_label_new ("   ");
+	gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+	gtk_widget_show_all (hbox);
+
+	gtk_box_pack_start (GTK_BOX (hbox), cfg, TRUE, TRUE, 0);
+	gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
+
+	dialog = gtk_dialog_new_with_buttons (_("Mail Notification Properties"),
+						NULL, 
+						GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, 
+						GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+						NULL);
+
+	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+	gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
+	gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
+	gtk_widget_set_size_request (dialog, 400, -1);
+	g_signal_connect_swapped (dialog, "response",  G_CALLBACK (gtk_widget_destroy), dialog);
+	gtk_widget_show (dialog);
+}
+
+static void
+popup_menu_status (GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data)
+{
+	GtkMenu *menu;
+	GtkWidget *item;
+
+	menu = GTK_MENU (gtk_menu_new ());
+
+	item = gtk_image_menu_item_new_from_stock (GTK_STOCK_CLOSE, NULL);
+	#ifdef HAVE_LIBNOTIFY
+	g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (icon_activated), notify);
+	#else
+	g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (icon_activated), NULL);
+	#endif
+	gtk_widget_show (item);
+	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	
+	item = gtk_separator_menu_item_new ();
+	gtk_widget_show (item);
+	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+	item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PROPERTIES, NULL);
+	g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (do_properties), NULL);
+	gtk_widget_show (item);
+	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+	g_object_ref_sink (menu);
+	gtk_menu_popup (menu, NULL, NULL, NULL, NULL, button, activate_time);
+	g_object_unref (menu);
+}
+
+static void
 new_notify_status (EMEventTargetFolder *t)
 {
 	char *msg;
+	gboolean new_icon = !status_icon;
 
-	if (!status_icon) {
+	if (new_icon) {
 		status_icon = gtk_status_icon_new ();
 		gtk_status_icon_set_from_pixbuf (status_icon, e_icon_factory_get_icon ("mail-unread", E_ICON_SIZE_LARGE_TOOLBAR));
 	}
@@ -370,8 +465,13 @@
 	}
 
 	gtk_status_icon_set_tooltip (status_icon, msg);
+
+	if (new_icon && is_part_enabled (GCONF_KEY_STATUS_BLINK)) {
+		gtk_status_icon_set_blinking (status_icon, TRUE);
+		blink_timeout_id = g_timeout_add_seconds (15, stop_blinking_cb, NULL);
+	}
+
 	gtk_status_icon_set_visible (status_icon, TRUE);
-	gtk_status_icon_set_blinking (status_icon, is_part_enabled (GCONF_KEY_STATUS_BLINK));
 
 	#ifdef HAVE_LIBNOTIFY
 	/* Now check whether we're supposed to send notifications */
@@ -399,6 +499,8 @@
 	#else
 	g_signal_connect (G_OBJECT (status_icon), "activate", G_CALLBACK (icon_activated), NULL);
 	#endif
+
+	g_signal_connect (G_OBJECT (status_icon), "popup-menu", G_CALLBACK (popup_menu_status), NULL);
 }
 
 static void
@@ -694,6 +796,37 @@
 	set_part_enabled (GCONF_KEY_NOTIFY_ONLY_INBOX, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
 }
 
+static GtkWidget *
+get_cfg_widget (void)
+{
+	GtkWidget *cfg, *vbox, *check;
+
+	vbox = gtk_vbox_new (FALSE, 6);
+	check = gtk_check_button_new_with_mnemonic (_("Notify new messages for _Inbox only"));
+
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), is_part_enabled (GCONF_KEY_NOTIFY_ONLY_INBOX));
+	g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (toggled_only_inbox_cb), NULL);
+	gtk_widget_show (check);
+	gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
+
+#ifdef HAVE_DBUS	
+	cfg = get_config_widget_dbus ();
+	if (cfg)
+		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
+#endif 
+	cfg = get_config_widget_status ();
+	if (cfg)
+		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
+
+	cfg = get_config_widget_sound ();
+	if (cfg)
+		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
+
+	gtk_widget_show (vbox);
+
+	return vbox;
+}
+
 void org_gnome_mail_new_notify (EPlugin *ep, EMEventTargetFolder *t);
 void org_gnome_mail_read_notify (EPlugin *ep, EMEventTargetMessage *t);
 
@@ -779,30 +912,5 @@
 GtkWidget *
 e_plugin_lib_get_configure_widget (EPlugin *epl)
 {
-	GtkWidget *cfg, *vbox, *check;
-
-	vbox = gtk_vbox_new (FALSE, 6);
-	check = gtk_check_button_new_with_mnemonic (_("Notify new messages for _Inbox only"));
-
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), is_part_enabled (GCONF_KEY_NOTIFY_ONLY_INBOX));
-	g_signal_connect (G_OBJECT (check), "toggled", G_CALLBACK (toggled_only_inbox_cb), NULL);
-	gtk_widget_show (check);
-	gtk_box_pack_start (GTK_BOX (vbox), check, FALSE, FALSE, 0);
-
-#ifdef HAVE_DBUS	
-	cfg = get_config_widget_dbus ();
-	if (cfg)
-		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
-#endif 
-	cfg = get_config_widget_status ();
-	if (cfg)
-		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
-
-	cfg = get_config_widget_sound ();
-	if (cfg)
-		gtk_box_pack_start (GTK_BOX (vbox), cfg, FALSE, FALSE, 0);
-
-	gtk_widget_show (vbox);
-
-	return vbox;
+	return get_cfg_widget ();
 }

Modified: branches/kill-bonobo/plugins/mark-all-read/mark-all-read.c
==============================================================================
--- branches/kill-bonobo/plugins/mark-all-read/mark-all-read.c	(original)
+++ branches/kill-bonobo/plugins/mark-all-read/mark-all-read.c	Fri Aug  8 04:26:12 2008
@@ -34,9 +34,10 @@
 #include "e-util/e-error.h"
 
 #define PRIMARY_TEXT \
-	N_("Mark all messages in this folder and subfolders as read?")
+	N_("Also mark messages in subfolders?")
 #define SECONDARY_TEXT \
-	N_("Do you want the operation to be performed also in the subfolders?")
+	N_("Do you want to mark messages as read in the current folder " \
+	   "only, or in the current folder as well as all subfolders?")
 
 void org_gnome_mark_all_read (EPlugin *ep, EMPopupTargetFolder *target);
 static void mar_got_folder (char *uri, CamelFolder *folder, void *data);
@@ -81,8 +82,7 @@
 	dialog = gtk_dialog_new ();
 	gtk_widget_hide (GTK_DIALOG (dialog)->action_area);
 	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
-	gtk_window_set_title (
-		GTK_WINDOW (dialog), _("Mark All Messages as Read"));
+	gtk_window_set_title (GTK_WINDOW (dialog), "");
 	g_signal_connect (
 		dialog, "map",
 		G_CALLBACK (gtk_widget_queue_resize), NULL);

Modified: branches/kill-bonobo/plugins/python/Makefile.am
==============================================================================
--- branches/kill-bonobo/plugins/python/Makefile.am	(original)
+++ branches/kill-bonobo/plugins/python/Makefile.am	Fri Aug  8 04:26:12 2008
@@ -15,7 +15,14 @@
 	$(PY_LIBS) \
 	$(E_UTIL_LIBS)
 
-EXTRA_DIST = org-gnome-evolution-python.eplug.xml
+example_sources =					\
+	example/hello_python.py 			\
+	example/org-gnome-hello-python-ui.xml		\
+	example/org-gnome-hello-python.eplug.xml	\
+	example/Makefile.am	
+
+EXTRA_DIST = org-gnome-evolution-python.eplug.xml	\
+	$(example_sources)
 
 BUILT_SOURCES = $(plugin_DATA)
 CLEANFILES = $(BUILT_SOURCES)

Modified: branches/kill-bonobo/plugins/startup-wizard/org-gnome-evolution-startup-wizard.eplug.xml
==============================================================================
--- branches/kill-bonobo/plugins/startup-wizard/org-gnome-evolution-startup-wizard.eplug.xml	(original)
+++ branches/kill-bonobo/plugins/startup-wizard/org-gnome-evolution-startup-wizard.eplug.xml	Fri Aug  8 04:26:12 2008
@@ -4,9 +4,9 @@
 	    type="shlib"
 	    id="org.gnome.evolution.plugin.startup-wizard"
 	    location="@PLUGINDIR@/liborg-gnome-evolution-startup-wizard SOEXT@"
-	    _name="Startup wizard">
+	    _name="Setup Assistant">
 	     <author name="JP Rosevear" email="jpr novell com"/>
-	     <_description>A plugin that manages the Startup wizard.</_description>
+	     <_description>Guides you through your initial account setup.</_description>
 		<hook class="org.gnome.evolution.shell.events:1.0">
 			<event
 			   id="upgrade.done"

Modified: branches/kill-bonobo/po/LINGUAS
==============================================================================
--- branches/kill-bonobo/po/LINGUAS	(original)
+++ branches/kill-bonobo/po/LINGUAS	Fri Aug  8 04:26:12 2008
@@ -56,6 +56,7 @@
 or
 pa
 pl
+ps
 pt
 pt_BR
 ro

Modified: branches/kill-bonobo/po/POTFILES.in
==============================================================================
--- branches/kill-bonobo/po/POTFILES.in	(original)
+++ branches/kill-bonobo/po/POTFILES.in	Fri Aug  8 04:26:12 2008
@@ -290,6 +290,7 @@
 plugins/default-source/default-source.c
 plugins/default-source/org-gnome-default-source.eplug.xml
 plugins/email-custom-header/email-custom-header.c
+plugins/email-custom-header/email-custom-header.glade
 plugins/email-custom-header/org-gnome-email-custom-header.glade
 plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml
 plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in
@@ -332,6 +333,7 @@
 plugins/folder-unsubscribe/folder-unsubscribe.c
 plugins/folder-unsubscribe/org-gnome-mail-folder-unsubscribe.eplug.xml
 plugins/google-account-setup/google-source.c
+plugins/google-account-setup/google-contacts-source.c
 plugins/google-account-setup/org-gnome-evolution-google.eplug.xml
 plugins/groupwise-account-setup/camel-gw-listener.c
 plugins/groupwise-account-setup/org-gnome-gw-account-setup.eplug.xml
@@ -415,17 +417,21 @@
 plugins/startup-wizard/startup-wizard.c
 plugins/subject-thread/org-gnome-subject-thread.eplug.xml
 plugins/subject-thread/subject-thread.c
+plugins/templates/apps-evolution-template-placeholders.schemas.in
+plugins/templates/templates.c
+plugins/templates/templates.glade
+plugins/templates/org-gnome-templates.eplug.xml
 plugins/tnef-attachments/org-gnome-tnef-attachments.eplug.xml
+plugins/webdav-account-setup/org-gnome-evolution-webdav.eplug.xml
+plugins/webdav-account-setup/webdav-contacts-source.c
 shell/GNOME_Evolution_Shell.server.in.in
 shell/test/GNOME_Evolution_Test.server.in.in
 shell/apps_evolution_shell.schemas.in
 shell/e-active-connection-dialog.glade
 shell/e-component-registry.c
 shell/e-config-upgrade.c
-shell/e-shell-folder-title-bar.c
 shell/e-shell-importer.c
 shell/e-shell-settings-dialog.c
-shell/e-shell-utils.c
 shell/e-shell-view.c
 shell/e-shell-window-commands.c
 shell/e-shell-window.c
@@ -449,15 +455,11 @@
 tools/killev.c
 ui/evolution-addressbook.xml
 ui/evolution-calendar.xml
-ui/evolution-editor.xml
-ui/evolution-event-editor.xml
 ui/evolution-mail-global.xml
 ui/evolution-mail-list.xml
 ui/evolution-mail-message.xml
 ui/evolution-mail-messagedisplay.xml
-ui/evolution-memo-editor.xml
 ui/evolution-memos.xml
-ui/evolution-task-editor.xml
 ui/evolution-tasks.xml
 ui/evolution.xml
 views/addressbook/galview.xml
@@ -493,6 +495,7 @@
 widgets/misc/e-filter-bar.h
 widgets/misc/e-image-chooser.c
 widgets/misc/e-map.c
+widgets/misc/e-online-button.c
 widgets/misc/e-pilot-settings.c
 widgets/misc/e-reflow.c
 widgets/misc/e-search-bar.c

Modified: branches/kill-bonobo/shell/apps_evolution_shell.schemas.in
==============================================================================
--- branches/kill-bonobo/shell/apps_evolution_shell.schemas.in	(original)
+++ branches/kill-bonobo/shell/apps_evolution_shell.schemas.in	Fri Aug  8 04:26:12 2008
@@ -314,7 +314,7 @@
       <type>bool</type>
       <locale name="C">
         <short>Authenticate proxy server connections</short>
-        <long>If true, then connections to the proxy server require authentication. The username/password combo is defined by "/apps/evolution/shell/network_config/authentication_user" and locally stored password in .gnome2_private/.</long>
+        <long>If true, then connections to the proxy server require authentication. The username is retrieved from the "/apps/evolution/shell/network_config/authentication_user" GConf key, and the password is retrieved from either gnome-keyring or the ~/.gnome2_private/Evolution password file.</long>
       </locale>
     </schema>
 

Modified: branches/kill-bonobo/shell/e-component-registry.c
==============================================================================
--- branches/kill-bonobo/shell/e-component-registry.c	(original)
+++ branches/kill-bonobo/shell/e-component-registry.c	Fri Aug  8 04:26:12 2008
@@ -54,9 +54,8 @@
 	  	    const char *button_tooltips,
 		    const char *menu_label,
 		    const char *menu_accelerator,
-		    int sort_order,
-		    GdkPixbuf *button_icon,
-		    GdkPixbuf *menu_icon)
+                    const char *icon_name,
+		    int sort_order)
 {
 	EComponentInfo *info = g_new0 (EComponentInfo, 1);
 
@@ -67,16 +66,9 @@
 	info->button_tooltips = g_strdup (button_tooltips);
 	info->menu_label = g_strdup (menu_label);
 	info->menu_accelerator = g_strdup (menu_accelerator);
+        info->icon_name = g_strdup (icon_name);
 	info->sort_order = sort_order;
 
-	info->button_icon = button_icon;
-	if (info->button_icon)
-		g_object_ref (info->button_icon);
-
-	info->menu_icon = menu_icon;
-	if (info->menu_icon)
-		g_object_ref (info->menu_icon);
-
 	return info;
 }
 
@@ -90,12 +82,6 @@
 	g_free (info->menu_label);
 	g_free (info->menu_accelerator);
 
-	if (info->button_icon)
-		g_object_unref (info->button_icon);
-
-	if (info->menu_icon)
-		g_object_unref (info->menu_icon);
-
 	if (info->iface != NULL)
 		bonobo_object_release_unref (info->iface, NULL);
 
@@ -183,7 +169,6 @@
 		const char *icon_name;
 		const char *sort_order_string;
 		const char *tooltips;
-		GdkPixbuf *icon = NULL, *menuicon = NULL;
 		EComponentInfo *info;
 		int sort_order;
 		GNOME_Evolution_Component iface;
@@ -211,10 +196,6 @@
 		alias = bonobo_server_info_prop_lookup (& info_list->_buffer[i], "evolution:component_alias", NULL);
 
 		icon_name = bonobo_server_info_prop_lookup (& info_list->_buffer[i], "evolution:button_icon", NULL);
-		if (icon_name) {
-			icon = e_icon_factory_get_icon (icon_name, E_ICON_SIZE_LARGE_TOOLBAR);
-			menuicon = e_icon_factory_get_icon (icon_name, E_ICON_SIZE_MENU);
-		}
 
 		sort_order_string = bonobo_server_info_prop_lookup (& info_list->_buffer[i],
 								    "evolution:button_sort_order", NULL);
@@ -224,15 +205,11 @@
 			sort_order = atoi (sort_order_string);
 
 		info = component_info_new (id, iface, alias, label, tooltips, menu_label,
-					   menu_accelerator, sort_order, icon, menuicon);
+					   menu_accelerator, icon_name, sort_order);
 		set_schemas (info, & info_list->_buffer [i]);
 
 		registry->priv->infos = g_slist_prepend (registry->priv->infos, info);
 
-		if (icon != NULL)
-			g_object_unref (icon);
-		if (menuicon != NULL)
-			g_object_unref (menuicon);
 		bonobo_object_release_unref(iface, NULL);
 	}
 	g_slist_free(languages);

Modified: branches/kill-bonobo/shell/e-component-registry.h
==============================================================================
--- branches/kill-bonobo/shell/e-component-registry.h	(original)
+++ branches/kill-bonobo/shell/e-component-registry.h	Fri Aug  8 04:26:12 2008
@@ -73,10 +73,9 @@
 
 	char *button_label;
 	char *button_tooltips;
-	GdkPixbuf *button_icon;
 	char *menu_label;
 	char *menu_accelerator;
-	GdkPixbuf *menu_icon;
+	char *icon_name;
 
 	int sort_order;
 

Modified: branches/kill-bonobo/shell/e-shell-window.c
==============================================================================
--- branches/kill-bonobo/shell/e-shell-window.c	(original)
+++ branches/kill-bonobo/shell/e-shell-window.c	Fri Aug  8 04:26:12 2008
@@ -323,8 +323,8 @@
 	} else
 		gtk_window_set_title (GTK_WINDOW (window), component_view->title);
 
-	if (info->button_icon)
-		gtk_window_set_icon (GTK_WINDOW (window), info->button_icon);
+	if (info->icon_name)
+		gtk_window_set_icon_name (GTK_WINDOW (window), info->icon_name);
 
 	gconf_client_set_string (gconf_client, "/apps/evolution/shell/view_defaults/component_id",
 				 (component_view->component_alias != NULL

Modified: branches/kill-bonobo/shell/main.c
==============================================================================
--- branches/kill-bonobo/shell/main.c	(original)
+++ branches/kill-bonobo/shell/main.c	Fri Aug  8 04:26:12 2008
@@ -680,7 +680,7 @@
 				      NULL);
 
 #ifdef G_OS_WIN32
-	if (strcmp (_(""), "") == 0) {
+	if (strcmp (gettext (""), "") == 0) {
 		/* No message catalog installed for the current locale language,
 		 * so don't bother with the localisations provided by other things then
 		 * either. Reset thread locale to "en-US" and C library locale to "C".

Modified: branches/kill-bonobo/shell/test/evolution-test-component.c
==============================================================================
--- branches/kill-bonobo/shell/test/evolution-test-component.c	(original)
+++ branches/kill-bonobo/shell/test/evolution-test-component.c	Fri Aug  8 04:26:12 2008
@@ -105,7 +105,7 @@
 
 	list->_buffer[0].id = CREATE_TEST_ID;
 	list->_buffer[0].description = _("New Test");
-	list->_buffer[0].menuDescription = _("_Test");
+	list->_buffer[0].menuDescription = (char *) C_("New", "_Test");
 	list->_buffer[0].tooltip = _("Create a new test item");
 	list->_buffer[0].menuShortcut = 'i';
 	list->_buffer[0].iconName = "";

Modified: branches/kill-bonobo/ui/evolution-mail-message.xml
==============================================================================
--- branches/kill-bonobo/ui/evolution-mail-message.xml	(original)
+++ branches/kill-bonobo/ui/evolution-mail-message.xml	Fri Aug  8 04:26:12 2008
@@ -214,10 +214,6 @@
      _tip="Force images in HTML mail to be loaded"
      accel="*Control*i" pixtype="pixbuf"/>
 
-    <cmd name="ViewNormal"
-     _tip="Show messages in the normal style"
-     type="radio" group="message_display"/>
-
     <cmd name="ViewSource"
      _tip="Show the raw email source of the message"
      accel="*Control*u"/>

Modified: branches/kill-bonobo/ui/evolution.xml
==============================================================================
--- branches/kill-bonobo/ui/evolution.xml	(original)
+++ branches/kill-bonobo/ui/evolution.xml	Fri Aug  8 04:26:12 2008
@@ -52,7 +52,7 @@
     <cmd name="Settings" pixtype="stock" pixname="gtk-preferences"/>
 
     <cmd name="ToggleOffline" 
-      _label="_Work Offline"
+      _label="Work _Offline"
       _tip="Toggle whether we are working offline."/>
 
     <cmd name="HelpAbout" _label="About Evolution..."

Modified: branches/kill-bonobo/widgets/misc/e-activity-handler.c
==============================================================================
--- branches/kill-bonobo/widgets/misc/e-activity-handler.c	(original)
+++ branches/kill-bonobo/widgets/misc/e-activity-handler.c	Fri Aug  8 04:26:12 2008
@@ -612,6 +612,7 @@
 	activity_info->error = error;
 	activity_info->error_time = time (NULL);
 	activity_info->error_type = E_LOG_ERROR;
+	g_free (activity_info->information);
 	activity_info->information = g_strdup (g_object_get_data ((GObject *) error, "primary"));
 	for (sp = priv->task_bars; sp != NULL; sp = sp->next) {
 		ETaskBar *task_bar;

Modified: branches/kill-bonobo/widgets/misc/e-task-bar.c
==============================================================================
--- branches/kill-bonobo/widgets/misc/e-task-bar.c	(original)
+++ branches/kill-bonobo/widgets/misc/e-task-bar.c	Fri Aug  8 04:26:12 2008
@@ -82,9 +82,15 @@
 }
 #endif 
 
+
+static void impl_finalize (GObject *object);
+
 static void
 e_task_bar_class_init (ETaskBarClass *klass)
 {
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+	object_class->finalize = impl_finalize;
 }
 
 static void
@@ -114,6 +120,20 @@
 	gtk_widget_set_size_request (GTK_WIDGET (task_bar), -1, height * 2);
 }
 
+static void
+impl_finalize (GObject *object)
+{
+	ETaskBar *task_bar;
+	ETaskBarPrivate *priv;
+
+	task_bar = E_TASK_BAR (object);
+	priv = task_bar->priv;
+
+	g_free (priv);
+
+	(* G_OBJECT_CLASS (e_task_bar_parent_class)->finalize) (object);
+}
+
 
 void
 e_task_bar_construct (ETaskBar *task_bar)

Modified: branches/kill-bonobo/widgets/table/e-table-group-container.c
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-group-container.c	(original)
+++ branches/kill-bonobo/widgets/table/e-table-group-container.c	Fri Aug  8 04:26:12 2008
@@ -689,6 +689,32 @@
 }
 
 static void
+etgc_compute_mouse_over (ETableGroup *etg, int x, int y, int *row, int *col)
+{
+	ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
+
+	if (row)
+		*row = -1;
+	if (col)
+		*col = -1;
+
+	x -= GROUP_INDENT;
+	y -= TITLE_HEIGHT;
+
+	if (x >= 0 && y >= 0 && etgc->children) {
+		GList *list;
+		for (list = etgc->children; list; list = list->next) {
+			ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data;
+			ETableGroup *child = child_node->child;
+
+			e_table_group_compute_mouse_over (child, x, y, row, col);
+			if ((*row != -1) && (*col != -1))
+				return;
+		}
+	}
+}
+
+static void
 etgc_get_cell_geometry (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height)
 {
 	ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg);
@@ -889,6 +915,7 @@
 	e_group_class->get_focus_column = etgc_get_focus_column;
 	e_group_class->get_printable = etgc_get_printable;
 	e_group_class->compute_location = etgc_compute_location;
+	e_group_class->compute_mouse_over = etgc_compute_mouse_over;
 	e_group_class->get_cell_geometry = etgc_get_cell_geometry;
 
 	g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,

Modified: branches/kill-bonobo/widgets/table/e-table-group-leaf.c
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-group-leaf.c	(original)
+++ branches/kill-bonobo/widgets/table/e-table-group-leaf.c	Fri Aug  8 04:26:12 2008
@@ -408,6 +408,14 @@
 }
 
 static void
+etgl_compute_mouse_over (ETableGroup *etg, int x, int y, int *row, int *col)
+{
+	ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
+
+	e_table_item_compute_mouse_over (etgl->item, x, y, row, col);
+}
+
+static void
 etgl_get_cell_geometry (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height)
 {
 	ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF (etg);
@@ -565,6 +573,7 @@
 	e_group_class->get_focus_column = etgl_get_focus_column;
 	e_group_class->get_printable = etgl_get_printable;
 	e_group_class->compute_location = etgl_compute_location;
+	e_group_class->compute_mouse_over = etgl_compute_mouse_over;
 	e_group_class->get_cell_geometry = etgl_get_cell_geometry;
 
 	g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,

Modified: branches/kill-bonobo/widgets/table/e-table-group.c
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-group.c	(original)
+++ branches/kill-bonobo/widgets/table/e-table-group.c	Fri Aug  8 04:26:12 2008
@@ -382,6 +382,16 @@
 	ETG_CLASS (etg)->compute_location (etg, x, y, row, col);
 }
 
+void
+e_table_group_compute_mouse_over (ETableGroup *etg, int x, int y, int *row, int *col)
+{
+	g_return_if_fail (etg != NULL);
+	g_return_if_fail (E_IS_TABLE_GROUP (etg));
+
+	g_return_if_fail (ETG_CLASS (etg)->compute_mouse_over != NULL);
+	ETG_CLASS (etg)->compute_mouse_over (etg, x, y, row, col);
+}
+
 /**
  * e_table_group_get_position
  * @eti: %ETableGroup to look in.
@@ -639,6 +649,7 @@
 	klass->get_focus = etg_get_focus;
 	klass->get_printable = NULL;
 	klass->compute_location = NULL;
+	klass->compute_mouse_over = NULL;
 	klass->get_cell_geometry = NULL;
 
 	etg_signals [CURSOR_CHANGE] =

Modified: branches/kill-bonobo/widgets/table/e-table-group.h
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-group.h	(original)
+++ branches/kill-bonobo/widgets/table/e-table-group.h	Fri Aug  8 04:26:12 2008
@@ -90,6 +90,7 @@
 	gint        (*get_focus_column)      (ETableGroup *etg);
 	EPrintable *(*get_printable)         (ETableGroup *etg);
 	void        (*compute_location)      (ETableGroup *etg, int *x, int *y, int *row, int *col);
+	void        (*compute_mouse_over)    (ETableGroup *etg, int x, int y, int *row, int *col);
 	void        (*get_cell_geometry)     (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height);
 
 } ETableGroupClass;
@@ -122,6 +123,11 @@
 					       int               *y,
 					       int               *row,
 					       int               *col);
+void          e_table_group_compute_mouse_over(ETableGroup       *etg,
+					       int                x,
+					       int                y,
+					       int               *row,
+					       int               *col);
 void          e_table_group_get_cell_geometry (ETableGroup       *etg,
 					       int               *row,
 					       int               *col,

Modified: branches/kill-bonobo/widgets/table/e-table-item.c
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-item.c	(original)
+++ branches/kill-bonobo/widgets/table/e-table-item.c	Fri Aug  8 04:26:12 2008
@@ -2171,12 +2171,15 @@
 		y1 = y2 = height_extra;
 		if (y < height_extra)
 			return FALSE;
-		for (row = 0; row < rows - 1; row++, y1 = y2){
+		for (row = 0; row < rows; row++, y1 = y2) {
 			y2 += ETI_ROW_HEIGHT (eti, row) + height_extra;
 
 			if (y <= y2)
 				break;
 		}
+
+		if (row == rows)
+			return FALSE;
 	}
 	*view_col_res = col;
 	if (x1_res)
@@ -3442,6 +3445,37 @@
 	eti->grabbed_row = grabbed_row;
 }
 
+/**
+ * e_table_item_compute_mouse_over:
+ * Similar to e_table_item_compute_location, only here recalculating
+ * the position inside the item too.
+ **/
+void
+e_table_item_compute_mouse_over (ETableItem        *eti,
+				 int                x,
+				 int                y,
+				 int               *row,
+				 int               *col)
+{
+	double realx, realy;
+	/* Save the grabbed row but make sure that we don't get flawed
+           results because the cursor is grabbed. */
+	int grabbed_row = eti->grabbed_row;
+	eti->grabbed_row = -1;
+
+	realx = x;
+	realy = y;
+
+	gnome_canvas_item_w2i (GNOME_CANVAS_ITEM (eti), &realx, &realy);
+
+	if (!find_cell (eti, (int)realx, (int)realy, col, row, NULL, NULL)) {
+		*row = -1;
+		*col = -1;
+	}
+
+	eti->grabbed_row = grabbed_row;
+}
+
 void
 e_table_item_get_cell_geometry   (ETableItem        *eti,
 				  int               *row,

Modified: branches/kill-bonobo/widgets/table/e-table-item.h
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table-item.h	(original)
+++ branches/kill-bonobo/widgets/table/e-table-item.h	Fri Aug  8 04:26:12 2008
@@ -214,6 +214,11 @@
 					      int               *y,
 					      int               *row,
 					      int               *col);
+void        e_table_item_compute_mouse_over  (ETableItem        *eti,
+					      int                x,
+					      int                y,
+					      int               *row,
+					      int               *col);
 void        e_table_item_get_cell_geometry   (ETableItem        *eti,
 					      int               *row,
 					      int               *col,

Modified: branches/kill-bonobo/widgets/table/e-table.c
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table.c	(original)
+++ branches/kill-bonobo/widgets/table/e-table.c	Fri Aug  8 04:26:12 2008
@@ -2414,6 +2414,24 @@
 }
 
 /**
+ * e_table_get_mouse_over_cell:
+ * Similar to e_table_get_cell_at, only here we recalculate x,y relatively to each item.
+ **/
+void
+e_table_get_mouse_over_cell (ETable *table, int x, int y, int *row, int *col)
+{
+	g_return_if_fail (table != NULL);
+	g_return_if_fail (E_IS_TABLE (table));
+
+	x += GTK_LAYOUT (table->table_canvas)->hadjustment->value;
+	y += GTK_LAYOUT (table->table_canvas)->vadjustment->value;
+
+	y -= E_TABLE_HEADER_ITEM (table->header_item)->height;
+
+	e_table_group_compute_mouse_over (table->group, x, y, row, col);
+}
+
+/**
  * e_table_get_selection_model:
  * @table: The #ETable to query
  *

Modified: branches/kill-bonobo/widgets/table/e-table.h
==============================================================================
--- branches/kill-bonobo/widgets/table/e-table.h	(original)
+++ branches/kill-bonobo/widgets/table/e-table.h	Fri Aug  8 04:26:12 2008
@@ -283,6 +283,7 @@
 						    int                   y,
 						    int                  *row_return,
 						    int                  *col_return);
+void e_table_get_mouse_over_cell (ETable *table, int x, int y, int *row, int *col);
 void             e_table_get_cell_geometry         (ETable               *table,
 						    int                   row,
 						    int                   col,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]