diff options
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/e-table-header-item.c | 13 | ||||
-rw-r--r-- | widgets/table/e-table-item.c | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c index 1ff89a306d..3ef0a80b35 100644 --- a/widgets/table/e-table-header-item.c +++ b/widgets/table/e-table-header-item.c @@ -1076,6 +1076,18 @@ ethi_popup_sort_descending(GtkWidget *widget, EthiHeaderInfo *info) } static void +ethi_popup_unsort(GtkWidget *widget, EthiHeaderInfo *info) +{ + int length; + int i; + int found = FALSE; + ETableHeaderItem *ethi = info->ethi; + + e_table_sort_info_grouping_truncate(ethi->sort_info, 0); + e_table_sort_info_sorting_truncate(ethi->sort_info, 0); +} + +static void ethi_popup_group_field(GtkWidget *widget, EthiHeaderInfo *info) { ETableCol *col; @@ -1137,6 +1149,7 @@ ethi_popup_customize_view(GtkWidget *widget, EthiHeaderInfo *info) static EPopupMenu ethi_context_menu [] = { { "Sort Ascending", NULL, GTK_SIGNAL_FUNC(ethi_popup_sort_ascending), 0}, { "Sort Descending", NULL, GTK_SIGNAL_FUNC(ethi_popup_sort_descending), 0}, + { "Unsort", NULL, GTK_SIGNAL_FUNC(ethi_popup_unsort), 0}, { "", NULL, GTK_SIGNAL_FUNC(NULL), 0}, { "Group By This Field", NULL, GTK_SIGNAL_FUNC(ethi_popup_group_field), 0}, { "Group By Box", NULL, GTK_SIGNAL_FUNC(ethi_popup_group_box), 1}, diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index 9df3b913db..9eca340472 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -1663,6 +1663,7 @@ eti_selection (GnomeCanvasItem *item, int flags, gpointer data) eti_request_region_show (eti, col, view_row, col, view_row); } if ((cursored) && (flags & E_CANVAS_ITEM_SELECTION_CURSOR) == 0) { + e_table_item_leave_edit(eti); eti->cursor_row = -1; eti->cursor_col = -1; } |