aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--menu.c5
-rw-r--r--prefs.c34
-rw-r--r--print.c38
-rw-r--r--print.h7
4 files changed, 46 insertions, 38 deletions
diff --git a/menu.c b/menu.c
index 147307cb52..08a5edd8b7 100644
--- a/menu.c
+++ b/menu.c
@@ -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) {
diff --git a/prefs.c b/prefs.c
index 6f44579a6e..eb3ce9fad5 100644
--- a/prefs.c
+++ b/prefs.c
@@ -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));
}
diff --git a/print.c b/print.c
index aac3a463a7..fe4d996cb9 100644
--- a/print.c
+++ b/print.c
@@ -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);
}
diff --git a/print.h b/print.h
index 42e4ef41fc..9c2a637197 100644
--- a/print.h
+++ b/print.h
@@ -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 */