aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Abad <oabad@noos.fr>2002-09-01 09:46:54 +0000
committerOlivier Abad <oabad@noos.fr>2002-09-01 09:46:54 +0000
commit38ff21ecac1e90a68ab0f05e537bae22d680f93b (patch)
treea29989341c1f31aa98b06aad070c24cfdfb291b2
parent9e310b26b3a0a90cdbda3f017321e38f5bb63904 (diff)
Fix accelarators/mnemonics in dialogs containing radio or check buttons.
The GTK+ v2 documentation says accelarators should only be used with menus. For text entries or buttons, we must use mnemonics. Replace dlg_check_button_new_with_label_with_mnemonic() and dlg_radio_button_new_with_label_with_mnemonic() with gtk_check_button_new_with_mnemonic() and gtk_radio_button_new_with_mnemonic() For radio buttons, gtk_radio_button_group is deprecated. Use gtk_radio_button_new_with_mnemonic_from_widget() to create a new button in an existing group. svn path=/trunk/; revision=6165
-rw-r--r--gtk2/capture_dlg.c39
-rw-r--r--gtk2/display_opts.c45
-rw-r--r--gtk2/dlg_utils.c61
-rw-r--r--gtk2/file_dlg.c21
-rw-r--r--gtk2/find_dlg.c17
-rw-r--r--gtk2/print_dlg.c56
6 files changed, 63 insertions, 176 deletions
diff --git a/gtk2/capture_dlg.c b/gtk2/capture_dlg.c
index e9391a697d..0014cacd8d 100644
--- a/gtk2/capture_dlg.c
+++ b/gtk2/capture_dlg.c
@@ -1,7 +1,7 @@
/* capture_dlg.c
* Routines for packet capture windows
*
- * $Id: capture_dlg.c,v 1.3 2002/08/31 11:03:49 jmayer Exp $
+ * $Id: capture_dlg.c,v 1.4 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -143,7 +143,6 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
*resolv_fr, *resolv_vb,
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb,
*bbox, *ok_bt, *cancel_bt;
- GtkAccelGroup *accel_group;
GtkAdjustment *snap_adj, *ringbuffer_nbf_adj,
*count_adj, *filesize_adj, *duration_adj;
GList *if_list;
@@ -190,12 +189,6 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
g_signal_connect(G_OBJECT(cap_open_w), "destroy",
G_CALLBACK(capture_prep_destroy_cb), NULL);
- /* Accelerator group for the accelerators (or, as they're called in
- Windows and, I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic,
- Ctrl+<key> is an accelerator). */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(cap_open_w), accel_group);
-
main_vb = gtk_vbox_new(FALSE, 0);
gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
gtk_container_add(GTK_CONTAINER(cap_open_w), main_vb);
@@ -242,8 +235,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_container_add(GTK_CONTAINER(capture_vb), snap_hb);
gtk_widget_show(snap_hb);
- snap_cb = dlg_check_button_new_with_label_with_mnemonic(
- "_Limit each packet to", accel_group);
+ snap_cb = gtk_check_button_new_with_mnemonic("_Limit each packet to");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(snap_cb),
capture_opts.has_snaplen);
g_signal_connect(G_OBJECT(snap_cb), "toggled",
@@ -266,8 +258,8 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(snap_lb);
/* Promiscuous mode row */
- promisc_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Capture packets in _promiscuous mode", accel_group);
+ promisc_cb = gtk_check_button_new_with_mnemonic(
+ "Capture packets in _promiscuous mode");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(promisc_cb),
capture_opts.promisc_mode);
gtk_container_add(GTK_CONTAINER(capture_vb), promisc_cb);
@@ -320,8 +312,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_container_add(GTK_CONTAINER(file_vb), ringbuffer_hb);
gtk_widget_show(ringbuffer_hb);
- ringbuffer_on_tb = dlg_check_button_new_with_label_with_mnemonic(
- "Use _ring buffer", accel_group);
+ ringbuffer_on_tb = gtk_check_button_new_with_mnemonic("Use _ring buffer");
/* Ring buffer mode is allowed only if we're not doing an "Update list of
packets in real time" capture, so force it off if we're doing such
a capture. */
@@ -358,8 +349,8 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(display_vb);
/* "Update display in real time" row */
- sync_cb = dlg_check_button_new_with_label_with_mnemonic(
- "_Update list of packets in real time", accel_group);
+ sync_cb = gtk_check_button_new_with_mnemonic(
+ "_Update list of packets in real time");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(sync_cb),
capture_opts.sync_mode);
g_signal_connect(G_OBJECT(sync_cb), "toggled",
@@ -369,8 +360,8 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(sync_cb);
/* "Auto-scroll live update" row */
- auto_scroll_cb = dlg_check_button_new_with_label_with_mnemonic(
- "_Automatic scrolling in live capture", accel_group);
+ auto_scroll_cb = gtk_check_button_new_with_mnemonic(
+ "_Automatic scrolling in live capture");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(auto_scroll_cb), auto_scroll_live);
gtk_container_add(GTK_CONTAINER(display_vb), auto_scroll_cb);
gtk_widget_show(auto_scroll_cb);
@@ -474,22 +465,22 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_container_add(GTK_CONTAINER(resolv_fr), resolv_vb);
gtk_widget_show(resolv_vb);
- m_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _MAC name resolution", accel_group);
+ m_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _MAC name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(m_resolv_cb),
g_resolv_flags & RESOLV_MAC);
gtk_container_add(GTK_CONTAINER(resolv_vb), m_resolv_cb);
gtk_widget_show(m_resolv_cb);
- n_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _network name resolution", accel_group);
+ n_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _network name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(n_resolv_cb),
g_resolv_flags & RESOLV_NETWORK);
gtk_container_add(GTK_CONTAINER(resolv_vb), n_resolv_cb);
gtk_widget_show(n_resolv_cb);
- t_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _transport name resolution", accel_group);
+ t_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _transport name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(t_resolv_cb),
g_resolv_flags & RESOLV_TRANSPORT);
gtk_container_add(GTK_CONTAINER(resolv_vb), t_resolv_cb);
diff --git a/gtk2/display_opts.c b/gtk2/display_opts.c
index c2d9aa3b43..941e9eb5e6 100644
--- a/gtk2/display_opts.c
+++ b/gtk2/display_opts.c
@@ -1,7 +1,7 @@
/* display_opts.c
* Routines for packet display windows
*
- * $Id: display_opts.c,v 1.1 2002/08/31 09:55:21 oabad Exp $
+ * $Id: display_opts.c,v 1.2 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -86,7 +86,6 @@ static ts_type current_timestamp_type;
void
display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
GtkWidget *button, *main_vb, *bbox, *ok_bt, *apply_bt, *cancel_bt;
- GtkAccelGroup *accel_group;
if (display_opt_w != NULL) {
/* There's already a "Display Options" dialog box; reactivate it. */
@@ -109,20 +108,13 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
g_signal_connect(G_OBJECT(display_opt_w), "destroy",
G_CALLBACK(display_opt_destroy_cb), NULL);
- /* Accelerator group for the accelerators (or, as they're called in
- Windows and, I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic,
- Ctrl+<key> is an accelerator). */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(display_opt_w), accel_group);
-
/* Container for each row of widgets */
main_vb = gtk_vbox_new(FALSE, 3);
gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
gtk_container_add(GTK_CONTAINER(display_opt_w), main_vb);
gtk_widget_show(main_vb);
- button = dlg_radio_button_new_with_label_with_mnemonic(NULL, "_Time of day",
- accel_group);
+ button = gtk_radio_button_new_with_mnemonic(NULL, "_Time of day");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
(timestamp_type == ABSOLUTE));
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_TIME_ABS_KEY,
@@ -131,9 +123,8 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_widget_show(button);
- button = dlg_radio_button_new_with_label_with_mnemonic(
- gtk_radio_button_group(GTK_RADIO_BUTTON(button)),
- "_Date and time of day", accel_group);
+ button = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button), "_Date and time of day");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
(timestamp_type == ABSOLUTE_WITH_DATE));
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_DATE_TIME_ABS_KEY,
@@ -141,9 +132,9 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_box_pack_start(GTK_BOX(main_vb), button, TRUE, TRUE, 0);
gtk_widget_show(button);
- button = dlg_radio_button_new_with_label_with_mnemonic(
- gtk_radio_button_group(GTK_RADIO_BUTTON(button)),
- "Seconds since _beginning of capture", accel_group);
+ button = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button),
+ "Seconds since _beginning of capture");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
(timestamp_type == RELATIVE));
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_TIME_REL_KEY,
@@ -151,9 +142,9 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_box_pack_start(GTK_BOX(main_vb), button, TRUE, TRUE, 0);
gtk_widget_show(button);
- button = dlg_radio_button_new_with_label_with_mnemonic(
- gtk_radio_button_group(GTK_RADIO_BUTTON(button)),
- "Seconds since _previous frame", accel_group);
+ button = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button),
+ "Seconds since _previous frame");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
(timestamp_type == DELTA));
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_TIME_DELTA_KEY,
@@ -162,8 +153,8 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_widget_show(button);
#ifdef HAVE_LIBPCAP
- button = dlg_check_button_new_with_label_with_mnemonic(
- "_Automatic scrolling in live capture", accel_group);
+ button = gtk_check_button_new_with_mnemonic(
+ "_Automatic scrolling in live capture");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), auto_scroll_live);
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_AUTO_SCROLL_KEY,
button);
@@ -171,8 +162,8 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_widget_show(button);
#endif
- button = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _MAC name resolution", accel_group);
+ button = gtk_check_button_new_with_mnemonic(
+ "Enable _MAC name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
g_resolv_flags & RESOLV_MAC);
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_M_NAME_RESOLUTION_KEY,
@@ -180,8 +171,8 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_box_pack_start(GTK_BOX(main_vb), button, TRUE, TRUE, 0);
gtk_widget_show(button);
- button = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _network name resolution", accel_group);
+ button = gtk_check_button_new_with_mnemonic(
+ "Enable _network name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
g_resolv_flags & RESOLV_NETWORK);
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_N_NAME_RESOLUTION_KEY,
@@ -189,8 +180,8 @@ display_opt_cb(GtkWidget *w _U_, gpointer d _U_) {
gtk_box_pack_start(GTK_BOX(main_vb), button, TRUE, TRUE, 0);
gtk_widget_show(button);
- button = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _transport name resolution", accel_group);
+ button = gtk_check_button_new_with_mnemonic(
+ "Enable _transport name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button),
g_resolv_flags & RESOLV_TRANSPORT);
gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_T_NAME_RESOLUTION_KEY,
diff --git a/gtk2/dlg_utils.c b/gtk2/dlg_utils.c
index 9d5bd815bd..7084b1931d 100644
--- a/gtk2/dlg_utils.c
+++ b/gtk2/dlg_utils.c
@@ -1,7 +1,7 @@
/* dlg_utils.c
* Utilities to use when constructing dialogs
*
- * $Id: dlg_utils.c,v 1.1 2002/08/31 09:55:21 oabad Exp $
+ * $Id: dlg_utils.c,v 1.2 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -106,62 +106,3 @@ dlg_key_press (GtkWidget *widget, GdkEventKey *event, gpointer cancel_button)
return FALSE;
}
-
-/* Sigh. GTK+ appears not to acknowledge that it should be possible
- to attach mnemonics to anything other than menu items; provide
- routines to create radio and check buttons with labels that
- include mnemonics. */
-typedef struct {
- GtkWidget *button;
- GtkAccelGroup *accel_group;
-} fix_label_args_t;
-
-static void
-dlg_fix_label_callback(GtkWidget *label_widget, gpointer data)
-{
- fix_label_args_t *args = data;
- gchar *label;
- guint accel_key;
-
- gtk_label_get(GTK_LABEL(label_widget), &label);
- accel_key = gtk_label_parse_uline(GTK_LABEL(label_widget), label);
- if (accel_key != GDK_VoidSymbol) {
- /* Yes, we have a mnemonic. */
- gtk_widget_add_accelerator(args->button, "clicked", args->accel_group,
- accel_key, 0, GTK_ACCEL_LOCKED);
- gtk_widget_add_accelerator(args->button, "clicked", args->accel_group,
- accel_key, GDK_MOD1_MASK, GTK_ACCEL_LOCKED);
- }
-}
-
-static void
-dlg_fix_button_label(GtkWidget *button, GtkAccelGroup *accel_group)
-{
- fix_label_args_t args;
-
- args.button = button;
- args.accel_group = accel_group;
- gtk_container_foreach(GTK_CONTAINER(button), dlg_fix_label_callback, &args);
-}
-
-GtkWidget *
-dlg_radio_button_new_with_label_with_mnemonic(GSList *group,
- const gchar *label, GtkAccelGroup *accel_group)
-{
- GtkWidget *radio_button;
-
- radio_button = gtk_radio_button_new_with_label (group, label);
- dlg_fix_button_label(radio_button, accel_group);
- return radio_button;
-}
-
-GtkWidget *
-dlg_check_button_new_with_label_with_mnemonic(const gchar *label,
- GtkAccelGroup *accel_group)
-{
- GtkWidget *check_button;
-
- check_button = gtk_check_button_new_with_label (label);
- dlg_fix_button_label(check_button, accel_group);
- return check_button;
-}
diff --git a/gtk2/file_dlg.c b/gtk2/file_dlg.c
index 97b4ec8b20..b0ce5c25e0 100644
--- a/gtk2/file_dlg.c
+++ b/gtk2/file_dlg.c
@@ -1,7 +1,7 @@
/* file_dlg.c
* Dialog boxes for handling files
*
- * $Id: file_dlg.c,v 1.1 2002/08/31 09:55:21 oabad Exp $
+ * $Id: file_dlg.c,v 1.2 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -76,7 +76,6 @@ file_open_cmd_cb(GtkWidget *w, gpointer data _U_)
{
GtkWidget *main_vb, *filter_hbox, *filter_bt, *filter_te,
*m_resolv_cb, *n_resolv_cb, *t_resolv_cb;
- GtkAccelGroup *accel_group;
/* No Apply button, and "OK" just sets our text widget, it doesn't
activate it (i.e., it doesn't cause us to try to open the file). */
static construct_args_t args = {
@@ -95,12 +94,6 @@ file_open_cmd_cb(GtkWidget *w, gpointer data _U_)
g_signal_connect(G_OBJECT(file_open_w), "destroy",
G_CALLBACK(file_open_destroy_cb), NULL);
- /* Accelerator group for the accelerators (or, as they're called in
- Windows and, I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic,
- Ctrl+<key> is an accelerator). */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(file_open_w), accel_group);
-
/* If we've opened a file, start out by showing the files in the directory
in which that file resided. */
if (last_open_dir)
@@ -132,8 +125,8 @@ file_open_cmd_cb(GtkWidget *w, gpointer data _U_)
gtk_object_set_data(GTK_OBJECT(GTK_FILE_SELECTION(file_open_w)->ok_button),
E_RFILTER_TE_KEY, filter_te);
- m_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _MAC name resolution", accel_group);
+ m_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _MAC name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(m_resolv_cb),
g_resolv_flags & RESOLV_MAC);
gtk_box_pack_start(GTK_BOX(main_vb), m_resolv_cb, FALSE, FALSE, 0);
@@ -141,8 +134,8 @@ file_open_cmd_cb(GtkWidget *w, gpointer data _U_)
gtk_object_set_data(GTK_OBJECT(GTK_FILE_SELECTION(file_open_w)->ok_button),
E_FILE_M_RESOLVE_KEY, m_resolv_cb);
- n_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _network name resolution", accel_group);
+ n_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _network name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(n_resolv_cb),
g_resolv_flags & RESOLV_NETWORK);
gtk_box_pack_start(GTK_BOX(main_vb), n_resolv_cb, FALSE, FALSE, 0);
@@ -150,8 +143,8 @@ file_open_cmd_cb(GtkWidget *w, gpointer data _U_)
gtk_object_set_data(GTK_OBJECT(GTK_FILE_SELECTION(file_open_w)->ok_button),
E_FILE_N_RESOLVE_KEY, n_resolv_cb);
- t_resolv_cb = dlg_check_button_new_with_label_with_mnemonic(
- "Enable _transport name resolution", accel_group);
+ t_resolv_cb = gtk_check_button_new_with_mnemonic(
+ "Enable _transport name resolution");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(t_resolv_cb),
g_resolv_flags & RESOLV_TRANSPORT);
gtk_box_pack_start(GTK_BOX(main_vb), t_resolv_cb, FALSE, FALSE, 0);
diff --git a/gtk2/find_dlg.c b/gtk2/find_dlg.c
index bed136a449..552b5e8c5a 100644
--- a/gtk2/find_dlg.c
+++ b/gtk2/find_dlg.c
@@ -1,7 +1,7 @@
/* find_dlg.c
* Routines for "find frame" window
*
- * $Id: find_dlg.c,v 1.1 2002/08/31 09:55:21 oabad Exp $
+ * $Id: find_dlg.c,v 1.2 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -72,7 +72,6 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
GtkWidget *main_vb, *filter_hb, *filter_bt, *filter_te,
*direction_hb, *forward_rb, *backward_rb,
*bbox, *ok_bt, *cancel_bt;
- GtkAccelGroup *accel_group;
/* No Apply button, but "OK" not only sets our text widget, it
activates it (i.e., it causes us to do the search). */
static construct_args_t args = {
@@ -91,12 +90,6 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
g_signal_connect(G_OBJECT(find_frame_w), "destroy",
G_CALLBACK(find_frame_destroy_cb), NULL);
- /* Accelerator group for the accelerators (or, as they're called in
- Windows and, I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic,
- Ctrl+<key> is an accelerator). */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(find_frame_w), accel_group);
-
/* Container for each row of widgets */
main_vb = gtk_vbox_new(FALSE, 3);
gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
@@ -125,15 +118,13 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_container_add(GTK_CONTAINER(main_vb), direction_hb);
gtk_widget_show(direction_hb);
- forward_rb = dlg_radio_button_new_with_label_with_mnemonic(NULL, "_Forward",
- accel_group);
+ forward_rb = gtk_radio_button_new_with_mnemonic(NULL, "_Forward");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(forward_rb), !cfile.sbackward);
gtk_box_pack_start(GTK_BOX(direction_hb), forward_rb, TRUE, TRUE, 0);
gtk_widget_show(forward_rb);
- backward_rb = dlg_radio_button_new_with_label_with_mnemonic(
- gtk_radio_button_group(GTK_RADIO_BUTTON(forward_rb)),
- "_Backward", accel_group);
+ backward_rb = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(forward_rb), "_Backward");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(backward_rb), cfile.sbackward);
gtk_box_pack_start(GTK_BOX(direction_hb), backward_rb, TRUE, TRUE, 0);
gtk_widget_show(backward_rb);
diff --git a/gtk2/print_dlg.c b/gtk2/print_dlg.c
index 486cd27947..a53dc45abe 100644
--- a/gtk2/print_dlg.c
+++ b/gtk2/print_dlg.c
@@ -1,7 +1,7 @@
/* print_dlg.c
* Dialog boxes for printing
*
- * $Id: print_dlg.c,v 1.1 2002/08/31 09:55:22 oabad Exp $
+ * $Id: print_dlg.c,v 1.2 2002/09/01 09:46:54 oabad Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -96,21 +96,16 @@ static GtkWidget *print_w;
void
file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
{
- GtkAccelGroup *accel_group;
GtkWidget *main_vb, *main_tb, *button;
GtkWidget *format_rb;
GtkWidget *format_hb, *format_lb;
- GSList *format_grp;
GtkWidget *dest_rb;
GtkWidget *dest_hb, *dest_lb;
GtkWidget *cmd_lb, *cmd_te;
GtkWidget *file_bt_hb, *file_bt, *file_te;
- GSList *dest_grp;
GtkWidget *options_hb;
GtkWidget *print_type_vb, *summary_rb, *detail_rb, *hex_cb,*marked_cb;
- GSList *summary_grp;
GtkWidget *expand_vb, *expand_all_rb, *as_displayed_rb;
- GSList *expand_grp;
GtkWidget *bbox, *ok_bt, *cancel_bt;
if (print_w != NULL) {
@@ -123,12 +118,6 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
g_signal_connect(G_OBJECT(print_w), "destroy",
G_CALLBACK(print_destroy_cb), NULL);
- /* Accelerator group for the accelerators (or, as they're called in
- Windows and, I think, in Motif, "mnemonics"; Alt+<key> is a mnemonic,
- Ctrl+<key> is an accelerator). */
- accel_group = gtk_accel_group_new();
- gtk_window_add_accel_group(GTK_WINDOW(print_w), accel_group);
-
/* Enclosing containers for each row of widgets */
main_vb = gtk_vbox_new(FALSE, 5);
gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
@@ -152,16 +141,14 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_table_attach_defaults(GTK_TABLE(main_tb), format_hb, 1, 2, 0, 1);
gtk_widget_show(format_hb);
- button = dlg_radio_button_new_with_label_with_mnemonic(NULL, "Plain _Text",
- accel_group);
+ button = gtk_radio_button_new_with_mnemonic(NULL, "Plain _Text");
if (print_format == PR_FMT_TEXT)
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- format_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(button));
gtk_box_pack_start(GTK_BOX(format_hb), button, FALSE, FALSE, 10);
gtk_widget_show(button);
- format_rb = dlg_radio_button_new_with_label_with_mnemonic(format_grp,
- "_PostScript", accel_group);
+ format_rb = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button), "_PostScript");
if (print_format == PR_FMT_PS)
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(format_rb), TRUE);
gtk_box_pack_start(GTK_BOX(format_hb), format_rb, FALSE, FALSE, 10);
@@ -178,20 +165,17 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_widget_show(dest_hb);
#ifdef _WIN32
- button = dlg_radio_button_new_with_label_with_mnemonic(NULL, "_Printer"
- accel_group);
+ button = gtk_radio_button_new_with_mnemonic(NULL, "_Printer");
#else
- button = dlg_radio_button_new_with_label_with_mnemonic(NULL, "_Command",
- accel_group);
+ button = gtk_radio_button_new_with_mnemonic(NULL, "_Command");
#endif
if (!print_to_file)
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
- dest_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(button));
gtk_box_pack_start(GTK_BOX(dest_hb), button, FALSE, FALSE, 10);
gtk_widget_show(button);
- dest_rb = dlg_radio_button_new_with_label_with_mnemonic(dest_grp, "_File",
- accel_group);
+ dest_rb = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button), "_File");
if (print_to_file)
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(dest_rb), TRUE);
g_signal_connect(G_OBJECT(dest_rb), "toggled",
@@ -257,14 +241,12 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_widget_show(print_type_vb);
/* "Print summary"/"Print detail" radio buttons */
- summary_rb = dlg_radio_button_new_with_label_with_mnemonic(NULL,
- "Print _summary", accel_group);
+ summary_rb = gtk_radio_button_new_with_mnemonic(NULL, "Print _summary");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(summary_rb), FALSE);
- summary_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(summary_rb));
gtk_container_add(GTK_CONTAINER(print_type_vb), summary_rb);
gtk_widget_show(summary_rb);
- detail_rb = dlg_radio_button_new_with_label_with_mnemonic(summary_grp,
- "Print _detail", accel_group);
+ detail_rb = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(button), "Print _detail");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(detail_rb), TRUE);
g_signal_connect(G_OBJECT(detail_rb), "toggled",
G_CALLBACK(print_cmd_toggle_detail), NULL);
@@ -272,15 +254,13 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_widget_show(detail_rb);
/* "Print hex" check button. */
- hex_cb = dlg_check_button_new_with_label_with_mnemonic("Print _hex data",
- accel_group);
+ hex_cb = gtk_check_button_new_with_mnemonic("Print _hex data");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(hex_cb), FALSE);
gtk_container_add(GTK_CONTAINER(print_type_vb), hex_cb);
gtk_widget_show(hex_cb);
/* "Suppress Unmarked" check button. */
- marked_cb = dlg_check_button_new_with_label_with_mnemonic("Suppress _unmarked frames",
- accel_group);
+ marked_cb = gtk_check_button_new_with_mnemonic("Suppress _unmarked frames");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(marked_cb), FALSE);
gtk_container_add(GTK_CONTAINER(print_type_vb), marked_cb);
gtk_widget_show(marked_cb);
@@ -293,14 +273,14 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_widget_show(expand_vb);
/* "Expand all levels"/"Print as displayed" radio buttons */
- expand_all_rb = dlg_radio_button_new_with_label_with_mnemonic(NULL,
- "_Expand all levels", accel_group);
+ expand_all_rb = gtk_radio_button_new_with_mnemonic(NULL,
+ "_Expand all levels");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(expand_all_rb), TRUE);
- expand_grp = gtk_radio_button_group(GTK_RADIO_BUTTON(expand_all_rb));
gtk_container_add(GTK_CONTAINER(expand_vb), expand_all_rb);
gtk_widget_show(expand_all_rb);
- as_displayed_rb = dlg_radio_button_new_with_label_with_mnemonic(expand_grp,
- "Print _as displayed", accel_group);
+ as_displayed_rb = gtk_radio_button_new_with_mnemonic_from_widget(
+ GTK_RADIO_BUTTON(expand_all_rb),
+ "Print _as displayed");
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(as_displayed_rb), FALSE);
gtk_container_add(GTK_CONTAINER(expand_vb), as_displayed_rb);
gtk_widget_show(as_displayed_rb);