updated bug fix info and version for week 06, 2009 first build
[modest] / src / widgets / modest-header-view-render.c
index 3cc3d16..fcbe01b 100644 (file)
@@ -154,27 +154,6 @@ set_cell_text (GtkCellRenderer *renderer,
        g_object_thaw_notify (G_OBJECT (renderer));
 }
 
-
-void
-_modest_header_view_msgtype_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
-                  GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer user_data)
-{
-       TnyHeaderFlags flags;
-               
-       gtk_tree_model_get (tree_model, iter, TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
-                           &flags, -1);
-
-       if (flags & TNY_HEADER_FLAG_DELETED)
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (TNY_HEADER_FLAG_DELETED), NULL);           
-       else if (flags & TNY_HEADER_FLAG_SEEN)
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (TNY_HEADER_FLAG_SEEN), NULL);              
-       else 
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (0), NULL); /* ughh, FIXME */               
-}
-
 void
 _modest_header_view_attach_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
                                      GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer user_data)
@@ -220,9 +199,17 @@ _modest_header_view_date_cell_data  (GtkTreeViewColumn *column,  GtkCellRenderer
                            TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN, &flags,
                            date_col, &date,
                            -1);
-       
-       set_cell_text (renderer, modest_text_utils_get_display_date (date),
+
+#if GTK_CHECK_VERSION (2, 12, 0)
+       ModestHeaderView *header_view;
+       header_view = MODEST_HEADER_VIEW (gtk_tree_view_column_get_tree_view (column));
+       set_cell_text (renderer,
+                      _modest_header_view_get_display_date (header_view, date),
                       flags, RENDER_CELL_STYLE_DEFAULT);
+#else
+       set_cell_text (renderer, modest_text_utils_get_display_date (date),
+                      flags, RENDER_CELL_STYLE_DEFAULT);
+#endif
 }
 
 void
@@ -247,7 +234,9 @@ _modest_header_view_sender_receiver_cell_data  (GtkTreeViewColumn *column,
                            -1);
        
        modest_text_utils_get_display_address (address); /* string is changed in-place */
-       set_cell_text (renderer, address, flags, RENDER_CELL_STYLE_DEFAULT);
+       
+       set_cell_text (renderer, (address && address[0] != '\0')?address:_("mail_va_no_to"),
+                      flags, RENDER_CELL_STYLE_DEFAULT);
        g_free (address);
 }
 /*
@@ -267,6 +256,12 @@ _modest_header_view_compact_header_cell_data  (GtkTreeViewColumn *column,  GtkCe
        gchar *address = NULL;
        gchar *subject = NULL;
        time_t date;
+
+#ifdef MAEMO_CHANGES
+#ifdef HAVE_GTK_TREE_VIEW_COLUMN_GET_CELL_DATA_HINT
+       GtkTreeCellDataHint hint;
+#endif
+#endif
        
        GtkCellRenderer *recipient_cell, *date_or_status_cell, *subject_cell,
                *attach_cell, *priority_cell,
@@ -278,6 +273,15 @@ _modest_header_view_compact_header_cell_data  (GtkTreeViewColumn *column,  GtkCe
        g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (column));
        g_return_if_fail (GTK_IS_CELL_RENDERER (renderer));
        g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+
+#ifdef MAEMO_CHANGES
+#ifdef HAVE_GTK_TREE_VIEW_COLUMN_GET_CELL_DATA_HINT
+       hint = gtk_tree_view_column_get_cell_data_hint (GTK_TREE_VIEW_COLUMN (column));
+
+       if (hint != GTK_TREE_CELL_DATA_HINT_ALL)
+               return;
+#endif
+#endif
        
        recipient_box = GTK_CELL_RENDERER (g_object_get_data (G_OBJECT (renderer), "recpt-box-renderer"));
        subject_box = GTK_CELL_RENDERER (g_object_get_data (G_OBJECT (renderer), "subject-box-renderer"));
@@ -328,7 +332,8 @@ _modest_header_view_compact_header_cell_data  (GtkTreeViewColumn *column,  GtkCe
        /* FIXME: we hardcode the color to #666666; instead we should use SecondaryTextColour from the
         * theme (gtkrc file) */
        modest_text_utils_get_display_address (address); /* changed in-place */
-       set_cell_text (recipient_cell, address, flags, RENDER_CELL_STYLE_GREY);
+       set_cell_text (recipient_cell, (address && address[0] != '\0')?address:_("mail_va_no_to"), flags, RENDER_CELL_STYLE_GREY);
+       g_free (address);
        
        if (header_mode == MODEST_HEADER_VIEW_COMPACT_HEADER_MODE_OUTBOX) {
                ModestTnySendQueueStatus status = MODEST_TNY_SEND_QUEUE_UNKNOWN;
@@ -342,11 +347,19 @@ _modest_header_view_compact_header_cell_data  (GtkTreeViewColumn *column,  GtkCe
                
                status_str = get_status_string (status);
                set_cell_text (date_or_status_cell, status_str, flags, RENDER_CELL_STYLE_GREY);
-       } else {                
-               set_cell_text (date_or_status_cell, date ? modest_text_utils_get_display_date (date) : "",
+       } else {
+#if GTK_CHECK_VERSION (2, 12, 0)
+               ModestHeaderView *header_view;
+               header_view = MODEST_HEADER_VIEW (gtk_tree_view_column_get_tree_view (column));
+               set_cell_text (date_or_status_cell, 
+                              date ? _modest_header_view_get_display_date (header_view, date) : "",
                               flags, RENDER_CELL_STYLE_GREY);
+#else
+               set_cell_text (date_or_status_cell, 
+                              date ? modest_text_utils_get_display_date (date) : "",
+                              flags, RENDER_CELL_STYLE_GREY);
+#endif
        }
-       
        if (msg_header != NULL)
                g_object_unref (msg_header);
 }