--- jbsrc/lib/src/extras/jb-evolution-plugin.c.evolution30 2011-02-02 00:09:33.945696868 +0100 +++ jbsrc/lib/src/extras/jb-evolution-plugin.c 2011-02-02 00:28:09.096275028 +0100 @@ -41,7 +41,7 @@ if (! minversion) minversion = "2.12"; - packages = g_strdup_printf("evolution-plugin >= %s libgtkhtml-3.15 gtkhtml-editor-3.14", minversion); + packages = g_strdup_printf("evolution-plugin-3.0 >= %s evolution-shell-3.0", minversion); result = jb_check_packages("Evolution", "evolution-plugin", packages); g_free(packages); @@ -53,7 +53,7 @@ char *plugindir; jb_message_checking("for the Evolution plugin directory"); - plugindir = jb_get_package_variable("evolution-plugin", "plugindir"); + plugindir = jb_get_package_variable("evolution-plugin-3.0", "plugindir"); jb_message_result_string(plugindir ? plugindir : "not found"); if (! plugindir) --- src/mn-evolution-plugin.c.orig 2011-02-09 00:07:37.422002566 +0100 +++ src/mn-evolution-plugin.c 2011-02-09 00:12:43.652678682 +0100 @@ -25,8 +25,10 @@ #include #include #include +#include #include #include +#include #include "mn-evolution.h" #include "mn-evolution-server.h" #include "mn-evolution-plugin.h" @@ -240,7 +242,11 @@ EMEventTargetFolder *folder) { if (evo_server) +#if EDS_CHECK_VERSION(3,1,0) + mn_evolution_server_folder_changed(evo_server, e_mail_folder_uri_build(folder->store, folder->folder_name)); +#else mn_evolution_server_folder_changed(evo_server, folder->uri); +#endif } void @@ -249,10 +255,18 @@ { if (evo_server) { - char *url; +#if EDS_CHECK_VERSION(3,1,0) + char *url = e_mail_folder_uri_from_folder(message->folder); +#elif EDS_CHECK_VERSION(2,91,0) + const char *url = camel_folder_get_uri(message->folder); +#else + char *url = mail_tools_folder_to_url(message->folder); +#endif - url = mail_tools_folder_to_url(message->folder); mn_evolution_server_message_reading(evo_server, url); + +#if EDS_CHECK_VERSION(3,1,0) || !EDS_CHECK_VERSION(2,91,0) g_free(url); +#endif } } --- build/src/mn-evolution-server.c.orig 2011-02-09 00:17:38.850944227 +0100 +++ build/src/mn-evolution-server.c 2011-02-09 22:21:54.155346478 +0100 @@ -496,11 +422,23 @@ if (! folder) { - folder = mail_tool_uri_to_folder(uri, 0, #if EDS_CHECK_VERSION(2,91,0) - NULL, + static EMailSession * session = NULL; + if (!session) + { +#if EDS_CHECK_VERSION(3,1,0) + EShell *shell = e_shell_get_default(); + EShellBackend *shell_backend = e_shell_get_backend_by_name(shell, "mail"); + session = E_MAIL_SESSION(e_mail_backend_get_session(E_MAIL_BACKEND(shell_backend))); +#else + session = e_mail_session_new(); +#endif + } + + folder = e_mail_session_uri_to_folder_sync(session, uri, 0, NULL, NULL); +#else + folder = mail_tool_uri_to_folder(uri, 0, NULL); #endif - NULL); if (folder) self_cache_folder(uri, folder); else @@ -677,7 +681,12 @@ folder = self_lookup_folder(folder_uri, err); if (folder) { +#if EDS_CHECK_VERSION(3,1,0) + *ret = g_strdup(camel_folder_get_display_name(folder)); +#else *ret = g_strdup(camel_folder_get_name(folder)); +#endif + #if EDS_CHECK_VERSION(2,31,0) g_object_unref(folder); #else @@ -725,8 +734,12 @@ shell = e_shell_get_default (); shell_backend = e_shell_get_backend_by_name (shell, "mail"); - browser = e_mail_browser_new (shell_backend); + browser = e_mail_browser_new (E_MAIL_BACKEND(shell_backend)); +#if EDS_CHECK_VERSION(3,1,0) + e_mail_reader_set_folder (E_MAIL_READER (browser), folder); +#else e_mail_reader_set_folder (E_MAIL_READER (browser), folder, folder_uri); +#endif e_mail_reader_set_message (E_MAIL_READER (browser), message_uid); gtk_widget_show (browser); #else --- build/src/mn-evolution-folder-tree-server.c.orig 2011-06-17 22:01:49.226886994 +0200 +++ build/src/mn-evolution-folder-tree-server.c 2011-06-18 00:34:23.046889847 +0200 @@ -29,6 +29,12 @@ #if !EDS_CHECK_VERSION(2,29,0) #include #endif +#if EDS_CHECK_VERSION(3,1,0) +#include +#include +#include +#include +#endif #include #include "mn-evolution-plugin.h" #include "mn-evolution.h" @@ -72,12 +78,17 @@ #line 70 "mn-evolution-folder-tree-server.c" #line 84 "src/mn-evolution-folder-tree-server.gob" static void mn_evolution_folder_tree_server_plug_destroy_h (GtkObject * object, gpointer user_data); +#if EDS_CHECK_VERSION(3,1,0) +static void mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, CamelStore * store, const char * folder_name, guint32 flags, gpointer user_data); +static void mn_evolution_folder_tree_server_activated_h (EMFolderTree * tree, CamelStore * store, const char * folder_name, gpointer user_data); +#else #line 73 "mn-evolution-folder-tree-server.c" #line 104 "src/mn-evolution-folder-tree-server.gob" static void mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, const char * full_name, const char * uri, guint32 flags, gpointer user_data); #line 76 "mn-evolution-folder-tree-server.c" #line 115 "src/mn-evolution-folder-tree-server.gob" static void mn_evolution_folder_tree_server_activated_h (EMFolderTree * tree, const char * full_name, const char * uri, gpointer user_data); +#endif #line 79 "mn-evolution-folder-tree-server.c" /* @@ -444,7 +455,13 @@ { #line 61 "src/mn-evolution-folder-tree-server.gob" -#if EDS_CHECK_VERSION(2,91,0) +#if EDS_CHECK_VERSION(3,1,0) + EShell *shell = e_shell_get_default(); + EShellBackend *shell_backend = e_shell_get_backend_by_name(shell, "mail"); + GtkWidget *browser = e_mail_browser_new (E_MAIL_BACKEND(shell_backend)); + EAlertSink *alert_sink = e_mail_reader_get_alert_sink(E_MAIL_READER(browser)); + selfp->tree = em_folder_tree_new(E_MAIL_BACKEND(shell_backend), alert_sink); +#elif EDS_CHECK_VERSION(2,91,0) selfp->session = e_mail_session_new(); selfp->tree = em_folder_tree_new(selfp->session); #elif EDS_CHECK_VERSION(2,29,0) @@ -480,8 +497,11 @@ #line 80 "src/mn-evolution-folder-tree-server.gob" #if EDS_CHECK_VERSION(2,91,0) - g_object_unref(selfp->session); - selfp->session = NULL; + if (selfp->session) + { + g_object_unref(selfp->session); + selfp->session = NULL; + } #endif g_signal_handlers_disconnect_by_func(selfp->plug, self_plug_destroy_h, self); }} @@ -516,6 +536,29 @@ #line 503 "mn-evolution-folder-tree-server.c" #undef __GOB_FUNCTION__ +#if EDS_CHECK_VERSION(3,1,0) +static void +mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, CamelStore * store, const char * folder_name, guint32 flags, gpointer user_data) +{ + Self *self = user_data; + char *uri; + + if (!folder_name) return; + + uri = e_mail_folder_uri_build(store, folder_name); + self_folder_selected(self, uri); + g_free(uri); +} + +static void +mn_evolution_folder_tree_server_activated_h (EMFolderTree * tree, CamelStore * store, const char * folder_name, gpointer user_data) +{ + Self *self = user_data; + self_folder_activated(self); +} + +#else + #line 104 "src/mn-evolution-folder-tree-server.gob" static void mn_evolution_folder_tree_server_selected_h (EMFolderTree * tree, const char * full_name, const char * uri, guint32 flags, gpointer user_data) @@ -546,6 +589,8 @@ #line 533 "mn-evolution-folder-tree-server.c" #undef __GOB_FUNCTION__ +#endif + #line 125 "src/mn-evolution-folder-tree-server.gob" MNEvolutionFolderTreeServer * mn_evolution_folder_tree_server_new (guint32 id) --- build/src/mn-evolution-mailbox-properties.c.orig 2011-12-04 16:23:29.197007315 +0100 +++ build/src/mn-evolution-mailbox-properties.c 2011-12-04 19:11:07.103199549 +0100 @@ -165,12 +165,20 @@ MNMailboxProperties *properties = MN_MAILBOX_PROPERTIES(self); GtkWidget *vbox; + GtkWidget *scrolled_window; /* translators: header capitalization */ vbox = mn_mailbox_properties_add_general_section(properties, _("Folder")); selfp->tree = mn_evolution_folder_tree_client_new(); - gtk_box_pack_start(GTK_BOX(vbox), selfp->tree, TRUE, TRUE, 0); + + scrolled_window = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), selfp->tree); + + gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); + + gtk_widget_show(scrolled_window); gtk_widget_show(selfp->tree); g_object_connect(selfp->tree, @@ -236,6 +244,8 @@ if (client->proxy) org_gnome_MailNotification_Evolution_get_folder_name(client->proxy, MN_EVOLUTION_FOLDER_TREE_CLIENT(selfp->tree)->selected_uri, &name, NULL); + g_return_if_fail(name != NULL); + g_free(selfp->name); selfp->name = name;