diff options
author | Srinivasa Ragavan <sragavan@gnome.org> | 2010-07-12 18:31:50 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-07-26 09:29:59 +0800 |
commit | 10df2a43b866eb6a5e73d652d89db3d1010fe7f9 (patch) | |
tree | 22a07f35fa2be60092debf3f25b52dc6f6d43dae | |
parent | b5075fca726a3c6a0b18f9342ccc833ff0a64ccf (diff) | |
download | gsoc2013-evolution-10df2a43b866eb6a5e73d652d89db3d1010fe7f9.tar.gz gsoc2013-evolution-10df2a43b866eb6a5e73d652d89db3d1010fe7f9.tar.zst gsoc2013-evolution-10df2a43b866eb6a5e73d652d89db3d1010fe7f9.zip |
Add EMailReader i/f recurrsive from tne Content.
-rw-r--r-- | modules/mail/e-mail-shell-content.c | 85 | ||||
-rw-r--r-- | modules/mail/evolution-module-mail.c | 2 |
2 files changed, 86 insertions, 1 deletions
diff --git a/modules/mail/e-mail-shell-content.c b/modules/mail/e-mail-shell-content.c index 54441b4466..5f8081a1d5 100644 --- a/modules/mail/e-mail-shell-content.c +++ b/modules/mail/e-mail-shell-content.c @@ -40,6 +40,7 @@ #include "e-mail-view.h" #include "e-mail-paned-view.h" +#include "e-mail-notebook-view.h" #include "e-mail-reader.h" #include "e-mail-reader-utils.h" #include "e-mail-shell-backend.h" @@ -93,7 +94,7 @@ mail_shell_content_constructed (GObject *object) container = GTK_WIDGET (object); - widget = e_mail_paned_view_new (E_SHELL_CONTENT(object)); + widget = e_mail_notebook_view_new (E_SHELL_CONTENT(object)); E_MAIL_SHELL_CONTENT(object)->view = (EMailView *)widget; gtk_container_add (GTK_CONTAINER (container), widget); gtk_widget_show (widget); @@ -116,6 +117,64 @@ mail_shell_content_focus_search_results (EShellContent *shell_content) gtk_widget_grab_focus (e_mail_reader_get_message_list(E_MAIL_READER (E_MAIL_SHELL_CONTENT(shell_content)->view))); } +static GtkActionGroup * +mail_shell_content_get_action_group (EMailReader *reader) +{ + return e_mail_reader_get_action_group (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static EMFormatHTML * +mail_shell_content_get_formatter (EMailReader *reader) +{ + return e_mail_reader_get_formatter (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static gboolean +mail_shell_content_get_hide_deleted (EMailReader *reader) +{ + return e_mail_reader_get_hide_deleted (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static GtkWidget * +mail_shell_content_get_message_list (EMailReader *reader) +{ + return e_mail_reader_get_message_list (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static GtkMenu * +mail_shell_content_get_popup_menu (EMailReader *reader) +{ + return e_mail_reader_get_popup_menu (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static EShellBackend * +mail_shell_content_get_shell_backend (EMailReader *reader) +{ + return e_mail_reader_get_shell_backend (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static GtkWindow * +mail_shell_content_get_window (EMailReader *reader) +{ + return e_mail_reader_get_window (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + +static void +mail_shell_content_set_folder (EMailReader *reader, + CamelFolder *folder, + const gchar *folder_uri) +{ + return e_mail_reader_set_folder (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view), + folder, + folder_uri); +} + +static void +mail_shell_content_show_search_bar (EMailReader *reader) +{ + e_mail_reader_show_search_bar (E_MAIL_READER(E_MAIL_SHELL_CONTENT(reader)->view)); +} + static void mail_shell_content_class_init (EMailShellContentClass *class) { @@ -151,6 +210,20 @@ e_mail_shell_content_get_type (void) return mail_shell_content_type; } +static void +mail_shell_content_reader_init (EMailReaderIface *iface) +{ + iface->get_action_group = mail_shell_content_get_action_group; + iface->get_formatter = mail_shell_content_get_formatter; + iface->get_hide_deleted = mail_shell_content_get_hide_deleted; + iface->get_message_list = mail_shell_content_get_message_list; + iface->get_popup_menu = mail_shell_content_get_popup_menu; + iface->get_shell_backend = mail_shell_content_get_shell_backend; + iface->get_window = mail_shell_content_get_window; + iface->set_folder = mail_shell_content_set_folder; + iface->show_search_bar = mail_shell_content_show_search_bar; +} + void e_mail_shell_content_register_type (GTypeModule *type_module) { @@ -167,10 +240,20 @@ e_mail_shell_content_register_type (GTypeModule *type_module) NULL /* value_table */ }; + static const GInterfaceInfo reader_info = { + (GInterfaceInitFunc) mail_shell_content_reader_init, + (GInterfaceFinalizeFunc) NULL, + NULL /* interface_data */ + }; + mail_shell_content_type = g_type_module_register_type ( type_module, E_TYPE_SHELL_CONTENT, "EMailShellContent", &type_info, 0); + g_type_module_add_interface ( + type_module, mail_shell_content_type, + E_TYPE_MAIL_READER, &reader_info); + } GtkWidget * diff --git a/modules/mail/evolution-module-mail.c b/modules/mail/evolution-module-mail.c index 24adc5729f..d5b87d951d 100644 --- a/modules/mail/evolution-module-mail.c +++ b/modules/mail/evolution-module-mail.c @@ -34,6 +34,7 @@ #include "e-mail-config-web-view.h" #include "mail/e-mail-paned-view.h" +#include "mail/e-mail-notebook-view.h" /* Module Entry Points */ void e_module_load (GTypeModule *type_module); @@ -54,6 +55,7 @@ e_module_load (GTypeModule *type_module) e_mail_shell_backend_register_type (type_module); e_mail_shell_content_register_type (type_module); e_mail_paned_view_register_type (type_module); + e_mail_notebook_view_register_type (type_module); e_mail_shell_sidebar_register_type (type_module); e_mail_shell_view_register_type (type_module); |