aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser.c
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnu.org>2000-02-16 01:28:34 +0800
committerArturo Espinosa <unammx@src.gnome.org>2000-02-16 01:28:34 +0800
commitd53eea370b1a53cbae519c92fa602d0e7aa5ecc8 (patch)
tree610202886dae8219e74e4e83e344d735c16a6c4a /mail/folder-browser.c
parentf9cdc1e00912852e94f454b0de79d613df46c19d (diff)
downloadgsoc2013-evolution-d53eea370b1a53cbae519c92fa602d0e7aa5ecc8.tar.gz
gsoc2013-evolution-d53eea370b1a53cbae519c92fa602d0e7aa5ecc8.tar.zst
gsoc2013-evolution-d53eea370b1a53cbae519c92fa602d0e7aa5ecc8.zip
Add the unicode libraries as well.
2000-02-14 Miguel de Icaza <miguel@gnu.org> * camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add the unicode libraries as well. * camel/camel-provider.c (camel_provider_register_as_module): Add error reporting here. Desire to use Solaris increases. Hair loss in the last two hours: 5,400. * camel/providers/mbox/camel-mbox-provider.c (camel_mbox_get_provider): Renamed function. * camel/camel.h: All include files use camel/ now here. * camel/providers/mbox/Makefile.am: Drop all the dynamism from Camel, and make this a standard library. * configure.in: set the UNICODE_LIBS variable here. 2000-02-14 Miguel de Icaza <miguel@gnu.org> * folder-browser.c (folder_browser_load_folder): New routine, loads a camel folder. (folder_browser_set_uri): redo. * session.c: new file. Implements SessionStores to keep track of a Session/Store tuple. svn path=/trunk/; revision=1783
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r--mail/folder-browser.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index c74d49ced7..263577d6f9 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -11,6 +11,7 @@
#include <gnome.h>
#include "e-util/e-util.h"
#include "folder-browser.h"
+#include "session.h"
#define PARENT_TYPE (gtk_table_get_type ())
@@ -27,6 +28,9 @@ folder_browser_destroy (GtkObject *object)
if (folder_browser->uri)
g_free (folder_browser->uri);
+ if (folder_browser->folder)
+ gtk_object_unref (GTK_OBJECT (folder_browser->folder));
+
if (folder_browser->message_list)
bonobo_object_unref (BONOBO_OBJECT (folder_browser->message_list));
@@ -41,14 +45,43 @@ folder_browser_class_init (GtkObjectClass *object_class)
folder_browser_parent_class = gtk_type_class (PARENT_TYPE);
}
+static gboolean
+folder_browser_load_folder (FolderBrowser *fb, const char *name)
+{
+ CamelFolder *new_folder;
+ CamelException *ex;
+
+ ex = camel_exception_new ();
+ new_folder = camel_store_get_folder (default_session->store, name, ex);
+
+ if (camel_exception_get_id (ex)){
+ camel_exception_free (ex);
+ return FALSE;
+ }
+ camel_exception_free (ex);
+
+ if (fb->folder)
+ gtk_object_unref (GTK_OBJECT (fb->folder));
+
+ fb->folder = new_folder;
+
+ message_list_set_folder (fb->message_list, new_folder);
+
+ return TRUE;
+}
+
#define EQUAL(a,b) (strcmp (a,b) == 0)
void
folder_browser_set_uri (FolderBrowser *folder_browser, const char *uri)
{
+ /* FIXME: hardcoded uri */
+ if (!folder_browser_load_folder (folder_browser, "inbox"))
+ return;
+
if (folder_browser->uri)
g_free (folder_browser->uri);
-
+
folder_browser->uri = g_strdup (uri);
}