diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2009-12-01 16:23:20 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2009-12-01 16:23:20 +0000 |
commit | 81ffd50409f32c81b52dcb5829c6894af09a0fd8 (patch) | |
tree | 59eabfd59e869c0ad113f87b3ed23ac0bf14c958 /gtk | |
parent | 4dcdca497495917b833bbcb09c17d852f20954b6 (diff) | |
download | wireshark-81ffd50409f32c81b52dcb5829c6894af09a0fd8.tar.gz |
Added three states for sorting: ascending, descending and no sorting
(ascending on first column).
svn path=/trunk/; revision=31141
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/menus.c | 1 | ||||
-rw-r--r-- | gtk/new_packet_list.c | 11 | ||||
-rw-r--r-- | gtk/new_packet_list.h | 1 |
3 files changed, 11 insertions, 2 deletions
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, "<StockItem>", GTK_STOCK_SORT_ASCENDING,}, {"/Sort Descending", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_SORT_DESCENDING, "<StockItem>", GTK_STOCK_SORT_DESCENDING,}, + {"/No Sorting", NULL, GTK_MENU_FUNC(new_packet_list_column_menu_cb), COLUMN_SELECTED_SORT_NONE, NULL, NULL,}, {"/<separator>", NULL, NULL, 0, "<Separator>", 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, |