diff --git a/gtk/menus.c b/gtk/menus.c index 6dd14d3750..e895406a2f 100644 --- a/gtk/menus.c +++ b/gtk/menus.c @@ -766,6 +766,7 @@ static GtkItemFactoryEntry packet_list_heading_items[] = #ifdef NEW_PACKET_LIST {"/Sort Ascending", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_SORT_ASCENDING, "", GTK_STOCK_SORT_ASCENDING,}, {"/Sort Descending", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_SORT_DESCENDING, "", GTK_STOCK_SORT_DESCENDING,}, + {"/No Sorting", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_SORT_NONE, NULL, NULL,}, {"/", NULL, NULL, 0, "", NULL,}, diff --git a/gtk/new_packet_list.c b/gtk/new_packet_list.c index ebff630978..354b69e244 100644 --- a/gtk/new_packet_list.c +++ b/gtk/new_packet_list.c @@ -269,10 +269,13 @@ new_packet_list_column_clicked_cb (GtkTreeViewColumn *col, gpointer user_data _U GtkSortType order = gtk_tree_view_column_get_sort_order (col); gint col_id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(col), E_MPACKET_LIST_COL_KEY)); - if (order == GTK_SORT_DESCENDING || !gtk_tree_view_column_get_sort_indicator(col)) { + if (!gtk_tree_view_column_get_sort_indicator(col)) { new_packet_list_sort_column (col_id, col, GTK_SORT_ASCENDING); - } else { + } else if (order == GTK_SORT_ASCENDING) { new_packet_list_sort_column (col_id, col, GTK_SORT_DESCENDING); + } else { + gtk_tree_view_column_set_sort_indicator(col, FALSE); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(packetlist), 0, GTK_SORT_ASCENDING); } } @@ -324,6 +327,10 @@ new_packet_list_column_menu_cb (GtkWidget *w _U_, gpointer user_data _U_, COLUMN case COLUMN_SELECTED_SORT_DESCENDING: new_packet_list_sort_column (col_id, col, GTK_SORT_DESCENDING); break; + case COLUMN_SELECTED_SORT_NONE: + gtk_tree_view_column_set_sort_indicator(col, FALSE); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(packetlist), 0, GTK_SORT_ASCENDING); + break; case COLUMN_SELECTED_ALIGN_LEFT: new_packet_list_xalign_column (col, 0.0); break; diff --git a/gtk/new_packet_list.h b/gtk/new_packet_list.h index f604c34a4d..0ef08ddb4d 100644 --- a/gtk/new_packet_list.h +++ b/gtk/new_packet_list.h @@ -33,6 +33,7 @@ typedef enum { COLUMN_SELECTED_SORT_ASCENDING, COLUMN_SELECTED_SORT_DESCENDING, + COLUMN_SELECTED_SORT_NONE, COLUMN_SELECTED_ALIGN_LEFT, COLUMN_SELECTED_ALIGN_RIGHT, COLUMN_SELECTED_RESIZE,