- hildon_sort_dialog_set_sort_key (dialog, default_key);
- hildon_sort_dialog_set_sort_order (dialog, GTK_SORT_DESCENDING);
+ if (!gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (gtk_tree_view_get_model (GTK_TREE_VIEW (header_view))),
+ ¤t_sort_colid, ¤t_sort_type)) {
+ hildon_sort_dialog_set_sort_key (dialog, default_key);
+ hildon_sort_dialog_set_sort_order (dialog, GTK_SORT_DESCENDING);
+ } else {
+ hildon_sort_dialog_set_sort_order (dialog, current_sort_type);
+ if (current_sort_colid == TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN) {
+ gpointer flags_sort_type_pointer;
+ flags_sort_type_pointer = g_object_get_data (G_OBJECT (cols->data), MODEST_HEADER_VIEW_FLAG_SORT);
+ if (GPOINTER_TO_INT (flags_sort_type_pointer) == TNY_HEADER_FLAG_PRIORITY)
+ hildon_sort_dialog_set_sort_key (dialog, priority_sort_id);
+ else
+ hildon_sort_dialog_set_sort_key (dialog, attachments_sort_id);
+ } else {
+ gint current_sort_keyid = 0;
+ while (current_sort_keyid < 6) {
+ if (sort_model_ids[current_sort_keyid] == current_sort_colid)
+ break;
+ else
+ current_sort_keyid++;
+ }
+ hildon_sort_dialog_set_sort_key (dialog, current_sort_keyid);
+ }
+ }