diff options
-rw-r--r-- | menu.c | 5 | ||||
-rw-r--r-- | prefs.c | 34 | ||||
-rw-r--r-- | print.c | 38 | ||||
-rw-r--r-- | print.h | 7 |
4 files changed, 46 insertions, 38 deletions
@@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.4 1998/09/25 23:24:00 gerald Exp $ + * $Id: menu.c,v 1.5 1998/09/26 19:28:49 gerald Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -72,8 +72,6 @@ static GtkMenuEntry menu_items[] = {"<Main>/Edit/<separator>", NULL, NULL, NULL}, {"<Main>/Edit/Find", "<control>F", NULL, NULL}, {"<Main>/Edit/<separator>", NULL, NULL, NULL}, - {"<Main>/Edit/Printer Options", NULL, printer_opts_cb, NULL}, - {"<Main>/Edit/<separator>", NULL, NULL, NULL}, {"<Main>/Edit/Preferences", NULL, prefs_cb, NULL}, {"<Main>/Tools/Capture", "<control>K", capture_prep_cb, NULL}, {"<Main>/Tools/Filter", NULL, filter_sel_cb, NULL}, @@ -121,7 +119,6 @@ menus_init(void) { set_menu_sensitivity("<Main>/Edit/Copy", FALSE); set_menu_sensitivity("<Main>/Edit/Paste", FALSE); set_menu_sensitivity("<Main>/Edit/Find", FALSE); - set_menu_sensitivity("<Main>/Edit/Preferences", FALSE); set_menu_sensitivity("<Main>/Tools/Graph", FALSE); set_menu_sensitivity("<Main>/Help/About Ethereal", FALSE); if ((mp = gtk_menu_factory_find(factory, "<Main>/Help")) != NULL) { @@ -1,7 +1,7 @@ /* prefs.c * Routines for handling preferences * - * $Id: prefs.c,v 1.1 1998/09/25 23:24:04 gerald Exp $ + * $Id: prefs.c,v 1.2 1998/09/26 19:28:49 gerald Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -33,17 +33,21 @@ #include <gtk/gtk.h> -#include <packet.h> -#include <file.h> -#include <prefs.h> +#include "packet.h" +#include "file.h" +#include "print.h" +#include "prefs.h" extern capture_file cf; +const gchar *print_page_key = "printer_options_page"; + void prefs_cb() { GtkWidget *prefs_w, *main_vb, *top_hb, *bbox, *prefs_nb, *ok_bt, *cancel_bt; - GtkWidget *checkbutton, *label; + GtkWidget *pr_opt_pg; + GtkWidget *nlabel, *label; prefs_w = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(prefs_w), "Ethereal: Preferences"); @@ -63,14 +67,18 @@ prefs_cb() { gtk_container_add(GTK_CONTAINER(main_vb), prefs_nb); gtk_widget_show(prefs_nb); - checkbutton = gtk_check_button_new_with_label ("Check me please!"); - gtk_widget_show (checkbutton); + /* General prefs */ + nlabel = gtk_label_new("Nothing here yet"); + gtk_widget_show (nlabel); - label = gtk_label_new ("Add spot"); - gtk_container_add (GTK_CONTAINER (checkbutton), label); - gtk_widget_show (label); label = gtk_label_new ("General"); - gtk_notebook_append_page (GTK_NOTEBOOK(prefs_nb), checkbutton, label); + gtk_notebook_append_page (GTK_NOTEBOOK(prefs_nb), nlabel, label); + + /* Printing prefs */ + pr_opt_pg = printer_opts_pg(); + gtk_object_set_data(GTK_OBJECT(prefs_w), print_page_key, pr_opt_pg); + label = gtk_label_new ("Printing"); + gtk_notebook_append_page (GTK_NOTEBOOK(prefs_nb), pr_opt_pg, label); /* Button row: OK and cancel buttons */ bbox = gtk_hbutton_box_new(); @@ -97,13 +105,15 @@ prefs_cb() { void prefs_main_ok_cb(GtkWidget *w, gpointer win) { - + + printer_opts_ok(gtk_object_get_data(GTK_OBJECT(win), print_page_key)); gtk_widget_destroy(GTK_WIDGET(win)); } void prefs_main_cancel_cb(GtkWidget *w, gpointer win) { + printer_opts_close(gtk_object_get_data(GTK_OBJECT(win), print_page_key)); gtk_widget_destroy(GTK_WIDGET(win)); } @@ -1,7 +1,7 @@ /* print.c * Routines for printing packet analysis trees. * - * $Id: print.c,v 1.2 1998/09/16 03:22:15 gerald Exp $ + * $Id: print.c,v 1.3 1998/09/26 19:28:50 gerald Exp $ * * Gilbert Ramirez <gram@verdict.uthscsa.edu> * @@ -43,8 +43,6 @@ static void printer_opts_file_cb(GtkWidget *w, gpointer te); static void printer_opts_fs_cancel_cb(GtkWidget *w, gpointer data); static void printer_opts_fs_ok_cb(GtkWidget *w, gpointer data); -static void printer_opts_ok_cb(GtkWidget *w, gpointer data); -static void printer_opts_close_cb(GtkWidget *w, gpointer win); static void printer_opts_toggle_format(GtkWidget *widget, gpointer data); static void printer_opts_toggle_dest(GtkWidget *widget, gpointer data); static void dumpit (FILE *fh, register const u_char *cp, register u_int length); @@ -56,9 +54,12 @@ static void ps_clean_string(unsigned char *out, const unsigned char *in, pr_opts printer_opts; -void printer_opts_cb(GtkWidget *w, gpointer d) +/* Key for gtk_object_set_data */ +const gchar *print_opt_key = "printer_options_data"; + +GtkWidget * printer_opts_pg() { - GtkWidget *propt_w, *main_vb, *button; + GtkWidget *main_vb, *button; GtkWidget *format_hb, *format_lb; GtkWidget *dest_hb, *dest_lb; GtkWidget *cmd_hb, *cmd_lb, *cmd_te; @@ -72,14 +73,12 @@ void printer_opts_cb(GtkWidget *w, gpointer d) /* temp_pr_opts->cmd = g_strdup(printer_opts->cmd); temp_pr_opts->file = g_strdup(printer_opts->file);*/ - propt_w = gtk_window_new(GTK_WINDOW_TOPLEVEL); - temp_pr_opts->window = propt_w; - /* 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(propt_w), main_vb); gtk_widget_show(main_vb); + gtk_object_set_data(GTK_OBJECT(main_vb), print_opt_key, + temp_pr_opts); /* Output format */ format_hb = gtk_hbox_new(FALSE, 1); @@ -171,7 +170,7 @@ void printer_opts_cb(GtkWidget *w, gpointer d) /* Button row: OK and cancel buttons */ - bbox = gtk_hbutton_box_new(); +/* bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); gtk_container_add(GTK_CONTAINER(main_vb), bbox); gtk_widget_show(bbox); @@ -187,9 +186,8 @@ void printer_opts_cb(GtkWidget *w, gpointer d) GTK_SIGNAL_FUNC(printer_opts_close_cb), (gpointer)temp_pr_opts); gtk_container_add(GTK_CONTAINER(bbox), cancel_bt); gtk_widget_show(cancel_bt); - - /* Show the completed window */ - gtk_widget_show(propt_w); + */ + return(main_vb); } @@ -230,9 +228,11 @@ printer_opts_fs_cancel_cb(GtkWidget *w, gpointer data) { g_free(data); } -static void -printer_opts_ok_cb(GtkWidget *w, gpointer data) +void +printer_opts_ok(GtkWidget *w) { + pr_opts *data = gtk_object_get_data(GTK_OBJECT(w), print_opt_key); + printer_opts.output_format = ((pr_opts*)data)->output_format; printer_opts.output_dest = ((pr_opts*)data)->output_dest; @@ -244,14 +244,14 @@ printer_opts_ok_cb(GtkWidget *w, gpointer data) printer_opts.file = g_strdup(gtk_entry_get_text(GTK_ENTRY(((pr_opts*)data)->file_te))); - gtk_widget_destroy(GTK_WIDGET(((pr_opts*)data)->window)); g_free(data); } -static void -printer_opts_close_cb(GtkWidget *w, gpointer data) +void +printer_opts_close(GtkWidget *w) { - gtk_widget_destroy(GTK_WIDGET(((pr_opts*)data)->window)); + pr_opts *data = gtk_object_get_data(GTK_OBJECT(w), print_opt_key); + g_free(data); } @@ -1,7 +1,7 @@ /* print.h * Definitions for printing packet analysis trees. * - * $Id: print.h,v 1.2 1998/09/16 03:22:16 gerald Exp $ + * $Id: print.h,v 1.3 1998/09/26 19:28:51 gerald Exp $ * * Gilbert Ramirez <gram@verdict.uthscsa.edu> * @@ -35,15 +35,16 @@ typedef struct pr_opts { char *cmd; /* for the dialogue box */ - GtkWidget *window; GtkWidget *cmd_te; GtkWidget *file_te; } pr_opts; /* Functions in print.h */ -void printer_opts_cb(GtkWidget *, gpointer); +GtkWidget * printer_opts_pg(); void print_tree_text(FILE *fh, const u_char *pd, frame_data *fd, GtkTree *tree); void print_tree_ps(FILE *fh, const u_char *pd, frame_data *fd, GtkTree *tree); +void printer_opts_ok(GtkWidget *w); +void printer_opts_close(GtkWidget *w); #endif /* print.h */ |