aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-module.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-10-14 01:57:46 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-10-14 01:57:46 +0800
commit79aa45cfed7e87150de85869795ef0dd3be06db0 (patch)
tree422b9e6c3840747ffb243d596d4459514ec3a457 /shell/e-shell-module.c
parent1bed00795bf092ad6e9e076eccf7cc2a8c20cb27 (diff)
downloadgsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar.gz
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar.bz2
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar.lz
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar.xz
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.tar.zst
gsoc2013-evolution-79aa45cfed7e87150de85869795ef0dd3be06db0.zip
Progress update:
- Calendar is kind of a mess at the moment. Doesn't compile. - Roughed in the Mail module, including all the actions. That _does_ compile. Runs, even. svn path=/branches/kill-bonobo/; revision=36611
Diffstat (limited to 'shell/e-shell-module.c')
-rw-r--r--shell/e-shell-module.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/shell/e-shell-module.c b/shell/e-shell-module.c
index 64d5efc41e..1fff07ee97 100644
--- a/shell/e-shell-module.c
+++ b/shell/e-shell-module.c
@@ -48,6 +48,8 @@ struct _EShellModulePrivate {
gchar *config_dir;
gchar *data_dir;
+ GType shell_view_type;
+
/* Initializes the loaded type module. */
void (*init) (GTypeModule *type_module);
};
@@ -421,6 +423,22 @@ e_shell_module_get_shell (EShellModule *shell_module)
}
/**
+ * e_shell_module_get_shell_view_type:
+ * @shell_module: an #EShellModule
+ *
+ * Returns the #GType of the #EShellView subclass for @shell_module.
+ *
+ * Returns: the #GType of an #EShellView subclass
+ **/
+GType
+e_shell_module_get_shell_view_type (EShellModule *shell_module)
+{
+ g_return_val_if_fail (E_IS_SHELL_MODULE (shell_module), 0);
+
+ return shell_module->priv->shell_view_type;
+}
+
+/**
* e_shell_module_add_activity:
* @shell_module: an #EShellModule
* @activity: an #EActivity
@@ -536,6 +554,7 @@ e_shell_module_migrate (EShellModule *shell_module,
* e_shell_module_set_info:
* @shell_module: an #EShellModule
* @info: an #EShellModuleInfo
+ * @shell_view_type: the #GType of a #EShellView subclass
*
* Registers basic configuration information about @shell_module that
* the #EShell can use for processing command-line arguments.
@@ -546,7 +565,8 @@ e_shell_module_migrate (EShellModule *shell_module,
**/
void
e_shell_module_set_info (EShellModule *shell_module,
- const EShellModuleInfo *info)
+ const EShellModuleInfo *info,
+ GType shell_view_type)
{
GTypeModule *type_module;
EShellModuleInfo *module_info;
@@ -588,4 +608,6 @@ e_shell_module_set_info (EShellModule *shell_module,
g_critical (
"Cannot create directory %s: %s",
pathname, g_strerror (errno));
+
+ shell_module->priv->shell_view_type = shell_view_type;
}