Modified webpage: now tinymail repository is in gitorious.
[modest] / src / widgets / modest-folder-window.c
index edbd791..db7b11f 100644 (file)
@@ -42,9 +42,7 @@
 #include <modest-window.h>
 #ifdef MODEST_TOOLKIT_HILDON2
 #include <modest-maemo-utils.h>
-#include <hildon/hildon-program.h>
-#include <hildon/hildon-banner.h>
-#include <hildon/hildon-button.h>
+#include <hildon/hildon.h>
 #endif
 #include <tny-account-store-view.h>
 #include <tny-gtk-folder-list-store.h>
@@ -115,16 +113,20 @@ static void on_visible_account_changed (ModestFolderView *folder_view,
 static void on_account_changed (TnyAccountStore *account_store,
                                TnyAccount *account,
                                gpointer user_data);
+#ifdef MODEST_TOOLKIT_HILDON2
 static gboolean on_key_press(GtkWidget *widget,
-                               GdkEventKey *event,
-                               gpointer user_data);
+                            GdkEventKey *event,
+                            gpointer user_data);
+#endif
 
 typedef struct _ModestFolderWindowPrivate ModestFolderWindowPrivate;
 struct _ModestFolderWindowPrivate {
 
        GtkWidget *folder_view;
        GtkWidget *top_vbox;
+#ifdef MODEST_TOOLKIT_HILDON2
        GtkWidget *new_message_button;
+#endif
 
        /* signals */
        GSList *sighandlers;
@@ -138,7 +140,7 @@ struct _ModestFolderWindowPrivate {
                                                                          ModestFolderWindowPrivate))
 
 /* globals */
-static GtkWindowClass *parent_class = NULL;
+static ModestWindowParentClass *parent_class = NULL;
 
 /************************************************************************/
 
@@ -163,7 +165,7 @@ modest_folder_window_get_type (void)
 #ifdef MODEST_TOOLKIT_HILDON2
                                                  MODEST_TYPE_HILDON2_WINDOW,
 #else
-                                                 MODEST_TYPE_WINDOW,
+                                                 MODEST_TYPE_SHELL_WINDOW,
 #endif
                                                  "ModestFolderWindow",
                                                  &my_info, 0);
@@ -201,9 +203,6 @@ modest_folder_window_init (ModestFolderWindow *obj)
 
        priv->top_vbox = NULL;
 
-       modest_window_mgr_register_help_id (modest_runtime_get_window_mgr(),
-                                           GTK_WINDOW(obj),
-                                           "applications_email_folderview");
        priv->progress_hint = FALSE;
        priv->current_store_account = NULL;
        priv->queue_change_handler = 0;
@@ -311,10 +310,12 @@ connect_signals (ModestFolderWindow *self)
                                                       "activity-changed",
                                                       G_CALLBACK (on_activity_changed), self);
 
+#ifdef MODEST_TOOLKIT_HILDON2
        priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
                                                       G_OBJECT (priv->new_message_button),
                                                       "clicked",
                                                       G_CALLBACK (modest_ui_actions_on_new_msg), self);
+#endif
 
        priv->sighandlers = modest_signal_mgr_connect (priv->sighandlers,
                                                       G_OBJECT (modest_runtime_get_account_store()),
@@ -322,8 +323,10 @@ connect_signals (ModestFolderWindow *self)
                                                       G_CALLBACK (on_account_changed), self);
 
 
+#ifdef MODEST_TOOLKIT_HILDON2
        g_signal_connect(G_OBJECT(self), "key-press-event",
                        G_CALLBACK(on_key_press), self);
+#endif
 }
 
 ModestWindow *
@@ -333,10 +336,10 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
        ModestFolderWindowPrivate *priv = NULL;
        GdkPixbuf *window_icon;
        GtkWidget *scrollable;
-       guint accel_key;
-       GdkModifierType accel_mods;
-       GtkAccelGroup *accel_group;
        GtkWidget *top_alignment;
+#ifdef MODEST_TOOLKIT_HILDON2
+       GtkWidget *live_search;
+#endif
        
        self  = MODEST_FOLDER_WINDOW(g_object_new(MODEST_TYPE_FOLDER_WINDOW, NULL));
        priv = MODEST_FOLDER_WINDOW_GET_PRIVATE(self);
@@ -350,6 +353,10 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
                                  self);
 
        priv->folder_view  = modest_platform_create_folder_view (query);
+#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), 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), 
@@ -388,6 +395,9 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
 
        gtk_container_add (GTK_CONTAINER (scrollable), priv->folder_view);
        gtk_container_add (GTK_CONTAINER (top_alignment), scrollable);
+#ifdef MODEST_TOOLKIT_HILDON2
+       gtk_box_pack_end (GTK_BOX (priv->top_vbox), live_search, FALSE, FALSE, 0);
+#endif
        gtk_box_pack_end (GTK_BOX (priv->top_vbox), top_alignment, TRUE, TRUE, 0);
        gtk_container_add (GTK_CONTAINER (self), priv->top_vbox);
 
