aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/expert_comp_table.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-08-26 17:26:26 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-08-26 17:26:26 +0000
commit5e4e5755a8d447567f1b6180ace28861bd795357 (patch)
treef7a5bc4648395a18f565226aa8cc132377a8d0db /gtk/expert_comp_table.c
parentcfde59d50985da5e47fbf98d06cbc3560131cfca (diff)
From Didier Gautheron:
expert info clean up, https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3948 svn path=/trunk/; revision=29566
Diffstat (limited to 'gtk/expert_comp_table.c')
-rw-r--r--gtk/expert_comp_table.c54
1 files changed, 23 insertions, 31 deletions
diff --git a/gtk/expert_comp_table.c b/gtk/expert_comp_table.c
index c5978d566e..186180f5af 100644
--- a/gtk/expert_comp_table.c
+++ b/gtk/expert_comp_table.c
@@ -54,7 +54,7 @@
#include "gtk/gtkglobals.h"
#include "gtk/webbrowser.h"
-#if 0
+
#define SORT_ALPHABETICAL 0
static gint
@@ -91,7 +91,7 @@ sort_iter_compare_func (GtkTreeModel *model,
}
return ret;
}
-#endif
+
enum
{
GROUP_COLUMN,
@@ -112,8 +112,8 @@ static gint find_summary_data(error_equiv_table *err, const expert_info_t *exper
}
for (i=0;i<err->num_procs;i++) {
procedure = &g_array_index(err->procs_array, error_procedure_t, i);
- if (strcmp(procedure->entries[1], expert_data->protocol) == 0 &&
- strcmp(procedure->entries[2], expert_data->summary) == 0) {
+ if (strcmp(procedure->entries[0], expert_data->protocol) == 0 &&
+ strcmp(procedure->entries[1], expert_data->summary) == 0) {
return i;
}
}
@@ -160,7 +160,7 @@ error_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint call
/* to be translated to the group number (or the actual group number */
/* will also need to be stored in the TreeModel). */
selection = find_summary_data(err, &expert_data);
-
+ g_free(expert_data.protocol);
g_free(expert_data.summary);
if(selection>=(int)err->num_procs){
@@ -179,12 +179,12 @@ error_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint call
if (0 /*procedure->fvalue_value==NULL*/) {
if (action != ACTION_FIND_FRAME && action != ACTION_FIND_NEXT && action != ACTION_FIND_PREVIOUS) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Wireshark cannot create a filter on this item - %s, try using find instead.",
- procedure->entries[2]);
+ procedure->entries[1]);
return;
}
}
- msg = g_malloc(escape_string_len(procedure->entries[2]));
- escape_string(msg, procedure->entries[2]);
+ msg = g_malloc(escape_string_len(procedure->entries[1]));
+ escape_string(msg, procedure->entries[1]);
switch(type){
case ACTYPE_SELECTED:
/* if no expert item was passed */
@@ -296,7 +296,7 @@ error_select_filter_cb(GtkWidget *widget _U_, gpointer callback_data, guint call
break;
case ACTION_WEB_LOOKUP:
/* Lookup expert string on internet. Default search via www.google.com */
- g_snprintf(str, sizeof(str), "http://www.google.com/search?hl=en&q=%s+'%s'", procedure->entries[1], procedure->entries[2]);
+ g_snprintf(str, sizeof(str), "http://www.google.com/search?hl=en&q=%s+'%s'", procedure->entries[0], procedure->entries[1]);
browser_open_url(str);
break;
default:
@@ -477,10 +477,10 @@ init_error_table(error_equiv_table *err, guint num_procs, GtkWidget *vbox)
#endif
/* Setup the sortable columns */
-#if 0
- gtk_tree_sortable_set_sort_func(sortable, SORT_ALPHABETICAL, sort_iter_compare_func, GINT_TO_POINTER(SORT_ALPHABETICAL), NULL);
- gtk_tree_sortable_set_sort_column_id(sortable, SORT_ALPHABETICAL, GTK_SORT_ASCENDING);
-#endif
+ gtk_tree_sortable_set_default_sort_func(sortable, sort_iter_compare_func, GINT_TO_POINTER(SORT_ALPHABETICAL), NULL);
+
+gtk_tree_sortable_set_sort_column_id(sortable, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING);
+
gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW (tree), FALSE);
/* The view now holds a reference. We can get rid of our own reference */
@@ -555,11 +555,11 @@ void
init_error_table_row(error_equiv_table *err, const expert_info_t *expert_data)
{
guint old_num_procs=err->num_procs;
- guint j;
gint row=0;
error_procedure_t *procedure;
GtkTreeStore *store;
GtkTreeIter new_iter;
+ gchar num[10];
/* we have discovered a new procedure. Extend the table accordingly */
row = find_summary_data(err, expert_data);
@@ -570,26 +570,22 @@ init_error_table_row(error_equiv_table *err, const expert_info_t *expert_data)
new_procedure.count=0; /* count of events for this item */
new_procedure.fvalue_value = NULL; /* Filter string value */
- for(j=0;j<4;j++){
- new_procedure.entries[j]=NULL;
- }
+
g_array_append_val(err->procs_array, new_procedure);
procedure = &g_array_index(err->procs_array, error_procedure_t, row);
/* Create the item in our memory table */
- procedure->entries[0]=(char *)g_string_chunk_insert(err->text,
- val_to_str(expert_data->group, expert_group_vals,"Unknown group (%u)")); /* Group */
- procedure->entries[1]=(char *)g_string_chunk_insert(err->text, expert_data->protocol); /* Protocol */
- procedure->entries[2]=(char *)g_string_chunk_insert(err->text, expert_data->summary); /* Summary */
+ procedure->entries[0]=(char *)g_string_chunk_insert(err->text, expert_data->protocol); /* Protocol */
+ procedure->entries[1]=(char *)g_string_chunk_insert(err->text, expert_data->summary); /* Summary */
/* Create a new item in our tree view */
store = GTK_TREE_STORE(gtk_tree_view_get_model(err->tree_view)); /* Get store */
gtk_tree_store_append (store, &procedure->iter, NULL); /* Acquire an iterator */
gtk_tree_store_set (store, &procedure->iter,
- GROUP_COLUMN, procedure->entries[0],
- PROTOCOL_COLUMN, procedure->entries[1],
- SUMMARY_COLUMN, procedure->entries[2], -1);
+ GROUP_COLUMN, val_to_str(expert_data->group, expert_group_vals,"Unknown group (%u)"),
+ PROTOCOL_COLUMN, procedure->entries[0],
+ SUMMARY_COLUMN, procedure->entries[1], -1);
/* If an expert item was passed then build the filter string */
if (expert_data->pitem) {
@@ -608,16 +604,13 @@ init_error_table_row(error_equiv_table *err, const expert_info_t *expert_data)
procedure = &g_array_index(err->procs_array, error_procedure_t, row);
procedure->count++; /* increment the count of events for this item */
-#if 0
- /* Store the updated count for this event item */
- err->procedures[row].entries[3]=(char *)g_strdup_printf("%d", err->procedures[row].count); /* Count */
-#endif
-
/* Update the tree with new count for this event */
store = GTK_TREE_STORE(gtk_tree_view_get_model(err->tree_view));
gtk_tree_store_set(store, &procedure->iter,
COUNT_COLUMN, procedure->count,
-1);
+
+ g_snprintf(num, sizeof(num), "%d", expert_data->packet_num);
#if 0
This does not have a big performance improvment :(
if GTK_CHECK_VERSION(2,10,0)
@@ -641,11 +634,10 @@ if GTK_CHECK_VERSION(2,10,0)
else {
gtk_tree_store_append(store, &new_iter, &procedure->iter);
}
-
gtk_tree_store_set(store, &new_iter,
#endif
GROUP_COLUMN, "Packet:",
- PROTOCOL_COLUMN, (char *)g_strdup_printf("%d", expert_data->packet_num),
+ PROTOCOL_COLUMN, num,
COUNT_COLUMN, 1,
-1);
}