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 --- mail/e-mail-shell-module.c | 175 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 mail/e-mail-shell-module.c (limited to 'mail/e-mail-shell-module.c') diff --git a/mail/e-mail-shell-module.c b/mail/e-mail-shell-module.c new file mode 100644 index 0000000000..cd74a76cd9 --- /dev/null +++ b/mail/e-mail-shell-module.c @@ -0,0 +1,175 @@ +/* + * e-mail-shell-module.c + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) version 3. + * + * 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with the program; if not, see + * + * + * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) + * + */ + +#include + +#include "shell/e-shell.h" +#include "shell/e-shell-module.h" +#include "shell/e-shell-window.h" + +#include "e-mail-shell-view.h" +#include "e-mail-shell-module.h" +#include "e-mail-shell-module-migrate.h" + +#define MODULE_NAME "mail" +#define MODULE_ALIASES "" +#define MODULE_SCHEMES "mailto:email" +#define MODULE_SORT_ORDER 200 + +/* Module Entry Point */ +void e_shell_module_init (GTypeModule *type_module); + +static void +action_mail_folder_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ + /* FIXME */ +} + +static void +action_mail_message_new_cb (GtkAction *action, + EShellWindow *shell_window) +{ + /* FIXME */ +} + +static GtkActionEntry item_entries[] = { + + { "mail-message-new", + "mail-message-new", + N_("_Mail Message"), /* XXX C_() here */ + "m", + N_("Compose a new mail message"), + G_CALLBACK (action_mail_message_new_cb) } +}; + +static GtkActionEntry source_entries[] = { + + { "mail-folder-new", + "folder-new", + N_("Mail _Folder"), + NULL, + N_("Create a new mail folder"), + G_CALLBACK (action_mail_folder_new_cb) } +}; + +static gboolean +mail_module_handle_uri (EShellModule *shell_module, + const gchar *uri) +{ + /* FIXME */ + return FALSE; +} + +static void +mail_module_window_created (EShellModule *shell_module, + EShellWindow *shell_window) +{ + const gchar *module_name; + + module_name = G_TYPE_MODULE (shell_module)->name; + + e_shell_window_register_new_item_actions ( + shell_window, module_name, + item_entries, G_N_ELEMENTS (item_entries)); + + e_shell_window_register_new_source_actions ( + shell_window, module_name, + source_entries, G_N_ELEMENTS (source_entries)); +} + +static EShellModuleInfo module_info = { + + MODULE_NAME, + MODULE_ALIASES, + MODULE_SCHEMES, + MODULE_SORT_ORDER, + + /* is_busy */ NULL, + /* shutdown */ NULL, + e_mail_shell_module_migrate +}; + +void +e_shell_module_init (GTypeModule *type_module) +{ + EShell *shell; + EShellModule *shell_module; + + shell_module = E_SHELL_MODULE (type_module); + shell = e_shell_module_get_shell (shell_module); + + e_shell_module_set_info ( + shell_module, &module_info, + e_mail_shell_view_get_type (type_module)); + + g_signal_connect_swapped ( + shell, "handle-uri", + G_CALLBACK (mail_module_handle_uri), shell_module); + + g_signal_connect_swapped ( + shell, "window-created", + G_CALLBACK (mail_module_window_created), shell_module); +} + +/** + * e_mail_shell_module_load_store_by_uri: + * @uri: URI of the #CamelStore + * @name: name of the #CamelStore (for display purposes) + * + * Returns the newly added #CamelStore, or %NULL if a store could not + * be loaded for @uri. + * + * Returns: the newly added #CamelStore, or %NULL + **/ +CamelStore * +e_mail_shell_module_load_store_by_uri (const gchar *uri, + const gchar *name) +{ + return NULL; /* FIXME */ +} + +EAccountList * +mail_config_get_accounts (void) +{ + /* XXX Temporary placeholder. */ + return NULL; +} + +void +mail_config_save_accounts (void) +{ + /* XXX Temporary placeholder. */ +} + +ESignatureList * +mail_config_get_signatures (void) +{ + /* XXX Temporary placeholder. */ + return NULL; +} + +gchar * +em_uri_from_camel (const gchar *curi) +{ + /* XXX Temporary placeholder. */ + return NULL; +} -- cgit v1.2.3