diff options
author | Guy Harris <guy@alum.mit.edu> | 1999-09-12 23:54:09 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 1999-09-12 23:54:09 +0000 |
commit | f5e3d82e504a81599b8ab59d2320eb30b5d3530f (patch) | |
tree | 8a1f8466af5cfac1484f6279dae3ba8a6ab9ba6f | |
parent | 3823ab23beb83e6f5b679994325865e1e30c8f26 (diff) |
Make "Expand all levels" and "Print as displayed" radio
buttons insensitive if "Print summary" is selected, and make them
sensitive if "Print detail" is selected, as they apply only to the
"print detail" output.
svn path=/trunk/; revision=672
-rw-r--r-- | gtk/keys.h | 21 | ||||
-rw-r--r-- | gtk/print_dlg.c | 31 |
2 files changed, 41 insertions, 11 deletions
diff --git a/gtk/keys.h b/gtk/keys.h index 68b3b61e42..9b1296c7fa 100644 --- a/gtk/keys.h +++ b/gtk/keys.h @@ -1,7 +1,7 @@ /* keys.h * Key definitions for various objects * - * $Id: keys.h,v 1.4 1999/09/12 20:23:42 guy Exp $ + * $Id: keys.h,v 1.5 1999/09/12 23:54:09 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -28,15 +28,16 @@ /* Keys for gtk_object_set_data */ -#define E_DFILTER_TE_KEY "display_filter_te" -#define E_RFILTER_TE_KEY "read_filter_te" +#define E_DFILTER_TE_KEY "display_filter_te" +#define E_RFILTER_TE_KEY "read_filter_te" -#define PRINT_CMD_LB_KEY "printer_command_label" -#define PRINT_CMD_TE_KEY "printer_command_entry" -#define PRINT_FILE_BT_KEY "printer_file_button" -#define PRINT_FILE_TE_KEY "printer_file_entry" -#define PRINT_DEST_RB_KEY "printer_destination_radio_button" -#define PRINT_SUMMARY_RB_KEY "printer_summary_radio_button" -#define PRINT_EXPAND_ALL_RB_KEY "printer_expand_all_radio_button" +#define PRINT_CMD_LB_KEY "printer_command_label" +#define PRINT_CMD_TE_KEY "printer_command_entry" +#define PRINT_FILE_BT_KEY "printer_file_button" +#define PRINT_FILE_TE_KEY "printer_file_entry" +#define PRINT_DEST_RB_KEY "printer_destination_radio_button" +#define PRINT_SUMMARY_RB_KEY "printer_summary_radio_button" +#define PRINT_EXPAND_ALL_RB_KEY "printer_expand_all_radio_button" +#define PRINT_AS_DISPLAYED_RB_KEY "printer_as_displayed_radio_button" #endif diff --git a/gtk/print_dlg.c b/gtk/print_dlg.c index 8709da5a19..65afa3016c 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.5 1999/09/12 20:23:42 guy Exp $ + * $Id: print_dlg.c,v 1.6 1999/09/12 23:54:09 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -50,6 +50,7 @@ #endif static void print_cmd_toggle_dest(GtkWidget *widget, gpointer data); +static void print_cmd_toggle_detail(GtkWidget *widget, gpointer data); static void print_file_cb(GtkWidget *file_bt, gpointer file_te); static void print_fs_ok_cb(GtkWidget *w, gpointer data); static void print_fs_cancel_cb(GtkWidget *w, gpointer data); @@ -215,6 +216,8 @@ file_print_cmd_cb(GtkWidget *widget, gpointer data) gtk_widget_show(summary_rb); detail_rb = gtk_radio_button_new_with_label(summary_grp, "Print detail"); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(detail_rb), TRUE); + gtk_signal_connect(GTK_OBJECT(detail_rb), "toggled", + GTK_SIGNAL_FUNC(print_cmd_toggle_detail), NULL); gtk_container_add(GTK_CONTAINER(summary_vb), detail_rb); gtk_widget_show(detail_rb); @@ -236,6 +239,11 @@ file_print_cmd_cb(GtkWidget *widget, gpointer data) gtk_container_add(GTK_CONTAINER(expand_vb), as_displayed_rb); gtk_widget_show(as_displayed_rb); + gtk_object_set_data(GTK_OBJECT(detail_rb), PRINT_EXPAND_ALL_RB_KEY, + expand_all_rb); + gtk_object_set_data(GTK_OBJECT(detail_rb), PRINT_AS_DISPLAYED_RB_KEY, + as_displayed_rb); + /* Button row: OK and Cancel buttons */ bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); @@ -297,6 +305,27 @@ print_cmd_toggle_dest(GtkWidget *widget, gpointer data) } static void +print_cmd_toggle_detail(GtkWidget *widget, gpointer data) +{ + GtkWidget *expand_all_rb, *as_displayed_rb; + gboolean print_detail; + + expand_all_rb = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(widget), + PRINT_EXPAND_ALL_RB_KEY)); + as_displayed_rb = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(widget), + PRINT_AS_DISPLAYED_RB_KEY)); + if (GTK_TOGGLE_BUTTON (widget)->active) { + /* They selected "Print detail" */ + print_detail = TRUE; + } else { + /* They selected "Print summary" */ + print_detail = FALSE; + } + gtk_widget_set_sensitive(expand_all_rb, print_detail); + gtk_widget_set_sensitive(as_displayed_rb, print_detail); +} + +static void print_file_cb(GtkWidget *file_bt, gpointer file_te) { GtkWidget *fs; |