Set margins for mailboxes window
[modest] / src / hildon2 / modest-mailboxes-window.c
index d0df4a9..248829a 100644 (file)
@@ -53,6 +53,7 @@
 #include <modest-window-priv.h>
 #include "modest-text-utils.h"
 #include "modest-tny-account.h"
+#include <modest-folder-window.h>
 
 /* 'private'/'protected' functions */
 static void modest_mailboxes_window_class_init  (ModestMailboxesWindowClass *klass);
@@ -238,6 +239,7 @@ modest_mailboxes_window_new (const gchar *account)
        guint accel_key;
        GdkModifierType accel_mods;
        GtkAccelGroup *accel_group;
+       GtkWidget *top_alignment;
        
        self  = MODEST_MAILBOXES_WINDOW(g_object_new(MODEST_TYPE_MAILBOXES_WINDOW, NULL));
        priv = MODEST_MAILBOXES_WINDOW_GET_PRIVATE(self);
@@ -266,13 +268,19 @@ modest_mailboxes_window_new (const gchar *account)
                                                  TNY_ACCOUNT_STORE (modest_runtime_get_account_store ()));
 
        priv->top_vbox = gtk_vbox_new (0, FALSE);
+       top_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
+       gtk_alignment_set_padding (GTK_ALIGNMENT (top_alignment), 
+                                  0, 0, 
+                                  MODEST_MARGIN_DOUBLE, MODEST_MARGIN_DOUBLE);
 
        gtk_container_add (GTK_CONTAINER (pannable), priv->folder_view);
        gtk_box_pack_end (GTK_BOX (priv->top_vbox), pannable, TRUE, TRUE, 0);
-       gtk_container_add (GTK_CONTAINER (self), priv->top_vbox);
+       gtk_container_add (GTK_CONTAINER (top_alignment), priv->top_vbox);
+       gtk_container_add (GTK_CONTAINER (self), top_alignment);
 
        gtk_widget_show (priv->folder_view);
        gtk_widget_show (pannable);
+       gtk_widget_show (top_alignment);
        gtk_widget_show (priv->top_vbox);
 
        connect_signals (MODEST_MAILBOXES_WINDOW (self));
@@ -307,6 +315,11 @@ modest_mailboxes_window_new (const gchar *account)
                                    accel_key, accel_mods, 0);
        gtk_window_add_accel_group (GTK_WINDOW (self), accel_group);
 
+       modest_folder_view_set_filter (MODEST_FOLDER_VIEW (priv->folder_view),
+                                      MODEST_FOLDER_VIEW_FILTER_SHOW_ONLY_MAILBOXES);
+
+       modest_mailboxes_window_set_account (MODEST_MAILBOXES_WINDOW (self), account);
+
        return MODEST_WINDOW(self);
 }
 
@@ -370,8 +383,10 @@ on_mailbox_activated (ModestFolderView *mailboxes_view,
                      gpointer userdata)
 {
        ModestMailboxesWindowPrivate *priv = NULL;
-/*     ModestWindow *headerwin; */
        ModestMailboxesWindow *self = (ModestMailboxesWindow *) userdata;
+       GtkWidget *new_window;
+       gboolean registered;
+       const gchar *active_account;
 
        g_return_if_fail (MODEST_IS_MAILBOXES_WINDOW(self));
 
@@ -383,17 +398,24 @@ on_mailbox_activated (ModestFolderView *mailboxes_view,
        if (!TNY_IS_FOLDER (folder))
                return;
 
-       g_message ("MAILBOX SELECTED");
+       new_window = GTK_WIDGET (modest_folder_window_new (NULL));
+       registered = modest_window_mgr_register_window (modest_runtime_get_window_mgr (), 
+                                                       MODEST_WINDOW (new_window),
+                                                       MODEST_WINDOW (self));
 
-/*     headerwin = modest_header_window_new (mailboxes, modest_window_get_active_account (MODEST_WINDOW (self))); */
-
-/*     if (modest_window_mgr_register_window (modest_runtime_get_window_mgr (), */
-/*                                            MODEST_WINDOW (headerwin), */
-/*                                            MODEST_WINDOW (self))) { */
-/*             gtk_widget_show (GTK_WIDGET (headerwin)); */
-/*     } else { */
-/*             gtk_widget_destroy (GTK_WIDGET (headerwin)); */
-/*             headerwin = NULL; */
-/*     } */
+       if (!registered) {
+               gtk_widget_destroy (new_window);
+               new_window = NULL;
+       } else {
+               const gchar *name;
+               active_account = modest_window_get_active_account (MODEST_WINDOW (self));
+               modest_folder_window_set_account (MODEST_FOLDER_WINDOW (new_window), active_account);
+               name = tny_folder_get_name (folder);
+               if (name) {
+                       modest_folder_window_set_mailbox (MODEST_FOLDER_WINDOW (new_window), name);
+               }
+               gtk_widget_show (new_window);
+       }
+       
 }