void _modest_header_view_compact_header_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer user_data);
+const gchar *_modest_header_view_get_display_date (ModestHeaderView *self, time_t date);
+
typedef enum _ModestHeaderViewCompactHeaderMode {
MODEST_HEADER_VIEW_COMPACT_HEADER_MODE_IN = 0,
MODEST_HEADER_VIEW_COMPACT_HEADER_MODE_OUT = 1,
TnyHeaderFlags flags;
guint date, date_col;
gboolean received = GPOINTER_TO_INT(user_data);
+ ModestHeaderView *header_view;
if (received)
date_col = TNY_GTK_HEADER_LIST_MODEL_DATE_RECEIVED_TIME_T_COLUMN;
date_col, &date,
-1);
- set_cell_text (renderer, modest_text_utils_get_display_date (date),
+ 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);
}
*recipient_box, *subject_box = NULL;
TnyHeader *msg_header = NULL;
TnyHeaderFlags prio = 0;
+ ModestHeaderView *header_view;
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));
+ header_view = MODEST_HEADER_VIEW (gtk_tree_view_column_get_tree_view (column));
+
#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));
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) : "",
+ set_cell_text (date_or_status_cell, date ? _modest_header_view_get_display_date (header_view, date) : "",
flags, RENDER_CELL_STYLE_GREY);
}
#include "modest-platform.h"
#include <modest-hbox-cell-renderer.h>
#include <modest-vbox-cell-renderer.h>
+#include <modest-datetime-formatter.h>
static void modest_header_view_class_init (ModestHeaderViewClass *klass);
static void modest_header_view_init (ModestHeaderView *obj);
HeaderViewStatus status;
guint status_timeout;
gboolean notify_status; /* whether or not the filter_row should notify about changes in the filtering */
+
+ ModestDatetimeFormatter *datetime_formatter;
};
typedef struct _HeadersCountChangedHelper HeadersCountChangedHelper;
}
static void
+datetime_format_changed (ModestDatetimeFormatter *formatter,
+ ModestHeaderView *self)
+{
+ gtk_widget_queue_draw (GTK_WIDGET (self));
+}
+
+static void
modest_header_view_init (ModestHeaderView *obj)
{
ModestHeaderViewPrivate *priv;
}
}
+ priv->datetime_formatter = modest_datetime_formatter_new ();
+ g_signal_connect (G_OBJECT (priv->datetime_formatter), "format-changed",
+ G_CALLBACK (datetime_format_changed), (gpointer) obj);
+
setup_drag_and_drop (GTK_WIDGET(obj));
}
self = MODEST_HEADER_VIEW(obj);
priv = MODEST_HEADER_VIEW_GET_PRIVATE(self);
+ if (priv->datetime_formatter) {
+ g_object_unref (priv->datetime_formatter);
+ priv->datetime_formatter = NULL;
+ }
+
/* Free in the dispose to avoid unref cycles */
if (priv->folder) {
tny_folder_remove_observer (priv->folder, TNY_FOLDER_OBSERVER (obj));
g_mutex_unlock(priv->observer_list_lock);
}
+const gchar *
+_modest_header_view_get_display_date (ModestHeaderView *self, time_t date)
+{
+ ModestHeaderViewPrivate *priv = NULL;
+
+ priv = MODEST_HEADER_VIEW_GET_PRIVATE(self);
+ return modest_datetime_formatter_display_datetime (priv->datetime_formatter, date);
+}