aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2004-01-21 21:19:34 +0000
committerUlf Lamping <ulf.lamping@web.de>2004-01-21 21:19:34 +0000
commit8e2a930023b7d8c86d8be142a01679a57c25e411 (patch)
treeb01c1b776bcd8de0d4a71cf67505cf3b289f3772 /gtk
parentd4b591b7dde96261093dca869e495adc5f6d39c9 (diff)
implemented dlg_button_row_new to get a standard function for
layouting the dialog buttons, and use it where appropriate. This will help us with the GTK1/2 conflict on button layouts and will also result in a more consistent look of the dialogs at all. svn path=/trunk/; revision=9771
Diffstat (limited to 'gtk')
-rw-r--r--gtk/ansi_a_stat.c25
-rw-r--r--gtk/ansi_map_stat.c25
-rw-r--r--gtk/bootp_stat.c27
-rw-r--r--gtk/capture_dlg.c16
-rw-r--r--gtk/capture_info_dlg.c17
-rw-r--r--gtk/capture_prefs.c48
-rw-r--r--gtk/color_dlg.c78
-rw-r--r--gtk/dcerpc_stat.c21
-rw-r--r--gtk/decode_as_dlg.c65
-rw-r--r--gtk/dfilter_expr_dlg.c27
-rw-r--r--gtk/display_opts.c23
-rw-r--r--gtk/dlg_utils.c217
-rw-r--r--gtk/dlg_utils.h6
-rw-r--r--gtk/fc_stat.c27
-rw-r--r--gtk/filter_prefs.c40
-rw-r--r--gtk/find_dlg.c22
-rw-r--r--gtk/goto_dlg.c16
-rw-r--r--gtk/gsm_a_stat.c25
-rw-r--r--gtk/help_dlg.c14
-rw-r--r--gtk/http_stat.c23
-rw-r--r--gtk/isup_stat.c25
-rw-r--r--gtk/ldap_stat.c27
-rw-r--r--gtk/main.c11
-rw-r--r--gtk/plugins_dlg.c38
-rw-r--r--gtk/prefs_dlg.c26
-rw-r--r--gtk/print_dlg.c19
-rw-r--r--gtk/proto_dlg.c27
-rw-r--r--gtk/proto_draw.c20
-rw-r--r--gtk/proto_hier_stats_dlg.c44
-rw-r--r--gtk/rpc_stat.c27
-rw-r--r--gtk/simple_dialog.c31
-rw-r--r--gtk/smb_stat.c27
-rw-r--r--gtk/summary_dlg.c15
-rw-r--r--gtk/supported_protos_dlg.c19
-rw-r--r--gtk/tap_dfilter_dlg.c23
-rw-r--r--gtk/tcp_graph.c39
-rw-r--r--gtk/wsp_stat.c23
37 files changed, 559 insertions, 644 deletions
diff --git a/gtk/ansi_a_stat.c b/gtk/ansi_a_stat.c
index f5ce8c2f2a..383f08726d 100644
--- a/gtk/ansi_a_stat.c
+++ b/gtk/ansi_a_stat.c
@@ -5,7 +5,7 @@
*
* MUCH code modified from service_response_time_table.c.
*
- * $Id: ansi_a_stat.c,v 1.8 2004/01/21 03:54:28 ulfl Exp $
+ * $Id: ansi_a_stat.c,v 1.9 2004/01/21 21:19:31 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -302,7 +302,7 @@ ansi_a_stat_gtk_win_create(
GtkWidget *column_lb;
GtkWidget *vbox;
GtkWidget *bt_close;
- GtkWidget *hbuttonbox;
+ GtkWidget *bbox;
GtkWidget *dialog_vbox;
GtkWidget *dialog_action_area;
@@ -319,21 +319,12 @@ ansi_a_stat_gtk_win_create(
gtk_widget_show(dialog_action_area);
gtk_container_set_border_width(GTK_CONTAINER(dialog_action_area), 10);
- hbuttonbox = gtk_hbutton_box_new();
- gtk_widget_ref(hbuttonbox);
- OBJECT_SET_DATA_FULL(dlg_p->win, "hbuttonbox", hbuttonbox,
- gtk_widget_unref);
- gtk_widget_show(hbuttonbox);
- gtk_box_pack_start(GTK_BOX(dialog_action_area), hbuttonbox, FALSE, FALSE, 0);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 0);
-
- bt_close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_widget_ref(bt_close);
- OBJECT_SET_DATA_FULL(dlg_p->win, "bt_close", bt_close, gtk_widget_unref);
- gtk_widget_show(bt_close);
- gtk_container_add(GTK_CONTAINER(hbuttonbox), bt_close);
- GTK_WIDGET_SET_FLAGS(bt_close, GTK_CAN_DEFAULT);
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_action_area), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+
+ bt_close = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+ gtk_widget_grab_default(bt_close);
SIGNAL_CONNECT(bt_close, "clicked", ansi_a_stat_gtk_dlg_close_cb, dlg_p);
vbox = gtk_vbox_new(FALSE, 0);
diff --git a/gtk/ansi_map_stat.c b/gtk/ansi_map_stat.c
index c7fbbfadeb..a6db667b93 100644
--- a/gtk/ansi_map_stat.c
+++ b/gtk/ansi_map_stat.c
@@ -5,7 +5,7 @@
*
* MUCH code modified from service_response_time_table.c.
*
- * $Id: ansi_map_stat.c,v 1.11 2004/01/21 03:54:28 ulfl Exp $
+ * $Id: ansi_map_stat.c,v 1.12 2004/01/21 21:19:31 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -275,7 +275,7 @@ ansi_map_stat_gtk_win_create(
GtkWidget *column_lb;
GtkWidget *vbox;
GtkWidget *bt_close;
- GtkWidget *hbuttonbox;
+ GtkWidget *bbox;
GtkWidget *dialog_vbox;
GtkWidget *dialog_action_area;
@@ -292,21 +292,12 @@ ansi_map_stat_gtk_win_create(
gtk_widget_show(dialog_action_area);
gtk_container_set_border_width(GTK_CONTAINER(dialog_action_area), 10);
- hbuttonbox = gtk_hbutton_box_new();
- gtk_widget_ref(hbuttonbox);
- OBJECT_SET_DATA_FULL(dlg_p->win, "hbuttonbox", hbuttonbox,
- gtk_widget_unref);
- gtk_widget_show(hbuttonbox);
- gtk_box_pack_start(GTK_BOX(dialog_action_area), hbuttonbox, FALSE, FALSE, 0);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 0);
-
- bt_close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_widget_ref(bt_close);
- OBJECT_SET_DATA_FULL(dlg_p->win, "bt_close", bt_close, gtk_widget_unref);
- gtk_widget_show(bt_close);
- gtk_container_add(GTK_CONTAINER(hbuttonbox), bt_close);
- GTK_WIDGET_SET_FLAGS(bt_close, GTK_CAN_DEFAULT);
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_action_area), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+
+ bt_close = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+ gtk_widget_grab_default(bt_close);
SIGNAL_CONNECT(bt_close, "clicked", ansi_map_stat_gtk_dlg_close_cb, dlg_p);
vbox = gtk_vbox_new(FALSE, 0);
diff --git a/gtk/bootp_stat.c b/gtk/bootp_stat.c
index fd21c96323..4ee74a86d1 100644
--- a/gtk/bootp_stat.c
+++ b/gtk/bootp_stat.c
@@ -1,7 +1,7 @@
/* bootp_stat.c
* boop_stat 2003 Jean-Michel FAYARD
*
- * $Id: bootp_stat.c,v 1.13 2004/01/21 03:54:28 ulfl Exp $
+ * $Id: bootp_stat.c,v 1.14 2004/01/21 21:19:31 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -322,26 +322,17 @@ gtk_dhcpstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
dhcp_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
-
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
+
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/capture_dlg.c b/gtk/capture_dlg.c
index 88c075a87a..6df849f6c0 100644
--- a/gtk/capture_dlg.c
+++ b/gtk/capture_dlg.c
@@ -1,7 +1,7 @@
/* capture_dlg.c
* Routines for packet capture windows
*
- * $Id: capture_dlg.c,v 1.95 2004/01/21 03:54:28 ulfl Exp $
+ * $Id: capture_dlg.c,v 1.96 2004/01/21 21:19:31 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -643,24 +643,16 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(t_resolv_cb);
/* Button row: OK and cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(ok_bt, "clicked", capture_prep_ok_cb, cap_open_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", capture_prep_close_cb, cap_open_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_widget_show(cancel_bt);
/* Attach pointers to needed widgets to the capture prefs window/object */
OBJECT_SET_DATA(cap_open_w, E_CAP_IFACE_KEY, if_cb);
diff --git a/gtk/capture_info_dlg.c b/gtk/capture_info_dlg.c
index 74657955b3..56265aaf26 100644
--- a/gtk/capture_info_dlg.c
+++ b/gtk/capture_info_dlg.c
@@ -1,7 +1,7 @@
/* capture_info_dlg.c
* Routines for packet capture info dialog
*
- * $Id: capture_info_dlg.c,v 1.10 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: capture_info_dlg.c,v 1.11 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -88,7 +88,7 @@ capture_info *cinfo)
{
unsigned int i;
GtkWidget *main_vb, *stop_bt, *counts_tb;
- GtkWidget *counts_fr, *running_tb, *running_label;
+ GtkWidget *counts_fr, *running_tb, *running_label, *bbox;
capture_info_ui_t *info;
info = g_malloc0(sizeof(capture_info_ui_t));
@@ -202,17 +202,16 @@ capture_info *cinfo)
/* allow user to either click a stop button, or the close button on
the window to stop a capture in progress. */
- stop_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_STOP);
+ bbox = dlg_button_row_new(GTK_STOCK_STOP, NULL);
+ gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 3);
+ gtk_widget_show(bbox);
+
+ stop_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_STOP);
+ gtk_widget_grab_default(stop_bt);
SIGNAL_CONNECT(stop_bt, "clicked", capture_info_stop_cb,
cinfo->callback_data);
SIGNAL_CONNECT(info->cap_w, "delete_event", capture_info_delete_cb,
cinfo->callback_data);
- gtk_box_pack_start(GTK_BOX(main_vb), stop_bt, FALSE, FALSE, 3);
- GTK_WIDGET_SET_FLAGS(stop_bt, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(stop_bt);
- GTK_WIDGET_SET_FLAGS(stop_bt, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(stop_bt);
- gtk_widget_show(stop_bt);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Stop" button had
diff --git a/gtk/capture_prefs.c b/gtk/capture_prefs.c
index 47c44efcff..3575db971d 100644
--- a/gtk/capture_prefs.c
+++ b/gtk/capture_prefs.c
@@ -1,7 +1,7 @@
/* capture_prefs.c
* Dialog box for capture preferences
*
- * $Id: capture_prefs.c,v 1.26 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: capture_prefs.c,v 1.27 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -218,7 +218,7 @@ static void
ifopts_edit_cb(GtkWidget *w, gpointer data _U_)
{
GtkWidget *ifopts_edit_dlg, *cur_scr_win, *if_scr_win, *main_hb, *main_tb,
- *cur_opts_fr, *ed_opts_fr,
+ *cur_opts_fr, *ed_opts_fr, *main_vb,
*if_clist, *if_descr_lb, *if_hide_lb,
*bbox, *ok_bt, *cancel_bt;
gchar *cur_titles[IFOPTS_CLIST_COLS] = { "dev-nodisp", "Interface",
@@ -237,18 +237,20 @@ ifopts_edit_cb(GtkWidget *w, gpointer data _U_)
}
/* create a new dialog */
- ifopts_edit_dlg = gtk_dialog_new();
- gtk_window_set_title(GTK_WINDOW(ifopts_edit_dlg),
- "Ethereal: Preferences: Interface Options");
+ ifopts_edit_dlg = dlg_window_new("Ethereal: Preferences: Interface Options");
+ /*gtk_window_set_title(GTK_WINDOW(ifopts_edit_dlg),
+ "Ethereal: Preferences: Interface Options");*/
SIGNAL_CONNECT(ifopts_edit_dlg, "destroy", ifopts_edit_destroy_cb, NULL);
SIGNAL_CONNECT(ifopts_edit_dlg, "realize", window_icon_realize_cb, NULL);
- gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(ifopts_edit_dlg)->vbox),
- 5);
+ main_vb = gtk_vbox_new(FALSE, 1);
+ gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
+ gtk_container_add(GTK_CONTAINER(ifopts_edit_dlg), main_vb);
+ gtk_widget_show(main_vb);
+
/* create current options frame */
cur_opts_fr = gtk_frame_new("Current options");
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(ifopts_edit_dlg)->vbox),
- cur_opts_fr);
+ gtk_container_add(GTK_CONTAINER(main_vb), cur_opts_fr);
gtk_widget_show(cur_opts_fr);
/* create a scrolled window to pack the current options CList widget into */
@@ -276,8 +278,7 @@ ifopts_edit_cb(GtkWidget *w, gpointer data _U_)
/* create edit options frame */
ed_opts_fr = gtk_frame_new("Edit interface options");
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(ifopts_edit_dlg)->vbox),
- ed_opts_fr);
+ gtk_container_add(GTK_CONTAINER(main_vb), ed_opts_fr);
gtk_widget_show(ed_opts_fr);
main_hb = gtk_hbox_new(TRUE, 5);
@@ -341,29 +342,16 @@ ifopts_edit_cb(GtkWidget *w, gpointer data _U_)
gtk_widget_show(if_hide_cb);
/* button row: OK and Cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 10);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(ifopts_edit_dlg)->action_area), bbox,
- TRUE, FALSE, 0);
- gtk_widget_show(bbox);
-
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
- /* Connect the OK button callback */
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ gtk_widget_grab_default(ok_bt);
SIGNAL_CONNECT(ok_bt, "clicked", ifopts_edit_ok_cb, ifopts_edit_dlg);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_container_add(GTK_CONTAINER(bbox), ok_bt);
- gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
-
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- /* Connect the Cancel button callback to destroy the widget */
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", ifopts_edit_close_cb, ifopts_edit_dlg);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_container_add(GTK_CONTAINER(bbox), cancel_bt);
- gtk_widget_show(cancel_bt);
/* Call a handler when we're destroyed, so we can inform
our caller, if any, that we've been destroyed. */
diff --git a/gtk/color_dlg.c b/gtk/color_dlg.c
index 9165497bd9..0ed6b08269 100644
--- a/gtk/color_dlg.c
+++ b/gtk/color_dlg.c
@@ -1,7 +1,7 @@
/* color_dlg.c
* Definitions for dialog boxes for color filters
*
- * $Id: color_dlg.c,v 1.34 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: color_dlg.c,v 1.35 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -439,43 +439,20 @@ colorize_dialog_new (char *filter)
gtk_widget_set_sensitive (color_filter_down, FALSE);
- /* button_ok_hbox is bottom button row */
- button_ok_hbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (button_ok_hbox), GTK_BUTTONBOX_END);
- gtk_widget_ref (button_ok_hbox);
- OBJECT_SET_DATA_FULL(color_win, "button_ok_hbox", button_ok_hbox, gtk_widget_unref);
- gtk_widget_show (button_ok_hbox);
+ /* Button row: OK and cancel buttons */
+ button_ok_hbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_SAVE, GTK_STOCK_CLOSE/*, GTK_STOCK_CANCEL*/, NULL);
gtk_box_pack_start (GTK_BOX (dlg_vbox), button_ok_hbox, FALSE, FALSE, 5);
+ gtk_widget_show(button_ok_hbox);
- color_ok = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- gtk_widget_ref (color_ok);
- OBJECT_SET_DATA_FULL(color_win, "color_ok", color_ok, gtk_widget_unref);
- gtk_widget_show (color_ok);
- gtk_box_pack_start (GTK_BOX (button_ok_hbox), color_ok, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, color_ok, ("Accept filter list; apply changes"), NULL);
-
- color_apply = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
- gtk_widget_ref (color_apply);
- OBJECT_SET_DATA_FULL(color_win, "color_apply", color_apply, gtk_widget_unref);
- gtk_widget_show (color_apply);
- gtk_box_pack_start (GTK_BOX (button_ok_hbox), color_apply, FALSE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, color_apply, ("Apply filters in list"), NULL);
-
- color_save = BUTTON_NEW_FROM_STOCK(GTK_STOCK_SAVE);
- gtk_widget_ref(color_save);
- OBJECT_SET_DATA_FULL(color_win, "color_save", color_save, gtk_widget_unref);
- gtk_widget_show(color_save);
- gtk_box_pack_start(GTK_BOX (button_ok_hbox), color_save, FALSE, FALSE, 0);
- gtk_tooltips_set_tip(tooltips, color_save, ("Save all filters to disk"), NULL);
-
- /* button changed from cancel to close, as changes are currently not reverted */
- /* color_cancel = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL); */
- color_cancel = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_widget_ref (color_cancel);
- OBJECT_SET_DATA_FULL(color_win, "color_cancel", color_cancel, gtk_widget_unref);
- gtk_widget_show (color_cancel);
- gtk_box_pack_start (GTK_BOX (button_ok_hbox), color_cancel, TRUE, FALSE, 0);
- gtk_tooltips_set_tip (tooltips, color_cancel, ("No more filter changes; don't apply"), NULL);
+ color_ok = OBJECT_GET_DATA(button_ok_hbox, GTK_STOCK_OK);
+ gtk_widget_grab_default(color_ok);
+
+ color_apply = OBJECT_GET_DATA(button_ok_hbox, GTK_STOCK_APPLY);
+
+ color_save = OBJECT_GET_DATA(button_ok_hbox, GTK_STOCK_SAVE);
+
+/* color_cancel = OBJECT_GET_DATA(button_ok_hbox, GTK_STOCK_CANCEL);*/
+ color_cancel = OBJECT_GET_DATA(button_ok_hbox, GTK_STOCK_CLOSE);
/* signals and such */
SIGNAL_CONNECT(color_win, "destroy", color_destroy_cb, NULL);
@@ -1185,7 +1162,7 @@ edit_color_filter_dialog_new(GtkWidget *color_filters,
GtkWidget *colorize_filter_fg;
GtkWidget *colorize_filter_bg;
- GtkWidget *button_hbox;
+ GtkWidget *bbox;
GtkWidget *edit_color_filter_ok;
GtkWidget *edit_color_filter_cancel;
@@ -1342,28 +1319,17 @@ edit_color_filter_dialog_new(GtkWidget *color_filters,
gtk_tooltips_set_tip (tooltips, colorize_filter_bg, ("Select background color for data display"), NULL);
- /* button hbox (placement defaults coming from main.c) */
- button_hbox = gtk_hbutton_box_new();
- gtk_widget_ref (button_hbox);
- OBJECT_SET_DATA_FULL(edit_dialog, "button_hbox", button_hbox, gtk_widget_unref);
- gtk_container_set_border_width (GTK_CONTAINER (button_hbox), 0);
- gtk_widget_show (button_hbox);
- gtk_box_pack_start (GTK_BOX (dialog_vbox), button_hbox, FALSE, FALSE, 5);
+ /* button box */
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_vbox), bbox, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (bbox), 0);
+ gtk_widget_show(bbox);
- edit_color_filter_ok = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- gtk_widget_ref (edit_color_filter_ok);
- OBJECT_SET_DATA_FULL(edit_dialog, "edit_color_filter_ok", edit_color_filter_ok,
- gtk_widget_unref);
- gtk_widget_show (edit_color_filter_ok);
- gtk_box_pack_start (GTK_BOX (button_hbox), edit_color_filter_ok, TRUE, FALSE, 0);
+ edit_color_filter_ok = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ gtk_widget_grab_default(edit_color_filter_ok);
gtk_tooltips_set_tip (tooltips, edit_color_filter_ok, ("Accept filter color change"), NULL);
- edit_color_filter_cancel = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- gtk_widget_ref (edit_color_filter_cancel);
- OBJECT_SET_DATA_FULL(edit_dialog, "edit_color_filter_cancel",
- edit_color_filter_cancel, gtk_widget_unref);
- gtk_widget_show (edit_color_filter_cancel);
- gtk_box_pack_start (GTK_BOX (button_hbox), edit_color_filter_cancel, TRUE, FALSE, 0);
+ edit_color_filter_cancel = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
gtk_tooltips_set_tip (tooltips, edit_color_filter_cancel, ("Reject filter color change"), NULL);
diff --git a/gtk/dcerpc_stat.c b/gtk/dcerpc_stat.c
index 79d4910d28..1e1f7d3c72 100644
--- a/gtk/dcerpc_stat.c
+++ b/gtk/dcerpc_stat.c
@@ -1,7 +1,7 @@
/* dcerpc_stat.c
* dcerpc_stat 2002 Ronnie Sahlberg
*
- * $Id: dcerpc_stat.c,v 1.43 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: dcerpc_stat.c,v 1.44 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -643,26 +643,17 @@ gtk_dcerpcstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
SIGNAL_CONNECT_OBJECT(start_button, "clicked",
dcerpcstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/decode_as_dlg.c b/gtk/decode_as_dlg.c
index 07ffff29f9..a57d4d23c2 100644
--- a/gtk/decode_as_dlg.c
+++ b/gtk/decode_as_dlg.c
@@ -1,6 +1,6 @@
/* decode_as_dlg.c
*
- * $Id: decode_as_dlg.c,v 1.34 2004/01/10 16:27:40 ulfl Exp $
+ * $Id: decode_as_dlg.c,v 1.35 2004/01/21 21:19:32 ulfl Exp $
*
* Routines to modify dissector tables on the fly.
*
@@ -459,7 +459,7 @@ decode_show_destroy_cb (GtkWidget *win _U_, gpointer user_data _U_)
void
decode_show_cb (GtkWidget * w _U_, gpointer data _U_)
{
- GtkWidget *main_vb, *bbox, *ok_bt, *button, *scrolled_window;
+ GtkWidget *main_vb, *bbox, *ok_bt, *clear_bt, *scrolled_window;
gchar *titles[E_LIST_D_COLUMNS] = {
"Table", "Port", "Initial", "Current"
};
@@ -536,27 +536,25 @@ decode_show_cb (GtkWidget * w _U_, gpointer data _U_)
WIDGET_SET_SIZE(scrolled_window, -1, E_DECODE_MIN_HEIGHT);
}
- /* Button row: OK and reset buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 10);
+ /* Button row */
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CLEAR, NULL);
+ gtk_container_add(GTK_CONTAINER(main_vb), bbox);
+ gtk_widget_show(bbox);
- button = gtk_button_new_with_label("Reset Changes");
- SIGNAL_CONNECT(button, "clicked", decode_show_reset_cb, decode_show_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ SIGNAL_CONNECT(ok_bt, "clicked", decode_show_ok_cb, decode_show_w);
+ gtk_widget_grab_default(ok_bt);
+
+ clear_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLEAR);
+ SIGNAL_CONNECT(clear_bt, "clicked", decode_show_reset_cb, decode_show_w);
+
#if GTK_MAJOR_VERSION < 2
- gtk_widget_set_sensitive(button, (list->rows != 0));
+ gtk_widget_set_sensitive(clear_bt, (list->rows != 0));
#else
- gtk_widget_set_sensitive(button,
+ gtk_widget_set_sensitive(clear_bt,
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter));
#endif
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- SIGNAL_CONNECT(ok_bt, "clicked", decode_show_ok_cb, decode_show_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), ok_bt, FALSE, FALSE, 0);
- gtk_widget_grab_default(ok_bt);
+
dlg_set_cancel(decode_show_w, ok_bt);
gtk_widget_show_all(decode_show_w);
@@ -1477,35 +1475,28 @@ decode_as_cb (GtkWidget * w _U_, gpointer data _U_)
button_vb = decode_add_yes_no();
gtk_box_pack_start(GTK_BOX(format_hb), button_vb, TRUE, TRUE, 10);
+ button = gtk_button_new_with_label("Show Current");
+ SIGNAL_CONNECT(button, "clicked", decode_show_cb, decode_w);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ gtk_box_pack_start(GTK_BOX(button_vb), button, FALSE, FALSE, 0);
+
decode_add_notebook(format_hb);
}
- /* Button row: OK, Apply and cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 10);
+ /* Button row */
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CANCEL, NULL);
+ gtk_container_add(GTK_CONTAINER(main_vb), bbox);
+ gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(ok_bt, "clicked", decode_ok_cb, decode_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), ok_bt, FALSE, FALSE, 0);
gtk_widget_grab_default(ok_bt);
- apply_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
+ apply_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_APPLY);
SIGNAL_CONNECT(apply_bt, "clicked", decode_apply_cb, decode_w);
- GTK_WIDGET_SET_FLAGS(apply_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), apply_bt, FALSE, FALSE, 0);
-
- button = gtk_button_new_with_label("Show Current");
- SIGNAL_CONNECT(button, "clicked", decode_show_cb, decode_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", decode_cancel_cb, decode_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_bt, FALSE, FALSE, 0);
/*
* Catch the "key_press_event" signal in the window, so that
diff --git a/gtk/dfilter_expr_dlg.c b/gtk/dfilter_expr_dlg.c
index 690fbe5bb0..0a990a90f1 100644
--- a/gtk/dfilter_expr_dlg.c
+++ b/gtk/dfilter_expr_dlg.c
@@ -7,7 +7,7 @@
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com> and
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: dfilter_expr_dlg.c,v 1.45 2004/01/10 16:27:41 ulfl Exp $
+ * $Id: dfilter_expr_dlg.c,v 1.46 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1090,7 +1090,7 @@ dfilter_expr_dlg_new(GtkWidget *filter_te)
GtkWidget *range_label, *range_entry;
GtkWidget *value_vb;
GtkWidget *value_label, *value_entry, *value_list_scrolled_win, *value_list;
- GtkWidget *list_bb, *alignment, *accept_bt, *close_bt;
+ GtkWidget *list_bb, *accept_bt, *close_bt;
header_field_info *hfinfo;
int i;
protocol_t *protocol;
@@ -1414,30 +1414,19 @@ dfilter_expr_dlg_new(GtkWidget *filter_te)
gtk_widget_show_all(tree);
- list_bb = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(list_bb), GTK_BUTTONBOX_START);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(list_bb), 5);
- gtk_container_add(GTK_CONTAINER(main_vb), list_bb);
+
+ list_bb = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(main_vb), list_bb, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (list_bb), 0);
gtk_widget_show(list_bb);
- accept_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ accept_bt = OBJECT_GET_DATA(list_bb, GTK_STOCK_OK);
gtk_widget_set_sensitive(accept_bt, FALSE);
SIGNAL_CONNECT(accept_bt, "clicked", dfilter_expr_dlg_accept_cb, filter_te);
- GTK_WIDGET_SET_FLAGS(accept_bt, GTK_CAN_DEFAULT);
- alignment = gtk_alignment_new(0.0, 0.5, 1.0, 0.0);
- gtk_container_add(GTK_CONTAINER(alignment), accept_bt);
- gtk_box_pack_start(GTK_BOX(list_bb), alignment, TRUE, TRUE, 0);
gtk_widget_grab_default(accept_bt);
- gtk_widget_show(accept_bt);
- gtk_widget_show(alignment);
- close_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ close_bt = OBJECT_GET_DATA(list_bb, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(close_bt, "clicked", dfilter_expr_dlg_cancel_cb, window);
- alignment = gtk_alignment_new(0.0, 0.5, 1.0, 0.0);
- gtk_container_add(GTK_CONTAINER(alignment), close_bt);
- gtk_box_pack_start(GTK_BOX(list_bb), alignment, TRUE, TRUE, 0);
- gtk_widget_show(close_bt);
- gtk_widget_show(alignment);
/* Catch the "activate" signal on the range and value text entries,
so that if the user types Return there, we act as if the "Accept"
diff --git a/gtk/display_opts.c b/gtk/display_opts.c
index 92334425ef..0a87ea24c8 100644
--- a/gtk/display_opts.c
+++ b/gtk/display_opts.c
@@ -1,7 +1,7 @@
/* display_opts.c
* Routines for packet display windows
*
- * $Id: display_opts.c,v 1.35 2004/01/19 03:46:42 ulfl Exp $
+ * $Id: display_opts.c,v 1.36 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -126,30 +126,19 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_widget_show(button);
/* Button row: OK, Apply, and Cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_container_add(GTK_CONTAINER(main_vb), bbox);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_action_area), bbox, FALSE, FALSE, 0);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(ok_bt, "clicked", display_opt_ok_cb, display_opt_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- apply_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
+ apply_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_APPLY);
SIGNAL_CONNECT(apply_bt, "clicked", display_opt_apply_cb, display_opt_w);
- GTK_WIDGET_SET_FLAGS(apply_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), apply_bt, TRUE, TRUE, 0);
- gtk_widget_show(apply_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", display_opt_close_cb, display_opt_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_widget_show(cancel_bt);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Cancel" button had
diff --git a/gtk/dlg_utils.c b/gtk/dlg_utils.c
index 941056f7e7..e4f23cf40b 100644
--- a/gtk/dlg_utils.c
+++ b/gtk/dlg_utils.c
@@ -1,7 +1,7 @@
/* dlg_utils.c
* Utilities to use when constructing dialogs
*
- * $Id: dlg_utils.c,v 1.15 2004/01/07 00:10:51 ulfl Exp $
+ * $Id: dlg_utils.c,v 1.16 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -33,12 +33,227 @@
#include "ui_util.h"
#include "compat_macros.h"
+#include <string.h>
+#include <stdio.h>
+#include <stdarg.h>
+
static void
dlg_activate (GtkWidget *widget, gpointer ok_button);
static gint
dlg_key_press (GtkWidget *widget, GdkEventKey *event, gpointer cancel_button);
+
+
+/* create a button for the button row (helper for dlg_button_row_new) */
+static GtkWidget *
+dlg_button_new(GtkWidget *button_hbox, gchar *stock_id)
+{
+ GtkWidget *button;
+
+ button = BUTTON_NEW_FROM_STOCK(stock_id);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ OBJECT_SET_DATA(button_hbox, stock_id, button);
+ gtk_box_pack_start(GTK_BOX(button_hbox), button, FALSE, FALSE, 0);
+ gtk_widget_show(button);
+ return button;
+}
+
+
+/* create a button row for a dialog */
+
+/* The purpose of this is, to have one place available, where all button rows
+ * from all dialogs are layouted. This will:
+ *
+ * a.) keep the button layout more consistent over the different dialogs
+ * b.) being able to switch between different button layouts, e.g.:
+ * GTK1 (e.g. win32) "OK" "Apply" "Cancel"
+ * GTK2 (e.g. GNOME) "Apply" "Cancel" "OK"
+ */
+GtkWidget *
+dlg_button_row_new(gchar *stock_id_first, ...)
+{
+ gint buttons = 0;
+ GtkWidget *button_hbox;
+ va_list stock_id_list;
+ gchar *stock_id = stock_id_first;
+
+ gchar *ok = NULL;
+ gchar *apply = NULL;
+ gchar *save = NULL;
+ gchar *cancel = NULL;
+ gchar *close = NULL;
+ gchar *clear = NULL;
+ gchar *stop = NULL;
+ gchar *create_stat = NULL;
+ gchar *help = NULL;
+ gchar *print = NULL;
+ gchar *find = NULL;
+ gchar *jump = NULL;
+
+
+ va_start(stock_id_list, stock_id_first);
+
+ /* get all buttons needed */
+ while(stock_id != NULL) {
+ if (strcmp(stock_id, GTK_STOCK_OK) == 0) {
+ ok = stock_id;
+ } else if (strcmp(stock_id, ETHEREAL_STOCK_CREATE_STAT) == 0) {
+ create_stat = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_APPLY) == 0) {
+ apply = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_SAVE) == 0) {
+ save = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_CANCEL) == 0) {
+ cancel = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_CLOSE) == 0) {
+ close = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_CLEAR) == 0) {
+ clear = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_STOP) == 0) {
+ stop = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_HELP) == 0) {
+ help = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_PRINT) == 0) {
+ print = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_FIND) == 0) {
+ find = stock_id;
+ } else if (strcmp(stock_id, GTK_STOCK_JUMP_TO) == 0) {
+ jump = stock_id;
+ } else {
+ /* we don't know that button! */
+ g_assert_not_reached();
+ }
+ buttons++;
+ stock_id = va_arg(stock_id_list, gchar *);
+ }
+ va_end(stock_id_list);
+
+ /* we should have at least one button */
+ g_assert(buttons);
+
+ button_hbox = gtk_hbutton_box_new();
+
+ if (buttons == 1) {
+ /* if only one button, simply put it in the middle (default) */
+ dlg_button_new(button_hbox, stock_id_first);
+ return button_hbox;
+ } else {
+ /* if more than one button, sort buttons from left to right /*
+ /* (the whole button cluster will then be right aligned) */
+ gtk_button_box_set_layout (GTK_BUTTON_BOX(button_hbox), GTK_BUTTONBOX_END);
+ gtk_button_box_set_spacing(GTK_BUTTON_BOX(button_hbox), 5);
+ }
+
+#if /*!WIN32 ||*/ GTK_MAJOR_VERSION >= 2
+ /* beware: sequence of buttons are important! */
+
+ /* XXX: this can be implemented more elegant of course, but it works as it should */
+ if (buttons == 2) {
+ if (ok && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ if (print && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, print);
+ return button_hbox;
+ }
+ if (find && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, find);
+ return button_hbox;
+ }
+ if (jump && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, jump);
+ return button_hbox;
+ }
+ if (save && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, save);
+ return button_hbox;
+ }
+ if (ok && clear) {
+ dlg_button_new(button_hbox, clear);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ if (save && close) {
+ dlg_button_new(button_hbox, close);
+ dlg_button_new(button_hbox, save);
+ return button_hbox;
+ }
+ if (help && close) {
+ dlg_button_new(button_hbox, help);
+ dlg_button_new(button_hbox, close);
+ return button_hbox;
+ }
+ if (create_stat && cancel) {
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, create_stat);
+ return button_hbox;
+ }
+ }
+ if (buttons == 3) {
+ if (ok && save && close) {
+ dlg_button_new(button_hbox, save);
+ dlg_button_new(button_hbox, close);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ if (ok && apply && cancel) {
+ dlg_button_new(button_hbox, apply);
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ if (apply && save && close) {
+ dlg_button_new(button_hbox, save);
+ dlg_button_new(button_hbox, close);
+ dlg_button_new(button_hbox, apply);
+ return button_hbox;
+ }
+ }
+ if (buttons == 4) {
+ if (ok && apply && save && cancel) {
+ dlg_button_new(button_hbox, save);
+ dlg_button_new(button_hbox, apply);
+ dlg_button_new(button_hbox, cancel);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ if (ok && apply && save && close) {
+ dlg_button_new(button_hbox, save);
+ dlg_button_new(button_hbox, apply);
+ dlg_button_new(button_hbox, close);
+ dlg_button_new(button_hbox, ok);
+ return button_hbox;
+ }
+ }
+#endif
+
+ /* beware: sequence of buttons is important! */
+ if (help != NULL) dlg_button_new(button_hbox, help);
+ if (ok != NULL) dlg_button_new(button_hbox, ok);
+ if (jump != NULL) dlg_button_new(button_hbox, jump);
+ if (find != NULL) dlg_button_new(button_hbox, find);
+ if (print != NULL) dlg_button_new(button_hbox, print);
+ if (create_stat != NULL) dlg_button_new(button_hbox, create_stat);
+ if (apply != NULL) dlg_button_new(button_hbox, apply);
+ if (save != NULL) dlg_button_new(button_hbox, save);
+ if (stop != NULL) dlg_button_new(button_hbox, stop);
+ if (close != NULL) dlg_button_new(button_hbox, close);
+ if (clear != NULL) dlg_button_new(button_hbox, clear);
+ if (cancel != NULL) dlg_button_new(button_hbox, cancel);
+
+ /* GTK2: we don't know that button combination, add it to the above list! */
+ /* g_assert_not_reached(); */
+ return button_hbox;
+}
+
+
/* Create a dialog box window that belongs to Ethereal's main window. */
GtkWidget *
dlg_window_new(const gchar *title)
diff --git a/gtk/dlg_utils.h b/gtk/dlg_utils.h
index 81a3adaacd..176e308f81 100644
--- a/gtk/dlg_utils.h
+++ b/gtk/dlg_utils.h
@@ -1,7 +1,7 @@
/* dlg_utils.h
* Declarations of utilities to use when constructing dialogs
*
- * $Id: dlg_utils.h,v 1.8 2004/01/07 00:10:51 ulfl Exp $
+ * $Id: dlg_utils.h,v 1.9 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -32,6 +32,10 @@ extern GtkWidget *dlg_window_new(const gchar *);
main window. */
extern GtkWidget *file_selection_new(const gchar *);
+/* Create a button row for a dialog */
+/* the button widgets will be available by OBJECT_GET_DATA(stock_id) */
+extern GtkWidget *dlg_button_row_new(gchar *stock_id_first, ...);
+
/* Set the "activate" signal for a widget to call a routine to
activate the "OK" button for a dialog box. */
extern void dlg_set_activate(GtkWidget *widget, GtkWidget *ok_button);
diff --git a/gtk/fc_stat.c b/gtk/fc_stat.c
index 8b62523a26..f27a96e753 100644
--- a/gtk/fc_stat.c
+++ b/gtk/fc_stat.c
@@ -1,7 +1,7 @@
/* fc_stat.c
* fc_stat 2003 Ronnie Sahlberg
*
- * $Id: fc_stat.c,v 1.20 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: fc_stat.c,v 1.21 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -276,26 +276,17 @@ gtk_fcstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
fcstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
-
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
+
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/filter_prefs.c b/gtk/filter_prefs.c
index 03160a9c7a..88759f78aa 100644
--- a/gtk/filter_prefs.c
+++ b/gtk/filter_prefs.c
@@ -3,7 +3,7 @@
* (This used to be a notebook page under "Preferences", hence the
* "prefs" in the file name.)
*
- * $Id: filter_prefs.c,v 1.50 2004/01/21 05:35:42 ulfl Exp $
+ * $Id: filter_prefs.c,v 1.51 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -594,9 +594,19 @@ filter_dialog_new(GtkWidget *button, GtkWidget *parent_filter_te,
/* button row */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ if (parent_filter_te != NULL) {
+ if (construct_args->wants_apply_button) {
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_SAVE, GTK_STOCK_CLOSE, NULL);
+ } else {
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_SAVE, GTK_STOCK_CLOSE, NULL);
+ }
+ } else {
+ if (construct_args->wants_apply_button) {
+ bbox = dlg_button_row_new(GTK_STOCK_APPLY, GTK_STOCK_SAVE, GTK_STOCK_CLOSE, NULL);
+ } else {
+ bbox = dlg_button_row_new(GTK_STOCK_SAVE, GTK_STOCK_CLOSE, NULL);
+ }
+ }
gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
gtk_widget_show(bbox);
@@ -605,12 +615,9 @@ filter_dialog_new(GtkWidget *button, GtkWidget *parent_filter_te,
* We have a filter text entry that we can fill in if
* the "OK" button is clicked, so put in an "OK" button.
*/
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(ok_bt, "clicked", filter_dlg_ok_cb, NULL);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
/* Catch the "activate" signal on the filter name and filter
expression text entries, so that if the user types Return
@@ -622,24 +629,17 @@ filter_dialog_new(GtkWidget *button, GtkWidget *parent_filter_te,
}
if (construct_args->wants_apply_button) {
- apply_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
+ apply_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_APPLY);
SIGNAL_CONNECT(apply_bt, "clicked", filter_dlg_apply_cb, NULL);
- GTK_WIDGET_SET_FLAGS(apply_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), apply_bt, TRUE, TRUE, 0);
- gtk_widget_show(apply_bt);
}
- save_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_SAVE);
+ save_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_SAVE);
SIGNAL_CONNECT(save_bt, "clicked", filter_dlg_save_cb, filter_list_p);
- GTK_WIDGET_SET_FLAGS(save_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), save_bt, TRUE, TRUE, 0);
- gtk_widget_show(save_bt);
- close_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
SIGNAL_CONNECT(close_bt, "clicked", filter_dlg_close_cb, main_w);
- GTK_WIDGET_SET_FLAGS(close_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), close_bt, TRUE, TRUE, 0);
- gtk_widget_show(close_bt);
+ if (parent_filter_te == NULL)
+ gtk_widget_grab_default(close_bt);
/*
* Catch the "key_press_event" signal in the window, so that we can
diff --git a/gtk/find_dlg.c b/gtk/find_dlg.c
index e83561bb13..45b8c40278 100644
--- a/gtk/find_dlg.c
+++ b/gtk/find_dlg.c
@@ -1,7 +1,7 @@
/* find_dlg.c
* Routines for "find frame" window
*
- * $Id: find_dlg.c,v 1.42 2004/01/20 02:21:17 ulfl Exp $
+ * $Id: find_dlg.c,v 1.43 2004/01/21 21:19:32 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -287,27 +287,17 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_tooltips_set_tip (tooltips, case_cb, ("Search by mixed upper/lower case?"), NULL);
gtk_widget_show(case_cb);
- /* Button row: OK and cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_container_add(GTK_CONTAINER(main_vb), bbox);
+ /* Button row */
+ bbox = dlg_button_row_new(GTK_STOCK_FIND, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_FIND);
SIGNAL_CONNECT(ok_bt, "clicked", find_frame_ok_cb, find_frame_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
- gtk_tooltips_set_tip (tooltips, ok_bt, ("Perform search"), NULL);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", find_frame_close_cb, find_frame_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_tooltips_set_tip (tooltips, cancel_bt, ("Cancel search and exit"), NULL);
- gtk_widget_show(cancel_bt);
/* Attach pointers to needed widgets to the capture prefs window/object */
OBJECT_SET_DATA(find_frame_w, E_FIND_FILT_KEY, filter_text_box);
diff --git a/gtk/goto_dlg.c b/gtk/goto_dlg.c
index 7938e04b52..1a7d8d8394 100644
--- a/gtk/goto_dlg.c
+++ b/gtk/goto_dlg.c
@@ -1,7 +1,7 @@
/* goto_dlg.c
* Routines for "go to packet" window
*
- * $Id: goto_dlg.c,v 1.22 2004/01/10 16:27:41 ulfl Exp $
+ * $Id: goto_dlg.c,v 1.23 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -74,24 +74,16 @@ goto_frame_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(fnumber_te);
/* Button row: OK and cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(GTK_STOCK_JUMP_TO, GTK_STOCK_CANCEL, NULL);
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_JUMP_TO);
SIGNAL_CONNECT(ok_bt, "clicked", goto_frame_ok_cb, goto_frame_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", goto_frame_close_cb, goto_frame_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_widget_show(cancel_bt);
/* Attach pointers to needed widgets to the capture prefs window/object */
OBJECT_SET_DATA(goto_frame_w, E_GOTO_FNUMBER_KEY, fnumber_te);
diff --git a/gtk/gsm_a_stat.c b/gtk/gsm_a_stat.c
index be19909cdd..979fa01080 100644
--- a/gtk/gsm_a_stat.c
+++ b/gtk/gsm_a_stat.c
@@ -5,7 +5,7 @@
*
* MUCH code modified from service_response_time_table.c.
*
- * $Id: gsm_a_stat.c,v 1.8 2004/01/21 03:54:29 ulfl Exp $
+ * $Id: gsm_a_stat.c,v 1.9 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -385,7 +385,7 @@ gsm_a_stat_gtk_win_create(
GtkWidget *column_lb;
GtkWidget *vbox;
GtkWidget *bt_close;
- GtkWidget *hbuttonbox;
+ GtkWidget *bbox;
GtkWidget *dialog_vbox;
GtkWidget *dialog_action_area;
@@ -402,22 +402,13 @@ gsm_a_stat_gtk_win_create(
gtk_widget_show(dialog_action_area);
gtk_container_set_border_width(GTK_CONTAINER(dialog_action_area), 10);
- hbuttonbox = gtk_hbutton_box_new();
- gtk_widget_ref(hbuttonbox);
- OBJECT_SET_DATA_FULL(dlg_p->win, "hbuttonbox", hbuttonbox,
- gtk_widget_unref);
- gtk_widget_show(hbuttonbox);
- gtk_box_pack_start(GTK_BOX(dialog_action_area), hbuttonbox, FALSE, FALSE, 0);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 0);
-
- bt_close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_widget_ref(bt_close);
- OBJECT_SET_DATA_FULL(dlg_p->win, "bt_close", bt_close, gtk_widget_unref);
- gtk_widget_show(bt_close);
- gtk_container_add(GTK_CONTAINER(hbuttonbox), bt_close);
- GTK_WIDGET_SET_FLAGS(bt_close, GTK_CAN_DEFAULT);
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_action_area), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+
+ bt_close = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
SIGNAL_CONNECT(bt_close, "clicked", gsm_a_stat_gtk_dlg_close_cb, dlg_p);
+ gtk_widget_grab_default(bt_close);
vbox = gtk_vbox_new(FALSE, 0);
gtk_widget_ref(vbox);
diff --git a/gtk/help_dlg.c b/gtk/help_dlg.c
index 10949526ba..f1e06e9804 100644
--- a/gtk/help_dlg.c
+++ b/gtk/help_dlg.c
@@ -1,6 +1,6 @@
/* help_dlg.c
*
- * $Id: help_dlg.c,v 1.41 2004/01/10 16:27:41 ulfl Exp $
+ * $Id: help_dlg.c,v 1.42 2004/01/21 21:19:33 ulfl Exp $
*
* Laurent Deniel <laurent.deniel@free.fr>
*
@@ -187,16 +187,14 @@ void help_cb(GtkWidget *w _U_, gpointer data _U_)
gtk_widget_show(help_nb);
/* Buttons (only "Ok" for now) */
- bbox = gtk_hbutton_box_new();
- /*bbox = gtk_hbox_new(FALSE, 1);*/
- gtk_box_pack_end(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
+
+ gtk_box_pack_end(GTK_BOX(main_vb), bbox, FALSE, FALSE, 5);
gtk_widget_show(bbox);
- close_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(close_bt, "clicked", help_close_cb, help_w);
- GTK_WIDGET_SET_FLAGS(close_bt, GTK_CAN_DEFAULT);
- gtk_container_add(GTK_CONTAINER(bbox), close_bt);
gtk_widget_grab_default(close_bt);
- gtk_widget_show(close_bt);
gtk_quit_add_destroy(gtk_main_level(), GTK_OBJECT(help_w));
diff --git a/gtk/http_stat.c b/gtk/http_stat.c
index 19decf102a..e8d8d7a296 100644
--- a/gtk/http_stat.c
+++ b/gtk/http_stat.c
@@ -1,7 +1,7 @@
/* http_stat.c
* http_stat 2003 Jean-Michel FAYARD
*
- * $Id: http_stat.c,v 1.15 2004/01/21 03:54:30 ulfl Exp $
+ * $Id: http_stat.c,v 1.16 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -567,26 +567,17 @@ gtk_httpstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
httpstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/isup_stat.c b/gtk/isup_stat.c
index a46aba9bc9..330e613ea6 100644
--- a/gtk/isup_stat.c
+++ b/gtk/isup_stat.c
@@ -5,7 +5,7 @@
*
* MUCH code modified from service_response_time_table.c.
*
- * $Id: isup_stat.c,v 1.11 2004/01/21 03:54:30 ulfl Exp $
+ * $Id: isup_stat.c,v 1.12 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -277,7 +277,7 @@ isup_stat_gtk_win_create(
GtkWidget *column_lb;
GtkWidget *vbox;
GtkWidget *bt_close;
- GtkWidget *hbuttonbox;
+ GtkWidget *bbox;
GtkWidget *dialog_vbox;
GtkWidget *dialog_action_area;
@@ -294,22 +294,13 @@ isup_stat_gtk_win_create(
gtk_widget_show(dialog_action_area);
gtk_container_set_border_width(GTK_CONTAINER(dialog_action_area), 10);
- hbuttonbox = gtk_hbutton_box_new();
- gtk_widget_ref(hbuttonbox);
- OBJECT_SET_DATA_FULL(dlg_p->win, "hbuttonbox", hbuttonbox,
- gtk_widget_unref);
- gtk_widget_show(hbuttonbox);
- gtk_box_pack_start(GTK_BOX(dialog_action_area), hbuttonbox, FALSE, FALSE, 0);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 0);
-
- bt_close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_widget_ref(bt_close);
- OBJECT_SET_DATA_FULL(dlg_p->win, "bt_close", bt_close, gtk_widget_unref);
- gtk_widget_show(bt_close);
- gtk_container_add(GTK_CONTAINER(hbuttonbox), bt_close);
- GTK_WIDGET_SET_FLAGS(bt_close, GTK_CAN_DEFAULT);
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_start(GTK_BOX(dialog_action_area), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+
+ bt_close = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
SIGNAL_CONNECT(bt_close, "clicked", isup_stat_gtk_dlg_close_cb, dlg_p);
+ gtk_widget_grab_default(bt_close);
vbox = gtk_vbox_new(FALSE, 0);
gtk_widget_ref(vbox);
diff --git a/gtk/ldap_stat.c b/gtk/ldap_stat.c
index d86d71cc0d..6e9c0e891d 100644
--- a/gtk/ldap_stat.c
+++ b/gtk/ldap_stat.c
@@ -1,7 +1,7 @@
/* ldap_stat.c
* ldap_stat 2003 Ronnie Sahlberg
*
- * $Id: ldap_stat.c,v 1.8 2004/01/21 03:54:30 ulfl Exp $
+ * $Id: ldap_stat.c,v 1.9 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -311,26 +311,17 @@ gtk_ldapstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
ldapstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
-
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
+
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/main.c b/gtk/main.c
index 0fa174a7f3..7ae4c8df8f 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -1,6 +1,6 @@
/* main.c
*
- * $Id: main.c,v 1.365 2004/01/21 09:00:48 guy Exp $
+ * $Id: main.c,v 1.366 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -242,17 +242,13 @@ about_ethereal( GtkWidget *w _U_, gpointer data _U_ ) {
gtk_widget_show(msg_label);
/* Button row */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- ok_btn = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_btn = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT_OBJECT(ok_btn, "clicked", gtk_widget_destroy, win);
- gtk_container_add(GTK_CONTAINER(bbox), ok_btn);
- GTK_WIDGET_SET_FLAGS(ok_btn, GTK_CAN_DEFAULT);
gtk_widget_grab_default(ok_btn);
- gtk_widget_show(ok_btn);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Cancel" button had
@@ -3241,7 +3237,6 @@ create_main_window (gint pl_size, gint tv_size, gint bv_size, e_prefs *prefs)
/* Main Toolbar */
main_tb = toolbar_new();
- //gtk_box_pack_start(GTK_BOX(main_vbox), main_tb, FALSE, TRUE, 0);
gtk_widget_show (main_tb);
/* Packet list */
diff --git a/gtk/plugins_dlg.c b/gtk/plugins_dlg.c
index 35b0c5e3dd..1278aa7e75 100644
--- a/gtk/plugins_dlg.c
+++ b/gtk/plugins_dlg.c
@@ -1,7 +1,7 @@
/* plugins_dlg.c
* Dialog boxes for plugins
*
- * $Id: plugins_dlg.c,v 1.32 2004/01/10 16:27:42 ulfl Exp $
+ * $Id: plugins_dlg.c,v 1.33 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -54,9 +54,8 @@ tools_plugins_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
GtkWidget *frame_hbox;
GtkWidget *scrolledwindow;
GtkWidget *plugins_list;
- GtkWidget *frame_vbnbox;
- GtkWidget *main_hbnbox;
- GtkWidget *close_bn;
+ GtkWidget *bbox;
+ GtkWidget *ok_bt;
gchar *titles[] = {"Name", "Version"};
#if GTK_MAJOR_VERSION >= 2
GtkListStore *store;
@@ -115,31 +114,18 @@ tools_plugins_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
#endif
gtk_widget_show(plugins_list);
- frame_vbnbox = gtk_vbutton_box_new();
- gtk_box_pack_start(GTK_BOX(frame_hbox), frame_vbnbox, FALSE, TRUE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(frame_vbnbox), 5);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(frame_vbnbox),
- GTK_BUTTONBOX_SPREAD);
- gtk_widget_show(frame_vbnbox);
-
- main_hbnbox = gtk_hbutton_box_new();
- gtk_box_pack_start(GTK_BOX(main_vbox), main_hbnbox, FALSE, TRUE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(main_hbnbox), 5);
- gtk_button_box_set_layout(GTK_BUTTON_BOX(main_hbnbox),
- GTK_BUTTONBOX_SPREAD);
- gtk_widget_show(main_hbnbox);
-
- close_bn = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- gtk_container_add(GTK_CONTAINER(main_hbnbox), close_bn);
- GTK_WIDGET_SET_FLAGS(close_bn, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(close_bn);
- gtk_widget_show(close_bn);
- SIGNAL_CONNECT(close_bn, "clicked", plugins_close_cb, plugins_window);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
+ gtk_box_pack_end(GTK_BOX(main_vbox), bbox, FALSE, FALSE, 3);
+ gtk_widget_show(bbox);
+
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ SIGNAL_CONNECT(ok_bt, "clicked", plugins_close_cb, plugins_window);
+ gtk_widget_grab_default(ok_bt);
/* Catch the "key_press_event" signal in the window, so that we can catch
- the ESC key being pressed and act as if the "Cancel" button had
+ the ESC key being pressed and act as if the "OK" button had
been selected. */
- dlg_set_cancel(plugins_window, close_bn);
+ dlg_set_cancel(plugins_window, ok_bt);
gtk_widget_show(plugins_window);
diff --git a/gtk/prefs_dlg.c b/gtk/prefs_dlg.c
index 27af15896f..55f258a9b0 100644
--- a/gtk/prefs_dlg.c
+++ b/gtk/prefs_dlg.c
@@ -1,7 +1,7 @@
/* prefs_dlg.c
* Routines for handling preferences
*
- * $Id: prefs_dlg.c,v 1.73 2004/01/21 12:19:19 oabad Exp $
+ * $Id: prefs_dlg.c,v 1.74 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -593,36 +593,22 @@ prefs_cb(GtkWidget *w _U_, gpointer dummy _U_)
prefs_module_list_foreach(NULL, module_prefs_show, &cts);
/* Button row: OK and cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_SAVE, GTK_STOCK_CANCEL, NULL);
gtk_container_add(GTK_CONTAINER(cts.main_vb), bbox);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(ok_bt, "clicked", prefs_main_ok_cb, prefs_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- apply_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
+ apply_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_APPLY);
SIGNAL_CONNECT(apply_bt, "clicked", prefs_main_apply_cb, prefs_w);
- GTK_WIDGET_SET_FLAGS(apply_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX (bbox), apply_bt, TRUE, TRUE, 0);
- gtk_widget_show(apply_bt);
- save_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_SAVE);
+ save_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_SAVE);
SIGNAL_CONNECT(save_bt, "clicked", prefs_main_save_cb, prefs_w);
- GTK_WIDGET_SET_FLAGS(save_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), save_bt, TRUE, TRUE, 0);
- gtk_widget_show(save_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", prefs_main_cancel_cb, prefs_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_widget_show(cancel_bt);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Cancel" button had
diff --git a/gtk/print_dlg.c b/gtk/print_dlg.c
index 07cb243442..b7a9ecc1c9 100644
--- a/gtk/print_dlg.c
+++ b/gtk/print_dlg.c
@@ -1,7 +1,7 @@
/* print_dlg.c
* Dialog boxes for printing
*
- * $Id: print_dlg.c,v 1.55 2004/01/21 03:54:30 ulfl Exp $
+ * $Id: print_dlg.c,v 1.56 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -647,14 +647,12 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
/*****************************************************/
- /* Button row: OK and Cancel buttons */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ /* Button row */
+ bbox = dlg_button_row_new(GTK_STOCK_PRINT, GTK_STOCK_CANCEL, NULL);
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- ok_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_PRINT);
OBJECT_SET_DATA(ok_bt, PRINT_FORMAT_RB_KEY, format_rb);
OBJECT_SET_DATA(ok_bt, PRINT_DEST_CB_KEY, dest_cb);
#ifndef _WIN32
@@ -667,18 +665,11 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
OBJECT_SET_DATA(ok_bt, PRINT_AS_DISPLAYED_RB_KEY, as_displayed_rb);
OBJECT_SET_DATA(ok_bt, PRINT_EXPAND_ALL_RB_KEY, expand_all_rb);
SIGNAL_CONNECT(ok_bt, "clicked", print_ok_cb, print_w);
- GTK_WIDGET_SET_FLAGS(ok_bt, GTK_CAN_DEFAULT);
- gtk_tooltips_set_tip (tooltips, ok_bt, ("Perform printing"), NULL);
- gtk_box_pack_start (GTK_BOX (bbox), ok_bt, TRUE, TRUE, 0);
gtk_widget_grab_default(ok_bt);
- gtk_widget_show(ok_bt);
- cancel_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_bt, "clicked", print_close_cb, print_w);
- GTK_WIDGET_SET_FLAGS(cancel_bt, GTK_CAN_DEFAULT);
gtk_tooltips_set_tip (tooltips, cancel_bt, ("Cancel print and exit dialog"), NULL);
- gtk_box_pack_start (GTK_BOX (bbox), cancel_bt, TRUE, TRUE, 0);
- gtk_widget_show(cancel_bt);
/* Catch the "activate" signal on the "Command" and "File" text entries,
so that if the user types Return there, we act as if the "OK" button
diff --git a/gtk/proto_dlg.c b/gtk/proto_dlg.c
index 70af41d213..3f7fa24ea5 100644
--- a/gtk/proto_dlg.c
+++ b/gtk/proto_dlg.c
@@ -1,6 +1,6 @@
/* proto_dlg.c
*
- * $Id: proto_dlg.c,v 1.29 2004/01/10 16:27:42 ulfl Exp $
+ * $Id: proto_dlg.c,v 1.30 2004/01/21 21:19:33 ulfl Exp $
*
* Laurent Deniel <laurent.deniel@free.fr>
*
@@ -219,37 +219,22 @@ proto_cb(GtkWidget *w _U_, gpointer data _U_)
/* Ok, Apply, Cancel Buttons */
-
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_APPLY, GTK_STOCK_SAVE, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
gtk_widget_show(bbox);
- button = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
+ button = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
SIGNAL_CONNECT(button, "clicked", proto_ok_cb, proto_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX (bbox), button, TRUE, TRUE, 0);
gtk_widget_grab_default(button);
- gtk_widget_show(button);
- button = BUTTON_NEW_FROM_STOCK(GTK_STOCK_APPLY);
+ button = OBJECT_GET_DATA(bbox, GTK_STOCK_APPLY);
SIGNAL_CONNECT(button, "clicked", proto_apply_cb, proto_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX (bbox), button, TRUE, TRUE, 0);
- gtk_widget_show(button);
- button = BUTTON_NEW_FROM_STOCK(GTK_STOCK_SAVE);
+ button = OBJECT_GET_DATA(bbox, GTK_STOCK_SAVE);
SIGNAL_CONNECT(button, "clicked", proto_save_cb, proto_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX (bbox), button, TRUE, TRUE, 0);
- gtk_widget_show(button);
- button = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(button, "clicked", proto_cancel_cb, proto_w);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX (bbox), button, TRUE, TRUE, 0);
- gtk_widget_show(button);
dlg_set_cancel(proto_w, button);
diff --git a/gtk/proto_draw.c b/gtk/proto_draw.c
index 11912b5e79..a149872d54 100644
--- a/gtk/proto_draw.c
+++ b/gtk/proto_draw.c
@@ -1,7 +1,7 @@
/* proto_draw.c
* Routines for GTK+ packet display
*
- * $Id: proto_draw.c,v 1.80 2004/01/21 03:54:30 ulfl Exp $
+ * $Id: proto_draw.c,v 1.81 2004/01/21 21:19:33 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -812,26 +812,18 @@ void savehex_cb(GtkWidget * w _U_, gpointer data _U_)
gtk_widget_show(file_box);
/* Now, the button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ bbox = dlg_button_row_new(GTK_STOCK_SAVE, GTK_STOCK_CANCEL, NULL);
+ gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
/* the save button */
- save_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_SAVE);
+ save_button = OBJECT_GET_DATA(bbox, GTK_STOCK_SAVE);
SIGNAL_CONNECT_OBJECT(save_button, "clicked",
savehex_save_clicked_cb, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), save_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(save_button, GTK_CAN_DEFAULT);
gtk_widget_grab_default(save_button);
- gtk_widget_show(save_button);
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_button, "clicked", savehex_dlg_cancel_cb, savehex_dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/proto_hier_stats_dlg.c b/gtk/proto_hier_stats_dlg.c
index 2336804a68..9a3a534b8e 100644
--- a/gtk/proto_hier_stats_dlg.c
+++ b/gtk/proto_hier_stats_dlg.c
@@ -1,6 +1,6 @@
/* proto_hier_stats_dlg.c
*
- * $Id: proto_hier_stats_dlg.c,v 1.13 2004/01/10 16:27:42 ulfl Exp $
+ * $Id: proto_hier_stats_dlg.c,v 1.14 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -270,13 +270,11 @@ create_tree(GtkWidget *container, ph_stats_t *ps)
ph_stats_free(ps);
}
-#define WNAME "Protocol Hierarchy Statistics"
-
void
proto_hier_stats_cb(GtkWidget *w _U_, gpointer d _U_)
{
ph_stats_t *ps;
- GtkWidget *dlg, *bt, *vbox, *frame, *bbox;
+ GtkWidget *dlg, *ok_bt, *vbox, *bbox;
/* Get the statistics. */
ps = ph_stats_new();
@@ -286,36 +284,28 @@ proto_hier_stats_cb(GtkWidget *w _U_, gpointer d _U_)
return;
}
- dlg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(dlg), "Ethereal: " WNAME);
- SIGNAL_CONNECT(dlg, "realize", window_icon_realize_cb, NULL);
+ dlg = dlg_window_new("Ethereal: Protocol Hierarchy Statistics");
vbox = gtk_vbox_new(FALSE, 5);
gtk_container_border_width(GTK_CONTAINER(vbox), 5);
gtk_container_add(GTK_CONTAINER(dlg), vbox);
- frame = gtk_frame_new(WNAME);
- /*gtk_container_add(GTK_CONTAINER(vbox), frame);*/
- gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
+ /* Data section */
+ create_tree(vbox, ps);
+
+ /* Button row. */
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
+ gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ SIGNAL_CONNECT_OBJECT(ok_bt, "clicked", gtk_widget_destroy, dlg);
+ gtk_widget_grab_default(ok_bt);
- /* Data section */
- create_tree(frame, ps);
-
- /* Button row. We put it in an HButtonBox to
- * keep it from expanding to the width of the window. */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
- /*gtk_container_add(GTK_CONTAINER(vbox), bbox);*/
- gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
-
- /* Close button */
- bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- SIGNAL_CONNECT_OBJECT(bt, "clicked", gtk_widget_destroy, dlg);
- gtk_container_add(GTK_CONTAINER(bbox), bt);
- GTK_WIDGET_SET_FLAGS(bt, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(bt);
- dlg_set_cancel(dlg, bt);
+ /* Catch the "key_press_event" signal in the window, so that we can catch
+ the ESC key being pressed and act as if the "OK" button had
+ been selected. */
+ dlg_set_cancel(dlg, ok_bt);
gtk_widget_show_all(dlg);
diff --git a/gtk/rpc_stat.c b/gtk/rpc_stat.c
index e5364bef77..9e869ce045 100644
--- a/gtk/rpc_stat.c
+++ b/gtk/rpc_stat.c
@@ -1,7 +1,7 @@
/* rpc_stat.c
* rpc_stat 2002 Ronnie Sahlberg
*
- * $Id: rpc_stat.c,v 1.33 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: rpc_stat.c,v 1.34 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -486,26 +486,17 @@ gtk_rpcstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
rpcstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
-
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
+
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/simple_dialog.c b/gtk/simple_dialog.c
index 6451d9ff3f..8e601e4787 100644
--- a/gtk/simple_dialog.c
+++ b/gtk/simple_dialog.c
@@ -1,7 +1,7 @@
/* simple_dialog.c
* Simple message dialog box routines.
*
- * $Id: simple_dialog.c,v 1.15 2004/01/10 16:27:42 ulfl Exp $
+ * $Id: simple_dialog.c,v 1.16 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -64,7 +64,7 @@ static const gchar bm_key[] = "button mask";
void
simple_dialog(gint type, gint *btn_mask, gchar *msg_format, ...) {
GtkWidget *win, *main_vb, *top_hb, *type_pm, *msg_label,
- *bbox, *ok_btn, *cancel_btn;
+ *bbox, *ok_bt, *cancel_bt;
GdkPixmap *pixmap;
GdkBitmap *mask;
GtkStyle *style;
@@ -128,34 +128,31 @@ simple_dialog(gint type, gint *btn_mask, gchar *msg_format, ...) {
gtk_widget_show(msg_label);
/* Button row */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
+ if (btn_mask && *btn_mask == ESD_BTN_CANCEL) {
+ bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL);
+ } else {
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
+ }
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- ok_btn = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- SIGNAL_CONNECT_OBJECT(ok_btn, "clicked", gtk_widget_destroy, win);
- gtk_container_add(GTK_CONTAINER(bbox), ok_btn);
- GTK_WIDGET_SET_FLAGS(ok_btn, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(ok_btn);
- gtk_widget_show(ok_btn);
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ SIGNAL_CONNECT_OBJECT(ok_bt, "clicked", gtk_widget_destroy, win);
+ gtk_widget_grab_default(ok_bt);
if (btn_mask && *btn_mask == ESD_BTN_CANCEL) {
- cancel_btn = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_btn, "clicked", simple_dialog_cancel_cb, win);
- gtk_container_add(GTK_CONTAINER(bbox), cancel_btn);
- GTK_WIDGET_SET_FLAGS(cancel_btn, GTK_CAN_DEFAULT);
- gtk_widget_show(cancel_btn);
+ cancel_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_bt, "clicked", simple_dialog_cancel_cb, win);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Cancel" button had
been selected. */
- dlg_set_cancel(win, cancel_btn);
+ dlg_set_cancel(win, cancel_bt);
} else {
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "OK" button had
been selected. */
- dlg_set_cancel(win, ok_btn);
+ dlg_set_cancel(win, ok_bt);
}
if (btn_mask)
diff --git a/gtk/smb_stat.c b/gtk/smb_stat.c
index b6427fbc1c..c0a485249f 100644
--- a/gtk/smb_stat.c
+++ b/gtk/smb_stat.c
@@ -1,7 +1,7 @@
/* smb_stat.c
* smb_stat 2003 Ronnie Sahlberg
*
- * $Id: smb_stat.c,v 1.31 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: smb_stat.c,v 1.32 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -316,26 +316,17 @@ gtk_smbstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox=gtk_hbutton_box_new();
- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
smbstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
-
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
- SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
+
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
+ SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/summary_dlg.c b/gtk/summary_dlg.c
index e8205f4637..1a4843fa9b 100644
--- a/gtk/summary_dlg.c
+++ b/gtk/summary_dlg.c
@@ -1,7 +1,7 @@
/* summary_dlg.c
* Routines for capture file summary window
*
- * $Id: summary_dlg.c,v 1.22 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: summary_dlg.c,v 1.23 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -257,21 +257,14 @@ summary_open_cb(GtkWidget *w _U_, gpointer d _U_)
add_string_to_box(string_buff, capture_box);
#endif
- /* Button row: close button.
- (We put it in an HButtonBox, even though there's only one of them,
- so that it doesn't expand to the width of the window. */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ /* Button row. */
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
gtk_container_add(GTK_CONTAINER(main_vb), bbox);
gtk_widget_show(bbox);
- /* Create Close Button */
- close_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
SIGNAL_CONNECT_OBJECT(close_bt, "clicked", gtk_widget_destroy, sum_open_w);
- GTK_WIDGET_SET_FLAGS(close_bt, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), close_bt, FALSE,FALSE, 0);
gtk_widget_grab_default(close_bt);
- gtk_widget_show(close_bt);
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Close" button had
diff --git a/gtk/supported_protos_dlg.c b/gtk/supported_protos_dlg.c
index ed05cfb2fa..2972167c7d 100644
--- a/gtk/supported_protos_dlg.c
+++ b/gtk/supported_protos_dlg.c
@@ -80,7 +80,7 @@ static GtkWidget *proto_text, *dfilter_text;
void supported_cb(GtkWidget *w _U_, gpointer data _U_)
{
- GtkWidget *main_vb, *bbox, *supported_nb, *close_bt, *label, *txt_scrollw,
+ GtkWidget *main_vb, *bbox, *supported_nb, *ok_bt, *label, *txt_scrollw,
*proto_vb,
#if GTK_MAJOR_VERSION < 2
*dfilter_tb, *dfilter_vsb;
@@ -219,24 +219,21 @@ void supported_cb(GtkWidget *w _U_, gpointer data _U_)
gtk_widget_show(supported_nb);
- /* Buttons ("Close" only one for now) */
- bbox = gtk_hbutton_box_new();
- /*bbox = gtk_hbox_new(FALSE, 1);*/
+ /* Button row */
+ bbox = dlg_button_row_new(GTK_STOCK_OK, NULL);
gtk_box_pack_end(GTK_BOX(main_vb), bbox, FALSE, FALSE, 0);
gtk_widget_show(bbox);
- close_bt = BUTTON_NEW_FROM_STOCK(GTK_STOCK_OK);
- SIGNAL_CONNECT(close_bt, "clicked", supported_close_cb, supported_w);
- GTK_WIDGET_SET_FLAGS(close_bt, GTK_CAN_DEFAULT);
- gtk_container_add(GTK_CONTAINER(bbox), close_bt);
- gtk_widget_grab_default(close_bt);
- gtk_widget_show(close_bt);
+
+ ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_OK);
+ SIGNAL_CONNECT(ok_bt, "clicked", supported_close_cb, supported_w);
+ gtk_widget_grab_default(ok_bt);
gtk_quit_add_destroy(gtk_main_level(), GTK_OBJECT(supported_w));
/* Catch the "key_press_event" signal in the window, so that we can catch
the ESC key being pressed and act as if the "Cancel" button had
been selected. */
- dlg_set_cancel(supported_w, close_bt);
+ dlg_set_cancel(supported_w, ok_bt);
gtk_widget_show(supported_w);
diff --git a/gtk/tap_dfilter_dlg.c b/gtk/tap_dfilter_dlg.c
index 9cdb30b784..84c8fae6c0 100644
--- a/gtk/tap_dfilter_dlg.c
+++ b/gtk/tap_dfilter_dlg.c
@@ -2,7 +2,7 @@
* Routines for display filter dialog used by gui taps
* Copyright 2003 Lars Roland
*
- * $Id: tap_dfilter_dlg.c,v 1.4 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: tap_dfilter_dlg.c,v 1.5 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -199,26 +199,17 @@ gtk_tap_dfilter_dlg_cb(GtkWidget *w _U_, gpointer data)
gtk_widget_show(filter_box);
/* button box */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT(start_button, "clicked",
tap_dfilter_dlg_start_button_clicked, current_dlg);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, current_dlg->dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"
diff --git a/gtk/tcp_graph.c b/gtk/tcp_graph.c
index 1d0ad609aa..f477262839 100644
--- a/gtk/tcp_graph.c
+++ b/gtk/tcp_graph.c
@@ -3,7 +3,7 @@
* By Pavel Mores <pvl@uh.cz>
* Win32 port: rwh@unifiedtech.com
*
- * $Id: tcp_graph.c,v 1.45 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: tcp_graph.c,v 1.46 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -48,6 +48,7 @@
#include "compat_macros.h"
#include "etypes.h"
#include "ppptypes.h"
+#include "dlg_utils.h"
/* from <net/ethernet.h> */
struct ether_header {
@@ -853,7 +854,7 @@ static void control_panel_create (struct graph *g)
{
GtkWidget *toplevel, *notebook;
GtkWidget *table;
- GtkWidget *help, *close, *button_box;
+ GtkWidget *help_bt, *close_bt, *bbox;
#define WINDOW_TITLE_LENGTH 64
char window_title[WINDOW_TITLE_LENGTH];
@@ -866,13 +867,6 @@ static void control_panel_create (struct graph *g)
control_panel_add_cross_page (g, notebook);
control_panel_add_graph_type_page (g, notebook);
- /* bottom buttons group */
- help = BUTTON_NEW_FROM_STOCK(GTK_STOCK_HELP);
- close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- button_box = gtk_hbox_new (TRUE, 0);
- gtk_box_pack_start (GTK_BOX (button_box), help, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (button_box), close, TRUE, TRUE, 0);
-
toplevel = gtk_window_new (GTK_WINDOW_TOPLEVEL);
SIGNAL_CONNECT(toplevel, "realize", window_icon_realize_cb, NULL);
SIGNAL_CONNECT(toplevel, "destroy", callback_toplevel_destroy, g);
@@ -882,11 +876,19 @@ static void control_panel_create (struct graph *g)
gtk_table_attach (GTK_TABLE (table), notebook, 0, 1, 0, 1,
GTK_FILL|GTK_EXPAND, GTK_FILL, 5, 5);
- gtk_table_attach (GTK_TABLE (table), button_box, 0, 1, 1, 2,
+
+ /* bottom buttons */
+ bbox = dlg_button_row_new(GTK_STOCK_HELP, GTK_STOCK_CLOSE, NULL);
+ gtk_table_attach (GTK_TABLE (table), bbox, 0, 1, 1, 2,
GTK_FILL|GTK_EXPAND, GTK_FILL, 5, 5);
+ gtk_widget_show(bbox);
+
+ help_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_HELP);
+ SIGNAL_CONNECT(help_bt, "clicked", callback_create_help, g);
- SIGNAL_CONNECT(close, "clicked", callback_close, g);
- SIGNAL_CONNECT(help, "clicked", callback_create_help, g);
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+ gtk_widget_grab_default(close_bt);
+ SIGNAL_CONNECT(close_bt, "clicked", callback_close, g);
/* gtk_widget_show_all (table); */
/* g->gui.control_panel = table; */
@@ -1006,7 +1008,7 @@ static void callback_close (GtkWidget *widget _U_, gpointer data)
static void callback_create_help(GtkWidget *widget _U_, gpointer data _U_)
{
- GtkWidget *toplevel, *box, *text, *scroll, *close;
+ GtkWidget *toplevel, *box, *text, *scroll, *bbox, *close_bt;
#if GTK_MAJOR_VERSION < 2
struct graph *g = (struct graph * )data;
#else
@@ -1037,9 +1039,14 @@ static void callback_create_help(GtkWidget *widget _U_, gpointer data _U_)
gtk_text_buffer_set_text(buf, helptext, -1);
#endif
gtk_container_add (GTK_CONTAINER (scroll), text);
- close = BUTTON_NEW_FROM_STOCK(GTK_STOCK_CLOSE);
- gtk_box_pack_start (GTK_BOX (box), close, FALSE, FALSE, 0);
- SIGNAL_CONNECT(close, "clicked", callback_close_help, toplevel);
+
+ bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+ gtk_box_pack_start (GTK_BOX (box), bbox, FALSE, FALSE, 0);
+ gtk_widget_show(bbox);
+
+ close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+ SIGNAL_CONNECT(close_bt, "clicked", callback_close_help, toplevel);
+ gtk_widget_grab_default(close_bt);
gtk_widget_show_all (toplevel);
}
diff --git a/gtk/wsp_stat.c b/gtk/wsp_stat.c
index 0e72e36223..5e3be3bc4a 100644
--- a/gtk/wsp_stat.c
+++ b/gtk/wsp_stat.c
@@ -1,7 +1,7 @@
/* wsp_stat.c
* wsp_stat 2003 Jean-Michel FAYARD
*
- * $Id: wsp_stat.c,v 1.13 2004/01/21 03:54:31 ulfl Exp $
+ * $Id: wsp_stat.c,v 1.14 2004/01/21 21:19:34 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -471,26 +471,17 @@ gtk_wspstat_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(filter_box);
/* button box */
- bbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_DEFAULT_STYLE);
- gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);
+ bbox = dlg_button_row_new(ETHEREAL_STOCK_CREATE_STAT, GTK_STOCK_CANCEL, NULL);
gtk_box_pack_start(GTK_BOX(dlg_box), bbox, FALSE, FALSE, 0);
- gtk_widget_show(bbox);
+ gtk_widget_show(bbox);
- /* the start button */
- start_button=BUTTON_NEW_FROM_STOCK(ETHEREAL_STOCK_CREATE_STAT);
- SIGNAL_CONNECT_OBJECT(start_button, "clicked",
+ start_button = OBJECT_GET_DATA(bbox, ETHEREAL_STOCK_CREATE_STAT);
+ gtk_widget_grab_default(start_button );
+ SIGNAL_CONNECT_OBJECT(start_button, "clicked",
wspstat_start_button_clicked, NULL);
- gtk_box_pack_start(GTK_BOX(bbox), start_button, TRUE, TRUE, 0);
- GTK_WIDGET_SET_FLAGS(start_button, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(start_button);
- gtk_widget_show(start_button);
- cancel_button=BUTTON_NEW_FROM_STOCK(GTK_STOCK_CANCEL);
+ cancel_button = OBJECT_GET_DATA(bbox, GTK_STOCK_CANCEL);
SIGNAL_CONNECT(cancel_button, "clicked", dlg_cancel_cb, dlg);
- GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);
- gtk_box_pack_start(GTK_BOX(bbox), cancel_button, TRUE, TRUE, 0);
- gtk_widget_show(cancel_button);
/* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "Create Stat"