aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--configure.in4
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/reference/Makefile.am1
-rw-r--r--doc/reference/shell/Makefile.am147
-rw-r--r--doc/reference/shell/eshell-docs.sgml37
-rw-r--r--doc/reference/shell/eshell-overrides.txt0
-rw-r--r--doc/reference/shell/eshell-sections.txt267
-rw-r--r--doc/reference/shell/eshell.types11
-rw-r--r--doc/reference/shell/tmpl/Evolution-DataServer.sgml1139
-rw-r--r--doc/reference/shell/tmpl/e-activity-handler.sgml156
-rw-r--r--doc/reference/shell/tmpl/e-config-upgrade.sgml32
-rw-r--r--doc/reference/shell/tmpl/e-shell-common.sgml21
-rw-r--r--doc/reference/shell/tmpl/e-shell-constants.sgml140
-rw-r--r--doc/reference/shell/tmpl/e-shell-content.sgml94
-rw-r--r--doc/reference/shell/tmpl/e-shell-importer.sgml27
-rw-r--r--doc/reference/shell/tmpl/e-shell-marshal.sgml41
-rw-r--r--doc/reference/shell/tmpl/e-shell-module.sgml140
-rw-r--r--doc/reference/shell/tmpl/e-shell-sidebar.sgml49
-rw-r--r--doc/reference/shell/tmpl/e-shell-switcher.sgml104
-rw-r--r--doc/reference/shell/tmpl/e-shell-taskbar.sgml39
-rw-r--r--doc/reference/shell/tmpl/e-shell-view.sgml188
-rw-r--r--doc/reference/shell/tmpl/e-shell-window-actions.sgml309
-rw-r--r--doc/reference/shell/tmpl/e-shell-window-private.sgml25
-rw-r--r--doc/reference/shell/tmpl/e-shell-window.sgml166
-rw-r--r--doc/reference/shell/tmpl/e-shell.sgml220
-rw-r--r--doc/reference/shell/tmpl/e-test-shell-view.sgml41
-rw-r--r--doc/reference/shell/tmpl/es-event.sgml147
-rw-r--r--doc/reference/shell/tmpl/eshell-unused.sgml1972
-rw-r--r--doc/reference/shell/tmpl/evolution-importer-client.sgml94
-rw-r--r--doc/reference/shell/tmpl/evolution-importer-listener.sgml56
-rw-r--r--doc/reference/shell/tmpl/evolution-importer.sgml117
-rw-r--r--doc/reference/shell/tmpl/evolution-intelligent-importer.sgml67
-rw-r--r--doc/reference/shell/tmpl/intelligent.sgml26
-rw-r--r--shell/Makefile.am2
-rw-r--r--shell/e-shell-module.c91
-rw-r--r--shell/e-shell-module.h41
-rw-r--r--shell/e-shell-registry.c158
-rw-r--r--shell/e-shell-registry.h38
-rw-r--r--shell/e-shell-switcher.c66
-rw-r--r--shell/e-shell-window-private.h1
-rw-r--r--shell/e-shell-window.c206
-rw-r--r--shell/e-shell.c192
-rw-r--r--shell/e-shell.h8
-rw-r--r--shell/main.c4
45 files changed, 6460 insertions, 227 deletions
diff --git a/Makefile.am b/Makefile.am
index e052ef86b1..02f1a161f6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -66,6 +66,7 @@ SUBDIRS = \
addressbook \
calendar \
art \
+ doc \
ui \
views \
tools \
diff --git a/configure.in b/configure.in
index 20ceb7636e..b95da74c32 100644
--- a/configure.in
+++ b/configure.in
@@ -36,6 +36,7 @@ m4_define([gnome_pilot_minimum_version], [2.0.15])
# GNOME Documentation
GNOME_DOC_INIT
+GTK_DOC_CHECK(1.10)
# Gross hack to enable 'make dist' on automake 1.9+tar 1.14.
# The extra brackets are to foil regex-based scans.
m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
@@ -1938,6 +1939,9 @@ data/cde_app_root/dt/appconfig/types/Makefile
data/cde_app_root/dt/appconfig/types/C/Makefile
data/cde_app_root/dt/appconfig/types/C/Ximian.dt
data/icons/Makefile
+doc/Makefile
+doc/reference/Makefile
+doc/reference/shell/Makefile
e-util/Makefile
filter/Makefile
help/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 965492689a..1bf4658b79 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1 +1,3 @@
+SUBDIRS = reference
+
EXTRA_DIST = ChangeLog.pre-1-4
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
new file mode 100644
index 0000000000..d7c539dc98
--- /dev/null
+++ b/doc/reference/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = shell
diff --git a/doc/reference/shell/Makefile.am b/doc/reference/shell/Makefile.am
new file mode 100644
index 0000000000..6a19153634
--- /dev/null
+++ b/doc/reference/shell/Makefile.am
@@ -0,0 +1,147 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=eshell
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=../../../shell
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/shell/*.h
+CFILE_GLOB=$(top_srcdir)/shell/*.c
+
+# Header files to ignore when scanning.
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=e-shell-window-private.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+INCLUDES= \
+ -I$(top_srcdir) \
+ -I$(SHELL_CFLAGS)
+GTKDOC_LIBS= \
+ $(top_builddir)/shell/e-shell.o \
+ $(top_builddir)/shell/e-shell-importer.o \
+ $(top_builddir)/shell/e-shell-nm.o \
+ $(top_builddir)/shell/e-shell-window-private.o \
+ $(top_builddir)/shell/es-event.o \
+ $(top_builddir)/shell/.libs/e-activity-handler.o \
+ $(top_builddir)/shell/.libs/e-shell-content.o \
+ $(top_builddir)/shell/.libs/e-shell-marshal.o \
+ $(top_builddir)/shell/.libs/e-shell-module.o \
+ $(top_builddir)/shell/.libs/e-shell-sidebar.o \
+ $(top_builddir)/shell/.libs/e-shell-switcher.o \
+ $(top_builddir)/shell/.libs/e-shell-taskbar.o \
+ $(top_builddir)/shell/.libs/e-shell-view.o \
+ $(top_builddir)/shell/.libs/e-shell-window-actions.o \
+ $(top_builddir)/shell/.libs/e-shell-window.o \
+ $(top_builddir)/e-util/.libs/e-dialog-utils.o \
+ $(top_builddir)/e-util/.libs/e-error.o \
+ $(top_builddir)/e-util/.libs/e-event.o \
+ $(top_builddir)/e-util/.libs/e-icon-factory.o \
+ $(top_builddir)/e-util/.libs/e-import.o \
+ $(top_builddir)/e-util/.libs/e-logger.o \
+ $(top_builddir)/e-util/.libs/e-mktemp.o \
+ $(top_builddir)/e-util/.libs/e-plugin.o \
+ $(top_builddir)/e-util/.libs/e-plugin-ui.o \
+ $(top_builddir)/e-util/.libs/e-popup.o \
+ $(top_builddir)/e-util/.libs/e-print.o \
+ $(top_builddir)/e-util/.libs/e-util.o \
+ $(top_builddir)/e-util/.libs/e-util-labels.o \
+ $(top_builddir)/e-util/.libs/e-xml-utils.o \
+ $(top_builddir)/e-util/.libs/gconf-bridge.o \
+ $(top_builddir)/filter/.libs/filter-code.o \
+ $(top_builddir)/filter/.libs/filter-colour.o \
+ $(top_builddir)/filter/.libs/filter-datespec.o \
+ $(top_builddir)/filter/.libs/filter-element.o \
+ $(top_builddir)/filter/.libs/filter-file.o \
+ $(top_builddir)/filter/.libs/filter-input.o \
+ $(top_builddir)/filter/.libs/filter-int.o \
+ $(top_builddir)/filter/.libs/filter-label.o \
+ $(top_builddir)/filter/.libs/filter-option.o \
+ $(top_builddir)/filter/.libs/filter-part.o \
+ $(top_builddir)/filter/.libs/filter-rule.o \
+ $(top_builddir)/filter/.libs/rule-context.o \
+ $(top_builddir)/filter/.libs/rule-editor.o \
+ $(top_builddir)/widgets/menus/.libs/gal-define-views-dialog.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view-collection.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view-factory.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view-instance.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view-instance-save-as-dialog.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view-new-dialog.o \
+ $(top_builddir)/widgets/menus/.libs/gal-view.o \
+ $(top_builddir)/widgets/misc/.libs/e-action-combo-box.o \
+ $(top_builddir)/widgets/misc/.libs/e-icon-entry.o \
+ $(top_builddir)/widgets/misc/.libs/e-gui-utils.o \
+ $(top_builddir)/widgets/misc/.libs/e-menu-tool-button.o \
+ $(top_builddir)/widgets/misc/.libs/e-online-button.o \
+ $(top_builddir)/widgets/misc/.libs/e-popup-menu.o \
+ $(top_builddir)/widgets/misc/.libs/e-preferences-window.o \
+ $(top_builddir)/widgets/misc/.libs/e-spinner.o \
+ $(top_builddir)/widgets/misc/.libs/e-task-widget.o \
+ $(top_builddir)/widgets/misc/.libs/e-unicode.o \
+ -ledataserver-1.2 \
+ -ledataserverui-1.2 \
+ $(SHELL_LIBS)
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want your docs-status tested during 'make check'
+#TESTS = $(GTKDOC_CHECK)
+
diff --git a/doc/reference/shell/eshell-docs.sgml b/doc/reference/shell/eshell-docs.sgml
new file mode 100644
index 0000000000..452a53cabf
--- /dev/null
+++ b/doc/reference/shell/eshell-docs.sgml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+ <bookinfo>
+ <title>Evolution Shell Reference Manual</title>
+ <releaseinfo>
+ for eshell [VERSION]
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/eshell/index.html">http://[SERVER]/eshell/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Shell</title>
+ <xi:include href="xml/e-shell.xml"/>
+ <xi:include href="xml/e-shell-module.xml"/>
+ <xi:include href="xml/e-shell-window.xml"/>
+ <xi:include href="xml/e-shell-switcher.xml"/>
+ <xi:include href="xml/e-shell-view.xml"/>
+ <xi:include href="xml/e-shell-content.xml"/>
+ <xi:include href="xml/e-shell-sidebar.xml"/>
+ <xi:include href="xml/e-shell-taskbar.xml"/>
+ <xi:include href="xml/e-activity-handler.xml"/>
+ <xi:include href="xml/e-shell-importer.xml"/>
+ </chapter>
+
+ <chapter>
+ <title>Actions by Group</title>
+ <xi:include href="xml/e-shell-window-actions.xml"/>
+ </chapter>
+
+ <index>
+ <title>Index</title>
+ </index>
+
+</book>
diff --git a/doc/reference/shell/eshell-overrides.txt b/doc/reference/shell/eshell-overrides.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/doc/reference/shell/eshell-overrides.txt
diff --git a/doc/reference/shell/eshell-sections.txt b/doc/reference/shell/eshell-sections.txt
new file mode 100644
index 0000000000..ac6863d5c8
--- /dev/null
+++ b/doc/reference/shell/eshell-sections.txt
@@ -0,0 +1,267 @@
+<SECTION>
+<FILE>e-shell-view</FILE>
+<TITLE>EShellView</TITLE>
+EShellView
+e_shell_view_get_name
+e_shell_view_get_action
+e_shell_view_get_title
+e_shell_view_set_title
+e_shell_view_get_view_instance
+e_shell_view_set_view_instance
+e_shell_view_is_selected
+e_shell_view_get_page_num
+e_shell_view_get_shell_content
+e_shell_view_get_shell_sidebar
+e_shell_view_get_shell_taskbar
+e_shell_view_get_shell_window
+e_shell_view_changed
+<SUBSECTION Standard>
+E_SHELL_VIEW
+E_IS_SHELL_VIEW
+E_TYPE_SHELL_VIEW
+e_shell_view_get_type
+E_SHELL_VIEW_CLASS
+E_IS_SHELL_VIEW_CLASS
+E_SHELL_VIEW_GET_CLASS
+<SUBSECTION Private>
+EShellViewPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-switcher</FILE>
+<TITLE>EShellSwitcher</TITLE>
+EShellSwitcher
+e_shell_switcher_new
+e_shell_switcher_add_action
+e_shell_switcher_get_style
+e_shell_switcher_set_style
+e_shell_switcher_unset_style
+e_shell_switcher_get_visible
+e_shell_switcher_set_visible
+<SUBSECTION Standard>
+E_SHELL_SWITCHER
+E_IS_SHELL_SWITCHER
+E_TYPE_SHELL_SWITCHER
+e_shell_switcher_get_type
+E_SHELL_SWITCHER_CLASS
+E_IS_SHELL_SWITCHER_CLASS
+E_SHELL_SWITCHER_GET_CLASS
+<SUBSECTION Private>
+EShellSwitcherPrivate
+E_SHELL_SWITCHER_DEFAULT_TOOLBAR_STYLE
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-sidebar</FILE>
+<TITLE>EShellSidebar</TITLE>
+EShellSidebar
+e_shell_sidebar_new
+<SUBSECTION Standard>
+E_SHELL_SIDEBAR
+E_IS_SHELL_SIDEBAR
+E_TYPE_SHELL_SIDEBAR
+e_shell_sidebar_get_type
+E_SHELL_SIDEBAR_CLASS
+E_IS_SHELL_SIDEBAR_CLASS
+E_SHELL_SIDEBAR_GET_CLASS
+<SUBSECTION Private>
+EShellSidebarPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-activity-handler</FILE>
+<TITLE>EActivityHandler</TITLE>
+EAH_ICON_INFO
+EAH_ICON_ERROR
+EActivityHandler
+e_activity_handler_new
+e_activity_handler_attach_task_bar
+e_activity_handler_set_message
+e_activity_handler_unset_message
+e_activity_handler_operation_started
+e_activity_handler_cancelable_operation_started
+e_activity_handler_operation_progressing
+e_activity_handler_operation_finished
+e_activity_handler_set_logger
+e_activity_handler_make_error
+e_activity_handler_operation_set_error
+e_activity_handler_set_error_flush_time
+<SUBSECTION Standard>
+E_ACTIVITY_HANDLER
+E_IS_ACTIVITY_HANDLER
+E_TYPE_ACTIVITY_HANDLER
+e_activity_handler_get_type
+E_ACTIVITY_HANDLER_CLASS
+E_IS_ACTIVITY_HANDLER_CLASS
+<SUBSECTION Private>
+EActivityHandlerPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-taskbar</FILE>
+<TITLE>EShellTaskbar</TITLE>
+EShellTaskbar
+e_shell_taskbar_new
+<SUBSECTION Standard>
+E_SHELL_TASKBAR
+E_IS_SHELL_TASKBAR
+E_TYPE_SHELL_TASKBAR
+e_shell_taskbar_get_type
+E_SHELL_TASKBAR_CLASS
+E_IS_SHELL_TASKBAR_CLASS
+E_SHELL_TASKBAR_GET_CLASS
+<SUBSECTION Private>
+EShellTaskbarPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-module</FILE>
+<TITLE>EShellModule</TITLE>
+EShellModule
+EShellModuleInfo
+e_shell_module_new
+e_shell_module_compare
+e_shell_module_get_config_dir
+e_shell_module_get_data_dir
+e_shell_module_get_filename
+e_shell_module_get_searches
+e_shell_module_get_shell
+e_shell_module_is_busy
+e_shell_module_shutdown
+e_shell_module_set_info
+<SUBSECTION Standard>
+E_SHELL_MODULE
+E_IS_SHELL_MODULE
+E_TYPE_SHELL_MODULE
+e_shell_module_get_type
+E_SHELL_MODULE_CLASS
+E_IS_SHELL_MODULE_CLASS
+E_SHELL_MODULE_GET_CLASS
+<SUBSECTION Private>
+EShellModulePrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-content</FILE>
+<TITLE>EShellContent</TITLE>
+EShellContent
+e_shell_content_new
+<SUBSECTION Standard>
+E_SHELL_CONTENT
+E_IS_SHELL_CONTENT
+E_TYPE_SHELL_CONTENT
+e_shell_content_get_type
+E_SHELL_CONTENT_CLASS
+E_IS_SHELL_CONTENT_CLASS
+E_SHELL_CONTENT_GET_CLASS
+<SUBSECTION Private>
+EShellContentPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell</FILE>
+<TITLE>EShell</TITLE>
+EShell
+EShellLineStatus
+e_shell_new
+e_shell_list_modules
+e_shell_get_canonical_name
+e_shell_get_module_by_name
+e_shell_get_module_by_scheme
+e_shell_create_window
+e_shell_handle_uri
+e_shell_send_receive
+e_shell_get_online_mode
+e_shell_set_online_mode
+e_shell_get_line_status
+e_shell_set_line_status
+e_shell_get_preferences_window
+e_shell_is_busy
+e_shell_do_quit
+e_shell_quit
+<SUBSECTION Standard>
+E_SHELL
+E_IS_SHELL
+E_TYPE_SHELL
+e_shell_get_type
+E_SHELL_CLASS
+E_IS_SHELL_CLASS
+E_SHELL_GET_CLASS
+<SUBSECTION Private>
+EShellPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-window</FILE>
+<TITLE>EShellWindow</TITLE>
+EShellWindow
+e_shell_window_new
+e_shell_window_get_view
+e_shell_window_get_shell
+e_shell_window_get_ui_manager
+e_shell_window_get_action
+e_shell_window_get_action_group
+e_shell_window_get_managed_widget
+e_shell_window_get_current_view
+e_shell_window_set_current_view
+e_shell_window_get_safe_mode
+e_shell_window_set_safe_mode
+e_shell_window_register_new_item_actions
+e_shell_window_register_new_source_actions
+<SUBSECTION Standard>
+E_SHELL_WINDOW
+E_IS_SHELL_WINDOW
+E_TYPE_SHELL_WINDOW
+e_shell_window_get_type
+E_SHELL_WINDOW_CLASS
+E_IS_SHELL_WINDOW_CLASS
+E_SHELL_WINDOW_GET_CLASS
+<SUBSECTION Private>
+EShellWindowPrivate
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-importer</FILE>
+e_shell_importer_start_import
+</SECTION>
+
+<SECTION>
+<FILE>e-shell-window-actions</FILE>
+<TITLE>Global Actions</TITLE>
+E_SHELL_WINDOW_ACTION
+E_SHELL_WINDOW_ACTION_GROUP
+E_SHELL_WINDOW_ACTION_ABOUT
+E_SHELL_WINDOW_ACTION_CLOSE
+E_SHELL_WINDOW_ACTION_FAQ
+E_SHELL_WINDOW_ACTION_FORGET_PASSWORDS
+E_SHELL_WINDOW_ACTION_GAL_CUSTOM_VIEW
+E_SHELL_WINDOW_ACTION_GAL_DEFINE_VIEWS
+E_SHELL_WINDOW_ACTION_GAL_SAVE_CUSTOM_VIEW
+E_SHELL_WINDOW_ACTION_GAL_VIEW_MENU
+E_SHELL_WINDOW_ACTION_IMPORT
+E_SHELL_WINDOW_ACTION_NEW_WINDOW
+E_SHELL_WINDOW_ACTION_PAGE_SETUP
+E_SHELL_WINDOW_ACTION_PREFERENCES
+E_SHELL_WINDOW_ACTION_QUICK_REFERENCE
+E_SHELL_WINDOW_ACTION_QUIT
+E_SHELL_WINDOW_ACTION_SEARCH_ADVANCED
+E_SHELL_WINDOW_ACTION_SEARCH_CLEAR
+E_SHELL_WINDOW_ACTION_SEARCH_EDIT
+E_SHELL_WINDOW_ACTION_SEARCH_EXECUTE
+E_SHELL_WINDOW_ACTION_SEARCH_SAVE
+E_SHELL_WINDOW_ACTION_SEND_RECEIVE
+E_SHELL_WINDOW_ACTION_SHOW_SIDEBAR
+E_SHELL_WINDOW_ACTION_SHOW_STATUSBAR
+E_SHELL_WINDOW_ACTION_SHOW_SWITCHER
+E_SHELL_WINDOW_ACTION_SHOW_TOOLBAR
+E_SHELL_WINDOW_ACTION_SUBMIT_BUG
+E_SHELL_WINDOW_ACTION_SWITCHER_STYLE_ICONS
+E_SHELL_WINDOW_ACTION_SYNC_OPTIONS
+E_SHELL_WINDOW_ACTION_WORK_OFFLINE
+E_SHELL_WINDOW_ACTION_WORK_ONLINE
+E_SHELL_WINDOW_ACTION_GROUP_GAL_VIEW
+E_SHELL_WINDOW_ACTION_GROUP_NEW_ITEM
+E_SHELL_WINDOW_ACTION_GROUP_NEW_SOURCE
+E_SHELL_WINDOW_ACTION_GROUP_SHELL
+E_SHELL_WINDOW_ACTION_GROUP_SHELL_VIEW
+</SECTION>
diff --git a/doc/reference/shell/eshell.types b/doc/reference/shell/eshell.types
new file mode 100644
index 0000000000..9d773be677
--- /dev/null
+++ b/doc/reference/shell/eshell.types
@@ -0,0 +1,11 @@
+e_shell_view_get_type
+e_shell_switcher_get_type
+es_event_get_type
+es_event_hook_get_type
+e_shell_sidebar_get_type
+e_activity_handler_get_type
+e_shell_taskbar_get_type
+e_shell_module_get_type
+e_shell_content_get_type
+e_shell_get_type
+e_shell_window_get_type
diff --git a/doc/reference/shell/tmpl/Evolution-DataServer.sgml b/doc/reference/shell/tmpl/Evolution-DataServer.sgml
new file mode 100644
index 0000000000..181b45f301
--- /dev/null
+++ b/doc/reference/shell/tmpl/Evolution-DataServer.sgml
@@ -0,0 +1,1139 @@
+<!-- ##### SECTION Title ##### -->
+Evolution-DataServer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO ORBIT_IDL_SERIAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config__freekids ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_Config__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_0 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_3 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_6 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_7 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_9 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_12 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_13 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_14 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_15 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_16 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_17 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_18 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_19 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck__freekids ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_InterfaceCheck__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_0 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_3 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_6 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_7 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_9 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_12 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_13 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_14 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_15 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_16 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_17 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_18 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_19 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging__freekids ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_Logging__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_0 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_3 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_6 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_7 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_9 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_12 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_13 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_14 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_15 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_16 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_17 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_18 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_19 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM GNOME_Evolution_DataServer_Logging_Level ##### -->
+<para>
+
+</para>
+
+@GNOME_Evolution_DataServer_Logging_Error:
+@GNOME_Evolution_DataServer_Logging_Critical:
+@GNOME_Evolution_DataServer_Logging_Warning:
+@GNOME_Evolution_DataServer_Logging_Message:
+@GNOME_Evolution_DataServer_Logging_Info:
+@GNOME_Evolution_DataServer_Logging_Debug:
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_0 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_3 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_6 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_7 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_9 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_12 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_13 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_14 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_15 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_16 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_17 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_18 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_19 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging_Level ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Logging_LogEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_0 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_3 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_6 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_7 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_9 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_12 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_13 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_14 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_15 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_16 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_17 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_18 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_19 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging_LogEvent ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_LogEvent__alloc ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_LogEvent__freekids ##### -->
+<para>
+
+</para>
+
+@m:
+@d:
+
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@GNOME_Evolution_DataServer_Config_epv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Config__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Config__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+@_get_interfaceVersion:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@Bonobo_Unknown_epv:
+@GNOME_Evolution_DataServer_InterfaceCheck_epv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_InterfaceCheck__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_InterfaceCheck__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@Bonobo_Unknown_epv:
+@Bonobo_EventSource_epv:
+@GNOME_Evolution_DataServer_Logging_epv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Logging__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Logging__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_ref ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_unref ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_queryInterface ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION GNOME_Evolution_DataServer_InterfaceCheck__get_interfaceVersion ##### -->
+<para>
+
+</para>
+
+@_obj:
+@ev:
+@Returns:
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_ref ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unref ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_queryInterface ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_addListener ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_addListenerWithMask ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_removeListener ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unImplemented ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unImplemented2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config__imethods ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging__imethods ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM GNOME_Evolution_DataServer_InterfaceCheck__imethods_index ##### -->
+<para>
+
+</para>
+
+@GNOME_Evolution_DataServer_InterfaceCheck__get_interfaceVersion__imethods_index:
+
+<!-- ##### MACRO ORBIT_IMETHODS_INDEX ##### -->
+<para>
+
+</para>
+
+@m:
+
+
diff --git a/doc/reference/shell/tmpl/e-activity-handler.sgml b/doc/reference/shell/tmpl/e-activity-handler.sgml
new file mode 100644
index 0000000000..209b4b4d04
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-activity-handler.sgml
@@ -0,0 +1,156 @@
+<!-- ##### SECTION Title ##### -->
+EActivityHandler
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO EAH_ICON_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EAH_ICON_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT EActivityHandler ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION e_activity_handler_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION e_activity_handler_attach_task_bar ##### -->
+<para>
+
+</para>
+
+@activity_hanlder:
+@shell_taskbar:
+
+
+<!-- ##### FUNCTION e_activity_handler_set_message ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@message:
+
+
+<!-- ##### FUNCTION e_activity_handler_unset_message ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+
+
+<!-- ##### FUNCTION e_activity_handler_operation_started ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@information:
+@cancellable:
+@Returns:
+
+
+<!-- ##### FUNCTION e_activity_handler_cancelable_operation_started ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@information:
+@cancellable:
+@cancel_func:
+@user_data:
+@Returns:
+
+
+<!-- ##### FUNCTION e_activity_handler_operation_progressing ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@activity_id:
+@information:
+@progress:
+
+
+<!-- ##### FUNCTION e_activity_handler_operation_finished ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@activity_id:
+
+
+<!-- ##### FUNCTION e_activity_handler_set_logger ##### -->
+<para>
+
+</para>
+
+@handler:
+@logger:
+
+
+<!-- ##### FUNCTION e_activity_handler_make_error ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@error_type:
+@error:
+@Returns:
+
+
+<!-- ##### FUNCTION e_activity_handler_operation_set_error ##### -->
+<para>
+
+</para>
+
+@activity_handler:
+@activity_id:
+@error:
+
+
+<!-- ##### FUNCTION e_activity_handler_set_error_flush_time ##### -->
+<para>
+
+</para>
+
+@handler:
+@time:
+
+
diff --git a/doc/reference/shell/tmpl/e-config-upgrade.sgml b/doc/reference/shell/tmpl/e-config-upgrade.sgml
new file mode 100644
index 0000000000..0ef774b3dd
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-config-upgrade.sgml
@@ -0,0 +1,32 @@
+<!-- ##### SECTION Title ##### -->
+e-config-upgrade
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION e_config_upgrade ##### -->
+<para>
+
+</para>
+
+@major:
+@minor:
+@revision:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-common.sgml b/doc/reference/shell/tmpl/e-shell-common.sgml
new file mode 100644
index 0000000000..1932480643
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-common.sgml
@@ -0,0 +1,21 @@
+<!-- ##### SECTION Title ##### -->
+e-shell-common
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-constants.sgml b/doc/reference/shell/tmpl/e-shell-constants.sgml
new file mode 100644
index 0000000000..74b95024a8
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-constants.sgml
@@ -0,0 +1,140 @@
+<!-- ##### SECTION Title ##### -->
+e-shell-constants
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO E_SHELL_URI_PREFIX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_URI_PREFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_DEFAULTURI_PREFIX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_DEFAULTURI_PREFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SUFFIX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SUFFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_ICON_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_PATH_SEPARATOR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_PATH_SEPARATOR_S ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_LOCAL_STORAGE_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SUMMARY_STORAGE_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_SUMMARY_URI ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_LOCAL_INBOX_URI ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_LOCAL_CONTACTS_URI ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_LOCAL_CALENDAR_URI ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO E_LOCAL_TASKS_URI ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-content.sgml b/doc/reference/shell/tmpl/e-shell-content.sgml
new file mode 100644
index 0000000000..3172527ad6
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-content.sgml
@@ -0,0 +1,94 @@
+<!-- ##### SECTION Title ##### -->
+EShellContent
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellContent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG EShellContent:filter-action ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:filter-value ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:filter-visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:scope-action ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:scope-value ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:scope-visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:search-action ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:search-context ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:search-text ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:search-value ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:search-visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellContent:shell-view ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_content_new ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-importer.sgml b/doc/reference/shell/tmpl/e-shell-importer.sgml
new file mode 100644
index 0000000000..0b3aa44506
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-importer.sgml
@@ -0,0 +1,27 @@
+<!-- ##### SECTION Title ##### -->
+e-shell-importer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION e_shell_importer_start_import ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-marshal.sgml b/doc/reference/shell/tmpl/e-shell-marshal.sgml
new file mode 100644
index 0000000000..27f0c92196
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-marshal.sgml
@@ -0,0 +1,41 @@
+<!-- ##### SECTION Title ##### -->
+e-shell-marshal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION e_shell_marshal_BOOLEAN__STRING ##### -->
+<para>
+
+</para>
+
+@closure:
+@return_value:
+@n_param_values:
+@param_values:
+@invocation_hint:
+@marshal_data:
+
+
+<!-- ##### MACRO e_shell_marshal_BOOL__STRING ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-module.sgml b/doc/reference/shell/tmpl/e-shell-module.sgml
new file mode 100644
index 0000000000..583719c3fc
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-module.sgml
@@ -0,0 +1,140 @@
+<!-- ##### SECTION Title ##### -->
+EShellModule
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellModule ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG EShellModule:filename ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellModule:shell ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT EShellModuleInfo ##### -->
+<para>
+
+</para>
+
+@name:
+@aliases:
+@schemes:
+@searches:
+@sort_order:
+@is_busy:
+@shutdown:
+
+<!-- ##### FUNCTION e_shell_module_new ##### -->
+<para>
+
+</para>
+
+@shell:
+@filename:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_compare ##### -->
+<para>
+
+</para>
+
+@shell_module_a:
+@shell_module_b:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_get_config_dir ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_get_data_dir ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_get_filename ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_get_searches ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_get_shell ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_is_busy ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_shutdown ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_module_set_info ##### -->
+<para>
+
+</para>
+
+@shell_module:
+@info:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-sidebar.sgml b/doc/reference/shell/tmpl/e-shell-sidebar.sgml
new file mode 100644
index 0000000000..de7fd21433
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-sidebar.sgml
@@ -0,0 +1,49 @@
+<!-- ##### SECTION Title ##### -->
+EShellSidebar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellSidebar ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG EShellSidebar:primary-text ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellSidebar:secondary-text ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellSidebar:shell-view ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_sidebar_new ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-switcher.sgml b/doc/reference/shell/tmpl/e-shell-switcher.sgml
new file mode 100644
index 0000000000..f656b65988
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-switcher.sgml
@@ -0,0 +1,104 @@
+<!-- ##### SECTION Title ##### -->
+EShellSwitcher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellSwitcher ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL EShellSwitcher::style-changed ##### -->
+<para>
+
+</para>
+
+@eshellswitcher: the object which received the signal.
+@arg1:
+
+<!-- ##### ARG EShellSwitcher:toolbar-style ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellSwitcher:toolbar-visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_switcher_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_switcher_add_action ##### -->
+<para>
+
+</para>
+
+@switcher:
+@action:
+
+
+<!-- ##### FUNCTION e_shell_switcher_get_style ##### -->
+<para>
+
+</para>
+
+@switcher:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_switcher_set_style ##### -->
+<para>
+
+</para>
+
+@switcher:
+@style:
+
+
+<!-- ##### FUNCTION e_shell_switcher_unset_style ##### -->
+<para>
+
+</para>
+
+@switcher:
+
+
+<!-- ##### FUNCTION e_shell_switcher_get_visible ##### -->
+<para>
+
+</para>
+
+@switcher:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_switcher_set_visible ##### -->
+<para>
+
+</para>
+
+@switcher:
+@visible:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-taskbar.sgml b/doc/reference/shell/tmpl/e-shell-taskbar.sgml
new file mode 100644
index 0000000000..1d7dd76790
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-taskbar.sgml
@@ -0,0 +1,39 @@
+<!-- ##### SECTION Title ##### -->
+EShellTaskbar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellTaskbar ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG EShellTaskbar:shell-view ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_taskbar_new ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-view.sgml b/doc/reference/shell/tmpl/e-shell-view.sgml
new file mode 100644
index 0000000000..763632636d
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-view.sgml
@@ -0,0 +1,188 @@
+<!-- ##### SECTION Title ##### -->
+EShellView
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellView ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL EShellView::changed ##### -->
+<para>
+
+</para>
+
+@eshellview: the object which received the signal.
+
+<!-- ##### ARG EShellView:action ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:page-num ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:shell-content ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:shell-sidebar ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:shell-taskbar ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:shell-window ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:title ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellView:view-instance ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_view_get_name ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_action ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_title ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_set_title ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@title:
+
+
+<!-- ##### FUNCTION e_shell_view_get_view_instance ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_set_view_instance ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@instance:
+
+
+<!-- ##### FUNCTION e_shell_view_is_selected ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_page_num ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_shell_content ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_shell_sidebar ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_shell_taskbar ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_get_shell_window ##### -->
+<para>
+
+</para>
+
+@shell_view:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_view_changed ##### -->
+<para>
+
+</para>
+
+@shell_view:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-window-actions.sgml b/doc/reference/shell/tmpl/e-shell-window-actions.sgml
new file mode 100644
index 0000000000..48e6f44203
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-window-actions.sgml
@@ -0,0 +1,309 @@
+<!-- ##### SECTION Title ##### -->
+Global Actions
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION ##### -->
+<para>
+
+</para>
+
+@window:
+@name:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP ##### -->
+<para>
+
+</para>
+
+@window:
+@name:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_ABOUT ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_CLOSE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_FAQ ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_FORGET_PASSWORDS ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GAL_CUSTOM_VIEW ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GAL_DEFINE_VIEWS ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GAL_SAVE_CUSTOM_VIEW ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GAL_VIEW_MENU ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_IMPORT ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_NEW_WINDOW ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_PAGE_SETUP ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_PREFERENCES ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_QUICK_REFERENCE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_QUIT ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEARCH_ADVANCED ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEARCH_CLEAR ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEARCH_EDIT ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEARCH_EXECUTE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEARCH_SAVE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SEND_RECEIVE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SHOW_SIDEBAR ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SHOW_STATUSBAR ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SHOW_SWITCHER ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SHOW_TOOLBAR ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SUBMIT_BUG ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SWITCHER_STYLE_ICONS ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_SYNC_OPTIONS ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_WORK_OFFLINE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_WORK_ONLINE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_GAL_VIEW ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_NEW_ITEM ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_NEW_SOURCE ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_SHELL ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_ACTION_GROUP_SHELL_VIEW ##### -->
+<para>
+
+</para>
+
+@window:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-window-private.sgml b/doc/reference/shell/tmpl/e-shell-window-private.sgml
new file mode 100644
index 0000000000..6c1c6d0e72
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-window-private.sgml
@@ -0,0 +1,25 @@
+<!-- ##### SECTION Title ##### -->
+e-shell-window-private
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellWindowPrivate ##### -->
+<para>
+
+</para>
+
+
diff --git a/doc/reference/shell/tmpl/e-shell-window.sgml b/doc/reference/shell/tmpl/e-shell-window.sgml
new file mode 100644
index 0000000000..dc05283d6b
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell-window.sgml
@@ -0,0 +1,166 @@
+<!-- ##### SECTION Title ##### -->
+EShellWindow
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShellWindow ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG EShellWindow:current-view ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellWindow:safe-mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EShellWindow:shell ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION e_shell_window_new ##### -->
+<para>
+
+</para>
+
+@shell:
+@safe_mode:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_view ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@view_name:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_shell ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_ui_manager ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_action ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@action_name:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_action_group ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@group_name:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_managed_widget ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@widget_path:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_get_current_view ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_set_current_view ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@name_or_alias:
+
+
+<!-- ##### FUNCTION e_shell_window_get_safe_mode ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_window_set_safe_mode ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@safe_mode:
+
+
+<!-- ##### FUNCTION e_shell_window_register_new_item_actions ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@module_name:
+@entries:
+@n_entries:
+
+
+<!-- ##### FUNCTION e_shell_window_register_new_source_actions ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@module_name:
+@entries:
+@n_entries:
+
+
diff --git a/doc/reference/shell/tmpl/e-shell.sgml b/doc/reference/shell/tmpl/e-shell.sgml
new file mode 100644
index 0000000000..db92be82ed
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-shell.sgml
@@ -0,0 +1,220 @@
+<!-- ##### SECTION Title ##### -->
+EShell
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EShell ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL EShell::handle-uri ##### -->
+<para>
+
+</para>
+
+@eshell: the object which received the signal.
+@arg1:
+@Returns:
+
+<!-- ##### SIGNAL EShell::send-receive ##### -->
+<para>
+
+</para>
+
+@eshell: the object which received the signal.
+@arg1:
+
+<!-- ##### SIGNAL EShell::window-created ##### -->
+<para>
+
+</para>
+
+@eshell: the object which received the signal.
+@arg1:
+
+<!-- ##### SIGNAL EShell::window-destroyed ##### -->
+<para>
+
+</para>
+
+@eshell: the object which received the signal.
+@arg1:
+
+<!-- ##### ARG EShell:online-mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM EShellLineStatus ##### -->
+<para>
+
+</para>
+
+@E_SHELL_LINE_STATUS_ONLINE:
+@E_SHELL_LINE_STATUS_GOING_OFFLINE:
+@E_SHELL_LINE_STATUS_OFFLINE:
+@E_SHELL_LINE_STATUS_FORCED_OFFLINE:
+
+<!-- ##### FUNCTION e_shell_new ##### -->
+<para>
+
+</para>
+
+@online:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_list_modules ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_get_canonical_name ##### -->
+<para>
+
+</para>
+
+@shell:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_get_module_by_name ##### -->
+<para>
+
+</para>
+
+@shell:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_get_module_by_scheme ##### -->
+<para>
+
+</para>
+
+@shell:
+@scheme:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_create_window ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_handle_uri ##### -->
+<para>
+
+</para>
+
+@shell:
+@uri:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_send_receive ##### -->
+<para>
+
+</para>
+
+@shell:
+@parent:
+
+
+<!-- ##### FUNCTION e_shell_get_online_mode ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_set_online_mode ##### -->
+<para>
+
+</para>
+
+@shell:
+@online_mode:
+
+
+<!-- ##### FUNCTION e_shell_get_line_status ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_set_line_status ##### -->
+<para>
+
+</para>
+
+@shell:
+@status:
+
+
+<!-- ##### FUNCTION e_shell_get_preferences_window ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_is_busy ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_do_quit ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
+<!-- ##### FUNCTION e_shell_quit ##### -->
+<para>
+
+</para>
+
+@shell:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/e-test-shell-view.sgml b/doc/reference/shell/tmpl/e-test-shell-view.sgml
new file mode 100644
index 0000000000..2c9c912c20
--- /dev/null
+++ b/doc/reference/shell/tmpl/e-test-shell-view.sgml
@@ -0,0 +1,41 @@
+<!-- ##### SECTION Title ##### -->
+ETestShellView
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### VARIABLE e_test_shell_view_type ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ETestShellViewPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ETestShellView ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
diff --git a/doc/reference/shell/tmpl/es-event.sgml b/doc/reference/shell/tmpl/es-event.sgml
new file mode 100644
index 0000000000..8821e92ad5
--- /dev/null
+++ b/doc/reference/shell/tmpl/es-event.sgml
@@ -0,0 +1,147 @@
+<!-- ##### SECTION Title ##### -->
+ESEventHook
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### ENUM es_event_target_t ##### -->
+<para>
+
+</para>
+
+@ES_EVENT_TARGET_STATE:
+@ES_EVENT_TARGET_UPGRADE:
+@ES_EVENT_TARGET_SHELL:
+@ES_EVENT_TARGET_COMPONENT:
+
+<!-- ##### STRUCT ESEventTargetState ##### -->
+<para>
+
+</para>
+
+@target:
+@state:
+
+<!-- ##### STRUCT ESEventTargetUpgrade ##### -->
+<para>
+
+</para>
+
+@target:
+@major:
+@minor:
+@revision:
+
+<!-- ##### STRUCT ESEventTargetShell ##### -->
+<para>
+
+</para>
+
+@target:
+
+<!-- ##### STRUCT ESEventTargetComponent ##### -->
+<para>
+
+</para>
+
+@target:
+@id:
+
+<!-- ##### TYPEDEF ESEventItem ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ESEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION es_event_get_type ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION es_event_peek ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION es_event_target_new ##### -->
+<para>
+
+</para>
+
+@eme:
+@Returns:
+
+
+<!-- ##### FUNCTION es_event_target_new_state ##### -->
+<para>
+
+</para>
+
+@emp:
+@state:
+@Returns:
+
+
+<!-- ##### FUNCTION es_event_target_new_upgrade ##### -->
+<para>
+
+</para>
+
+@emp:
+@major:
+@minor:
+@revision:
+@Returns:
+
+
+<!-- ##### FUNCTION es_event_target_new_component ##### -->
+<para>
+
+</para>
+
+@eme:
+@id:
+@Returns:
+
+
+<!-- ##### STRUCT ESEventHook ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION es_event_hook_get_type ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/eshell-unused.sgml b/doc/reference/shell/tmpl/eshell-unused.sgml
new file mode 100644
index 0000000000..f913573f39
--- /dev/null
+++ b/doc/reference/shell/tmpl/eshell-unused.sgml
@@ -0,0 +1,1972 @@
+<!-- ##### SECTION ./tmpl/Evolution-DataServer.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/Evolution-DataServer.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/Evolution-DataServer.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/Evolution-DataServer.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/Evolution-DataServer.sgml:Title ##### -->
+Evolution-DataServer
+
+
+<!-- ##### SECTION ./tmpl/e-config-upgrade.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-config-upgrade.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-config-upgrade.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-config-upgrade.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-config-upgrade.sgml:Title ##### -->
+e-config-upgrade
+
+
+<!-- ##### SECTION ./tmpl/e-shell-common.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-common.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-common.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-common.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-common.sgml:Title ##### -->
+e-shell-common
+
+
+<!-- ##### SECTION ./tmpl/e-shell-constants.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-constants.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-constants.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-constants.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-constants.sgml:Title ##### -->
+e-shell-constants
+
+
+<!-- ##### SECTION ./tmpl/e-shell-marshal.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-marshal.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-marshal.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-marshal.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-marshal.sgml:Title ##### -->
+e-shell-marshal
+
+
+<!-- ##### SECTION ./tmpl/e-shell-window-private.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-window-private.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-shell-window-private.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-window-private.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-shell-window-private.sgml:Title ##### -->
+e-shell-window-private
+
+
+<!-- ##### SECTION ./tmpl/e-test-shell-view.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-test-shell-view.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/e-test-shell-view.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-test-shell-view.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/e-test-shell-view.sgml:Title ##### -->
+ETestShellView
+
+
+<!-- ##### SECTION ./tmpl/es-event.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/es-event.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/es-event.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/es-event.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/es-event.sgml:Title ##### -->
+ESEventHook
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-client.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-client.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-client.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-client.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-client.sgml:Title ##### -->
+EvolutionImporterClient
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-listener.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-listener.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-listener.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-listener.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer-listener.sgml:Title ##### -->
+EvolutionImporterListener
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-importer.sgml:Title ##### -->
+EvolutionImporter
+
+
+<!-- ##### SECTION ./tmpl/evolution-intelligent-importer.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-intelligent-importer.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/evolution-intelligent-importer.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-intelligent-importer.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/evolution-intelligent-importer.sgml:Title ##### -->
+EvolutionIntelligentImporter
+
+
+<!-- ##### SECTION ./tmpl/intelligent.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/intelligent.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/intelligent.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/intelligent.sgml:Stability_Level ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/intelligent.sgml:Title ##### -->
+intelligent
+
+
+<!-- ##### MACRO ACTION ##### -->
+<para>
+
+</para>
+
+@name:
+
+<!-- ##### MACRO ACTION_GROUP ##### -->
+<para>
+
+</para>
+
+@name:
+
+<!-- ##### MACRO DISPOSE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+<!-- ##### STRUCT EActivityHandlerPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ESEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ESEventHook ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF ESEventItem ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ESEventTargetComponent ##### -->
+<para>
+
+</para>
+
+@target:
+@id:
+
+<!-- ##### STRUCT ESEventTargetShell ##### -->
+<para>
+
+</para>
+
+@target:
+
+<!-- ##### STRUCT ESEventTargetState ##### -->
+<para>
+
+</para>
+
+@target:
+@state:
+
+<!-- ##### STRUCT ESEventTargetUpgrade ##### -->
+<para>
+
+</para>
+
+@target:
+@major:
+@minor:
+@revision:
+
+<!-- ##### STRUCT EShellContentPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellModulePrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellSidebarPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellSwitcherPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellTaskbarPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellViewPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EShellWindowPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ETestShellView ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### STRUCT ETestShellViewPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_LOCAL_CALENDAR_URI ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_LOCAL_CONTACTS_URI ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_LOCAL_INBOX_URI ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_LOCAL_STORAGE_NAME ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_LOCAL_TASKS_URI ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_PATH_SEPARATOR ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_PATH_SEPARATOR_S ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_DEFAULTURI_PREFIX ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_DEFAULTURI_PREFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_ICON_SIZE ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SIZE ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SUFFIX ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_MINI_ICON_SUFFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_SWITCHER_DEFAULT_TOOLBAR_STYLE ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_URI_PREFIX ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_URI_PREFIX_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SHELL_WINDOW_GET_PRIVATE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+<!-- ##### MACRO E_SUMMARY_STORAGE_NAME ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO E_SUMMARY_URI ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT EvolutionImporter ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### STRUCT EvolutionImporterClient ##### -->
+<para>
+
+</para>
+
+@parent_type:
+@objref:
+
+<!-- ##### USER_FUNCTION EvolutionImporterCreateControlFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@control:
+@closure:
+
+<!-- ##### USER_FUNCTION EvolutionImporterGetErrorFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@closure:
+@Returns:
+
+<!-- ##### STRUCT EvolutionImporterListener ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### USER_FUNCTION EvolutionImporterListenerCallback ##### -->
+<para>
+
+</para>
+
+@listener:
+@result:
+@more_items:
+@closure:
+
+<!-- ##### STRUCT EvolutionImporterListenerPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterLoadFileFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@filename:
+@closure:
+@Returns:
+
+<!-- ##### STRUCT EvolutionImporterPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterProcessItemFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@listener:
+@closure:
+@ev:
+
+<!-- ##### ENUM EvolutionImporterResult ##### -->
+<para>
+
+</para>
+
+@EVOLUTION_IMPORTER_OK:
+@EVOLUTION_IMPORTER_UNSUPPORTED_OPERATION:
+@EVOLUTION_IMPORTER_INTERRUPTED:
+@EVOLUTION_IMPORTER_BUSY:
+@EVOLUTION_IMPORTER_NOT_READY:
+@EVOLUTION_IMPORTER_UNKNOWN_DATA:
+@EVOLUTION_IMPORTER_BAD_DATA:
+@EVOLUTION_IMPORTER_BAD_FILE:
+@EVOLUTION_IMPORTER_UNKNOWN_ERROR:
+
+<!-- ##### USER_FUNCTION EvolutionImporterSupportFormatFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@filename:
+@closure:
+@Returns:
+
+<!-- ##### STRUCT EvolutionIntelligentImporter ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### USER_FUNCTION EvolutionIntelligentImporterCanImportFn ##### -->
+<para>
+
+</para>
+
+@ii:
+@closure:
+@Returns:
+
+<!-- ##### USER_FUNCTION EvolutionIntelligentImporterImportDataFn ##### -->
+<para>
+
+</para>
+
+@ii:
+@closure:
+
+<!-- ##### STRUCT EvolutionIntelligentImporterPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_Config__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config__freekids ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Config__imethods ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_InterfaceCheck__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck__freekids ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION GNOME_Evolution_DataServer_InterfaceCheck__get_interfaceVersion ##### -->
+<para>
+
+</para>
+
+@_obj:
+@ev:
+@Returns:
+
+<!-- ##### ENUM GNOME_Evolution_DataServer_InterfaceCheck__imethods_index ##### -->
+<para>
+
+</para>
+
+@GNOME_Evolution_DataServer_InterfaceCheck__get_interfaceVersion__imethods_index:
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_queryInterface ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_ref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_InterfaceCheck_unref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_IMETHODS_LEN ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM GNOME_Evolution_DataServer_Logging_Level ##### -->
+<para>
+
+</para>
+
+@GNOME_Evolution_DataServer_Logging_Error:
+@GNOME_Evolution_DataServer_Logging_Critical:
+@GNOME_Evolution_DataServer_Logging_Warning:
+@GNOME_Evolution_DataServer_Logging_Message:
+@GNOME_Evolution_DataServer_Logging_Info:
+@GNOME_Evolution_DataServer_Logging_Debug:
+
+<!-- ##### TYPEDEF GNOME_Evolution_DataServer_Logging_LogEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_LogEvent__alloc ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_LogEvent__freekids ##### -->
+<para>
+
+</para>
+
+@m:
+@d:
+
+<!-- ##### VARIABLE GNOME_Evolution_DataServer_Logging__classid ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging__freekids ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging__imethods ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_addListener ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_addListenerWithMask ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_queryInterface ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_ref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_removeListener ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unImplemented ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unImplemented2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GNOME_Evolution_DataServer_Logging_unref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO ORBIT_DECL_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO ORBIT_IDL_SERIAL ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO ORBIT_IMETHODS_INDEX ##### -->
+<para>
+
+</para>
+
+@m:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Config__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Config__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Config__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@GNOME_Evolution_DataServer_Config_epv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+@_get_interfaceVersion:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_InterfaceCheck__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_InterfaceCheck__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_InterfaceCheck__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@Bonobo_Unknown_epv:
+@GNOME_Evolution_DataServer_InterfaceCheck_epv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+@_private:
+@vepv:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging__epv ##### -->
+<para>
+
+</para>
+
+@_private:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Logging__fini ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### FUNCTION POA_GNOME_Evolution_DataServer_Logging__init ##### -->
+<para>
+
+</para>
+
+@servant:
+@ev:
+
+<!-- ##### STRUCT POA_GNOME_Evolution_DataServer_Logging__vepv ##### -->
+<para>
+
+</para>
+
+@_base_epv:
+@Bonobo_Unknown_epv:
+@Bonobo_EventSource_epv:
+@GNOME_Evolution_DataServer_Logging_epv:
+
+<!-- ##### MACRO SWITCHER_FORMAT ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Config ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_InterfaceCheck ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging_Level ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_GNOME_Evolution_DataServer_Logging_LogEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_0 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_1 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_10 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_11 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_12 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_13 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_14 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_15 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_16 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_17 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_18 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_19 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_3 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_4 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_5 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_6 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_8 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Config_9 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_0 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_1 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_10 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_11 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_12 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_13 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_14 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_15 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_16 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_17 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_18 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_19 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_3 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_4 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_5 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_6 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_8 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_InterfaceCheck_9 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_0 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_1 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_10 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_11 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_12 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_13 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_14 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_15 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_16 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_17 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_18 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_19 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_3 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_4 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_5 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_6 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_8 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_9 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_0 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_1 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_10 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_11 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_12 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_13 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_14 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_15 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_16 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_17 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_18 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_19 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_3 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_4 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_5 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_6 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_8 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_Level_9 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_0 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_1 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_10 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_11 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_12 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_13 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_14 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_15 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_16 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_17 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_18 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_19 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_3 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_4 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_5 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_6 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_8 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO TC_IMPL_TC_GNOME_Evolution_DataServer_Logging_LogEvent_9 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION e_config_upgrade ##### -->
+<para>
+
+</para>
+
+@major:
+@minor:
+@revision:
+@Returns:
+
+<!-- ##### FUNCTION e_shell_marshal_BOOLEAN__STRING ##### -->
+<para>
+
+</para>
+
+@closure:
+@return_value:
+@n_param_values:
+@param_values:
+@invocation_hint:
+@marshal_data:
+
+<!-- ##### MACRO e_shell_marshal_BOOL__STRING ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION e_shell_window_actions_init ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_create_new_menu ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@Returns:
+
+<!-- ##### FUNCTION e_shell_window_create_switcher_actions ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_private_dispose ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_private_finalize ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_private_init ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_switch_to_view ##### -->
+<para>
+
+</para>
+
+@shell_window:
+@view_name:
+
+<!-- ##### FUNCTION e_shell_window_update_gal_view_menu ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_update_icon ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_update_new_menu ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### FUNCTION e_shell_window_update_title ##### -->
+<para>
+
+</para>
+
+@shell_window:
+
+<!-- ##### VARIABLE e_test_shell_view_type ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION es_event_get_type ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+<!-- ##### FUNCTION es_event_hook_get_type ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+<!-- ##### FUNCTION es_event_peek ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+<!-- ##### FUNCTION es_event_target_new ##### -->
+<para>
+
+</para>
+
+@eme:
+@Returns:
+
+<!-- ##### FUNCTION es_event_target_new_component ##### -->
+<para>
+
+</para>
+
+@eme:
+@id:
+@Returns:
+
+<!-- ##### FUNCTION es_event_target_new_state ##### -->
+<para>
+
+</para>
+
+@emp:
+@state:
+@Returns:
+
+<!-- ##### FUNCTION es_event_target_new_upgrade ##### -->
+<para>
+
+</para>
+
+@emp:
+@major:
+@minor:
+@revision:
+@Returns:
+
+<!-- ##### ENUM es_event_target_t ##### -->
+<para>
+
+</para>
+
+@ES_EVENT_TARGET_STATE:
+@ES_EVENT_TARGET_UPGRADE:
+@ES_EVENT_TARGET_SHELL:
+@ES_EVENT_TARGET_COMPONENT:
+
+<!-- ##### FUNCTION evolution_importer_client_create_control ##### -->
+<para>
+
+</para>
+
+@client:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_client_get_error ##### -->
+<para>
+
+</para>
+
+@client:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_client_load_file ##### -->
+<para>
+
+</para>
+
+@client:
+@filename:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_client_new ##### -->
+<para>
+
+</para>
+
+@objref:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_client_new_from_id ##### -->
+<para>
+
+</para>
+
+@id:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_client_process_item ##### -->
+<para>
+
+</para>
+
+@client:
+@listener:
+
+<!-- ##### FUNCTION evolution_importer_client_support_format ##### -->
+<para>
+
+</para>
+
+@client:
+@filename:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_listener_new ##### -->
+<para>
+
+</para>
+
+@callback:
+@closure:
+@Returns:
+
+<!-- ##### FUNCTION evolution_importer_new ##### -->
+<para>
+
+</para>
+
+@create_control_fn:
+@support_format_fn:
+@load_file_fn:
+@process_item_fn:
+@get_error_fn:
+@closure:
+@Returns:
+
+<!-- ##### FUNCTION evolution_intelligent_importer_new ##### -->
+<para>
+
+</para>
+
+@can_import_fn:
+@import_data_fn:
+@importername:
+@message:
+@closure:
+@Returns:
+
+<!-- ##### FUNCTION intelligent_importer_init ##### -->
+<para>
+
+</para>
+
+
diff --git a/doc/reference/shell/tmpl/evolution-importer-client.sgml b/doc/reference/shell/tmpl/evolution-importer-client.sgml
new file mode 100644
index 0000000000..db2acb621a
--- /dev/null
+++ b/doc/reference/shell/tmpl/evolution-importer-client.sgml
@@ -0,0 +1,94 @@
+<!-- ##### SECTION Title ##### -->
+EvolutionImporterClient
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EvolutionImporterClient ##### -->
+<para>
+
+</para>
+
+@parent_type:
+@objref:
+
+<!-- ##### FUNCTION evolution_importer_client_new ##### -->
+<para>
+
+</para>
+
+@objref:
+@Returns:
+
+
+<!-- ##### FUNCTION evolution_importer_client_new_from_id ##### -->
+<para>
+
+</para>
+
+@id:
+@Returns:
+
+
+<!-- ##### FUNCTION evolution_importer_client_create_control ##### -->
+<para>
+
+</para>
+
+@client:
+@Returns:
+
+
+<!-- ##### FUNCTION evolution_importer_client_support_format ##### -->
+<para>
+
+</para>
+
+@client:
+@filename:
+@Returns:
+
+
+<!-- ##### FUNCTION evolution_importer_client_load_file ##### -->
+<para>
+
+</para>
+
+@client:
+@filename:
+@Returns:
+
+
+<!-- ##### FUNCTION evolution_importer_client_process_item ##### -->
+<para>
+
+</para>
+
+@client:
+@listener:
+
+
+<!-- ##### FUNCTION evolution_importer_client_get_error ##### -->
+<para>
+
+</para>
+
+@client:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/evolution-importer-listener.sgml b/doc/reference/shell/tmpl/evolution-importer-listener.sgml
new file mode 100644
index 0000000000..7b0b3ab488
--- /dev/null
+++ b/doc/reference/shell/tmpl/evolution-importer-listener.sgml
@@ -0,0 +1,56 @@
+<!-- ##### SECTION Title ##### -->
+EvolutionImporterListener
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EvolutionImporterListenerPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterListenerCallback ##### -->
+<para>
+
+</para>
+
+@listener:
+@result:
+@more_items:
+@closure:
+
+
+<!-- ##### STRUCT EvolutionImporterListener ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### FUNCTION evolution_importer_listener_new ##### -->
+<para>
+
+</para>
+
+@callback:
+@closure:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/evolution-importer.sgml b/doc/reference/shell/tmpl/evolution-importer.sgml
new file mode 100644
index 0000000000..c092138c60
--- /dev/null
+++ b/doc/reference/shell/tmpl/evolution-importer.sgml
@@ -0,0 +1,117 @@
+<!-- ##### SECTION Title ##### -->
+EvolutionImporter
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EvolutionImporterPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterCreateControlFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@control:
+@closure:
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterSupportFormatFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@filename:
+@closure:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterLoadFileFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@filename:
+@closure:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterProcessItemFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@listener:
+@closure:
+@ev:
+
+
+<!-- ##### USER_FUNCTION EvolutionImporterGetErrorFn ##### -->
+<para>
+
+</para>
+
+@importer:
+@closure:
+@Returns:
+
+
+<!-- ##### ENUM EvolutionImporterResult ##### -->
+<para>
+
+</para>
+
+@EVOLUTION_IMPORTER_OK:
+@EVOLUTION_IMPORTER_UNSUPPORTED_OPERATION:
+@EVOLUTION_IMPORTER_INTERRUPTED:
+@EVOLUTION_IMPORTER_BUSY:
+@EVOLUTION_IMPORTER_NOT_READY:
+@EVOLUTION_IMPORTER_UNKNOWN_DATA:
+@EVOLUTION_IMPORTER_BAD_DATA:
+@EVOLUTION_IMPORTER_BAD_FILE:
+@EVOLUTION_IMPORTER_UNKNOWN_ERROR:
+
+<!-- ##### STRUCT EvolutionImporter ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### FUNCTION evolution_importer_new ##### -->
+<para>
+
+</para>
+
+@create_control_fn:
+@support_format_fn:
+@load_file_fn:
+@process_item_fn:
+@get_error_fn:
+@closure:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/evolution-intelligent-importer.sgml b/doc/reference/shell/tmpl/evolution-intelligent-importer.sgml
new file mode 100644
index 0000000000..4dfdb70203
--- /dev/null
+++ b/doc/reference/shell/tmpl/evolution-intelligent-importer.sgml
@@ -0,0 +1,67 @@
+<!-- ##### SECTION Title ##### -->
+EvolutionIntelligentImporter
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT EvolutionIntelligentImporterPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION EvolutionIntelligentImporterCanImportFn ##### -->
+<para>
+
+</para>
+
+@ii:
+@closure:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION EvolutionIntelligentImporterImportDataFn ##### -->
+<para>
+
+</para>
+
+@ii:
+@closure:
+
+
+<!-- ##### STRUCT EvolutionIntelligentImporter ##### -->
+<para>
+
+</para>
+
+@parent:
+@priv:
+
+<!-- ##### FUNCTION evolution_intelligent_importer_new ##### -->
+<para>
+
+</para>
+
+@can_import_fn:
+@import_data_fn:
+@importername:
+@message:
+@closure:
+@Returns:
+
+
diff --git a/doc/reference/shell/tmpl/intelligent.sgml b/doc/reference/shell/tmpl/intelligent.sgml
new file mode 100644
index 0000000000..1c50af5c7b
--- /dev/null
+++ b/doc/reference/shell/tmpl/intelligent.sgml
@@ -0,0 +1,26 @@
+<!-- ##### SECTION Title ##### -->
+intelligent
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION intelligent_importer_init ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/shell/Makefile.am b/shell/Makefile.am
index 12900aac3f..f15661007e 100644
--- a/shell/Makefile.am
+++ b/shell/Makefile.am
@@ -103,8 +103,6 @@ evolution_SOURCES = \
e-shell-constants.h \
e-shell-importer.c \
e-shell-importer.h \
- e-shell-registry.c \
- e-shell-registry.h \
e-shell-window-private.c \
e-shell-window-private.h \
es-event.c \
diff --git a/shell/e-shell-module.c b/shell/e-shell-module.c
index 6d6849ee29..373a78564d 100644
--- a/shell/e-shell-module.c
+++ b/shell/e-shell-module.c
@@ -25,6 +25,8 @@
#include <glib/gi18n.h>
#include <e-util/e-util.h>
+#include <e-shell.h>
+
/* This is the symbol we look for when loading a module. */
#define INIT_SYMBOL "e_shell_module_init"
@@ -34,8 +36,8 @@
struct _EShellModulePrivate {
- /* Set during module initialization. This must come
- * first in the struct so the registry can read it. */
+ /* Set during module initialization. This must
+ * come first in the struct so EShell can read it. */
EShellModuleInfo info;
GModule *module;
@@ -212,6 +214,11 @@ shell_module_class_init (EShellModuleClass *class)
type_module_class->load = shell_module_load;
type_module_class->unload = shell_module_unload;
+ /**
+ * EShellModule:filename
+ *
+ * The filename of the module.
+ **/
g_object_class_install_property (
object_class,
PROP_FILENAME,
@@ -223,6 +230,11 @@ shell_module_class_init (EShellModuleClass *class)
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
+ /**
+ * EShellModule:shell
+ *
+ * The #EShell singleton.
+ **/
g_object_class_install_property (
object_class,
PROP_SHELL,
@@ -267,6 +279,19 @@ e_shell_module_get_type (void)
return type;
}
+/**
+ * e_shell_module_new:
+ * @shell: an #EShell
+ * @filename: the name of the file containing the shell module
+ *
+ * Loads @filename as a #GTypeModule and tries to invoke a module
+ * function named <function>e_shell_module_init</function>, passing
+ * the newly loaded #GTypeModule as an argument. The shell module is
+ * responsible for defining such a function to perform the appropriate
+ * initialization steps.
+ *
+ * Returns: a new #EShellModule
+ **/
EShellModule *
e_shell_module_new (EShell *shell,
const gchar *filename)
@@ -278,6 +303,18 @@ e_shell_module_new (EShell *shell,
"filename", filename, NULL);
}
+/**
+ * e_shell_module_compare:
+ * @shell_module_a: an #EShellModule
+ * @shell_module_b: an #EShellModule
+ *
+ * Using the <structfield>sort_order</structfield> field from both modules'
+ * #EShellModuleInfo, compares @shell_module_a with @shell_mobule_b and
+ * returns -1, 0 or +1 if @shell_module_a is found to be less than, equal
+ * to or greater than @shell_module_b, respectively.
+ *
+ * Returns: -1, 0 or +1, for a less than, equal to or greater than result
+ **/
gint
e_shell_module_compare (EShellModule *shell_module_a,
EShellModule *shell_module_b)
@@ -288,6 +325,16 @@ e_shell_module_compare (EShellModule *shell_module_a,
return (a < b) ? -1 : (a > b);
}
+/**
+ * e_shell_module_get_config_dir:
+ * @shell_module: an #EShellModule
+ *
+ * Returns the absolute path to the configuration directory for
+ * @shell_module. The string is owned by @shell_module and should
+ * not be modified or freed.
+ *
+ * Returns: the module's configuration directory
+ **/
const gchar *
e_shell_module_get_config_dir (EShellModule *shell_module)
{
@@ -297,6 +344,16 @@ e_shell_module_get_config_dir (EShellModule *shell_module)
return shell_module->priv->config_dir;
}
+/**
+ * e_shell_module_get_data_dir:
+ * @shell_module: an #EShellModule
+ *
+ * Returns the absolute path to the data directory for @shell_module.
+ * The string is owned by @shell_module and should not be modified or
+ * freed.
+ *
+ * Returns: the module's data directory
+ **/
const gchar *
e_shell_module_get_data_dir (EShellModule *shell_module)
{
@@ -306,6 +363,16 @@ e_shell_module_get_data_dir (EShellModule *shell_module)
return shell_module->priv->data_dir;
}
+/**
+ * e_shell_module_get_filename:
+ * @shell_module: an #EShellModule
+ *
+ * Returns the name of the file from which @shell_module was loaded.
+ * The string is owned by @shell_module and should not be modified or
+ * freed.
+ *
+ * Returns: the module's file name
+ **/
const gchar *
e_shell_module_get_filename (EShellModule *shell_module)
{
@@ -322,6 +389,14 @@ e_shell_module_get_searches (EShellModule *shell_module)
return shell_module->priv->info.searches;
}
+/**
+ * e_shell_module_get_shell:
+ * @shell_module: an #EShellModule
+ *
+ * Returns the #EShell that was passed to e_shell_module_new().
+ *
+ * Returns: the #EShell
+ **/
EShell *
e_shell_module_get_shell (EShellModule *shell_module)
{
@@ -360,6 +435,18 @@ e_shell_module_shutdown (EShellModule *shell_module)
return TRUE;
}
+/**
+ * e_shell_module_set_info:
+ * @shell_module: an #EShellModule
+ * @info: an #EShellModuleInfo
+ *
+ * Registers basic configuration information about @shell_module that
+ * the #EShell can use for processing command-line arguments.
+ *
+ * Configuration information should be registered from
+ * @shell_module<!-- -->'s <function>e_shell_module_init</function>
+ * initialization function. See e_shell_module_new() for more information.
+ **/
void
e_shell_module_set_info (EShellModule *shell_module,
const EShellModuleInfo *info)
diff --git a/shell/e-shell-module.h b/shell/e-shell-module.h
index d9baa84a9a..71fdc6b4e9 100644
--- a/shell/e-shell-module.h
+++ b/shell/e-shell-module.h
@@ -21,7 +21,7 @@
#ifndef E_SHELL_MODULE_H
#define E_SHELL_MODULE_H
-#include <e-shell.h>
+#include <e-shell-common.h>
/* Standard GObject macros */
#define E_TYPE_SHELL_MODULE \
@@ -44,16 +44,45 @@
G_BEGIN_DECLS
+/* Avoid including <e-shell.h> */
+struct _EShell;
+
typedef struct _EShellModule EShellModule;
typedef struct _EShellModuleInfo EShellModuleInfo;
typedef struct _EShellModuleClass EShellModuleClass;
typedef struct _EShellModulePrivate EShellModulePrivate;
+/**
+ * EShellModuleInfo:
+ * @name: The name of the module. Also becomes the name of
+ * the corresponding #EShellView subclass that the
+ * module will register.
+ * @aliases: Colon-separated list of aliases that can be used
+ * when referring to a module or view by name, such
+ * as in e_shell_window_set_current_view().
+ * @schemes: Colon-separated list of URI schemes. The #EShell
+ * will forward command-line URIs to the appropriate
+ * module based on this list.
+ * @searches: Base name of the XML file containing predefined
+ * search rules for this module. These show up as
+ * options in the search entry drop-down.
+ * @sort_order: Used to determine the order of modules listed in
+ * the main menu and in the switcher. See
+ * e_shell_module_compare().
+ * @is_busy: Callback for querying whether the module has
+ * operations in progress that cannot be cancelled
+ * or finished immediately. Returning %TRUE prevents
+ * the application from shutting down.
+ * @shutdown: Callback for notifying the module to begin
+ * shutting down. Returning %FALSE indicates there
+ * are still unfinished operations and the #EShell
+ * should check back shortly.
+ **/
struct _EShellModuleInfo {
const gchar *name;
- const gchar *aliases; /* colon-separated list */
- const gchar *schemes; /* colon-separated list */
- const gchar *searches; /* built-in search rules */
+ const gchar *aliases;
+ const gchar *schemes;
+ const gchar *searches;
gint sort_order;
gboolean (*is_busy) (EShellModule *shell_module);
@@ -70,7 +99,7 @@ struct _EShellModuleClass {
};
GType e_shell_module_get_type (void);
-EShellModule * e_shell_module_new (EShell *shell,
+EShellModule * e_shell_module_new (struct _EShell *shell,
const gchar *filename);
gint e_shell_module_compare (EShellModule *shell_module_a,
EShellModule *shell_module_b);
@@ -78,7 +107,7 @@ const gchar * e_shell_module_get_config_dir (EShellModule *shell_module);
const gchar * e_shell_module_get_data_dir (EShellModule *shell_module);
const gchar * e_shell_module_get_filename (EShellModule *shell_module);
const gchar * e_shell_module_get_searches (EShellModule *shell_module);
-EShell * e_shell_module_get_shell (EShellModule *shell_module);
+struct _EShell *e_shell_module_get_shell (EShellModule *shell_module);
gboolean e_shell_module_is_busy (EShellModule *shell_module);
gboolean e_shell_module_shutdown (EShellModule *shell_module);
void e_shell_module_set_info (EShellModule *shell_module,
diff --git a/shell/e-shell-registry.c b/shell/e-shell-registry.c
deleted file mode 100644
index af95b0adad..0000000000
--- a/shell/e-shell-registry.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* e-shell-registry.c
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "e-shell-registry.h"
-
-static GList *loaded_modules;
-static GHashTable *modules_by_name;
-static GHashTable *modules_by_scheme;
-
-static void
-shell_registry_insert_items (GHashTable *hash_table,
- const gchar *items,
- EShellModule *shell_module)
-{
- gpointer key;
- gchar **strv;
- gint ii;
-
- strv = g_strsplit_set (items, ":", -1);
-
- for (ii = 0; strv[ii] != NULL; ii++) {
- key = (gpointer) g_intern_string (strv[ii]);
- g_hash_table_insert (hash_table, key, shell_module);
- }
-
- g_strfreev (strv);
-}
-
-static void
-shell_registry_query_module (EShell *shell,
- const gchar *filename)
-{
- EShellModule *shell_module;
- EShellModuleInfo *info;
- const gchar *string;
-
- shell_module = e_shell_module_new (shell, filename);
-
- if (!g_type_module_use (G_TYPE_MODULE (shell_module))) {
- g_critical ("Failed to load module: %s", filename);
- g_object_unref (shell_module);
- return;
- }
-
- loaded_modules = g_list_insert_sorted (
- loaded_modules, shell_module,
- (GCompareFunc) e_shell_module_compare);
-
- /* Bookkeeping */
-
- info = (EShellModuleInfo *) shell_module->priv;
-
- if ((string = info->name) != NULL)
- g_hash_table_insert (
- modules_by_name, (gpointer)
- g_intern_string (string), shell_module);
-
- if ((string = info->aliases) != NULL)
- shell_registry_insert_items (
- modules_by_name, string, shell_module);
-
- if ((string = info->schemes) != NULL)
- shell_registry_insert_items (
- modules_by_scheme, string, shell_module);
-}
-
-void
-e_shell_registry_init (EShell *shell)
-{
- GDir *dir;
- const gchar *dirname;
- const gchar *basename;
- GError *error = NULL;
-
- g_return_if_fail (E_IS_SHELL (shell));
- g_return_if_fail (loaded_modules == NULL);
-
- modules_by_name = g_hash_table_new (g_str_hash, g_str_equal);
- modules_by_scheme = g_hash_table_new (g_str_hash, g_str_equal);
-
- dirname = EVOLUTION_MODULEDIR;
-
- dir = g_dir_open (dirname, 0, &error);
- if (dir == NULL) {
- g_critical ("%s", error->message);
- g_error_free (error);
- return;
- }
-
- while ((basename = g_dir_read_name (dir)) != NULL) {
- gchar *filename;
-
- if (!g_str_has_suffix (basename, "." G_MODULE_SUFFIX))
- continue;
-
- filename = g_build_filename (dirname, basename, NULL);
- shell_registry_query_module (shell, filename);
- g_free (filename);
- }
-
- g_dir_close (dir);
-}
-
-GList *
-e_shell_registry_list_modules (void)
-{
- return loaded_modules;
-}
-
-const gchar *
-e_shell_registry_get_canonical_name (const gchar *name)
-{
- EShellModule *shell_module;
-
- /* Handle NULL arguments silently. */
- if (name == NULL)
- return NULL;
-
- shell_module = e_shell_registry_get_module_by_name (name);
-
- if (shell_module == NULL)
- return NULL;
-
- return G_TYPE_MODULE (shell_module)->name;
-}
-
-EShellModule *
-e_shell_registry_get_module_by_name (const gchar *name)
-{
- g_return_val_if_fail (name != NULL, NULL);
-
- return g_hash_table_lookup (modules_by_name, name);
-}
-
-EShellModule *
-e_shell_registry_get_module_by_scheme (const gchar *scheme)
-{
- g_return_val_if_fail (scheme != NULL, NULL);
-
- return g_hash_table_lookup (modules_by_scheme, scheme);
-}
diff --git a/shell/e-shell-registry.h b/shell/e-shell-registry.h
deleted file mode 100644
index 852d9236fe..0000000000
--- a/shell/e-shell-registry.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* e-shell-registry.h
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef E_SHELL_REGISTRY
-#define E_SHELL_REGISTRY
-
-#include "e-shell-common.h"
-#include "e-shell-module.h"
-#include "e-shell.h"
-
-G_BEGIN_DECLS
-
-void e_shell_registry_init (EShell *shell);
-GList * e_shell_registry_list_modules (void);
-const gchar * e_shell_registry_get_canonical_name (const gchar *name);
-EShellModule * e_shell_registry_get_module_by_name (const gchar *name);
-EShellModule * e_shell_registry_get_module_by_scheme (const gchar *scheme);
-
-G_END_DECLS
-
-#endif /* E_SHELL_REGISTRY */
diff --git a/shell/e-shell-switcher.c b/shell/e-shell-switcher.c
index f9cf1810b7..ae29900fb2 100644
--- a/shell/e-shell-switcher.c
+++ b/shell/e-shell-switcher.c
@@ -430,29 +430,46 @@ shell_switcher_class_init (EShellSwitcherClass *class)
class->style_changed = shell_switcher_style_changed;
+ /**
+ * EShellSwitcher:toolbar-style
+ *
+ * The switcher's toolbar style.
+ **/
g_object_class_install_property (
object_class,
PROP_TOOLBAR_STYLE,
g_param_spec_enum (
"toolbar-style",
- NULL,
- NULL,
+ _("Toolbar Style"),
+ _("The switcher's toolbar style"),
GTK_TYPE_TOOLBAR_STYLE,
E_SHELL_SWITCHER_DEFAULT_TOOLBAR_STYLE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
+ /**
+ * EShellSwitcher:toolbar-visible
+ *
+ * Whether the switcher is visible.
+ **/
g_object_class_install_property (
object_class,
PROP_TOOLBAR_VISIBLE,
g_param_spec_boolean (
"toolbar-visible",
- NULL,
- NULL,
+ _("Toolbar Visible"),
+ _("Whether the switcher is visible"),
TRUE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
+ /**
+ * EShellSwitcher::style-changed
+ * @switcher: the #EShellSwitcher which emitted the signal
+ * @style: the new #GtkToolbarStyle of the switcher
+ *
+ * Emitted when the style of the switcher changes.
+ **/
signals[STYLE_CHANGED] = g_signal_new (
"style-changed",
G_OBJECT_CLASS_TYPE (class),
@@ -516,12 +533,30 @@ e_shell_switcher_get_type (void)
return type;
}
+/**
+ * e_shell_switcher_new:
+ *
+ * Creates a new #EShellSwitcher instance.
+ *
+ * Returns: a new #EShellSwitcher instance
+ **/
GtkWidget *
e_shell_switcher_new (void)
{
return g_object_new (E_TYPE_SHELL_SWITCHER, NULL);
}
+/**
+ * e_shell_switcher_add_action:
+ * @switcher: an #EShellSwitcher
+ * @action: a #GtkAction
+ *
+ * Adds a button to @switcher that proxies for @action. Switcher buttons
+ * appear in the order they were added.
+ *
+ * #EShellWindow adds switcher actions in the order given by the
+ * <structfield>sort_order</structfield> field in #EShellModuleInfo.
+ **/
void
e_shell_switcher_add_action (EShellSwitcher *switcher,
GtkAction *action)
@@ -543,6 +578,14 @@ e_shell_switcher_add_action (EShellSwitcher *switcher,
gtk_widget_queue_resize (GTK_WIDGET (switcher));
}
+/**
+ * e_shell_switcher_get_style:
+ * @switcher: an #EShellSwitcher
+ *
+ * Returns whether @switcher has text, icons or both.
+ *
+ * Returns: the current style of @shell
+ **/
GtkToolbarStyle
e_shell_switcher_get_style (EShellSwitcher *switcher)
{
@@ -553,6 +596,14 @@ e_shell_switcher_get_style (EShellSwitcher *switcher)
return switcher->priv->style;
}
+/**
+ * e_shell_switcher_set_style:
+ * @switcher: an #EShellSwitcher
+ * @style: the new style for @switcher
+ *
+ * Alters the view of @switcher to display either icons only, text only,
+ * or both.
+ **/
void
e_shell_switcher_set_style (EShellSwitcher *switcher,
GtkToolbarStyle style)
@@ -563,6 +614,13 @@ e_shell_switcher_set_style (EShellSwitcher *switcher,
g_signal_emit (switcher, signals[STYLE_CHANGED], 0, style);
}
+/**
+ * e_shell_switcher_unset_style:
+ * @switcher: an #EShellSwitcher
+ *
+ * Unsets a switcher style set with e_shell_switcher_set_style(), so
+ * that user preferences will be used to determine the switcher style.
+ **/
void
e_shell_switcher_unset_style (EShellSwitcher *switcher)
{
diff --git a/shell/e-shell-window-private.h b/shell/e-shell-window-private.h
index 67cd51458b..7c04d87f6b 100644
--- a/shell/e-shell-window-private.h
+++ b/shell/e-shell-window-private.h
@@ -36,7 +36,6 @@
#include <e-shell.h>
#include <e-shell-content.h>
#include <e-shell-view.h>
-#include <e-shell-registry.h>
#include <e-shell-switcher.h>
#include <e-shell-window-actions.h>
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c
index b1a7e4b6b1..d35ca0605a 100644
--- a/shell/e-shell-window.c
+++ b/shell/e-shell-window.c
@@ -225,34 +225,49 @@ shell_window_class_init (EShellWindowClass *class)
object_class->dispose = shell_window_dispose;
object_class->finalize = shell_window_finalize;
+ /**
+ * EShellWindow:current-view
+ *
+ * Name of the currently active #EShellView.
+ **/
g_object_class_install_property (
object_class,
PROP_CURRENT_VIEW,
g_param_spec_string (
"current-view",
- NULL,
- NULL,
+ _("Current Shell View"),
+ _("Name of the currently active shell view"),
NULL,
G_PARAM_READWRITE));
+ /**
+ * EShellWindow:safe-mode
+ *
+ * Whether the shell window is in safe mode.
+ **/
g_object_class_install_property (
object_class,
PROP_SAFE_MODE,
g_param_spec_boolean (
"safe-mode",
- NULL,
- NULL,
+ _("Safe Mode"),
+ _("Whether the shell window is in safe mode"),
FALSE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
+ /**
+ * EShellWindow:shell
+ *
+ * The #EShell singleton.
+ **/
g_object_class_install_property (
object_class,
PROP_SHELL,
g_param_spec_object (
"shell",
- NULL,
- NULL,
+ _("Shell"),
+ _("The EShell singleton"),
E_TYPE_SHELL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
@@ -299,6 +314,25 @@ e_shell_window_get_type (void)
return type;
}
+/**
+ * e_shell_window_new:
+ * @shell: an #EShell
+ * @safe_mode: whether to initialize the window to "safe mode"
+ *
+ * Returns a new #EShellWindow.
+ *
+ * It's up to the various #EShellView<!-- -->'s to define exactly
+ * what "safe mode" means, but the #EShell usually puts the initial
+ * #EShellWindow into "safe mode" if detects the previous Evolution
+ * session crashed.
+ *
+ * The initial view for the window is determined by GConf key
+ * <filename>/apps/evolution/shell/view_defaults/component_id</filename>.
+ * Or, if the GConf key is not set or can't be read, the first view
+ * in the switcher is used.
+ *
+ * Returns: a new #EShellWindow
+ **/
GtkWidget *
e_shell_window_new (EShell *shell,
gboolean safe_mode)
@@ -308,6 +342,22 @@ e_shell_window_new (EShell *shell,
"shell", shell, "safe-mode", safe_mode, NULL);
}
+/**
+ * e_shell_window_get_view:
+ * @shell_window: an #EShellWindow
+ * @view_name: name of a shell view
+ *
+ * Returns the #EShellView named @view_name (see the
+ * <structfield>name</structfield> field in #EShellModuleInfo). This
+ * will also instantiate the #EShellView the first time it's requested.
+ * To reduce resource consumption, Evolution tries to delay instantiating
+ * shell views until the user switches to them. So in general, only the
+ * currently active view name, as returned by
+ * e_shell_window_get_current_view(), should be requested.
+ *
+ * Returns: the requested #EShellView, or %NULL if no such view is
+ * registered
+ **/
gpointer
e_shell_window_get_view (EShellWindow *shell_window,
const gchar *view_name)
@@ -355,6 +405,14 @@ e_shell_window_get_view (EShellWindow *shell_window,
return shell_view;
}
+/**
+ * e_shell_window_get_shell:
+ * @shell_window: an #EShellWindow
+ *
+ * Returns the #EShell that was passed to e_shell_window_new().
+ *
+ * Returns: the #EShell
+ **/
EShell *
e_shell_window_get_shell (EShellWindow *shell_window)
{
@@ -363,6 +421,17 @@ e_shell_window_get_shell (EShellWindow *shell_window)
return shell_window->priv->shell;
}
+/**
+ * e_shell_window_get_ui_manager:
+ * @shell_window: an #EShellWindow
+ *
+ * Returns @shell_window<!-- -->'s user interface manager, which
+ * manages the window's menus and toolbars via #GtkAction<!-- -->s.
+ * This is the mechanism by which shell views and plugins can extend
+ * Evolution's menus and toolbars.
+ *
+ * Returns: the #GtkUIManager for @shell_window
+ **/
GtkUIManager *
e_shell_window_get_ui_manager (EShellWindow *shell_window)
{
@@ -371,6 +440,16 @@ e_shell_window_get_ui_manager (EShellWindow *shell_window)
return shell_window->priv->ui_manager;
}
+/**
+ * e_shell_window_get_action:
+ * @shell_window: an #EShellWindow
+ * @action_name: the name of an action
+ *
+ * Returns the #GtkAction named @action_name in @shell_window<!-- -->'s
+ * user interface manager, or %NULL if no such action exists.
+ *
+ * Returns: the #GtkAction named @action_name
+ **/
GtkAction *
e_shell_window_get_action (EShellWindow *shell_window,
const gchar *action_name)
@@ -398,6 +477,17 @@ e_shell_window_get_action (EShellWindow *shell_window,
return action;
}
+/**
+ * e_shell_window_get_action_group:
+ * @shell_window: an #EShellWindow
+ * @group_name: the name of an action group
+ *
+ * Returns the #GtkActionGroup named @group_name in
+ * @shell_window<!-- -->'s user interface manager, or %NULL if no
+ * such action group exists.
+ *
+ * Returns: the #GtkActionGroup named @group_name
+ **/
GtkActionGroup *
e_shell_window_get_action_group (EShellWindow *shell_window,
const gchar *group_name)
@@ -425,6 +515,18 @@ e_shell_window_get_action_group (EShellWindow *shell_window,
g_return_val_if_reached (NULL);
}
+/**
+ * e_shell_window_get_managed_widget:
+ * @shell_window: an #EShellWindow
+ * @widget_path: path in the UI definintion
+ *
+ * Looks up a widget in @shell_window<!-- -->'s user interface manager by
+ * following a path. See gtk_ui_manager_get_widget() for more information
+ * about paths.
+ *
+ * Returns: the widget found by following the path, or %NULL if no widget
+ * was found
+ **/
GtkWidget *
e_shell_window_get_managed_widget (EShellWindow *shell_window,
const gchar *widget_path)
@@ -443,6 +545,14 @@ e_shell_window_get_managed_widget (EShellWindow *shell_window,
return widget;
}
+/**
+ * e_shell_window_get_current_view:
+ * @shell_window: an #EShellWindow
+ *
+ * Returns the name of the currently active #EShellView.
+ *
+ * Returns: the name of the current view
+ **/
const gchar *
e_shell_window_get_current_view (EShellWindow *shell_window)
{
@@ -451,22 +561,43 @@ e_shell_window_get_current_view (EShellWindow *shell_window)
return shell_window->priv->current_view;
}
+/**
+ * e_shell_window_set_current_view:
+ * @shell_window: an #EShellWindow
+ * @name_or_alias: the name of the shell view to switch to
+ *
+ * Switches @shell_window to the #EShellView named (or with an alias of)
+ * @name_or_alias, causing the entire content of @shell_window to change.
+ * This is typically called as a result of the user clicking one of the
+ * switcher buttons.
+ *
+ * See #EShellModuleInfo for more information about shell view names and
+ * aliases.
+ *
+ * The name of the newly activated shell view is also written to GConf key
+ * <filename>/apps/evolution/shell/view_defaults/component_id</filename>.
+ * This makes the current shell view persistent across Evolution sessions.
+ * It also causes new shell windows created within the current Evolution
+ * session to open to the most recently selected shell view.
+ **/
void
e_shell_window_set_current_view (EShellWindow *shell_window,
const gchar *name_or_alias)
{
GtkAction *action;
EShellView *shell_view;
+ EShell *shell;
GList *list;
const gchar *view_name;
g_return_if_fail (E_IS_SHELL_WINDOW (shell_window));
view_name = name_or_alias;
- list = e_shell_registry_list_modules ();
+ shell = e_shell_window_get_shell (shell_window);
+ list = e_shell_list_modules (shell);
if (view_name != NULL)
- view_name = e_shell_registry_get_canonical_name (view_name);
+ view_name = e_shell_get_canonical_name (shell, view_name);
if (view_name == NULL && list != NULL)
view_name = G_TYPE_MODULE (list->data)->name;
@@ -486,6 +617,18 @@ e_shell_window_set_current_view (EShellWindow *shell_window,
e_shell_window_switch_to_view (shell_window, view_name);
}
+/**
+ * e_shell_window_get_safe_mode:
+ * @shell_window: an #EShellWindow
+ *
+ * Returns %TRUE if @shell_window is in "safe mode".
+ *
+ * It's up to the various #EShellView<!-- -->'s to define exactly
+ * what "safe mode" means. The @shell_window simply manages the
+ * "safe mode" state.
+ *
+ * Returns: %TRUE if @shell_window is in "safe mode"
+ **/
gboolean
e_shell_window_get_safe_mode (EShellWindow *shell_window)
{
@@ -494,6 +637,17 @@ e_shell_window_get_safe_mode (EShellWindow *shell_window)
return shell_window->priv->safe_mode;
}
+/**
+ * e_shell_window_set_safe_mode:
+ * @shell_window: an #EShellWindow
+ * @safe_mode: whether to put @shell_window into "safe mode"
+ *
+ * If %TRUE, puts @shell_window into "safe mode".
+ *
+ * It's up to the various #EShellView<!-- -->'s to define exactly
+ * what "safe mode" means. The @shell_window simply manages the
+ * "safe mode" state.
+ **/
void
e_shell_window_set_safe_mode (EShellWindow *shell_window,
gboolean safe_mode)
@@ -505,6 +659,24 @@ e_shell_window_set_safe_mode (EShellWindow *shell_window,
g_object_notify (G_OBJECT (shell_window), "safe-mode");
}
+/**
+ * e_shell_window_register_new_item_actions:
+ * @shell_window: an #EShellWindow
+ * @module_name: name of an #EShellModule
+ * @entries: an array of #GtkActionEntry<!-- -->s
+ * @n_entries: number of elements in the array
+ *
+ * Registers a list of #GtkAction<!-- -->s to appear in
+ * @shell_window<!-- -->'s "New" menu and toolbar button. This
+ * function should be called from an #EShellModule<!-- -->'s
+ * #EShell::window-created signal handler. The #EShellModule calling
+ * this function should pass its own name for the @module_name argument
+ * (i.e. the <structfield>name</structfield> field from its own
+ * #EShellModuleInfo).
+ *
+ * The registered #GtkAction<!-- -->s should be for creating individual
+ * items such as an email message or a calendar appointment.
+ **/
void
e_shell_window_register_new_item_actions (EShellWindow *shell_window,
const gchar *module_name,
@@ -551,6 +723,24 @@ e_shell_window_register_new_item_actions (EShellWindow *shell_window,
e_shell_window_update_new_menu (shell_window);
}
+/**
+ * e_shell_window_register_new_source_actions:
+ * @shell_window: an #EShellWindow
+ * @module_name: name of an #EShellModule
+ * @entries: an array of #GtkActionEntry<!-- -->s
+ * @n_entries: number of elements in the array
+ *
+ * Registers a list of #GtkAction<!-- -->s to appear in
+ * @shell_window<!-- -->'s "New" menu and toolbar button. This
+ * function should be called from an #EShellModule<!-- -->'s
+ * #EShell::window-created signal handler. The #EShellModule calling
+ * this function should pass its own name for the @module_name argument
+ * (i.e. the <structfield>name</structfield> field from its own
+ * #EShellModuleInfo).
+ *
+ * The registered #GtkAction<!-- -->s should be for creating item
+ * containers such as an email folder or a calendar.
+ **/
void
e_shell_window_register_new_source_actions (EShellWindow *shell_window,
const gchar *module_name,
diff --git a/shell/e-shell.c b/shell/e-shell.c
index b96ceb4944..304a90e10e 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -24,10 +24,9 @@
#include <e-preferences-window.h>
#include <e-util/e-util.h>
-#include "e-shell-marshal.h"
-#include "e-shell-module.h"
-#include "e-shell-registry.h"
-#include "e-shell-window.h"
+#include <e-shell-marshal.h>
+#include <e-shell-module.h>
+#include <e-shell-window.h>
#define SHUTDOWN_TIMEOUT 500 /* milliseconds */
@@ -39,6 +38,11 @@ struct _EShellPrivate {
GList *active_windows;
EShellLineStatus line_status;
+ /* Shell Modules */
+ GList *loaded_modules;
+ GHashTable *modules_by_name;
+ GHashTable *modules_by_scheme;
+
guint online_mode : 1;
guint safe_mode : 1;
};
@@ -90,6 +94,68 @@ shell_window_weak_notify_cb (EShell *shell,
g_signal_emit (shell, signals[WINDOW_DESTROYED], 0, last_window);
}
+/* Helper for shell_query_module() */
+static void
+shell_split_and_insert_items (GHashTable *hash_table,
+ const gchar *items,
+ EShellModule *shell_module)
+{
+ gpointer key;
+ gchar **strv;
+ gint ii;
+
+ strv = g_strsplit_set (items, ":", -1);
+
+ for (ii = 0; strv[ii] != NULL; ii++) {
+ key = (gpointer) g_intern_string (strv[ii]);
+ g_hash_table_insert (hash_table, key, shell_module);
+ }
+
+ g_strfreev (strv);
+}
+
+static void
+shell_query_module (EShell *shell,
+ const gchar *filename)
+{
+ EShellModule *shell_module;
+ EShellModuleInfo *info;
+ GHashTable *modules_by_name;
+ GHashTable *modules_by_scheme;
+ const gchar *string;
+
+ shell_module = e_shell_module_new (shell, filename);
+
+ if (!g_type_module_use (G_TYPE_MODULE (shell_module))) {
+ g_critical ("Failed to load module: %s", filename);
+ g_object_unref (shell_module);
+ return;
+ }
+
+ shell->priv->loaded_modules = g_list_insert_sorted (
+ shell->priv->loaded_modules, shell_module,
+ (GCompareFunc) e_shell_module_compare);
+
+ /* Bookkeeping */
+
+ info = (EShellModuleInfo *) shell_module->priv;
+ modules_by_name = shell->priv->modules_by_name;
+ modules_by_scheme = shell->priv->modules_by_scheme;
+
+ if ((string = info->name) != NULL)
+ g_hash_table_insert (
+ modules_by_name, (gpointer)
+ g_intern_string (string), shell_module);
+
+ if ((string = info->aliases) != NULL)
+ shell_split_and_insert_items (
+ modules_by_name, string, shell_module);
+
+ if ((string = info->schemes) != NULL)
+ shell_split_and_insert_items (
+ modules_by_scheme, string, shell_module);
+}
+
static gboolean
shell_shutdown_timeout (EShell *shell)
{
@@ -99,7 +165,7 @@ shell_shutdown_timeout (EShell *shell)
static guint message_timer = 1;
/* Module list is read-only; do not free. */
- list = e_shell_registry_list_modules ();
+ list = e_shell_list_modules (shell);
/* Any module can defer shutdown if it's still busy. */
for (iter = list; proceed && iter != NULL; iter = iter->next) {
@@ -175,6 +241,16 @@ shell_get_property (GObject *object,
static void
shell_dispose (GObject *object)
{
+ EShellPrivate *priv;
+
+ priv = E_SHELL_GET_PRIVATE (object);
+
+ g_list_foreach (
+ priv->loaded_modules,
+ (GFunc) g_type_module_unuse, NULL);
+ g_list_free (priv->loaded_modules);
+ priv->loaded_modules = NULL;
+
/* Chain up to parent's dispose() method. */
G_OBJECT_CLASS (parent_class)->dispose (object);
}
@@ -182,11 +258,51 @@ shell_dispose (GObject *object)
static void
shell_finalize (GObject *object)
{
+ EShellPrivate *priv;
+
+ priv = E_SHELL_GET_PRIVATE (object);
+
+ g_hash_table_destroy (priv->modules_by_name);
+ g_hash_table_destroy (priv->modules_by_scheme);
+
/* Chain up to parent's finalize() method. */
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
+shell_constructed (GObject *object)
+{
+ GDir *dir;
+ EShell *shell;
+ const gchar *dirname;
+ const gchar *basename;
+ GError *error = NULL;
+
+ shell = E_SHELL (object);
+ dirname = EVOLUTION_MODULEDIR;
+
+ dir = g_dir_open (dirname, 0, &error);
+ if (dir == NULL) {
+ g_critical ("%s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ while ((basename = g_dir_read_name (dir)) != NULL) {
+ gchar *filename;
+
+ if (!g_str_has_suffix (basename, "." G_MODULE_SUFFIX))
+ continue;
+
+ filename = g_build_filename (dirname, basename, NULL);
+ shell_query_module (shell, filename);
+ g_free (filename);
+ }
+
+ g_dir_close (dir);
+}
+
+static void
shell_class_init (EShellClass *class)
{
GObjectClass *object_class;
@@ -199,6 +315,7 @@ shell_class_init (EShellClass *class)
object_class->get_property = shell_get_property;
object_class->dispose = shell_dispose;
object_class->finalize = shell_finalize;
+ object_class->constructed = shell_constructed;
g_object_class_install_property (
object_class,
@@ -251,8 +368,16 @@ shell_class_init (EShellClass *class)
static void
shell_init (EShell *shell)
{
+ GHashTable *modules_by_name;
+ GHashTable *modules_by_scheme;
+
shell->priv = E_SHELL_GET_PRIVATE (shell);
+ modules_by_name = g_hash_table_new (g_str_hash, g_str_equal);
+ modules_by_scheme = g_hash_table_new (g_str_hash, g_str_equal);
+
+ shell->priv->modules_by_name = modules_by_name;
+ shell->priv->modules_by_scheme = modules_by_scheme;
shell->priv->safe_mode = e_file_lock_exists ();
#if NM_SUPPORT
@@ -260,7 +385,6 @@ shell_init (EShell *shell)
#endif
e_file_lock_create ();
- e_shell_registry_init (shell);
}
GType
@@ -295,6 +419,62 @@ e_shell_new (gboolean online_mode)
return g_object_new (E_TYPE_SHELL, "online-mode", online_mode, NULL);
}
+GList *
+e_shell_list_modules (EShell *shell)
+{
+ g_return_val_if_fail (E_IS_SHELL (shell), NULL);
+
+ return shell->priv->loaded_modules;
+}
+
+const gchar *
+e_shell_get_canonical_name (EShell *shell,
+ const gchar *name)
+{
+ EShellModule *shell_module;
+
+ g_return_val_if_fail (E_IS_SHELL (shell), NULL);
+
+ /* Handle NULL name arguments silently. */
+ if (name == NULL)
+ return NULL;
+
+ shell_module = e_shell_get_module_by_name (shell, name);
+
+ if (shell_module == NULL)
+ return NULL;
+
+ return G_TYPE_MODULE (shell_module)->name;
+}
+
+EShellModule *
+e_shell_get_module_by_name (EShell *shell,
+ const gchar *name)
+{
+ GHashTable *hash_table;
+
+ g_return_val_if_fail (E_IS_SHELL (shell), NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+
+ hash_table = shell->priv->modules_by_name;
+
+ return g_hash_table_lookup (hash_table, name);
+}
+
+EShellModule *
+e_shell_get_module_by_scheme (EShell *shell,
+ const gchar *scheme)
+{
+ GHashTable *hash_table;
+
+ g_return_val_if_fail (E_IS_SHELL (shell), NULL);
+ g_return_val_if_fail (scheme != NULL, NULL);
+
+ hash_table = shell->priv->modules_by_scheme;
+
+ return g_hash_table_lookup (hash_table, scheme);
+}
+
GtkWidget *
e_shell_create_window (EShell *shell)
{
diff --git a/shell/e-shell.h b/shell/e-shell.h
index 709e4db170..1500c2bcb4 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -24,6 +24,7 @@
#define E_SHELL_H
#include <e-shell-common.h>
+#include <e-shell-module.h>
/* Standard GObject macros */
#define E_TYPE_SHELL \
@@ -70,6 +71,13 @@ enum _EShellLineStatus {
GType e_shell_get_type (void);
EShell * e_shell_new (gboolean online);
+GList * e_shell_list_modules (EShell *shell);
+const gchar * e_shell_get_canonical_name (EShell *shell,
+ const gchar *name);
+EShellModule * e_shell_get_module_by_name (EShell *shell,
+ const gchar *name);
+EShellModule * e_shell_get_module_by_scheme (EShell *shell,
+ const gchar *scheme);
GtkWidget * e_shell_create_window (EShell *shell);
gboolean e_shell_handle_uri (EShell *shell,
const gchar *uri);
diff --git a/shell/main.c b/shell/main.c
index 4b7c3cce3d..4d28eb7549 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -34,7 +34,6 @@
#include "e-util/e-bconf-map.h"
#include <e-util/e-icon-factory.h>
-#include "e-shell-registry.h"
#include "e-util/e-profile-event.h"
#include "e-util/e-util.h"
@@ -294,7 +293,8 @@ idle_cb (gchar **uris)
return FALSE;
}
- initial_view = e_shell_registry_get_canonical_name (requested_view);
+ initial_view = e_shell_get_canonical_name (
+ global_shell, requested_view);
if (initial_view != NULL) {
GConfClient *client;