From 79aa45cfed7e87150de85869795ef0dd3be06db0 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 13 Oct 2008 17:57:46 +0000 Subject: 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 --- shell/e-shell-module.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'shell/e-shell-module.c') 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); }; @@ -420,6 +422,22 @@ e_shell_module_get_shell (EShellModule *shell_module) return shell_module->priv->shell; } +/** + * 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 @@ -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; } -- cgit v1.2.3