When using the new packet list select the first packet when the file read is complete...
authorAnders Broman <anders.broman@ericsson.com>
Fri, 24 Jul 2009 08:10:33 +0000 (08:10 -0000)
committerAnders Broman <anders.broman@ericsson.com>
Fri, 24 Jul 2009 08:10:33 +0000 (08:10 -0000)
svn path=/trunk/; revision=29186

file.c
gtk/new_packet_list.c
ui_util.h

diff --git a/file.c b/file.c
index 715ea7503947b69ab03f53668c757ae4b01fd772..d4fa81986ff226c00b22bc27880a10e4c456aae9 100644 (file)
--- a/file.c
+++ b/file.c
@@ -597,12 +597,15 @@ cf_read(capture_file *cf)
 
   cf_callback_invoke(cf_cb_file_read_finished, cf);
 
-#ifndef NEW_PACKET_LIST
   /* If we have any displayed packets to select, select the first of those
      packets by making the first row the selected row. */
-  if (cf->first_displayed != NULL)
+  if (cf->first_displayed != NULL){
+#ifdef NEW_PACKET_LIST
+    new_packet_list_select_first_row();
+#else
     packet_list_select_row(0);
 #endif /* NEW_PACKET_LIST */
+  }
 
   if(stop_flag) {
     simple_dialog(ESD_TYPE_WARN, ESD_BTN_OK,
index 7ab2252742e5f4ac038e5e6aedefb8cce7c24223..a6ab3192bd206e43b4535595fa2300e4b2bb3f24 100644 (file)
@@ -206,6 +206,20 @@ new_packet_list_prev(void)
 {
        g_warning("*** new_packet_list_prev() not yet implemented.");
 }
+void
+new_packet_list_select_first_row(void)
+{
+       GtkTreeModel *model = GTK_TREE_MODEL(packetlist);
+       GtkTreeSelection *selection;
+       GtkTreeIter iter;
+
+       if(!gtk_tree_model_get_iter_first(model, &iter))
+               return;
+       selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(packetlist->view));
+       gtk_tree_selection_select_iter (selection, &iter);
+       new_packet_list_select_cb(GTK_TREE_VIEW(packetlist->view), NULL);
+
+}
 
 gint
 new_packet_list_find_row_from_data(gpointer data, gboolean select)
index a16ddffb799d6cfc91a61a6cb0236c6fa6577638..ec659c5c609f825adf20354189e05e9c0bc446d0 100644 (file)
--- a/ui_util.h
+++ b/ui_util.h
@@ -62,6 +62,7 @@ void new_packet_list_prev(void);
 guint new_packet_list_append(column_info *cinfo, frame_data *fdata);
 frame_data * new_packet_list_get_row_data(gint row);
 void new_packet_list_enable_color(gboolean enable);
+void new_packet_list_select_first_row(void);
 gint new_packet_list_find_row_from_data(gpointer data, gboolean select);
 #else
 /* packet list related functions */