* Changes in the autotools stuff affecting a lot of platform dependent
[modest] / src / widgets / modest-header-view.c
index 4ef6619..78ec1b3 100644 (file)
@@ -110,14 +110,13 @@ static void          _clipboard_set_selected_data (ModestHeaderView *header_view
 
 static void          _clear_hidding_filter (ModestHeaderView *header_view);
 
-static void modest_header_view_notify_observers(
-               ModestHeaderView *header_view,
-               GtkTreeModel *model,
-               const gchar *tny_folder_id);
+static void          modest_header_view_notify_observers(ModestHeaderView *header_view,
+                                                        GtkTreeModel *model,
+                                                        const gchar *tny_folder_id);
 
-static gboolean modest_header_view_on_expose_event (GtkTreeView *header_view,
-                                                   GdkEventExpose *event,
-                                                   gpointer user_data);
+static gboolean      modest_header_view_on_expose_event (GtkTreeView *header_view,
+                                                        GdkEventExpose *event,
+                                                        gpointer user_data);
 
 typedef enum {
        HEADER_VIEW_NON_EMPTY,
@@ -338,7 +337,7 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        GtkTreeModel *tree_filter, *sortable;
        GtkTreeViewColumn *column=NULL;
        GtkTreeSelection *selection = NULL;
-       GtkCellRenderer *renderer_msgtype,*renderer_header,
+       GtkCellRenderer *renderer_header,
                *renderer_attach, *renderer_compact_date_or_status;
        GtkCellRenderer *renderer_compact_header, *renderer_recpt_box, 
                *renderer_subject, *renderer_subject_box, *renderer_recpt,
@@ -352,8 +351,7 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        
        priv = MODEST_HEADER_VIEW_GET_PRIVATE(self); 
 
-       /* FIXME: check whether these renderers need to be freed */
-       renderer_msgtype = gtk_cell_renderer_pixbuf_new ();
+       /* TODO: check whether these renderers need to be freed */
        renderer_attach  = gtk_cell_renderer_pixbuf_new ();
        renderer_priority  = gtk_cell_renderer_pixbuf_new ();
        renderer_header  = gtk_cell_renderer_text_new ();
@@ -381,7 +379,7 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        g_object_set_data (G_OBJECT (renderer_recpt_box), "date-renderer", renderer_compact_date_or_status);
 
        g_object_set (G_OBJECT (renderer_subject_box), "yalign", 1.0, NULL);
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
        gtk_cell_renderer_set_fixed_size (renderer_subject_box, -1, 32);
        gtk_cell_renderer_set_fixed_size (renderer_recpt_box, -1, 32);
 #endif
@@ -406,7 +404,7 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        g_object_set (G_OBJECT (renderer_attach),
                      "yalign", 0.0, NULL);
 
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
        gtk_cell_renderer_set_fixed_size (renderer_attach, 32, 26);
        gtk_cell_renderer_set_fixed_size (renderer_priority, 32, 26);
        gtk_cell_renderer_set_fixed_size (renderer_compact_header, -1, 64);
@@ -435,15 +433,6 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
                
                switch (col) {
                        
-               case MODEST_HEADER_VIEW_COLUMN_MSGTYPE:
-                       column = get_new_column (_("M"), renderer_msgtype, FALSE,
-                                                TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
-                                                FALSE,
-                                                (GtkTreeCellDataFunc)_modest_header_view_msgtype_cell_data,
-                                                NULL);
-                       gtk_tree_view_column_set_fixed_width (column, 45);
-                       break;
-
                case MODEST_HEADER_VIEW_COLUMN_ATTACH:
                        column = get_new_column (_("A"), renderer_attach, FALSE,
                                                 TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
@@ -555,7 +544,6 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
                                                 compact_column, NULL);
        }
 
-
        return TRUE;
 }
 
@@ -799,7 +787,7 @@ modest_header_view_get_selected_headers (ModestHeaderView *self)
 static void
 scroll_to_selected (ModestHeaderView *self, GtkTreeIter *iter, gboolean up)
 {
-#ifdef MODEST_PLATFORM_GNOME 
+#ifdef MODEST_TOOLKIT_GTK 
 
        GtkTreePath *selected_path;
        GtkTreePath *start, *end;
@@ -824,7 +812,7 @@ scroll_to_selected (ModestHeaderView *self, GtkTreeIter *iter, gboolean up)
        gtk_tree_path_free (start);
        gtk_tree_path_free (end);
 
-#endif /* MODEST_PLATFORM_GNOME */
+#endif /* MODEST_TOOLKIT_GTK */
 }
 
 
@@ -978,17 +966,16 @@ modest_header_view_on_expose_event(GtkTreeView *header_view,
                        GtkTreePath * last_path;
                        if (gtk_tree_selection_count_selected_rows (sel) != 1) {
                                moved_selection = TRUE;
-                               g_message ("MULTISELECTION %d -> MOVED", gtk_tree_selection_count_selected_rows (sel));
                        } else {
                                GList *rows;
 
                                rows = gtk_tree_selection_get_selected_rows (sel, NULL);
                                last_path = gtk_tree_row_reference_get_path (priv->autoselect_reference);
-                               g_message ("SELECTION PATH %s LAST PATH %s", gtk_tree_path_to_string (rows->data), gtk_tree_path_to_string (last_path));
                                if (gtk_tree_path_compare (last_path, (GtkTreePath *) rows->data) != 0)
                                        moved_selection = TRUE;
                                g_list_foreach (rows, (GFunc) gtk_tree_path_free, NULL);
                                g_list_free (rows);
+                               gtk_tree_path_free (last_path);
                        }
                        if (moved_selection) {
                                gtk_tree_row_reference_free (priv->autoselect_reference);
@@ -999,7 +986,6 @@ modest_header_view_on_expose_event(GtkTreeView *header_view,
                                        GtkTreePath *current_path;
                                        current_path = gtk_tree_model_get_path (model, &tree_iter);
                                        last_path = gtk_tree_row_reference_get_path (priv->autoselect_reference);
-                                       g_message ("CURRENT PATH %s LAST PATH %s", gtk_tree_path_to_string (current_path), gtk_tree_path_to_string (last_path));
                                        if (gtk_tree_path_compare (current_path, last_path) != 0) {
                                                g_object_set(header_view, "can-focus", FALSE, NULL);
                                                gtk_tree_selection_unselect_all (sel);
@@ -1382,6 +1368,12 @@ modest_header_view_set_folder (ModestHeaderView *self,
                        g_object_unref (G_OBJECT (priv->monitor));
                        priv->monitor = NULL;
                }
+
+               if (priv->autoselect_reference) {
+                       gtk_tree_row_reference_free (priv->autoselect_reference);
+                       priv->autoselect_reference = NULL;
+               }
+
                gtk_tree_view_set_model (GTK_TREE_VIEW (self), NULL); 
 
                modest_header_view_notify_observers(self, NULL, NULL);
@@ -1765,33 +1757,6 @@ on_focus_in (GtkWidget     *self,
        if (selected == NULL) return FALSE;
        selected_path = (GtkTreePath *) selected->data;
 
-       /* Check if we need to scroll */
-       #if GTK_CHECK_VERSION(2, 8, 0) /* TODO: gtk_tree_view_get_visible_range() is only available in GTK+ 2.8 */
-       GtkTreePath *start_path = NULL;
-       GtkTreePath *end_path = NULL;
-       if (gtk_tree_view_get_visible_range (GTK_TREE_VIEW (self),
-                                            &start_path,
-                                            &end_path)) {
-
-               if ((gtk_tree_path_compare (start_path, selected_path) != -1) ||
-                   (gtk_tree_path_compare (end_path, selected_path) != 1)) {
-
-                       /* Scroll to first path */
-                       gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (self),
-                                                     selected_path,
-                                                     NULL,
-                                                     TRUE,
-                                                     0.5,
-                                                     0.0);
-               }
-       }
-       if (start_path)
-               gtk_tree_path_free (start_path);
-       if (end_path)
-               gtk_tree_path_free (end_path);
-
-       #endif /* GTK_CHECK_VERSION */
-
        /* Frees */     
        g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL);
        g_list_free (selected);