diff options
author | Gerald Combs <gerald@wireshark.org> | 2016-09-08 14:31:03 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2016-09-09 21:43:01 +0000 |
commit | 559bb375c1542f6556b4afc260345eb6a988025b (patch) | |
tree | e52123c1688942bfc05dc5789bea89562a71b357 /ui/gtk/capture_file_dlg.c | |
parent | ecd82d08a1479849cb6d4ebb93422b0f96470704 (diff) |
Remove name resolution from the file dialogs.
A single name resolution checkbox was added to the file dialog way back
in 2000 in g0f7cf64. At that time it was needed because resolution was
synchronous and could drastically affect your load time. Since then
we've added asynchronous name resolution and more recently made it
mandatory (ge005bc8). We've also added more name resolution checkboxes
and other controls.
Remove the name resolution checkboxes. You can just as easily change
resolution options before or after opening a file and they take up
valuable real estate.
Combine the size and packets in the Qt and Win32 dialogs and
pretty-print the size. Combine the start and elapsed times in the Qt,
Win32, and GTK+ dialogs. This lets us shrink the custom areas of the
file dialogs even further. Make the default file type combo item more
descriptive.
Change-Id: Id770adc0f284a4c7f08ee5a7db84f8435f4bf907
Reviewed-on: https://code.wireshark.org/review/17597
Tested-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/gtk/capture_file_dlg.c')
-rw-r--r-- | ui/gtk/capture_file_dlg.c | 90 |
1 files changed, 19 insertions, 71 deletions
diff --git a/ui/gtk/capture_file_dlg.c b/ui/gtk/capture_file_dlg.c index e50d600c98..2c7e0cab52 100644 --- a/ui/gtk/capture_file_dlg.c +++ b/ui/gtk/capture_file_dlg.c @@ -27,7 +27,6 @@ #include <gtk/gtk.h> #include <wsutil/filesystem.h> -#include <epan/addr_resolv.h> #include <epan/prefs.h> #include "globals.h" @@ -87,12 +86,11 @@ static gboolean test_file_close(capture_file *cf, gboolean from_quit, #define E_FILE_TYPE_COMBO_BOX_KEY "file_type_combo_box" #define E_COMPRESSED_CB_KEY "compressed_cb" -#define PREVIEW_TABLE_KEY "preview_table_key" -#define PREVIEW_FORMAT_KEY "preview_format_key" -#define PREVIEW_SIZE_KEY "preview_size_key" -#define PREVIEW_ELAPSED_KEY "preview_elapsed_key" -#define PREVIEW_PACKETS_KEY "preview_packets_key" -#define PREVIEW_FIRST_KEY "preview_first_key" +#define PREVIEW_TABLE_KEY "preview_table_key" +#define PREVIEW_FORMAT_KEY "preview_format_key" +#define PREVIEW_SIZE_KEY "preview_size_key" +#define PREVIEW_PACKETS_KEY "preview_packets_key" +#define PREVIEW_FIRST_ELAPSED_KEY "preview_first_elapsed_key" /* XXX - can we make these not be static? */ static gboolean color_selected; @@ -117,11 +115,9 @@ preview_set_filename(GtkWidget *prev, const gchar *cf_name) gtk_label_set_text(GTK_LABEL(label), "-"); label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_SIZE_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_ELAPSED_KEY); - gtk_label_set_text(GTK_LABEL(label), "-"); label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_PACKETS_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_KEY); + label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_ELAPSED_KEY); gtk_label_set_text(GTK_LABEL(label), "-"); if (!cf_name) { @@ -182,6 +178,7 @@ preview_do(GtkWidget *prev, wtap *wth) unsigned int packets = 0; gboolean is_breaked = FALSE; gchar string_buff[PREVIEW_STR_MAX]; + gchar first_buff[PREVIEW_STR_MAX]; time_t ti_time; struct tm *ti_tm; const struct wtap_pkthdr *phdr; @@ -234,7 +231,7 @@ preview_do(GtkWidget *prev, wtap *wth) ti_time = (long)start_time; ti_tm = localtime( &ti_time ); if (ti_tm) { - g_snprintf(string_buff, PREVIEW_STR_MAX, + g_snprintf(first_buff, PREVIEW_STR_MAX, "%04d-%02d-%02d %02d:%02d:%02d", ti_tm->tm_year + 1900, ti_tm->tm_mon + 1, @@ -243,24 +240,22 @@ preview_do(GtkWidget *prev, wtap *wth) ti_tm->tm_min, ti_tm->tm_sec); } else { - g_snprintf(string_buff, PREVIEW_STR_MAX, "?"); + g_snprintf(first_buff, PREVIEW_STR_MAX, "?"); } - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_KEY); - gtk_label_set_text(GTK_LABEL(label), string_buff); /* elapsed time */ elapsed_time = (unsigned int)(stop_time-start_time); if (elapsed_time/86400) { - g_snprintf(string_buff, PREVIEW_STR_MAX, "%02u days %02u:%02u:%02u", - elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / %02u days %02u:%02u:%02u", + first_buff, elapsed_time/86400, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } else { - g_snprintf(string_buff, PREVIEW_STR_MAX, "%02u:%02u:%02u", - elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / %02u:%02u:%02u", + first_buff, elapsed_time%86400/3600, elapsed_time%3600/60, elapsed_time%60); } if (is_breaked) { - g_snprintf(string_buff, PREVIEW_STR_MAX, "unknown"); + g_snprintf(string_buff, PREVIEW_STR_MAX, "%s / unknown", first_buff); } - label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_ELAPSED_KEY); + label = (GtkWidget *)g_object_get_data(G_OBJECT(prev), PREVIEW_FIRST_ELAPSED_KEY); gtk_label_set_text(GTK_LABEL(label), string_buff); wtap_close(wth); @@ -395,10 +390,8 @@ preview_new(void) g_object_set_data(G_OBJECT(grid), PREVIEW_SIZE_KEY, label); label = add_string_to_grid(grid, &row, "Packets:", "-"); g_object_set_data(G_OBJECT(grid), PREVIEW_PACKETS_KEY, label); - label = add_string_to_grid(grid, &row, "First Packet:", "-"); - g_object_set_data(G_OBJECT(grid), PREVIEW_FIRST_KEY, label); - label = add_string_to_grid(grid, &row, "Elapsed time:", "-"); - g_object_set_data(G_OBJECT(grid), PREVIEW_ELAPSED_KEY, label); + label = add_string_to_grid(grid, &row, "Start / elapsed:", "-"); + g_object_set_data(G_OBJECT(grid), PREVIEW_FIRST_ELAPSED_KEY, label); return grid; } @@ -473,7 +466,7 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil { GtkWidget *file_open_w; GtkWidget *main_hb, *main_vb, *filter_hbox, *filter_bt, *filter_te; - GtkWidget *m_resolv_cb, *n_resolv_cb, *t_resolv_cb, *e_resolv_cb, *prev; + GtkWidget *prev; GtkWidget *format_type_co; GtkCellRenderer *cell; gint i; @@ -547,7 +540,7 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil gtk_widget_set_tooltip_text(format_type_co, "Format type of capture file"); gtk_box_pack_start(GTK_BOX(main_vb), format_type_co, FALSE, FALSE, 0); - gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), (const gchar *) "Automatic"); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), (const gchar *) "Automatically detect file type"); for (i = 0; open_routines[i].name != NULL; i += 1) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(format_type_co), open_routines[i].name); } @@ -585,31 +578,6 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil g_object_set_data(G_OBJECT(file_open_w), E_RFILTER_TE_KEY, filter_te); - /* Resolve buttons */ - m_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _MAC name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_resolv_cb), - gbl_resolv_flags.mac_name); - gtk_box_pack_start(GTK_BOX(main_vb), m_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(m_resolv_cb); - - t_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _transport name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(t_resolv_cb), - gbl_resolv_flags.transport_name); - gtk_box_pack_start(GTK_BOX(main_vb), t_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(t_resolv_cb); - - n_resolv_cb = gtk_check_button_new_with_mnemonic("Enable _network name resolution"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(n_resolv_cb), - gbl_resolv_flags.network_name); - gtk_box_pack_start(GTK_BOX(main_vb), n_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(n_resolv_cb); - - e_resolv_cb = gtk_check_button_new_with_mnemonic("Use _external network name resolver"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e_resolv_cb), - gbl_resolv_flags.use_external_net_name_resolver); - gtk_box_pack_start(GTK_BOX(main_vb), e_resolv_cb, FALSE, FALSE, 0); - gtk_widget_show(e_resolv_cb); - /* Preview widget */ prev = preview_new(); g_object_set_data(G_OBJECT(file_open_w), PREVIEW_TABLE_KEY, prev); @@ -634,24 +602,6 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil g_free(cf_name); g_string_printf(display_filter, "%s", gtk_entry_get_text(GTK_ENTRY(filter_te))); - /* Set the global resolving variable */ - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_resolv_cb))) - gbl_resolv_flags.mac_name = TRUE; - else - gbl_resolv_flags.mac_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(n_resolv_cb))) - gbl_resolv_flags.network_name = TRUE; - else - gbl_resolv_flags.network_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(t_resolv_cb))) - gbl_resolv_flags.transport_name = TRUE; - else - gbl_resolv_flags.transport_name = FALSE; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(e_resolv_cb))) - gbl_resolv_flags.use_external_net_name_resolver = TRUE; - else - gbl_resolv_flags.use_external_net_name_resolver = FALSE; - *type = gtk_combo_box_get_active((GtkComboBox *) format_type_co); /* We've crossed the Rubicon; get rid of the file selection box. */ @@ -667,10 +617,8 @@ gtk_open_file(GtkWidget *w, GString *file_name, gint *type, GString *display_fil * <platform/>_open_file routines should upon entry... * Set the path and fill in the filename if the path+filename is provided. * Set the display filter if provided. Filter syntax should be checked. - * Set the name resolution check boxes to match the global settings. * ...and upon exit... * Return TRUE on "OK" and "FALSE" on "Cancel". - * Set the global name resolution preferences on "OK". * Close the window. */ |