GtkTreeViewColumn *column;
gboolean if_present = TRUE;
GList *all_cfilter_list, *cf_entry;
- gint tl_width, co_width, co_height;
+ window_geometry_t tl_geom;
if (interfaces_dialog_window_present()) {
destroy_if_window();
g_signal_connect(file_bt, "clicked", G_CALLBACK(capture_prep_file_cb), file_te);
/* multiple files table */
+ /* XXX We want multi_grid to shrink to its minimum size horizontally
+ * and be left-aligned within file_fr. Using a horizontal GtkBox works
+ * in Gtk2 but not Gtk3. The situation gets sillier below with limit_fr
+ * and limit_grid because we have both horizontal and vertical GtkBoxes.
+ */
multi_hb = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0, FALSE);
gtk_box_pack_start(GTK_BOX(file_vb), multi_hb, FALSE, FALSE, 0);
multi_grid = ws_gtk_grid_new();
row++;
/* Capture limits frame */
- limit_fr = frame_new("Stop Capture ...");
+ limit_fr = frame_new("Stop Capture...");
gtk_box_pack_start(GTK_BOX (left_vb), limit_fr, TRUE, TRUE, 0);
limit_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_UNRELATED_SPACING, FALSE);
row = 0;
/* Packet count row */
- stop_packets_cb = gtk_check_button_new_with_label("... after");
+ stop_packets_cb = gtk_check_button_new_with_label("after");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_packets_cb),
global_capture_opts.has_autostop_packets);
g_signal_connect(stop_packets_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
row++;
/* Filesize row */
- stop_filesize_cb = gtk_check_button_new_with_label("... after");
+ stop_filesize_cb = gtk_check_button_new_with_label("after");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_filesize_cb),
global_capture_opts.has_autostop_filesize);
g_signal_connect(stop_filesize_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
row++;
/* Duration row */
- stop_duration_cb = gtk_check_button_new_with_label("... after");
+ stop_duration_cb = gtk_check_button_new_with_label("after");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_duration_cb),
global_capture_opts.has_autostop_duration);
g_signal_connect(stop_duration_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
g_signal_connect(cap_open_w, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(cap_open_w, "destroy", G_CALLBACK(capture_prep_destroy_cb), NULL);
- gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL);
- gtk_window_get_size(GTK_WINDOW(cap_open_w), &co_width, &co_height);
- tl_width = tl_width * 8 / 10;
- if (tl_width > co_width) {
- gtk_window_resize(GTK_WINDOW(cap_open_w), tl_width, co_height);
- }
+ window_get_geometry(top_level, &tl_geom);
+ gtk_window_set_default_size(GTK_WINDOW(cap_open_w), tl_geom.width * 8 / 10, -1);
gtk_widget_show_all(cap_open_w);
window_present(cap_open_w);
} else {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
"%sStop Capture: Requested filesize too large!%s\n\n"
- "The setting \"... after x byte(s)\" can't be greater than %u bytes (2GB).",
+ "The setting \"after x byte(s)\" can't be greater than %u bytes (2GB).",
simple_dialog_primary_start(), simple_dialog_primary_end(), G_MAXINT);
return FALSE;
}
#define GRAPH_A_B_BT_KEY "graph-a-b-button"
#define GRAPH_B_A_BT_KEY "graph-b-a-button"
#define NO_BPS_STR "N/A"
+#define CONV_DLG_HEIGHT 550
#define CMP_NUM(n1, n2) \
if ((n1) > (n2)) \
GtkWidget *graph_b_a_bt;
gboolean add_follow_stream_button = FALSE;
gboolean add_graph_buttons = FALSE;
- gint tl_width, ct_width, ct_height;
+ window_geometry_t tl_geom;
conversations=g_new0(conversations_table,1);
conversations->win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(conversations->win), TRUE);
- gtk_window_set_default_size(GTK_WINDOW(conversations->win), 750, 400);
+ window_get_geometry(top_level, &tl_geom);
+ gtk_window_set_default_size(GTK_WINDOW(conversations->win), tl_geom.width * 8 / 10, CONV_DLG_HEIGHT);
- vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 3, FALSE);
+ vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_add(GTK_CONTAINER(conversations->win), vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN);
ret = init_ct_table_page(conversations, vbox, hide_ports, table_name, tap_name, filter, packet_func);
if(ret == FALSE) {
if (add_graph_buttons) {
/* Graph A->B */
graph_a_b_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_A_B);
- gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph A->B.");
+ gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph traffic from address A to address B.");
g_object_set_data(G_OBJECT(graph_a_b_bt), E_DFILTER_TE_KEY, main_display_filter_widget);
g_object_set_data(G_OBJECT(graph_a_b_bt), CONV_PTR_KEY, conversations);
g_signal_connect(graph_a_b_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)FALSE);
/* Graph B->A */
graph_b_a_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_B_A);
- gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph B->A.");
+ gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph traffic from address B to address A.");
g_object_set_data(G_OBJECT(graph_b_a_bt), E_DFILTER_TE_KEY, main_display_filter_widget);
g_object_set_data(G_OBJECT(graph_b_a_bt), CONV_PTR_KEY, conversations);
g_signal_connect(graph_b_a_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)TRUE);
/* Initially there is no conversation selection to reselect */
conversations->reselection_idx = -1;
- gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL);
- gtk_window_get_size(GTK_WINDOW(conversations->win), &ct_width, &ct_height);
- tl_width = tl_width * 8 / 10;
- if (tl_width > ct_width) {
- gtk_window_resize(GTK_WINDOW(conversations->win), tl_width, ct_height);
- }
-
gtk_widget_show_all(conversations->win);
window_present(conversations->win);
if (strcmp(((conversations_table *)pages[page])->name, "TCP") == 0) {
gtk_widget_set_tooltip_text(follow_stream_bt, "Follow TCP Stream.");
gtk_widget_set_sensitive(follow_stream_bt, TRUE);
- gtk_widget_set_tooltip_text(follow_stream_bt, "Graph A->B.");
+ gtk_widget_set_tooltip_text(follow_stream_bt, "Graph traffic from address A to address B.");
gtk_widget_set_sensitive(graph_a_b_bt, TRUE);
gtk_widget_set_sensitive(graph_b_a_bt, TRUE);
} else if (strcmp(((conversations_table *)pages[page])->name, "UDP") == 0) {
GtkWidget *follow_stream_bt;
GtkWidget *graph_a_b_bt;
GtkWidget *graph_b_a_bt;
- gint tl_width, cn_width, cn_height;
+ window_geometry_t tl_geom;
pages = (void **)g_malloc(sizeof(void *) * (g_slist_length(registered_ct_tables) + 1));
win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(win), TRUE);
- gtk_window_set_default_size(GTK_WINDOW(win), 750, 400);
+ window_get_geometry(top_level, &tl_geom);
+ gtk_window_set_default_size(GTK_WINDOW(win), tl_geom.width * 8 / 10, CONV_DLG_HEIGHT);
- vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 6, FALSE);
+ vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_add(GTK_CONTAINER(win), vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN);
nb = gtk_notebook_new();
gtk_box_pack_start(GTK_BOX (vbox), nb, TRUE, TRUE, 0);
pages[0] = GINT_TO_POINTER(page);
- hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3, FALSE);
+ hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DLG_UNRELATED_SPACING, FALSE);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
resolv_cb = gtk_check_button_new_with_mnemonic("Name resolution");
g_signal_connect(resolv_cb, "toggled", G_CALLBACK(ct_resolve_toggle_dest), pages);
filter_cb = gtk_check_button_new_with_mnemonic("Limit to display filter");
- gtk_box_pack_start(GTK_BOX (hbox), filter_cb, FALSE, FALSE, DLG_UNRELATED_SPACING);
+ gtk_box_pack_start(GTK_BOX (hbox), filter_cb, FALSE, FALSE, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filter_cb), FALSE);
gtk_widget_set_tooltip_text(filter_cb, "Limit the list to conversations matching the current display filter.");
g_signal_connect(filter_cb, "toggled", G_CALLBACK(ct_filter_toggle_dest), pages);
/* Graph A->B */
graph_a_b_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_A_B);
- gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph A->B.");
+ gtk_widget_set_tooltip_text(graph_a_b_bt, "Graph traffic from address A to address B.");
g_object_set_data(G_OBJECT(graph_a_b_bt), E_DFILTER_TE_KEY, main_display_filter_widget);
g_object_set_data(G_OBJECT(graph_a_b_bt), CONV_PTR_KEY, pages[page]);
g_signal_connect(graph_a_b_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)FALSE);
/* Graph B->A */
graph_b_a_bt = (GtkWidget *)g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_GRAPH_B_A);
- gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph B->A.");
+ gtk_widget_set_tooltip_text(graph_b_a_bt, "Graph traffic from address B to address A.");
g_object_set_data(G_OBJECT(graph_b_a_bt), E_DFILTER_TE_KEY, main_display_filter_widget);
g_object_set_data(G_OBJECT(graph_b_a_bt), CONV_PTR_KEY, pages[page]);
g_signal_connect(graph_b_a_bt, "clicked", G_CALLBACK(graph_cb), (gpointer)TRUE);
g_signal_connect(win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(win, "destroy", G_CALLBACK(ct_win_destroy_notebook_cb), pages);
- gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL);
- gtk_window_get_size(GTK_WINDOW(win), &cn_width, &cn_height);
- tl_width = tl_width * 8 / 10;
- if (tl_width > cn_width) {
- gtk_window_resize(GTK_WINDOW(win), tl_width, cn_height);
- }
-
gtk_widget_show_all(win);
window_present(win);
#define HOST_PTR_KEY "hostlist-pointer"
#define NB_PAGES_KEY "notebook-pages"
+#define HL_DLG_HEIGHT 550
#define CMP_INT(i1, i2) \
if ((i1) > (i2)) \
#ifdef HAVE_GEOIP
GtkWidget *map_bt;
#endif
- gint tl_width, ht_width, ht_height;
+ window_geometry_t tl_geom;
hosttable=g_new(hostlist_table,1);
hosttable->win = dlg_window_new(title); /* transient_for top_level */
gtk_window_set_destroy_with_parent (GTK_WINDOW(hosttable->win), TRUE);
- gtk_window_set_default_size(GTK_WINDOW(hosttable->win), 750, 400);
+ window_get_geometry(top_level, &tl_geom);
+ gtk_window_set_default_size(GTK_WINDOW(hosttable->win), tl_geom.width * 8 / 10, HL_DLG_HEIGHT);
- vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 3, FALSE);
+ vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_add(GTK_CONTAINER(hosttable->win), vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN);
ret = init_hostlist_table_page(hosttable, vbox, hide_ports, table_name, tap_name, filter, packet_func);
if(ret == FALSE) {
g_signal_connect(hosttable->win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(hosttable->win, "destroy", G_CALLBACK(hostlist_win_destroy_cb), hosttable);
- gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL);
- gtk_window_get_size(GTK_WINDOW(hosttable->win), &ht_width, &ht_height);
- tl_width = tl_width * 8 / 10;
- if (tl_width > ht_width) {
- gtk_window_resize(GTK_WINDOW(hosttable->win), tl_width, ht_height);
- }
-
gtk_widget_show_all(hosttable->win);
window_present(hosttable->win);
#ifdef HAVE_GEOIP
GtkWidget *map_bt;
#endif
- gint tl_width, hn_width, hn_height;
-
+ window_geometry_t tl_geom;
pages = (void **)g_malloc(sizeof(void *) * (g_slist_length(registered_hostlist_tables) + 1));
g_snprintf(title, sizeof(title), "Endpoints: %s", display_name);
g_free(display_name);
gtk_window_set_title(GTK_WINDOW(win), title);
- gtk_window_set_default_size(GTK_WINDOW(win), 750, 400);
- vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 6, FALSE);
+ window_get_geometry(top_level, &tl_geom);
+ gtk_window_set_default_size(GTK_WINDOW(win), tl_geom.width * 8 / 10, HL_DLG_HEIGHT);
+
+ vbox=ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_add(GTK_CONTAINER(win), vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), DLG_OUTER_MARGIN);
nb = gtk_notebook_new();
gtk_box_pack_start(GTK_BOX(vbox), nb, TRUE, TRUE, 0);
pages[0] = GINT_TO_POINTER(page);
- hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3, FALSE);
+ hbox = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DLG_UNRELATED_SPACING, FALSE);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
resolv_cb = gtk_check_button_new_with_mnemonic("Name resolution");
g_signal_connect(resolv_cb, "toggled", G_CALLBACK(hostlist_resolve_toggle_dest), pages);
filter_cb = gtk_check_button_new_with_mnemonic("Limit to display filter");
- gtk_box_pack_start(GTK_BOX(hbox), filter_cb, FALSE, FALSE, DLG_UNRELATED_SPACING);
+ gtk_box_pack_start(GTK_BOX(hbox), filter_cb, FALSE, FALSE, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filter_cb), FALSE);
gtk_widget_set_tooltip_text(filter_cb, "Limit the list to endpoints matching the current display filter.");
g_signal_connect(win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
g_signal_connect(win, "destroy", G_CALLBACK(hostlist_win_destroy_notebook_cb), pages);
- gtk_window_get_size(GTK_WINDOW(top_level), &tl_width, NULL);
- gtk_window_get_size(GTK_WINDOW(win), &hn_width, &hn_height);
- tl_width = tl_width * 8 / 10;
- if (tl_width > hn_width) {
- gtk_window_resize(GTK_WINDOW(win), tl_width, hn_height);
- }
-
gtk_widget_show_all(win);
window_present(win);
#include "ui/gtk/stock_icons.h"
#include "ui/gtk/toolbar_icons.h"
+#include "ui/utf8_entities.h"
/* these icons are derived from the original stock icons */
#include "../../image/toolbar/capture_interfaces_24.xpm"
#ifdef HAVE_GEOIP
{ (char *)WIRESHARK_STOCK_MAP, (char *)"Map", NO_MOD, 0, NULL },
#endif
- { (char *)WIRESHARK_STOCK_GRAPH_A_B, (char *)"Graph A->B", NO_MOD, 0, NULL },
- { (char *)WIRESHARK_STOCK_GRAPH_B_A, (char *)"Graph B->A", NO_MOD, 0, NULL },
+ { (char *)WIRESHARK_STOCK_GRAPH_A_B, (char *)"Graph A" UTF8_RIGHTWARDS_ARROW "B", NO_MOD, 0, NULL },
+ { (char *)WIRESHARK_STOCK_GRAPH_B_A, (char *)"Graph B" UTF8_RIGHTWARDS_ARROW "A", NO_MOD, 0, NULL },
{ (char *)WIRESHARK_STOCK_FOLLOW_STREAM, (char *)"Follow Stream", NO_MOD, 0, NULL },
{ (char *)WIRESHARK_STOCK_DISPLAY_FILTER, (char *)"Display _Filter", NO_MOD, 0, NULL },
{ (char *)WIRESHARK_STOCK_DISPLAY_FILTER_ENTRY, (char *)"F_ilter:", NO_MOD, 0, NULL },