aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/Makefile.am22
-rw-r--r--mail/folder-browser-factory.c30
-rw-r--r--mail/folder-browser.h4
3 files changed, 43 insertions, 13 deletions
diff --git a/mail/Makefile.am b/mail/Makefile.am
index 98421cc6d4..40ae196396 100644
--- a/mail/Makefile.am
+++ b/mail/Makefile.am
@@ -14,16 +14,18 @@ EVOLUTION_MAIL_CORBA_GENERATED = \
Mail-skels.c \
Mail-stubs.c
-evolution_mail_SOURCES = \
- folder-browser-factory.c\
- folder-browser-factory.h\
- html-stream.c \
- html-stream.h \
- mail-display.h \
- mail-display.c \
- main.c \
- message-list.c \
- message-list.h \
+evolution_mail_SOURCES = \
+ folder-browser.c \
+ folder-browser.h \
+ folder-browser-factory.c \
+ folder-browser-factory.h \
+ html-stream.c \
+ html-stream.h \
+ mail-display.h \
+ mail-display.c \
+ main.c \
+ message-list.c \
+ message-list.h \
$(EVOLUTION_MAIL_CORBA_GENERATED)
evolution_mail_LDADD = \
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 17947b5f71..ed4f8b580c 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -11,14 +11,38 @@
#include <bonobo/bonobo-main.h>
#include <bonobo/bonobo-object.h>
#include <bonobo/bonobo-generic-factory.h>
+#include <bonobo/bonobo-control.h>
#include "e-util/e-util.h"
+#include "e-util/e-gui-utils.h"
+#include "folder-browser.h"
+#include "main.h"
+/*
+ * Creates the Folder Browser, wraps it in a Bonobo Control, and
+ * sets the Bonobo Control properties to point to the Folder Browser
+ * Properties
+ */
static BonoboObject *
folder_browser_factory (BonoboGenericFactory *factory, void *closure)
{
- g_error ("Fill me in!");
-
- return NULL;
+ BonoboControl *control;
+ GtkWidget *folder_browser;
+
+ folder_browser = folder_browser_new ();
+ if (folder_browser == NULL)
+ return NULL;
+
+ control = bonobo_control_new (folder_browser);
+ if (control == NULL){
+ gtk_object_destroy (GTK_OBJECT (folder_browser));
+ return NULL;
+ }
+
+ bonobo_control_set_property_bag (
+ control,
+ FOLDER_BROWSER (folder_browser)->properties);
+
+ return BONOBO_OBJECT (control);
}
void
diff --git a/mail/folder-browser.h b/mail/folder-browser.h
index b3355518f7..b329575445 100644
--- a/mail/folder-browser.h
+++ b/mail/folder-browser.h
@@ -3,6 +3,7 @@
#include <gtk/gtktable.h>
#include "camel/camel-stream.h"
+#include <bonobo/bonobo-property-bag.h>
#define FOLDER_BROWSER_TYPE (folder_browser_get_type ())
#define FOLDER_BROWSER(o) (GTK_CHECK_CAST ((o), FOLDER_BROWSER_TYPE, FolderBrowser))
@@ -19,6 +20,7 @@ typedef struct {
* The current URI being displayed by the FolderBrowser
*/
char *uri;
+
} FolderBrowser;
typedef struct {
@@ -27,5 +29,7 @@ typedef struct {
GtkType folder_browser_get_type (void);
GtkWidget *folder_browser_new (void);
+void folder_browser_set_uri (FolderBrowser *folder_browser,
+ const char *uri);
#endif /* _FOLDER_BROWSER_H_ */