@@ -410,7 +420,8 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
        /* Set window icon */
        window_icon = modest_platform_get_icon (MODEST_APP_ICON, MODEST_ICON_SIZE_BIG);
        if (window_icon) {
-               gtk_window_set_icon (GTK_WINDOW (self), window_icon);
+               GtkWindow *toplevel = (GtkWindow *) gtk_widget_get_toplevel ((GtkWidget *) self);
+               gtk_window_set_icon (toplevel, window_icon);
                g_object_unref (window_icon);
        }
 
@@ -425,21 +436,21 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
        modest_hildon2_window_register_edit_mode (MODEST_HILDON2_WINDOW (self), 
                                                  EDIT_MODE_COMMAND_DELETE,
                                                  _("mcen_ti_edit_folder_delete"), 
-                                                 _HL("wdgt_bd_delete"),
+                                                 _HL_DELETE,
                                                  GTK_TREE_VIEW (priv->folder_view),
                                                  GTK_SELECTION_SINGLE,
                                                  EDIT_MODE_CALLBACK (modest_ui_actions_on_edit_mode_delete_folder));
        modest_hildon2_window_register_edit_mode (MODEST_HILDON2_WINDOW (self), 
                                                  EDIT_MODE_COMMAND_MOVE,
                                                  _("mcen_ti_edit_move_folder"), 
-                                                 _HL("wdgt_bd_move"),
+                                                 _HL_MOVE,
                                                  GTK_TREE_VIEW (priv->folder_view),
                                                  GTK_SELECTION_SINGLE,
                                                  EDIT_MODE_CALLBACK (modest_ui_actions_on_edit_mode_move_to)); 
        modest_hildon2_window_register_edit_mode (MODEST_HILDON2_WINDOW (self), 
                                                  EDIT_MODE_COMMAND_RENAME,
                                                  _("mcen_ti_edit_rename_folder"), 
-                                                 _HL("wdgt_bd_rename"),
+                                                 _HL_RENAME,
                                                  GTK_TREE_VIEW (priv->folder_view),
                                                  GTK_SELECTION_SINGLE,
                                                  EDIT_MODE_CALLBACK (modest_ui_actions_on_edit_mode_rename_folder));
@@ -450,11 +461,17 @@ modest_folder_window_new (TnyFolderStoreQuery *query)
                          G_OBJECT (self));
        update_progress_hint (self);
 
+#ifdef MODEST_TOOLKIT_HILDON2
+       GtkAccelGroup *accel_group;
+       guint accel_key;
+       GdkModifierType accel_mods;
+
        accel_group = gtk_accel_group_new ();
        gtk_accelerator_parse ("<Control>n", &accel_key, &accel_mods);
        gtk_widget_add_accelerator (priv->new_message_button, "clicked", accel_group,
                                    accel_key, accel_mods, 0);
        gtk_window_add_accel_group (GTK_WINDOW (self), accel_group);
+#endif
 
        return MODEST_WINDOW(self);
 }
@@ -567,7 +584,7 @@ setup_menu (ModestFolderWindow *self)
 {
        g_return_if_fail (MODEST_IS_FOLDER_WINDOW(self));
 
-       /* folders actions */
+       /* folders actions*/
        modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_new_folder"), NULL,
                                   MODEST_WINDOW_MENU_CALLBACK (modest_ui_actions_on_new_folder),
                                   NULL);
@@ -584,6 +601,16 @@ setup_menu (ModestFolderWindow *self)
        modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_delete_folder"), NULL,
                                   MODEST_WINDOW_MENU_CALLBACK (set_delete_edit_mode),
                                   MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_folder_window_delete));
+#else
+       modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_rename_folder"), NULL,
+                                  MODEST_WINDOW_MENU_CALLBACK (modest_ui_actions_on_rename_folder),
+                                  NULL);
+       modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_move_folder"), NULL,
+                                  MODEST_WINDOW_MENU_CALLBACK (modest_ui_actions_on_move_to),
+                                  NULL);
+       modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_delete_folder"), NULL,
+                                  MODEST_WINDOW_MENU_CALLBACK (modest_ui_actions_on_delete_folder),
+                                  NULL);
 #endif
 
        modest_window_add_to_menu (MODEST_WINDOW (self), _("mcen_me_outbox_cancelsend"), NULL,
@@ -953,7 +980,7 @@ on_account_changed (TnyAccountStore *account_store,
                update_window_title (MODEST_FOLDER_WINDOW (user_data), account);
 }
 
-
+#ifdef MODEST_TOOLKIT_HILDON2
 static gboolean
 on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
 {
@@ -980,3 +1007,4 @@ on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
 
        return FALSE;
 }
+#endif