TnyFolderMonitor *monitor;
GMutex *monitor_lock;
+ gint sort_colid[2][TNY_FOLDER_TYPE_NUM];
};
#define MODEST_HEADER_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
}
gboolean
-modest_header_view_set_columns (ModestHeaderView *self, const GList *columns)
+modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, TnyFolderType type)
{
GtkTreeModel *sortable;
GtkTreeViewColumn *column=NULL;
(GtkTreeCellDataFunc)_modest_header_view_compact_date_cell_data,
GINT_TO_POINTER(TRUE));
gtk_tree_view_column_set_fixed_width (column, 130);
- /* FIXME: this value must be stored in configuration */
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
- TNY_GTK_HEADER_LIST_MODEL_DATE_RECEIVED_TIME_T_COLUMN,
- GTK_SORT_DESCENDING);
-
break;
case MODEST_HEADER_VIEW_COLUMN_COMPACT_SENT_DATE:
(GtkTreeCellDataFunc)_modest_header_view_compact_date_cell_data,
GINT_TO_POINTER(FALSE));
gtk_tree_view_column_set_fixed_width (column, 130);
- /* FIXME: this value must be stored in configuration */
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
- TNY_GTK_HEADER_LIST_MODEL_DATE_SENT_TIME_T_COLUMN,
- GTK_SORT_DESCENDING);
break;
case MODEST_HEADER_VIEW_COLUMN_SIZE:
column = get_new_column (_("Size"), renderer_header, TRUE,
g_return_val_if_reached(FALSE);
}
- if (sortable)
+ if (sortable)
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE(sortable),
col, (GtkTreeIterCompareFunc)cmp_rows,
column, NULL);
self);
gtk_tree_view_append_column (GTK_TREE_VIEW(self), column);
}
-
+
+
return TRUE;
}
modest_header_view_init (ModestHeaderView *obj)
{
ModestHeaderViewPrivate *priv;
+ guint i, j;
priv = MODEST_HEADER_VIEW_GET_PRIVATE(obj);
priv->monitor = NULL;
priv->monitor_lock = g_mutex_new ();
-
+ for (j=0; j < 2; j++)
+ for (i=0; i < TNY_FOLDER_TYPE_NUM; i++)
+ priv->sort_colid[j][i] = -1;
setup_drag_and_drop (GTK_TREE_VIEW (obj));
}
}
void
+modest_header_view_set_sort_column_id (ModestHeaderView *self, guint sort_colid, TnyFolderType type)
+{
+ ModestHeaderViewPrivate *priv;
+ ModestHeaderViewStyle style;
+
+ style = modest_header_view_get_style (self);
+ priv = MODEST_HEADER_VIEW_GET_PRIVATE(self);
+
+ priv->sort_colid[style][type] = sort_colid;
+}
+
+gint
+modest_header_view_get_sort_column_id (ModestHeaderView *self, TnyFolderType type)
+{
+ ModestHeaderViewPrivate *priv;
+ ModestHeaderViewStyle style;
+
+ style = modest_header_view_get_style (self);
+ priv = MODEST_HEADER_VIEW_GET_PRIVATE(self);
+
+ return priv->sort_colid[style][type];
+}
+
+void
modest_header_view_set_folder (ModestHeaderView *self, TnyFolder *folder)
{
ModestHeaderViewPrivate *priv;
gint t1, t2;
gint val1, val2;
gchar *s1, *s2;
- gint cmp;
-
+ gint cmp;
static int counter = 0;
+
+ g_return_val_if_fail (G_IS_OBJECT(user_data), 0);
col_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(user_data), MODEST_HEADER_VIEW_COLUMN));
if (!(++counter % 100)) {