Build fixes
[modest] / src / hildon2 / modest-mailboxes-window.c
index 6b9e1b4..864fce4 100644 (file)
@@ -28,8 +28,6 @@
  */
 
 #include <modest-mailboxes-window.h>
-#include <modest-osso-state-saving.h>
-#include <libosso.h>
 #include <hildon/hildon-pannable-area.h>
 #include <modest-window-mgr.h>
 #include <modest-signal-mgr.h>
@@ -43,9 +41,7 @@
 #include <modest-defs.h>
 #include <modest-ui-actions.h>
 #include <modest-window.h>
-#include <hildon/hildon-program.h>
-#include <hildon/hildon-banner.h>
-#include <hildon/hildon-button.h>
+#include <hildon/hildon.h>
 #include <tny-account-store-view.h>
 #include <modest-header-window.h>
 #include <modest-ui-dimming-rules.h>
@@ -79,6 +75,9 @@ static void on_queue_changed    (ModestMailOperationQueue *queue,
 static void on_activity_changed (ModestFolderView *view,
                                 gboolean activity,
                                 ModestMailboxesWindow *folder_window);
+static gboolean on_key_press(GtkWidget *widget,
+                               GdkEventKey *event,
+                               gpointer user_data);
 
 typedef struct _ModestMailboxesWindowPrivate ModestMailboxesWindowPrivate;
 struct _ModestMailboxesWindowPrivate {
@@ -257,6 +256,9 @@ connect_signals (ModestMailboxesWindow *self)
                                           "clicked",
                                           G_CALLBACK (modest_ui_actions_on_new_msg), self);
 
+       /* connect window keys -> priv->folder_view scroll here? */
+       g_signal_connect(G_OBJECT(self), "key-press-event",
+                       G_CALLBACK(on_key_press), self);
 }
 
 ModestWindow *
@@ -273,6 +275,9 @@ modest_mailboxes_window_new (const gchar *account)
        GdkModifierType accel_mods;
        GtkAccelGroup *accel_group;
        GtkWidget *top_alignment;
+#ifdef MODEST_TOOLKIT_HILDON2
+       GtkWidget *live_search;
+#endif
        
        self  = MODEST_MAILBOXES_WINDOW(g_object_new(MODEST_TYPE_MAILBOXES_WINDOW, NULL));
        priv = MODEST_MAILBOXES_WINDOW_GET_PRIVATE(self);
@@ -285,6 +290,10 @@ modest_mailboxes_window_new (const gchar *account)
                                  self);
 
        priv->folder_view  = modest_platform_create_folder_view (NULL);
+#ifdef MODEST_TOOLKIT_HILDON2
+       live_search = modest_folder_view_setup_live_search (MODEST_FOLDER_VIEW (priv->folder_view));
+       hildon_live_search_widget_hook (HILDON_LIVE_SEARCH (live_search), GTK_WIDGET (self), GTK_TREE_VIEW (priv->folder_view));
+#endif
        modest_folder_view_set_cell_style (MODEST_FOLDER_VIEW (priv->folder_view),
                                           MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT);
        modest_folder_view_set_filter (MODEST_FOLDER_VIEW (priv->folder_view), 
@@ -314,6 +323,9 @@ modest_mailboxes_window_new (const gchar *account)
 
        gtk_container_add (GTK_CONTAINER (pannable), priv->folder_view);
        gtk_box_pack_end (GTK_BOX (priv->top_vbox), pannable, TRUE, TRUE, 0);
+#ifdef MODEST_TOOLKIT_HILDON2
+       gtk_box_pack_end (GTK_BOX (priv->top_vbox), live_search, FALSE, FALSE, 0);
+#endif
        gtk_container_add (GTK_CONTAINER (top_alignment), priv->top_vbox);
        gtk_container_add (GTK_CONTAINER (self), top_alignment);
 
@@ -324,10 +336,6 @@ modest_mailboxes_window_new (const gchar *account)
 
        connect_signals (MODEST_MAILBOXES_WINDOW (self));
 
-       /* Load previous osso state, for instance if we are being restored from 
-        * hibernation:  */
-       modest_osso_load_state ();
-
        /* Get device name */
        modest_maemo_utils_get_device_name ();
 
@@ -614,3 +622,30 @@ on_activity_changed (ModestFolderView *view,
        update_progress_hint (self);
 }
 
+
+static gboolean
+on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
+{
+       ModestMailboxesWindowPrivate *priv;
+       HildonPannableArea *pannable;
+
+       if (event->type == GDK_KEY_RELEASE)
+               return FALSE;
+
+       priv = MODEST_MAILBOXES_WINDOW_GET_PRIVATE(user_data);
+
+       pannable = HILDON_PANNABLE_AREA (gtk_widget_get_parent (priv->folder_view));
+
+       switch (event->keyval) {
+
+       case GDK_Up:
+               modest_maemo_utils_scroll_pannable(pannable, 0, -1);
+               break;
+
+       case GDK_Down:
+               modest_maemo_utils_scroll_pannable(pannable, 0, 1);
+               break;
+       }
+
+       return FALSE;
+}