aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/folder-browser-factory.c')
-rw-r--r--mail/folder-browser-factory.c109
1 files changed, 33 insertions, 76 deletions
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 35e1aeb2ab..f0157bac9a 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -44,16 +44,16 @@
#include "folder-browser-factory.h"
-#include "folder-browser.h"
-#include "folder-browser-ui.h"
#include "mail.h"
-#include "mail-callbacks.h"
#include "shell/Evolution.h"
#include "mail-config.h"
#include "mail-ops.h"
#include "mail-session.h"
#include "mail-folder-cache.h"
+#include "em-folder-browser.h"
+#include "em-format.h"
+
#include "evolution-shell-component-utils.h"
/* The FolderBrowser BonoboControls we have. */
@@ -85,79 +85,30 @@ fb_get_svi (BonoboControl *control)
}
static void
-control_activate (BonoboControl *control,
- BonoboUIComponent *uic,
- FolderBrowser *fb)
-{
- GtkWidget *folder_browser;
- Bonobo_UIContainer container;
- GNOME_Evolution_ShellView svi;
-
- container = bonobo_control_get_remote_ui_container (control, NULL);
- bonobo_ui_component_set_container (uic, container, NULL);
- bonobo_object_release_unref (container, NULL);
-
- g_assert (container == bonobo_ui_component_get_container (uic));
- g_return_if_fail (container != CORBA_OBJECT_NIL);
-
- folder_browser = bonobo_control_get_widget (control);
- folder_browser_set_ui_component (FOLDER_BROWSER (folder_browser), uic);
-
- /*bonobo_ui_component_freeze (uic, NULL);*/
-
- folder_browser_ui_add_global (fb);
- folder_browser_ui_add_list (fb);
- folder_browser_ui_add_message (fb);
-
- /*bonobo_ui_component_thaw (uic, NULL);*/
-
- svi = fb_get_svi (control);
- folder_browser_set_shell_view (fb, svi);
- bonobo_object_release_unref (svi, NULL);
-
- folder_browser_reload (fb);
-
- e_search_bar_set_ui_component (E_SEARCH_BAR (fb->search), uic);
-}
-
-static void
-control_deactivate (BonoboControl *control,
- BonoboUIComponent *uic,
- FolderBrowser *fb)
-{
- /*bonobo_ui_component_freeze (uic, NULL);*/
-
- folder_browser_ui_rm_list (fb);
- folder_browser_ui_rm_all (fb);
-
- /*bonobo_ui_component_thaw (uic, NULL);*/
-
- if (fb->folder)
- mail_sync_folder (fb->folder, NULL, NULL);
-
- if (fb->message_list)
- message_list_save_state (fb->message_list);
-
- folder_browser_set_ui_component (fb, NULL);
- folder_browser_set_shell_view (fb, CORBA_OBJECT_NIL);
-
- e_search_bar_set_ui_component (E_SEARCH_BAR (fb->search), NULL);
-}
-
-static void
control_activate_cb (BonoboControl *control,
gboolean activate,
gpointer user_data)
{
BonoboUIComponent *uic;
- uic = bonobo_control_get_ui_component (control);
+ uic = bonobo_control_get_ui_component(control);
g_assert (uic != NULL);
- if (activate)
- control_activate (control, uic, user_data);
- else
- control_deactivate (control, uic, user_data);
+ if (activate) {
+ Bonobo_UIContainer container;
+
+ container = bonobo_control_get_remote_ui_container(control, NULL);
+ bonobo_ui_component_set_container(uic, container, NULL);
+ bonobo_object_release_unref(container, NULL);
+
+ g_assert(container == bonobo_ui_component_get_container(uic));
+ g_return_if_fail(container != CORBA_OBJECT_NIL);
+
+ em_folder_view_activate(user_data, uic, activate);
+ } else {
+ em_folder_view_activate(user_data, uic, activate);
+ bonobo_ui_component_unset_container(uic, NULL);
+ }
}
static void
@@ -172,14 +123,18 @@ folder_browser_factory_new_control (const char *uri,
{
BonoboControl *control;
GtkWidget *fb;
-
+
+#if 0
if (!(fb = folder_browser_new (shell, uri)))
return NULL;
FOLDER_BROWSER (fb)->pref_master = TRUE; /* save UI settings changed in this FB */
-
+#endif
+ fb = em_folder_browser_new();
gtk_widget_show (fb);
-
+ em_folder_view_set_folder_uri((EMFolderView *)fb, uri);
+ em_format_set_session((EMFormat *)((EMFolderView *)fb)->preview, session);
+
control = bonobo_control_new (fb);
if (control == NULL) {
@@ -207,14 +162,16 @@ folder_browser_factory_get_control_list (void)
return control_list;
}
-FolderBrowser *
+struct _EMFolderBrowser *
folder_browser_factory_get_browser(const char *uri)
{
EList *controls;
EIterator *it;
BonoboControl *control;
- FolderBrowser *fb = NULL;
-
+ EMFolderBrowser *fb = NULL;
+
+ return NULL;
+
if (control_list == NULL)
return NULL;
@@ -223,8 +180,8 @@ folder_browser_factory_get_browser(const char *uri)
it = e_list_get_iterator (controls);
while (e_iterator_is_valid (it)) {
control = BONOBO_CONTROL (e_iterator_get (it));
- fb = FOLDER_BROWSER (bonobo_control_get_widget (control));
- if (fb->uri && strcmp (fb->uri, uri) == 0)
+ fb = (EMFolderBrowser *)bonobo_control_get_widget(control);
+ if (((EMFolderView *)fb)->folder_uri && strcmp (((EMFolderView *)fb)->folder_uri, uri) == 0)
break;
fb = NULL;