From 63d51b566ea270b45b5b34b1feab37b8faa28232 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 9 May 2004 23:20:43 +0000 Subject: main fieryfilter work git-svn-id: file:///home/lennart/svn/public/fieryfilter/fieryfilter@31 79e6afc9-17da-0310-ae3c-b873bff394f4 --- client/interface.c | 2173 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2173 insertions(+) create mode 100644 client/interface.c (limited to 'client/interface.c') diff --git a/client/interface.c b/client/interface.c new file mode 100644 index 0000000..dd764e1 --- /dev/null +++ b/client/interface.c @@ -0,0 +1,2173 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include + +#include +#include + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + +GtkWidget* +create_connection_window (void) +{ + GtkWidget *connection_window; + GtkWidget *vbox2; + GtkWidget *title_eventbox; + GtkWidget *hbox27; + GtkWidget *title_image; + GtkWidget *title_label; + GtkWidget *hseparator11; + GtkWidget *hbox1; + GtkWidget *table2; + GtkWidget *interface_label; + GtkWidget *type_label; + GtkWidget *time_label; + GtkWidget *id_label; + GtkWidget *broadcast_label; + GtkWidget *to_eventbox; + GtkWidget *to_label; + GtkWidget *from_eventbox; + GtkWidget *from_label; + GtkWidget *_label2; + GtkWidget *_label3; + GtkWidget *_label4; + GtkWidget *_label5; + GtkWidget *label15; + GtkWidget *label16; + GtkWidget *label20; + GtkWidget *type_image; + GtkWidget *hseparator12; + GtkWidget *vbox23; + GtkWidget *queue_check_button; + GtkWidget *rule_check_button; + GtkWidget *hseparator13; + GtkWidget *hbuttonbox7; + GtkWidget *accept_button; + GtkWidget *alignment11; + GtkWidget *hbox12; + GtkWidget *image14; + GtkWidget *label29; + GtkWidget *reject_button; + GtkWidget *alignment13; + GtkWidget *hbox17; + GtkWidget *image24; + GtkWidget *label35; + GtkWidget *drop_button; + GtkWidget *alignment9; + GtkWidget *hbox10; + GtkWidget *image12; + GtkWidget *label27; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + connection_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (connection_window), _("FieryFilter Connection")); + gtk_window_set_position (GTK_WINDOW (connection_window), GTK_WIN_POS_CENTER); + gtk_window_set_resizable (GTK_WINDOW (connection_window), FALSE); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox2); + gtk_container_add (GTK_CONTAINER (connection_window), vbox2); + + title_eventbox = gtk_event_box_new (); + gtk_widget_show (title_eventbox); + gtk_box_pack_start (GTK_BOX (vbox2), title_eventbox, FALSE, FALSE, 0); + + hbox27 = gtk_hbox_new (FALSE, 5); + gtk_widget_show (hbox27); + gtk_container_add (GTK_CONTAINER (title_eventbox), hbox27); + gtk_container_set_border_width (GTK_CONTAINER (hbox27), 5); + + title_image = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_DND); + gtk_widget_show (title_image); + gtk_box_pack_start (GTK_BOX (hbox27), title_image, FALSE, FALSE, 0); + + title_label = gtk_label_new (_("Outgoing Connection")); + gtk_widget_show (title_label); + gtk_box_pack_start (GTK_BOX (hbox27), title_label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (title_label), TRUE); + gtk_label_set_justify (GTK_LABEL (title_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (title_label), 0, 0.5); + + hseparator11 = gtk_hseparator_new (); + gtk_widget_show (hseparator11); + gtk_box_pack_start (GTK_BOX (vbox2), hseparator11, FALSE, TRUE, 0); + + hbox1 = gtk_hbox_new (FALSE, 10); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox2), hbox1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbox1), 10); + + table2 = gtk_table_new (7, 2, FALSE); + gtk_widget_show (table2); + gtk_box_pack_start (GTK_BOX (hbox1), table2, TRUE, TRUE, 0); + gtk_table_set_row_spacings (GTK_TABLE (table2), 3); + gtk_table_set_col_spacings (GTK_TABLE (table2), 5); + + interface_label = gtk_label_new (_("eth0")); + gtk_widget_show (interface_label); + gtk_table_attach (GTK_TABLE (table2), interface_label, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + GTK_WIDGET_SET_FLAGS (interface_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (interface_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (interface_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (interface_label), 0, 0.5); + + type_label = gtk_label_new (_("tcp-80-http")); + gtk_widget_show (type_label); + gtk_table_attach (GTK_TABLE (table2), type_label, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + GTK_WIDGET_SET_FLAGS (type_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (type_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (type_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (type_label), 0, 0.5); + + time_label = gtk_label_new (_("label17")); + gtk_widget_show (time_label); + gtk_table_attach (GTK_TABLE (table2), time_label, 1, 2, 4, 5, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + GTK_WIDGET_SET_FLAGS (time_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (time_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (time_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (time_label), 0, 0.5); + + id_label = gtk_label_new (_("label18")); + gtk_widget_show (id_label); + gtk_table_attach (GTK_TABLE (table2), id_label, 1, 2, 5, 6, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + GTK_WIDGET_SET_FLAGS (id_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (id_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (id_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (id_label), 0, 0.5); + + broadcast_label = gtk_label_new (_("Yes")); + gtk_widget_show (broadcast_label); + gtk_table_attach (GTK_TABLE (table2), broadcast_label, 1, 2, 6, 7, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_justify (GTK_LABEL (broadcast_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (broadcast_label), 0, 0.5); + + to_eventbox = gtk_event_box_new (); + gtk_widget_show (to_eventbox); + gtk_table_attach (GTK_TABLE (table2), to_eventbox, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, to_eventbox, _("addr"), NULL); + + to_label = gtk_label_new (_("www.heise.de")); + gtk_widget_show (to_label); + gtk_container_add (GTK_CONTAINER (to_eventbox), to_label); + GTK_WIDGET_SET_FLAGS (to_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (to_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (to_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (to_label), 0, 0.5); + + from_eventbox = gtk_event_box_new (); + gtk_widget_show (from_eventbox); + gtk_table_attach (GTK_TABLE (table2), from_eventbox, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_tooltips_set_tip (tooltips, from_eventbox, _("addr"), NULL); + + from_label = gtk_label_new (_("localhost")); + gtk_widget_show (from_label); + gtk_container_add (GTK_CONTAINER (from_eventbox), from_label); + GTK_WIDGET_SET_FLAGS (from_label, GTK_CAN_FOCUS); + gtk_label_set_justify (GTK_LABEL (from_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (from_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (from_label), 0, 0.5); + + _label2 = gtk_label_new (_("Type:")); + gtk_widget_show (_label2); + gtk_table_attach (GTK_TABLE (table2), _label2, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (_label2), TRUE); + gtk_label_set_justify (GTK_LABEL (_label2), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (_label2), 1, 0.5); + + _label3 = gtk_label_new (_("Device:")); + gtk_widget_show (_label3); + gtk_table_attach (GTK_TABLE (table2), _label3, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (_label3), TRUE); + gtk_label_set_justify (GTK_LABEL (_label3), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (_label3), 1, 0.5); + + _label4 = gtk_label_new (_("From:")); + gtk_widget_show (_label4); + gtk_table_attach (GTK_TABLE (table2), _label4, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (_label4), TRUE); + gtk_label_set_justify (GTK_LABEL (_label4), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (_label4), 1, 0.5); + + _label5 = gtk_label_new (_("To:")); + gtk_widget_show (_label5); + gtk_table_attach (GTK_TABLE (table2), _label5, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (_label5), TRUE); + gtk_label_set_justify (GTK_LABEL (_label5), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (_label5), 1, 0.5); + + label15 = gtk_label_new (_("Time:")); + gtk_widget_show (label15); + gtk_table_attach (GTK_TABLE (table2), label15, 0, 1, 4, 5, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label15), TRUE); + gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label15), 1, 0.5); + + label16 = gtk_label_new (_("ID#:")); + gtk_widget_show (label16); + gtk_table_attach (GTK_TABLE (table2), label16, 0, 1, 5, 6, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label16), TRUE); + gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label16), 1, 0.5); + + label20 = gtk_label_new (_("Broadcast:")); + gtk_widget_show (label20); + gtk_table_attach (GTK_TABLE (table2), label20, 0, 1, 6, 7, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label20), TRUE); + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label20), 1, 0.5); + + type_image = gtk_image_new_from_stock ("gtk-missing-image", GTK_ICON_SIZE_DND); + gtk_widget_show (type_image); + gtk_box_pack_end (GTK_BOX (hbox1), type_image, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (type_image), 0.5, 0); + + hseparator12 = gtk_hseparator_new (); + gtk_widget_show (hseparator12); + gtk_box_pack_start (GTK_BOX (vbox2), hseparator12, FALSE, FALSE, 0); + + vbox23 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox23); + gtk_box_pack_start (GTK_BOX (vbox2), vbox23, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox23), 5); + + queue_check_button = gtk_check_button_new_with_mnemonic (_("Apply decision to all _queued connections")); + gtk_widget_show (queue_check_button); + gtk_box_pack_start (GTK_BOX (vbox23), queue_check_button, FALSE, FALSE, 0); + + rule_check_button = gtk_check_button_new_with_mnemonic (_("_Create a rule from this decision")); + gtk_widget_show (rule_check_button); + gtk_box_pack_start (GTK_BOX (vbox23), rule_check_button, FALSE, FALSE, 0); + + hseparator13 = gtk_hseparator_new (); + gtk_widget_show (hseparator13); + gtk_box_pack_start (GTK_BOX (vbox2), hseparator13, FALSE, FALSE, 0); + + hbuttonbox7 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox7); + gtk_box_pack_start (GTK_BOX (vbox2), hbuttonbox7, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox7), 5); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox7), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (hbuttonbox7), 5); + + accept_button = gtk_button_new (); + gtk_widget_show (accept_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox7), accept_button); + GTK_WIDGET_SET_FLAGS (accept_button, GTK_CAN_DEFAULT); + + alignment11 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment11); + gtk_container_add (GTK_CONTAINER (accept_button), alignment11); + + hbox12 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox12); + gtk_container_add (GTK_CONTAINER (alignment11), hbox12); + + image14 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image14); + gtk_box_pack_start (GTK_BOX (hbox12), image14, FALSE, FALSE, 0); + + label29 = gtk_label_new_with_mnemonic (_("_Accept")); + gtk_widget_show (label29); + gtk_box_pack_start (GTK_BOX (hbox12), label29, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT); + + reject_button = gtk_button_new (); + gtk_widget_show (reject_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox7), reject_button); + GTK_WIDGET_SET_FLAGS (reject_button, GTK_CAN_DEFAULT); + + alignment13 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment13); + gtk_container_add (GTK_CONTAINER (reject_button), alignment13); + + hbox17 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox17); + gtk_container_add (GTK_CONTAINER (alignment13), hbox17); + + image24 = gtk_image_new_from_stock ("gtk-dialog-error", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image24); + gtk_box_pack_start (GTK_BOX (hbox17), image24, FALSE, FALSE, 0); + + label35 = gtk_label_new_with_mnemonic (_("_Reject")); + gtk_widget_show (label35); + gtk_box_pack_start (GTK_BOX (hbox17), label35, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT); + + drop_button = gtk_button_new (); + gtk_widget_show (drop_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox7), drop_button); + GTK_WIDGET_SET_FLAGS (drop_button, GTK_CAN_DEFAULT); + + alignment9 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment9); + gtk_container_add (GTK_CONTAINER (drop_button), alignment9); + + hbox10 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox10); + gtk_container_add (GTK_CONTAINER (alignment9), hbox10); + + image12 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image12); + gtk_box_pack_start (GTK_BOX (hbox10), image12, FALSE, FALSE, 0); + + label27 = gtk_label_new_with_mnemonic (_("_Drop")); + gtk_widget_show (label27); + gtk_box_pack_start (GTK_BOX (hbox10), label27, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT); + + g_signal_connect ((gpointer) connection_window, "delete_event", + G_CALLBACK (on_connection_window_delete_event), + NULL); + g_signal_connect ((gpointer) accept_button, "clicked", + G_CALLBACK (on_accept_button_clicked), + NULL); + g_signal_connect ((gpointer) reject_button, "clicked", + G_CALLBACK (on_reject_button_clicked), + NULL); + g_signal_connect ((gpointer) drop_button, "clicked", + G_CALLBACK (on_drop_button_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (connection_window, connection_window, "connection_window"); + GLADE_HOOKUP_OBJECT (connection_window, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (connection_window, title_eventbox, "title_eventbox"); + GLADE_HOOKUP_OBJECT (connection_window, hbox27, "hbox27"); + GLADE_HOOKUP_OBJECT (connection_window, title_image, "title_image"); + GLADE_HOOKUP_OBJECT (connection_window, title_label, "title_label"); + GLADE_HOOKUP_OBJECT (connection_window, hseparator11, "hseparator11"); + GLADE_HOOKUP_OBJECT (connection_window, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (connection_window, table2, "table2"); + GLADE_HOOKUP_OBJECT (connection_window, interface_label, "interface_label"); + GLADE_HOOKUP_OBJECT (connection_window, type_label, "type_label"); + GLADE_HOOKUP_OBJECT (connection_window, time_label, "time_label"); + GLADE_HOOKUP_OBJECT (connection_window, id_label, "id_label"); + GLADE_HOOKUP_OBJECT (connection_window, broadcast_label, "broadcast_label"); + GLADE_HOOKUP_OBJECT (connection_window, to_eventbox, "to_eventbox"); + GLADE_HOOKUP_OBJECT (connection_window, to_label, "to_label"); + GLADE_HOOKUP_OBJECT (connection_window, from_eventbox, "from_eventbox"); + GLADE_HOOKUP_OBJECT (connection_window, from_label, "from_label"); + GLADE_HOOKUP_OBJECT (connection_window, _label2, "_label2"); + GLADE_HOOKUP_OBJECT (connection_window, _label3, "_label3"); + GLADE_HOOKUP_OBJECT (connection_window, _label4, "_label4"); + GLADE_HOOKUP_OBJECT (connection_window, _label5, "_label5"); + GLADE_HOOKUP_OBJECT (connection_window, label15, "label15"); + GLADE_HOOKUP_OBJECT (connection_window, label16, "label16"); + GLADE_HOOKUP_OBJECT (connection_window, label20, "label20"); + GLADE_HOOKUP_OBJECT (connection_window, type_image, "type_image"); + GLADE_HOOKUP_OBJECT (connection_window, hseparator12, "hseparator12"); + GLADE_HOOKUP_OBJECT (connection_window, vbox23, "vbox23"); + GLADE_HOOKUP_OBJECT (connection_window, queue_check_button, "queue_check_button"); + GLADE_HOOKUP_OBJECT (connection_window, rule_check_button, "rule_check_button"); + GLADE_HOOKUP_OBJECT (connection_window, hseparator13, "hseparator13"); + GLADE_HOOKUP_OBJECT (connection_window, hbuttonbox7, "hbuttonbox7"); + GLADE_HOOKUP_OBJECT (connection_window, accept_button, "accept_button"); + GLADE_HOOKUP_OBJECT (connection_window, alignment11, "alignment11"); + GLADE_HOOKUP_OBJECT (connection_window, hbox12, "hbox12"); + GLADE_HOOKUP_OBJECT (connection_window, image14, "image14"); + GLADE_HOOKUP_OBJECT (connection_window, label29, "label29"); + GLADE_HOOKUP_OBJECT (connection_window, reject_button, "reject_button"); + GLADE_HOOKUP_OBJECT (connection_window, alignment13, "alignment13"); + GLADE_HOOKUP_OBJECT (connection_window, hbox17, "hbox17"); + GLADE_HOOKUP_OBJECT (connection_window, image24, "image24"); + GLADE_HOOKUP_OBJECT (connection_window, label35, "label35"); + GLADE_HOOKUP_OBJECT (connection_window, drop_button, "drop_button"); + GLADE_HOOKUP_OBJECT (connection_window, alignment9, "alignment9"); + GLADE_HOOKUP_OBJECT (connection_window, hbox10, "hbox10"); + GLADE_HOOKUP_OBJECT (connection_window, image12, "image12"); + GLADE_HOOKUP_OBJECT (connection_window, label27, "label27"); + GLADE_HOOKUP_OBJECT_NO_REF (connection_window, tooltips, "tooltips"); + + gtk_widget_grab_focus (accept_button); + gtk_widget_grab_default (accept_button); + return connection_window; +} + +GtkWidget* +create_main_window (void) +{ + GtkWidget *main_window; + GtkWidget *vbox5; + GtkWidget *menubar1; + GtkWidget *menuitem4; + GtkWidget *menuitem4_menu; + GtkWidget *new_ruleset1; + GtkWidget *image96; + GtkWidget *open_ruleset; + GtkWidget *image97; + GtkWidget *save_ruleset; + GtkWidget *image98; + GtkWidget *separatormenuitem1; + GtkWidget *quit; + GtkWidget *menuitem5; + GtkWidget *menuitem5_menu; + GtkWidget *clear_log; + GtkWidget *image99; + GtkWidget *menuitem7; + GtkWidget *menuitem7_menu; + GtkWidget *about; + GtkWidget *title_eventbox; + GtkWidget *hbox28; + GtkWidget *label76; + GtkWidget *version_label; + GtkWidget *hseparator7; + GtkWidget *notebook1; + GtkWidget *scrolledwindow2; + GtkWidget *log_view; + GtkWidget *label21; + GtkWidget *vbox6; + GtkWidget *frame1; + GtkWidget *vbox7; + GtkWidget *ruleset_check_button; + GtkWidget *hbox13; + GtkWidget *label30; + GtkWidget *unmatch_optionmenu; + GtkWidget *menu1; + GtkWidget *default_query; + GtkWidget *image114; + GtkWidget *default_accept; + GtkWidget *image115; + GtkWidget *default_reject; + GtkWidget *image116; + GtkWidget *default_drop; + GtkWidget *image117; + GtkWidget *label23; + GtkWidget *hbox21; + GtkWidget *vbox18; + GtkWidget *scrolledwindow3; + GtkWidget *ruleset_view; + GtkWidget *frame10; + GtkWidget *table7; + GtkWidget *label70; + GtkWidget *label64; + GtkWidget *label63; + GtkWidget *rule_verdict_label; + GtkWidget *rule_match_label; + GtkWidget *rule_name_label; + GtkWidget *rule_enabled_label; + GtkWidget *label82; + GtkWidget *label62; + GtkWidget *vbox19; + GtkWidget *properties_button; + GtkWidget *hseparator4; + GtkWidget *up_button; + GtkWidget *down_button; + GtkWidget *hseparator3; + GtkWidget *add_button; + GtkWidget *alignment6; + GtkWidget *hbox7; + GtkWidget *image9; + GtkWidget *label24; + GtkWidget *remove_button; + GtkWidget *alignment7; + GtkWidget *hbox8; + GtkWidget *image10; + GtkWidget *label25; + GtkWidget *clear_button; + GtkWidget *hseparator10; + GtkWidget *advanced_button; + GtkWidget *alignment16; + GtkWidget *hbox25; + GtkWidget *image59; + GtkWidget *label79; + GtkWidget *hseparator9; + GtkWidget *commit_button; + GtkWidget *alignment14; + GtkWidget *hbox23; + GtkWidget *image57; + GtkWidget *label77; + GtkWidget *label22; + GtkWidget *vbox8; + GtkWidget *frame2; + GtkWidget *vbox9; + GtkWidget *autoscroll_button; + GtkWidget *sticky_button; + GtkWidget *hbox22; + GtkWidget *label66; + GtkObject *log_spinbutton_adj; + GtkWidget *log_spinbutton; + GtkWidget *label36; + GtkWidget *label32; + GtkWidget *statusbar; + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new (); + + main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (main_window), _("FieryFilter")); + gtk_window_set_default_size (GTK_WINDOW (main_window), 620, 520); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (main_window), vbox5); + + menubar1 = gtk_menu_bar_new (); + gtk_widget_show (menubar1); + gtk_box_pack_start (GTK_BOX (vbox5), menubar1, FALSE, FALSE, 0); + + menuitem4 = gtk_menu_item_new_with_mnemonic (_("_File")); + gtk_widget_show (menuitem4); + gtk_container_add (GTK_CONTAINER (menubar1), menuitem4); + + menuitem4_menu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu); + + new_ruleset1 = gtk_image_menu_item_new_with_mnemonic (_("_New ruleset")); + gtk_widget_show (new_ruleset1); + gtk_container_add (GTK_CONTAINER (menuitem4_menu), new_ruleset1); + + image96 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU); + gtk_widget_show (image96); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (new_ruleset1), image96); + + open_ruleset = gtk_image_menu_item_new_with_mnemonic (_("_Open ruleset...")); + gtk_widget_show (open_ruleset); + gtk_container_add (GTK_CONTAINER (menuitem4_menu), open_ruleset); + + image97 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU); + gtk_widget_show (image97); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open_ruleset), image97); + + save_ruleset = gtk_image_menu_item_new_with_mnemonic (_("_Save ruleset as...")); + gtk_widget_show (save_ruleset); + gtk_container_add (GTK_CONTAINER (menuitem4_menu), save_ruleset); + + image98 = gtk_image_new_from_stock ("gtk-save-as", GTK_ICON_SIZE_MENU); + gtk_widget_show (image98); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (save_ruleset), image98); + + separatormenuitem1 = gtk_menu_item_new (); + gtk_widget_show (separatormenuitem1); + gtk_container_add (GTK_CONTAINER (menuitem4_menu), separatormenuitem1); + gtk_widget_set_sensitive (separatormenuitem1, FALSE); + + quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); + gtk_widget_show (quit); + gtk_container_add (GTK_CONTAINER (menuitem4_menu), quit); + + menuitem5 = gtk_menu_item_new_with_mnemonic (_("_Edit")); + gtk_widget_show (menuitem5); + gtk_container_add (GTK_CONTAINER (menubar1), menuitem5); + + menuitem5_menu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem5), menuitem5_menu); + + clear_log = gtk_image_menu_item_new_with_mnemonic (_("_Clear Log")); + gtk_widget_show (clear_log); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), clear_log); + + image99 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU); + gtk_widget_show (image99); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear_log), image99); + + menuitem7 = gtk_menu_item_new_with_mnemonic (_("_Help")); + gtk_widget_show (menuitem7); + gtk_container_add (GTK_CONTAINER (menubar1), menuitem7); + + menuitem7_menu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem7), menuitem7_menu); + + about = gtk_menu_item_new_with_mnemonic (_("_About")); + gtk_widget_show (about); + gtk_container_add (GTK_CONTAINER (menuitem7_menu), about); + + title_eventbox = gtk_event_box_new (); + gtk_widget_show (title_eventbox); + gtk_box_pack_start (GTK_BOX (vbox5), title_eventbox, FALSE, FALSE, 0); + + hbox28 = gtk_hbox_new (FALSE, 0); + gtk_widget_show (hbox28); + gtk_container_add (GTK_CONTAINER (title_eventbox), hbox28); + + label76 = gtk_label_new (_("FieryFilter Interactive Personal Firewall")); + gtk_widget_show (label76); + gtk_box_pack_start (GTK_BOX (hbox28), label76, TRUE, TRUE, 0); + gtk_label_set_use_markup (GTK_LABEL (label76), TRUE); + gtk_label_set_justify (GTK_LABEL (label76), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label76), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (label76), 10, 5); + + version_label = gtk_label_new (_("Version 4711")); + gtk_widget_show (version_label); + gtk_box_pack_start (GTK_BOX (hbox28), version_label, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (version_label), TRUE); + gtk_label_set_justify (GTK_LABEL (version_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (version_label), 0.5, 1); + gtk_misc_set_padding (GTK_MISC (version_label), 10, 5); + + hseparator7 = gtk_hseparator_new (); + gtk_widget_show (hseparator7); + gtk_box_pack_start (GTK_BOX (vbox5), hseparator7, FALSE, TRUE, 0); + + notebook1 = gtk_notebook_new (); + gtk_widget_show (notebook1); + gtk_box_pack_start (GTK_BOX (vbox5), notebook1, TRUE, TRUE, 3); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow2); + gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow2); + gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 5); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN); + + log_view = gtk_tree_view_new (); + gtk_widget_show (log_view); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), log_view); + + label21 = gtk_label_new_with_mnemonic (_("Connection _Log")); + gtk_widget_show (label21); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label21); + GTK_WIDGET_SET_FLAGS (label21, GTK_CAN_FOCUS); + gtk_label_set_use_markup (GTK_LABEL (label21), TRUE); + gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT); + + vbox6 = gtk_vbox_new (FALSE, 10); + gtk_widget_show (vbox6); + gtk_container_add (GTK_CONTAINER (notebook1), vbox6); + gtk_container_set_border_width (GTK_CONTAINER (vbox6), 5); + + frame1 = gtk_frame_new (NULL); + gtk_widget_show (frame1); + gtk_box_pack_start (GTK_BOX (vbox6), frame1, FALSE, TRUE, 0); + + vbox7 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox7); + gtk_container_add (GTK_CONTAINER (frame1), vbox7); + gtk_container_set_border_width (GTK_CONTAINER (vbox7), 5); + + ruleset_check_button = gtk_check_button_new_with_mnemonic (_("Respect r_uleset")); + gtk_widget_show (ruleset_check_button); + gtk_box_pack_start (GTK_BOX (vbox7), ruleset_check_button, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ruleset_check_button), TRUE); + + hbox13 = gtk_hbox_new (FALSE, 5); + gtk_widget_show (hbox13); + gtk_box_pack_start (GTK_BOX (vbox7), hbox13, FALSE, FALSE, 0); + + label30 = gtk_label_new_with_mnemonic (_("Un_matched connections:")); + gtk_widget_show (label30); + gtk_box_pack_start (GTK_BOX (hbox13), label30, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT); + + unmatch_optionmenu = gtk_option_menu_new (); + gtk_widget_show (unmatch_optionmenu); + gtk_box_pack_start (GTK_BOX (hbox13), unmatch_optionmenu, TRUE, TRUE, 0); + gtk_option_menu_set_history (GTK_OPTION_MENU (unmatch_optionmenu), 1); + + menu1 = gtk_menu_new (); + + default_query = gtk_image_menu_item_new_with_mnemonic (_("Query User")); + gtk_widget_show (default_query); + gtk_container_add (GTK_CONTAINER (menu1), default_query); + + image114 = gtk_image_new_from_stock ("gtk-dialog-question", GTK_ICON_SIZE_MENU); + gtk_widget_show (image114); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (default_query), image114); + + default_accept = gtk_image_menu_item_new_with_mnemonic (_("Accept")); + gtk_widget_show (default_accept); + gtk_container_add (GTK_CONTAINER (menu1), default_accept); + + image115 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_MENU); + gtk_widget_show (image115); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (default_accept), image115); + + default_reject = gtk_image_menu_item_new_with_mnemonic (_("Reject")); + gtk_widget_show (default_reject); + gtk_container_add (GTK_CONTAINER (menu1), default_reject); + + image116 = gtk_image_new_from_stock ("gtk-dialog-error", GTK_ICON_SIZE_MENU); + gtk_widget_show (image116); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (default_reject), image116); + + default_drop = gtk_image_menu_item_new_with_mnemonic (_("Drop")); + gtk_widget_show (default_drop); + gtk_container_add (GTK_CONTAINER (menu1), default_drop); + + image117 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU); + gtk_widget_show (image117); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (default_drop), image117); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (unmatch_optionmenu), menu1); + + label23 = gtk_label_new (_("Firewall mode")); + gtk_widget_show (label23); + gtk_frame_set_label_widget (GTK_FRAME (frame1), label23); + gtk_label_set_use_markup (GTK_LABEL (label23), TRUE); + gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT); + + hbox21 = gtk_hbox_new (FALSE, 10); + gtk_widget_show (hbox21); + gtk_box_pack_start (GTK_BOX (vbox6), hbox21, TRUE, TRUE, 0); + + vbox18 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox18); + gtk_box_pack_start (GTK_BOX (hbox21), vbox18, TRUE, TRUE, 0); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (scrolledwindow3); + gtk_box_pack_start (GTK_BOX (vbox18), scrolledwindow3, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); + + ruleset_view = gtk_tree_view_new (); + gtk_widget_show (ruleset_view); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), ruleset_view); + + frame10 = gtk_frame_new (NULL); + gtk_widget_show (frame10); + gtk_box_pack_start (GTK_BOX (vbox18), frame10, FALSE, FALSE, 0); + + table7 = gtk_table_new (4, 2, FALSE); + gtk_widget_show (table7); + gtk_container_add (GTK_CONTAINER (frame10), table7); + gtk_container_set_border_width (GTK_CONTAINER (table7), 5); + gtk_table_set_row_spacings (GTK_TABLE (table7), 5); + gtk_table_set_col_spacings (GTK_TABLE (table7), 5); + + label70 = gtk_label_new (_("Verdict:")); + gtk_widget_show (label70); + gtk_table_attach (GTK_TABLE (table7), label70, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label70), TRUE); + gtk_label_set_justify (GTK_LABEL (label70), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label70), 1, 0.5); + + label64 = gtk_label_new (_("Match:")); + gtk_widget_show (label64); + gtk_table_attach (GTK_TABLE (table7), label64, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label64), TRUE); + gtk_label_set_justify (GTK_LABEL (label64), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label64), 1, 0.5); + + label63 = gtk_label_new (_("Description:")); + gtk_widget_show (label63); + gtk_table_attach (GTK_TABLE (table7), label63, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label63), TRUE); + gtk_label_set_justify (GTK_LABEL (label63), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label63), 1, 0.5); + + rule_verdict_label = gtk_label_new (_("label69")); + gtk_widget_show (rule_verdict_label); + gtk_table_attach (GTK_TABLE (table7), rule_verdict_label, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (rule_verdict_label), TRUE); + gtk_label_set_justify (GTK_LABEL (rule_verdict_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (rule_verdict_label), 0, 0.5); + + rule_match_label = gtk_label_new (_("label68")); + gtk_widget_show (rule_match_label); + gtk_table_attach (GTK_TABLE (table7), rule_match_label, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (rule_match_label), TRUE); + gtk_label_set_justify (GTK_LABEL (rule_match_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (rule_match_label), 0, 0.5); + + rule_name_label = gtk_label_new (_("label67")); + gtk_widget_show (rule_name_label); + gtk_table_attach (GTK_TABLE (table7), rule_name_label, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (rule_name_label), TRUE); + gtk_label_set_justify (GTK_LABEL (rule_name_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (rule_name_label), 0, 0.5); + + rule_enabled_label = gtk_label_new (_("label80")); + gtk_widget_show (rule_enabled_label); + gtk_table_attach (GTK_TABLE (table7), rule_enabled_label, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (rule_enabled_label), TRUE); + gtk_label_set_justify (GTK_LABEL (rule_enabled_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (rule_enabled_label), 0, 0.5); + + label82 = gtk_label_new (_("Enabled:")); + gtk_widget_show (label82); + gtk_table_attach (GTK_TABLE (table7), label82, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (label82), TRUE); + gtk_label_set_justify (GTK_LABEL (label82), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label82), 1, 0.5); + + label62 = gtk_label_new (_("Rule")); + gtk_widget_show (label62); + gtk_frame_set_label_widget (GTK_FRAME (frame10), label62); + gtk_label_set_use_markup (GTK_LABEL (label62), TRUE); + gtk_label_set_justify (GTK_LABEL (label62), GTK_JUSTIFY_LEFT); + + vbox19 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox19); + gtk_box_pack_start (GTK_BOX (hbox21), vbox19, FALSE, FALSE, 0); + + properties_button = gtk_button_new_from_stock ("gtk-properties"); + gtk_widget_show (properties_button); + gtk_box_pack_start (GTK_BOX (vbox19), properties_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (properties_button, GTK_CAN_DEFAULT); + + hseparator4 = gtk_hseparator_new (); + gtk_widget_show (hseparator4); + gtk_box_pack_start (GTK_BOX (vbox19), hseparator4, FALSE, TRUE, 5); + + up_button = gtk_button_new_from_stock ("gtk-go-up"); + gtk_widget_show (up_button); + gtk_box_pack_start (GTK_BOX (vbox19), up_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (up_button, GTK_CAN_DEFAULT); + + down_button = gtk_button_new_from_stock ("gtk-go-down"); + gtk_widget_show (down_button); + gtk_box_pack_start (GTK_BOX (vbox19), down_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (down_button, GTK_CAN_DEFAULT); + + hseparator3 = gtk_hseparator_new (); + gtk_widget_show (hseparator3); + gtk_box_pack_start (GTK_BOX (vbox19), hseparator3, FALSE, TRUE, 5); + + add_button = gtk_button_new (); + gtk_widget_show (add_button); + gtk_box_pack_start (GTK_BOX (vbox19), add_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (add_button, GTK_CAN_DEFAULT); + + alignment6 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment6); + gtk_container_add (GTK_CONTAINER (add_button), alignment6); + + hbox7 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox7); + gtk_container_add (GTK_CONTAINER (alignment6), hbox7); + + image9 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image9); + gtk_box_pack_start (GTK_BOX (hbox7), image9, FALSE, FALSE, 0); + + label24 = gtk_label_new_with_mnemonic (_("_Add new rule")); + gtk_widget_show (label24); + gtk_box_pack_start (GTK_BOX (hbox7), label24, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT); + + remove_button = gtk_button_new (); + gtk_widget_show (remove_button); + gtk_box_pack_start (GTK_BOX (vbox19), remove_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (remove_button, GTK_CAN_DEFAULT); + + alignment7 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment7); + gtk_container_add (GTK_CONTAINER (remove_button), alignment7); + + hbox8 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox8); + gtk_container_add (GTK_CONTAINER (alignment7), hbox8); + + image10 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image10); + gtk_box_pack_start (GTK_BOX (hbox8), image10, FALSE, FALSE, 0); + + label25 = gtk_label_new_with_mnemonic (_("_Remove rule")); + gtk_widget_show (label25); + gtk_box_pack_start (GTK_BOX (hbox8), label25, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT); + + clear_button = gtk_button_new_from_stock ("gtk-clear"); + gtk_widget_show (clear_button); + gtk_box_pack_start (GTK_BOX (vbox19), clear_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (clear_button, GTK_CAN_DEFAULT); + + hseparator10 = gtk_hseparator_new (); + gtk_widget_show (hseparator10); + gtk_box_pack_start (GTK_BOX (vbox19), hseparator10, FALSE, FALSE, 5); + + advanced_button = gtk_button_new (); + gtk_widget_show (advanced_button); + gtk_box_pack_start (GTK_BOX (vbox19), advanced_button, FALSE, FALSE, 0); + + alignment16 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment16); + gtk_container_add (GTK_CONTAINER (advanced_button), alignment16); + + hbox25 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox25); + gtk_container_add (GTK_CONTAINER (alignment16), hbox25); + + image59 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image59); + gtk_box_pack_start (GTK_BOX (hbox25), image59, FALSE, FALSE, 0); + + label79 = gtk_label_new_with_mnemonic (_("_Advanced")); + gtk_widget_show (label79); + gtk_box_pack_start (GTK_BOX (hbox25), label79, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label79), GTK_JUSTIFY_LEFT); + + hseparator9 = gtk_hseparator_new (); + gtk_widget_show (hseparator9); + gtk_box_pack_start (GTK_BOX (vbox19), hseparator9, FALSE, FALSE, 5); + + commit_button = gtk_button_new (); + gtk_widget_show (commit_button); + gtk_box_pack_start (GTK_BOX (vbox19), commit_button, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (commit_button, GTK_CAN_DEFAULT); + + alignment14 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment14); + gtk_container_add (GTK_CONTAINER (commit_button), alignment14); + + hbox23 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox23); + gtk_container_add (GTK_CONTAINER (alignment14), hbox23); + + image57 = gtk_image_new_from_stock ("gtk-execute", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image57); + gtk_box_pack_start (GTK_BOX (hbox23), image57, FALSE, FALSE, 0); + + label77 = gtk_label_new_with_mnemonic (_("Co_mmit")); + gtk_widget_show (label77); + gtk_box_pack_start (GTK_BOX (hbox23), label77, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label77), GTK_JUSTIFY_LEFT); + + label22 = gtk_label_new_with_mnemonic (_("Firewall _Rules")); + gtk_widget_show (label22); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label22); + gtk_label_set_use_markup (GTK_LABEL (label22), TRUE); + gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT); + + vbox8 = gtk_vbox_new (FALSE, 10); + gtk_widget_show (vbox8); + gtk_container_add (GTK_CONTAINER (notebook1), vbox8); + gtk_container_set_border_width (GTK_CONTAINER (vbox8), 5); + + frame2 = gtk_frame_new (NULL); + gtk_widget_show (frame2); + gtk_box_pack_start (GTK_BOX (vbox8), frame2, FALSE, FALSE, 0); + + vbox9 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox9); + gtk_container_add (GTK_CONTAINER (frame2), vbox9); + gtk_container_set_border_width (GTK_CONTAINER (vbox9), 5); + + autoscroll_button = gtk_check_button_new_with_mnemonic (_("_Automatic scrolling to newly added log entries")); + gtk_widget_show (autoscroll_button); + gtk_box_pack_start (GTK_BOX (vbox9), autoscroll_button, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (autoscroll_button), TRUE); + + sticky_button = gtk_check_button_new_with_mnemonic (_("Popup window is _sticky (visible on all desktops)")); + gtk_widget_show (sticky_button); + gtk_box_pack_start (GTK_BOX (vbox9), sticky_button, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sticky_button), TRUE); + + hbox22 = gtk_hbox_new (FALSE, 5); + gtk_widget_show (hbox22); + gtk_box_pack_start (GTK_BOX (vbox9), hbox22, TRUE, TRUE, 0); + + label66 = gtk_label_new (_("Maximum number of Log entries:")); + gtk_widget_show (label66); + gtk_box_pack_start (GTK_BOX (hbox22), label66, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label66), GTK_JUSTIFY_LEFT); + + log_spinbutton_adj = gtk_adjustment_new (100, 10, 999, 1, 10, 10); + log_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (log_spinbutton_adj), 1, 0); + gtk_widget_show (log_spinbutton); + gtk_box_pack_start (GTK_BOX (hbox22), log_spinbutton, FALSE, TRUE, 0); + + label36 = gtk_label_new (_("User Interface")); + gtk_widget_show (label36); + gtk_frame_set_label_widget (GTK_FRAME (frame2), label36); + gtk_label_set_use_markup (GTK_LABEL (label36), TRUE); + gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT); + + label32 = gtk_label_new_with_mnemonic (_("_Options")); + gtk_widget_show (label32); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label32); + gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT); + + statusbar = gtk_statusbar_new (); + gtk_widget_show (statusbar); + gtk_box_pack_start (GTK_BOX (vbox5), statusbar, FALSE, FALSE, 0); + + g_signal_connect ((gpointer) main_window, "delete_event", + G_CALLBACK (on_main_window_delete_event), + NULL); + g_signal_connect ((gpointer) new_ruleset1, "activate", + G_CALLBACK (on_new_ruleset_activate), + NULL); + g_signal_connect ((gpointer) open_ruleset, "activate", + G_CALLBACK (on_open_ruleset_activate), + NULL); + g_signal_connect ((gpointer) save_ruleset, "activate", + G_CALLBACK (on_save_ruleset_activate), + NULL); + g_signal_connect ((gpointer) quit, "activate", + G_CALLBACK (on_quit_activate), + NULL); + g_signal_connect ((gpointer) clear_log, "activate", + G_CALLBACK (on_clear_log_activate), + NULL); + g_signal_connect ((gpointer) about, "activate", + G_CALLBACK (on_about_activate), + NULL); + g_signal_connect ((gpointer) ruleset_check_button, "toggled", + G_CALLBACK (on_ruleset_check_button_toggled), + NULL); + g_signal_connect ((gpointer) unmatch_optionmenu, "changed", + G_CALLBACK (on_unmatch_optionmenu_changed), + NULL); + g_signal_connect ((gpointer) ruleset_view, "cursor_changed", + G_CALLBACK (on_ruleset_view_cursor_changed), + NULL); + g_signal_connect ((gpointer) properties_button, "clicked", + G_CALLBACK (on_properties_button_clicked), + NULL); + g_signal_connect ((gpointer) up_button, "clicked", + G_CALLBACK (on_up_button_clicked), + NULL); + g_signal_connect ((gpointer) down_button, "clicked", + G_CALLBACK (on_down_button_clicked), + NULL); + g_signal_connect ((gpointer) add_button, "clicked", + G_CALLBACK (on_add_button_clicked), + NULL); + g_signal_connect ((gpointer) remove_button, "clicked", + G_CALLBACK (on_remove_button_clicked), + NULL); + g_signal_connect ((gpointer) clear_button, "clicked", + G_CALLBACK (on_clear_button_clicked), + NULL); + g_signal_connect ((gpointer) advanced_button, "clicked", + G_CALLBACK (on_advanced_button_clicked), + NULL); + g_signal_connect ((gpointer) commit_button, "clicked", + G_CALLBACK (on_commit_button_clicked), + NULL); + g_signal_connect ((gpointer) sticky_button, "toggled", + G_CALLBACK (on_sticky_button_toggled), + NULL); + g_signal_connect ((gpointer) log_spinbutton, "value_changed", + G_CALLBACK (on_log_spinbutton_value_changed), + NULL); + + gtk_label_set_mnemonic_widget (GTK_LABEL (label30), unmatch_optionmenu); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (main_window, main_window, "main_window"); + GLADE_HOOKUP_OBJECT (main_window, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (main_window, menubar1, "menubar1"); + GLADE_HOOKUP_OBJECT (main_window, menuitem4, "menuitem4"); + GLADE_HOOKUP_OBJECT (main_window, menuitem4_menu, "menuitem4_menu"); + GLADE_HOOKUP_OBJECT (main_window, new_ruleset1, "new_ruleset1"); + GLADE_HOOKUP_OBJECT (main_window, image96, "image96"); + GLADE_HOOKUP_OBJECT (main_window, open_ruleset, "open_ruleset"); + GLADE_HOOKUP_OBJECT (main_window, image97, "image97"); + GLADE_HOOKUP_OBJECT (main_window, save_ruleset, "save_ruleset"); + GLADE_HOOKUP_OBJECT (main_window, image98, "image98"); + GLADE_HOOKUP_OBJECT (main_window, separatormenuitem1, "separatormenuitem1"); + GLADE_HOOKUP_OBJECT (main_window, quit, "quit"); + GLADE_HOOKUP_OBJECT (main_window, menuitem5, "menuitem5"); + GLADE_HOOKUP_OBJECT (main_window, menuitem5_menu, "menuitem5_menu"); + GLADE_HOOKUP_OBJECT (main_window, clear_log, "clear_log"); + GLADE_HOOKUP_OBJECT (main_window, image99, "image99"); + GLADE_HOOKUP_OBJECT (main_window, menuitem7, "menuitem7"); + GLADE_HOOKUP_OBJECT (main_window, menuitem7_menu, "menuitem7_menu"); + GLADE_HOOKUP_OBJECT (main_window, about, "about"); + GLADE_HOOKUP_OBJECT (main_window, title_eventbox, "title_eventbox"); + GLADE_HOOKUP_OBJECT (main_window, hbox28, "hbox28"); + GLADE_HOOKUP_OBJECT (main_window, label76, "label76"); + GLADE_HOOKUP_OBJECT (main_window, version_label, "version_label"); + GLADE_HOOKUP_OBJECT (main_window, hseparator7, "hseparator7"); + GLADE_HOOKUP_OBJECT (main_window, notebook1, "notebook1"); + GLADE_HOOKUP_OBJECT (main_window, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (main_window, log_view, "log_view"); + GLADE_HOOKUP_OBJECT (main_window, label21, "label21"); + GLADE_HOOKUP_OBJECT (main_window, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (main_window, frame1, "frame1"); + GLADE_HOOKUP_OBJECT (main_window, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (main_window, ruleset_check_button, "ruleset_check_button"); + GLADE_HOOKUP_OBJECT (main_window, hbox13, "hbox13"); + GLADE_HOOKUP_OBJECT (main_window, label30, "label30"); + GLADE_HOOKUP_OBJECT (main_window, unmatch_optionmenu, "unmatch_optionmenu"); + GLADE_HOOKUP_OBJECT (main_window, menu1, "menu1"); + GLADE_HOOKUP_OBJECT (main_window, default_query, "default_query"); + GLADE_HOOKUP_OBJECT (main_window, image114, "image114"); + GLADE_HOOKUP_OBJECT (main_window, default_accept, "default_accept"); + GLADE_HOOKUP_OBJECT (main_window, image115, "image115"); + GLADE_HOOKUP_OBJECT (main_window, default_reject, "default_reject"); + GLADE_HOOKUP_OBJECT (main_window, image116, "image116"); + GLADE_HOOKUP_OBJECT (main_window, default_drop, "default_drop"); + GLADE_HOOKUP_OBJECT (main_window, image117, "image117"); + GLADE_HOOKUP_OBJECT (main_window, label23, "label23"); + GLADE_HOOKUP_OBJECT (main_window, hbox21, "hbox21"); + GLADE_HOOKUP_OBJECT (main_window, vbox18, "vbox18"); + GLADE_HOOKUP_OBJECT (main_window, scrolledwindow3, "scrolledwindow3"); + GLADE_HOOKUP_OBJECT (main_window, ruleset_view, "ruleset_view"); + GLADE_HOOKUP_OBJECT (main_window, frame10, "frame10"); + GLADE_HOOKUP_OBJECT (main_window, table7, "table7"); + GLADE_HOOKUP_OBJECT (main_window, label70, "label70"); + GLADE_HOOKUP_OBJECT (main_window, label64, "label64"); + GLADE_HOOKUP_OBJECT (main_window, label63, "label63"); + GLADE_HOOKUP_OBJECT (main_window, rule_verdict_label, "rule_verdict_label"); + GLADE_HOOKUP_OBJECT (main_window, rule_match_label, "rule_match_label"); + GLADE_HOOKUP_OBJECT (main_window, rule_name_label, "rule_name_label"); + GLADE_HOOKUP_OBJECT (main_window, rule_enabled_label, "rule_enabled_label"); + GLADE_HOOKUP_OBJECT (main_window, label82, "label82"); + GLADE_HOOKUP_OBJECT (main_window, label62, "label62"); + GLADE_HOOKUP_OBJECT (main_window, vbox19, "vbox19"); + GLADE_HOOKUP_OBJECT (main_window, properties_button, "properties_button"); + GLADE_HOOKUP_OBJECT (main_window, hseparator4, "hseparator4"); + GLADE_HOOKUP_OBJECT (main_window, up_button, "up_button"); + GLADE_HOOKUP_OBJECT (main_window, down_button, "down_button"); + GLADE_HOOKUP_OBJECT (main_window, hseparator3, "hseparator3"); + GLADE_HOOKUP_OBJECT (main_window, add_button, "add_button"); + GLADE_HOOKUP_OBJECT (main_window, alignment6, "alignment6"); + GLADE_HOOKUP_OBJECT (main_window, hbox7, "hbox7"); + GLADE_HOOKUP_OBJECT (main_window, image9, "image9"); + GLADE_HOOKUP_OBJECT (main_window, label24, "label24"); + GLADE_HOOKUP_OBJECT (main_window, remove_button, "remove_button"); + GLADE_HOOKUP_OBJECT (main_window, alignment7, "alignment7"); + GLADE_HOOKUP_OBJECT (main_window, hbox8, "hbox8"); + GLADE_HOOKUP_OBJECT (main_window, image10, "image10"); + GLADE_HOOKUP_OBJECT (main_window, label25, "label25"); + GLADE_HOOKUP_OBJECT (main_window, clear_button, "clear_button"); + GLADE_HOOKUP_OBJECT (main_window, hseparator10, "hseparator10"); + GLADE_HOOKUP_OBJECT (main_window, advanced_button, "advanced_button"); + GLADE_HOOKUP_OBJECT (main_window, alignment16, "alignment16"); + GLADE_HOOKUP_OBJECT (main_window, hbox25, "hbox25"); + GLADE_HOOKUP_OBJECT (main_window, image59, "image59"); + GLADE_HOOKUP_OBJECT (main_window, label79, "label79"); + GLADE_HOOKUP_OBJECT (main_window, hseparator9, "hseparator9"); + GLADE_HOOKUP_OBJECT (main_window, commit_button, "commit_button"); + GLADE_HOOKUP_OBJECT (main_window, alignment14, "alignment14"); + GLADE_HOOKUP_OBJECT (main_window, hbox23, "hbox23"); + GLADE_HOOKUP_OBJECT (main_window, image57, "image57"); + GLADE_HOOKUP_OBJECT (main_window, label77, "label77"); + GLADE_HOOKUP_OBJECT (main_window, label22, "label22"); + GLADE_HOOKUP_OBJECT (main_window, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (main_window, frame2, "frame2"); + GLADE_HOOKUP_OBJECT (main_window, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (main_window, autoscroll_button, "autoscroll_button"); + GLADE_HOOKUP_OBJECT (main_window, sticky_button, "sticky_button"); + GLADE_HOOKUP_OBJECT (main_window, hbox22, "hbox22"); + GLADE_HOOKUP_OBJECT (main_window, label66, "label66"); + GLADE_HOOKUP_OBJECT (main_window, log_spinbutton, "log_spinbutton"); + GLADE_HOOKUP_OBJECT (main_window, label36, "label36"); + GLADE_HOOKUP_OBJECT (main_window, label32, "label32"); + GLADE_HOOKUP_OBJECT (main_window, statusbar, "statusbar"); + + gtk_widget_grab_default (commit_button); + gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group); + + return main_window; +} + +GtkWidget* +create_rule_window (void) +{ + GtkWidget *rule_window; + GtkWidget *vbox11; + GtkWidget *desc_eventbox; + GtkWidget *desc_label; + GtkWidget *hseparator2; + GtkWidget *notebook2; + GtkWidget *vbox12; + GtkWidget *label60; + GtkWidget *desc_entry; + GtkWidget *label72; + GtkWidget *rule_optionmenu; + GtkWidget *menu5; + GtkWidget *imagemenuitem1; + GtkWidget *image110; + GtkWidget *imagemenuitem2; + GtkWidget *image111; + GtkWidget *imagemenuitem3; + GtkWidget *image112; + GtkWidget *imagemenuitem4; + GtkWidget *image113; + GtkWidget *label56; + GtkWidget *vbox16; + GtkWidget *frame4; + GtkWidget *hbox18; + GtkWidget *direction_label; + GtkWidget *direction_optionmenu; + GtkWidget *menu4; + GtkWidget *incoming_menu_item; + GtkWidget *image37; + GtkWidget *outgoing_menu_item; + GtkWidget *image38; + GtkWidget *passing_menu_item; + GtkWidget *match_direction_checkbutton; + GtkWidget *frame5; + GtkWidget *table3; + GtkWidget *incoming_label; + GtkWidget *outgoing_label; + GtkWidget *outgoing_combo; + GtkWidget *combo_entry2; + GtkWidget *incoming_combo; + GtkWidget *combo_entry3; + GtkWidget *match_interfaces_checkbutton; + GtkWidget *label57; + GtkWidget *vbox17; + GtkWidget *frame6; + GtkWidget *table4; + GtkWidget *protocol_label; + GtkWidget *port_label; + GtkWidget *protocol_optionmenu; + GtkWidget *menu3; + GtkWidget *udp_menu_item; + GtkWidget *tcp_menu_item; + GtkWidget *icmp_menu_item; + GtkWidget *icmp_label; + GtkWidget *icmp_optionmenu; + GtkWidget *hbox19; + GtkObject *port_spinbutton_adj; + GtkWidget *port_spinbutton; + GtkWidget *type_label; + GtkWidget *match_type_checkbutton; + GtkWidget *label58; + GtkWidget *vbox13; + GtkWidget *frame7; + GtkWidget *table5; + GtkWidget *src_ip_label; + GtkWidget *src_ip_entry; + GtkWidget *src_host_range_value_label; + GtkObject *src_netmask_spinbutton_adj; + GtkWidget *src_netmask_spinbutton; + GtkWidget *src_netmask_label_bits; + GtkWidget *src_host_range_label; + GtkWidget *src_netmask_checkbutton; + GtkWidget *src_netmask_label; + GtkWidget *label74; + GtkWidget *match_source_checkbutton; + GtkWidget *frame8; + GtkWidget *table6; + GtkWidget *dst_ip_label; + GtkWidget *dst_ip_entry; + GtkWidget *dst_host_range_label; + GtkObject *dst_netmask_spinbutton_adj; + GtkWidget *dst_netmask_spinbutton; + GtkWidget *dst_netmask_label_bits; + GtkWidget *dst_host_range_value_label; + GtkWidget *dst_netmask_checkbutton; + GtkWidget *label75; + GtkWidget *dst_netmask_label; + GtkWidget *match_destination_checkbutton; + GtkWidget *frame9; + GtkWidget *vbox14; + GtkWidget *bc_dont_match_radiobutton; + GSList *bc_dont_match_radiobutton_group = NULL; + GtkWidget *bc_match_broadcast_radiobutton; + GtkWidget *bc_match_unicast_radiobutton; + GtkWidget *label41; + GtkWidget *label59; + GtkWidget *hbuttonbox3; + GtkWidget *ok_button; + GtkWidget *cancel_button; + + rule_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (rule_window), _("FieryFilter Rule")); + gtk_window_set_resizable (GTK_WINDOW (rule_window), FALSE); + + vbox11 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox11); + gtk_container_add (GTK_CONTAINER (rule_window), vbox11); + + desc_eventbox = gtk_event_box_new (); + gtk_widget_show (desc_eventbox); + gtk_box_pack_start (GTK_BOX (vbox11), desc_eventbox, FALSE, FALSE, 0); + + desc_label = gtk_label_new (_("desc_label")); + gtk_widget_show (desc_label); + gtk_container_add (GTK_CONTAINER (desc_eventbox), desc_label); + GTK_WIDGET_SET_FLAGS (desc_label, GTK_CAN_FOCUS); + gtk_label_set_use_markup (GTK_LABEL (desc_label), TRUE); + gtk_label_set_justify (GTK_LABEL (desc_label), GTK_JUSTIFY_LEFT); + gtk_label_set_selectable (GTK_LABEL (desc_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (desc_label), 0, 0.5); + gtk_misc_set_padding (GTK_MISC (desc_label), 10, 10); + + hseparator2 = gtk_hseparator_new (); + gtk_widget_show (hseparator2); + gtk_box_pack_start (GTK_BOX (vbox11), hseparator2, FALSE, FALSE, 0); + + notebook2 = gtk_notebook_new (); + gtk_widget_show (notebook2); + gtk_box_pack_start (GTK_BOX (vbox11), notebook2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (notebook2), 5); + + vbox12 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox12); + gtk_container_add (GTK_CONTAINER (notebook2), vbox12); + gtk_container_set_border_width (GTK_CONTAINER (vbox12), 5); + + label60 = gtk_label_new (_("Description:")); + gtk_widget_show (label60); + gtk_box_pack_start (GTK_BOX (vbox12), label60, FALSE, FALSE, 0); + gtk_label_set_use_markup (GTK_LABEL (label60), TRUE); + gtk_label_set_justify (GTK_LABEL (label60), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label60), 0, 0.5); + + desc_entry = gtk_entry_new (); + gtk_widget_show (desc_entry); + gtk_box_pack_start (GTK_BOX (vbox12), desc_entry, FALSE, FALSE, 0); + gtk_entry_set_max_length (GTK_ENTRY (desc_entry), 64); + gtk_entry_set_text (GTK_ENTRY (desc_entry), _("A new rule")); + + label72 = gtk_label_new (_("Action:")); + gtk_widget_show (label72); + gtk_box_pack_start (GTK_BOX (vbox12), label72, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label72), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label72), 0, 0.5); + + rule_optionmenu = gtk_option_menu_new (); + gtk_widget_show (rule_optionmenu); + gtk_box_pack_start (GTK_BOX (vbox12), rule_optionmenu, FALSE, FALSE, 0); + + menu5 = gtk_menu_new (); + + imagemenuitem1 = gtk_image_menu_item_new_with_mnemonic (_("Query User")); + gtk_widget_show (imagemenuitem1); + gtk_container_add (GTK_CONTAINER (menu5), imagemenuitem1); + + image110 = gtk_image_new_from_stock ("gtk-dialog-question", GTK_ICON_SIZE_MENU); + gtk_widget_show (image110); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (imagemenuitem1), image110); + + imagemenuitem2 = gtk_image_menu_item_new_with_mnemonic (_("Accept")); + gtk_widget_show (imagemenuitem2); + gtk_container_add (GTK_CONTAINER (menu5), imagemenuitem2); + + image111 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_MENU); + gtk_widget_show (image111); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (imagemenuitem2), image111); + + imagemenuitem3 = gtk_image_menu_item_new_with_mnemonic (_("Reject")); + gtk_widget_show (imagemenuitem3); + gtk_container_add (GTK_CONTAINER (menu5), imagemenuitem3); + + image112 = gtk_image_new_from_stock ("gtk-dialog-error", GTK_ICON_SIZE_MENU); + gtk_widget_show (image112); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (imagemenuitem3), image112); + + imagemenuitem4 = gtk_image_menu_item_new_with_mnemonic (_("Drop")); + gtk_widget_show (imagemenuitem4); + gtk_container_add (GTK_CONTAINER (menu5), imagemenuitem4); + + image113 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_MENU); + gtk_widget_show (image113); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (imagemenuitem4), image113); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (rule_optionmenu), menu5); + + label56 = gtk_label_new (_("General")); + gtk_widget_show (label56); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), label56); + gtk_label_set_justify (GTK_LABEL (label56), GTK_JUSTIFY_LEFT); + + vbox16 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox16); + gtk_container_add (GTK_CONTAINER (notebook2), vbox16); + gtk_container_set_border_width (GTK_CONTAINER (vbox16), 5); + + frame4 = gtk_frame_new (NULL); + gtk_widget_show (frame4); + gtk_box_pack_start (GTK_BOX (vbox16), frame4, FALSE, FALSE, 0); + + hbox18 = gtk_hbox_new (FALSE, 5); + gtk_widget_show (hbox18); + gtk_container_add (GTK_CONTAINER (frame4), hbox18); + gtk_container_set_border_width (GTK_CONTAINER (hbox18), 5); + + direction_label = gtk_label_new (_("Direction:")); + gtk_widget_show (direction_label); + gtk_box_pack_start (GTK_BOX (hbox18), direction_label, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (direction_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (direction_label), 1, 0.5); + + direction_optionmenu = gtk_option_menu_new (); + gtk_widget_show (direction_optionmenu); + gtk_box_pack_start (GTK_BOX (hbox18), direction_optionmenu, TRUE, TRUE, 0); + + menu4 = gtk_menu_new (); + + incoming_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Incoming")); + gtk_widget_show (incoming_menu_item); + gtk_container_add (GTK_CONTAINER (menu4), incoming_menu_item); + + image37 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU); + gtk_widget_show (image37); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (incoming_menu_item), image37); + + outgoing_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Outgoing")); + gtk_widget_show (outgoing_menu_item); + gtk_container_add (GTK_CONTAINER (menu4), outgoing_menu_item); + + image38 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU); + gtk_widget_show (image38); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (outgoing_menu_item), image38); + + passing_menu_item = gtk_menu_item_new_with_mnemonic (_("Passing")); + gtk_widget_show (passing_menu_item); + gtk_container_add (GTK_CONTAINER (menu4), passing_menu_item); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (direction_optionmenu), menu4); + + match_direction_checkbutton = gtk_check_button_new_with_mnemonic (_("Match _direction:")); + gtk_widget_show (match_direction_checkbutton); + gtk_frame_set_label_widget (GTK_FRAME (frame4), match_direction_checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (match_direction_checkbutton), TRUE); + + frame5 = gtk_frame_new (NULL); + gtk_widget_show (frame5); + gtk_box_pack_start (GTK_BOX (vbox16), frame5, FALSE, FALSE, 0); + + table3 = gtk_table_new (2, 2, FALSE); + gtk_widget_show (table3); + gtk_container_add (GTK_CONTAINER (frame5), table3); + gtk_container_set_border_width (GTK_CONTAINER (table3), 5); + gtk_table_set_row_spacings (GTK_TABLE (table3), 5); + gtk_table_set_col_spacings (GTK_TABLE (table3), 5); + + incoming_label = gtk_label_new_with_mnemonic (_("In_coming:")); + gtk_widget_show (incoming_label); + gtk_table_attach (GTK_TABLE (table3), incoming_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (incoming_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (incoming_label), 1, 0.5); + + outgoing_label = gtk_label_new_with_mnemonic (_("_Outgoing:")); + gtk_widget_show (outgoing_label); + gtk_table_attach (GTK_TABLE (table3), outgoing_label, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (outgoing_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (outgoing_label), 1, 0.5); + + outgoing_combo = gtk_combo_new (); + g_object_set_data (G_OBJECT (GTK_COMBO (outgoing_combo)->popwin), + "GladeParentKey", outgoing_combo); + gtk_widget_show (outgoing_combo); + gtk_table_attach (GTK_TABLE (table3), outgoing_combo, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + combo_entry2 = GTK_COMBO (outgoing_combo)->entry; + gtk_widget_show (combo_entry2); + + incoming_combo = gtk_combo_new (); + g_object_set_data (G_OBJECT (GTK_COMBO (incoming_combo)->popwin), + "GladeParentKey", incoming_combo); + gtk_widget_show (incoming_combo); + gtk_table_attach (GTK_TABLE (table3), incoming_combo, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + combo_entry3 = GTK_COMBO (incoming_combo)->entry; + gtk_widget_show (combo_entry3); + + match_interfaces_checkbutton = gtk_check_button_new_with_mnemonic (_("Match _interfaces:")); + gtk_widget_show (match_interfaces_checkbutton); + gtk_frame_set_label_widget (GTK_FRAME (frame5), match_interfaces_checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (match_interfaces_checkbutton), TRUE); + + label57 = gtk_label_new (_("Interface")); + gtk_widget_show (label57); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label57); + gtk_label_set_justify (GTK_LABEL (label57), GTK_JUSTIFY_LEFT); + + vbox17 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox17); + gtk_container_add (GTK_CONTAINER (notebook2), vbox17); + gtk_container_set_border_width (GTK_CONTAINER (vbox17), 5); + + frame6 = gtk_frame_new (NULL); + gtk_widget_show (frame6); + gtk_box_pack_start (GTK_BOX (vbox17), frame6, FALSE, FALSE, 0); + + table4 = gtk_table_new (3, 2, FALSE); + gtk_widget_show (table4); + gtk_container_add (GTK_CONTAINER (frame6), table4); + gtk_container_set_border_width (GTK_CONTAINER (table4), 5); + gtk_table_set_row_spacings (GTK_TABLE (table4), 5); + gtk_table_set_col_spacings (GTK_TABLE (table4), 5); + + protocol_label = gtk_label_new_with_mnemonic (_("_Protocol:")); + gtk_widget_show (protocol_label); + gtk_table_attach (GTK_TABLE (table4), protocol_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (protocol_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (protocol_label), 1, 0.5); + + port_label = gtk_label_new_with_mnemonic (_("_Port number:")); + gtk_widget_show (port_label); + gtk_table_attach (GTK_TABLE (table4), port_label, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (port_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (port_label), 1, 0.5); + + protocol_optionmenu = gtk_option_menu_new (); + gtk_widget_show (protocol_optionmenu); + gtk_table_attach (GTK_TABLE (table4), protocol_optionmenu, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + menu3 = gtk_menu_new (); + + udp_menu_item = gtk_menu_item_new_with_mnemonic (_("UDP - User Datagram Protocol")); + gtk_widget_show (udp_menu_item); + gtk_container_add (GTK_CONTAINER (menu3), udp_menu_item); + + tcp_menu_item = gtk_menu_item_new_with_mnemonic (_("TCP - Transmission Control Protocol")); + gtk_widget_show (tcp_menu_item); + gtk_container_add (GTK_CONTAINER (menu3), tcp_menu_item); + + icmp_menu_item = gtk_menu_item_new_with_mnemonic (_("ICMP - Internet Control Message Protocol")); + gtk_widget_show (icmp_menu_item); + gtk_container_add (GTK_CONTAINER (menu3), icmp_menu_item); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (protocol_optionmenu), menu3); + + icmp_label = gtk_label_new_with_mnemonic (_("I_CMP-Type:")); + gtk_widget_show (icmp_label); + gtk_table_attach (GTK_TABLE (table4), icmp_label, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (icmp_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (icmp_label), 1, 0.5); + + icmp_optionmenu = gtk_option_menu_new (); + gtk_widget_show (icmp_optionmenu); + gtk_table_attach (GTK_TABLE (table4), icmp_optionmenu, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + hbox19 = gtk_hbox_new (TRUE, 5); + gtk_widget_show (hbox19); + gtk_table_attach (GTK_TABLE (table4), hbox19, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + port_spinbutton_adj = gtk_adjustment_new (65535, 1, 65535, 1, 100, 10); + port_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (port_spinbutton_adj), 5, 0); + gtk_widget_show (port_spinbutton); + gtk_box_pack_start (GTK_BOX (hbox19), port_spinbutton, TRUE, TRUE, 0); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (port_spinbutton), TRUE); + + type_label = gtk_label_new (_("www")); + gtk_widget_show (type_label); + gtk_box_pack_end (GTK_BOX (hbox19), type_label, FALSE, TRUE, 0); + gtk_label_set_use_markup (GTK_LABEL (type_label), TRUE); + gtk_label_set_justify (GTK_LABEL (type_label), GTK_JUSTIFY_LEFT); + + match_type_checkbutton = gtk_check_button_new_with_mnemonic (_("Match _type:")); + gtk_widget_show (match_type_checkbutton); + gtk_frame_set_label_widget (GTK_FRAME (frame6), match_type_checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (match_type_checkbutton), TRUE); + + label58 = gtk_label_new (_("Type")); + gtk_widget_show (label58); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label58); + gtk_label_set_justify (GTK_LABEL (label58), GTK_JUSTIFY_LEFT); + + vbox13 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox13); + gtk_container_add (GTK_CONTAINER (notebook2), vbox13); + gtk_container_set_border_width (GTK_CONTAINER (vbox13), 5); + + frame7 = gtk_frame_new (NULL); + gtk_widget_show (frame7); + gtk_box_pack_start (GTK_BOX (vbox13), frame7, FALSE, FALSE, 0); + + table5 = gtk_table_new (4, 3, FALSE); + gtk_widget_show (table5); + gtk_container_add (GTK_CONTAINER (frame7), table5); + gtk_container_set_border_width (GTK_CONTAINER (table5), 5); + gtk_table_set_row_spacings (GTK_TABLE (table5), 5); + gtk_table_set_col_spacings (GTK_TABLE (table5), 5); + + src_ip_label = gtk_label_new (_("IP-Address:")); + gtk_widget_show (src_ip_label); + gtk_table_attach (GTK_TABLE (table5), src_ip_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (src_ip_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (src_ip_label), 1, 0.5); + + src_ip_entry = gtk_entry_new (); + gtk_widget_show (src_ip_entry); + gtk_table_attach (GTK_TABLE (table5), src_ip_entry, 1, 3, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (src_ip_entry), 15); + gtk_entry_set_text (GTK_ENTRY (src_ip_entry), _("192.168.0.1")); + + src_host_range_value_label = gtk_label_new (_("label48")); + gtk_widget_show (src_host_range_value_label); + gtk_table_attach (GTK_TABLE (table5), src_host_range_value_label, 1, 3, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (src_host_range_value_label, FALSE); + gtk_label_set_use_markup (GTK_LABEL (src_host_range_value_label), TRUE); + gtk_label_set_justify (GTK_LABEL (src_host_range_value_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (src_host_range_value_label), 0, 0.5); + + src_netmask_spinbutton_adj = gtk_adjustment_new (24, 0, 32, 1, 8, 10); + src_netmask_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (src_netmask_spinbutton_adj), 1, 0); + gtk_widget_show (src_netmask_spinbutton); + gtk_table_attach (GTK_TABLE (table5), src_netmask_spinbutton, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (src_netmask_spinbutton, FALSE); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (src_netmask_spinbutton), TRUE); + + src_netmask_label_bits = gtk_label_new (_("bits")); + gtk_widget_show (src_netmask_label_bits); + gtk_table_attach (GTK_TABLE (table5), src_netmask_label_bits, 2, 3, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (src_netmask_label_bits, FALSE); + gtk_label_set_justify (GTK_LABEL (src_netmask_label_bits), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (src_netmask_label_bits), 0, 0.5); + + src_host_range_label = gtk_label_new (_("Host range:")); + gtk_widget_show (src_host_range_label); + gtk_table_attach (GTK_TABLE (table5), src_host_range_label, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_sensitive (src_host_range_label, FALSE); + gtk_label_set_justify (GTK_LABEL (src_host_range_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (src_host_range_label), 1, 0.5); + + src_netmask_checkbutton = gtk_check_button_new_with_mnemonic (_("Specify netmask")); + gtk_widget_show (src_netmask_checkbutton); + gtk_table_attach (GTK_TABLE (table5), src_netmask_checkbutton, 1, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + src_netmask_label = gtk_label_new (_("Netmask:")); + gtk_widget_show (src_netmask_label); + gtk_table_attach (GTK_TABLE (table5), src_netmask_label, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (src_netmask_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (src_netmask_label), 1, 0.5); + + label74 = gtk_label_new (""); + gtk_widget_show (label74); + gtk_table_attach (GTK_TABLE (table5), label74, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label74), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label74), 0, 0.5); + + match_source_checkbutton = gtk_check_button_new_with_mnemonic (_("Match source:")); + gtk_widget_show (match_source_checkbutton); + gtk_frame_set_label_widget (GTK_FRAME (frame7), match_source_checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (match_source_checkbutton), TRUE); + + frame8 = gtk_frame_new (NULL); + gtk_widget_show (frame8); + gtk_box_pack_start (GTK_BOX (vbox13), frame8, FALSE, FALSE, 0); + + table6 = gtk_table_new (4, 3, FALSE); + gtk_widget_show (table6); + gtk_container_add (GTK_CONTAINER (frame8), table6); + gtk_container_set_border_width (GTK_CONTAINER (table6), 5); + gtk_table_set_row_spacings (GTK_TABLE (table6), 5); + gtk_table_set_col_spacings (GTK_TABLE (table6), 5); + + dst_ip_label = gtk_label_new (_("IP-Address:")); + gtk_widget_show (dst_ip_label); + gtk_table_attach (GTK_TABLE (table6), dst_ip_label, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (dst_ip_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (dst_ip_label), 1, 0.5); + + dst_ip_entry = gtk_entry_new (); + gtk_widget_show (dst_ip_entry); + gtk_table_attach (GTK_TABLE (table6), dst_ip_entry, 1, 3, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_max_length (GTK_ENTRY (dst_ip_entry), 15); + gtk_entry_set_text (GTK_ENTRY (dst_ip_entry), _("192.168.0.1")); + + dst_host_range_label = gtk_label_new (_("Host range:")); + gtk_widget_show (dst_host_range_label); + gtk_table_attach (GTK_TABLE (table6), dst_host_range_label, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (dst_host_range_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (dst_host_range_label), 1, 0.5); + + dst_netmask_spinbutton_adj = gtk_adjustment_new (24, 0, 32, 1, 10, 10); + dst_netmask_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (dst_netmask_spinbutton_adj), 1, 0); + gtk_widget_show (dst_netmask_spinbutton); + gtk_table_attach (GTK_TABLE (table6), dst_netmask_spinbutton, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + dst_netmask_label_bits = gtk_label_new (_("bits")); + gtk_widget_show (dst_netmask_label_bits); + gtk_table_attach (GTK_TABLE (table6), dst_netmask_label_bits, 2, 3, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (dst_netmask_label_bits), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (dst_netmask_label_bits), 0, 0.5); + + dst_host_range_value_label = gtk_label_new (_("label50")); + gtk_widget_show (dst_host_range_value_label); + gtk_table_attach (GTK_TABLE (table6), dst_host_range_value_label, 1, 3, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_use_markup (GTK_LABEL (dst_host_range_value_label), TRUE); + gtk_label_set_justify (GTK_LABEL (dst_host_range_value_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (dst_host_range_value_label), 0, 0.5); + + dst_netmask_checkbutton = gtk_check_button_new_with_mnemonic (_("Specify netmask")); + gtk_widget_show (dst_netmask_checkbutton); + gtk_table_attach (GTK_TABLE (table6), dst_netmask_checkbutton, 1, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + label75 = gtk_label_new (""); + gtk_widget_show (label75); + gtk_table_attach (GTK_TABLE (table6), label75, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label75), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (label75), 0, 0.5); + + dst_netmask_label = gtk_label_new (_("Netmask:")); + gtk_widget_show (dst_netmask_label); + gtk_table_attach (GTK_TABLE (table6), dst_netmask_label, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (dst_netmask_label), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (dst_netmask_label), 1, 0.5); + + match_destination_checkbutton = gtk_check_button_new_with_mnemonic (_("Match destination:")); + gtk_widget_show (match_destination_checkbutton); + gtk_frame_set_label_widget (GTK_FRAME (frame8), match_destination_checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (match_destination_checkbutton), TRUE); + + frame9 = gtk_frame_new (NULL); + gtk_widget_show (frame9); + gtk_box_pack_start (GTK_BOX (vbox13), frame9, FALSE, FALSE, 0); + + vbox14 = gtk_vbox_new (FALSE, 0); + gtk_widget_show (vbox14); + gtk_container_add (GTK_CONTAINER (frame9), vbox14); + gtk_container_set_border_width (GTK_CONTAINER (vbox14), 5); + + bc_dont_match_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("Don't match")); + gtk_widget_show (bc_dont_match_radiobutton); + gtk_box_pack_start (GTK_BOX (vbox14), bc_dont_match_radiobutton, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (bc_dont_match_radiobutton), bc_dont_match_radiobutton_group); + bc_dont_match_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (bc_dont_match_radiobutton)); + + bc_match_broadcast_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("Match broadcast")); + gtk_widget_show (bc_match_broadcast_radiobutton); + gtk_box_pack_start (GTK_BOX (vbox14), bc_match_broadcast_radiobutton, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (bc_match_broadcast_radiobutton), bc_dont_match_radiobutton_group); + bc_dont_match_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (bc_match_broadcast_radiobutton)); + + bc_match_unicast_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("Match unicast")); + gtk_widget_show (bc_match_unicast_radiobutton); + gtk_box_pack_start (GTK_BOX (vbox14), bc_match_unicast_radiobutton, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (bc_match_unicast_radiobutton), bc_dont_match_radiobutton_group); + bc_dont_match_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (bc_match_unicast_radiobutton)); + + label41 = gtk_label_new (_("Broadcast:")); + gtk_widget_show (label41); + gtk_frame_set_label_widget (GTK_FRAME (frame9), label41); + gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT); + + label59 = gtk_label_new (_("Addresses")); + gtk_widget_show (label59); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label59); + gtk_label_set_justify (GTK_LABEL (label59), GTK_JUSTIFY_LEFT); + + hbuttonbox3 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox3); + gtk_box_pack_start (GTK_BOX (vbox11), hbuttonbox3, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 5); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (hbuttonbox3), 5); + + ok_button = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (ok_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), ok_button); + GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT); + + cancel_button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (cancel_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox3), cancel_button); + GTK_WIDGET_SET_FLAGS (cancel_button, GTK_CAN_DEFAULT); + + g_signal_connect_swapped ((gpointer) rule_window, "delete_event", + G_CALLBACK (on_rule_window_delete_event), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) desc_entry, "changed", + G_CALLBACK (on_desc_entry_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) direction_optionmenu, "changed", + G_CALLBACK (on_direction_optionmenu_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) match_direction_checkbutton, "toggled", + G_CALLBACK (on_match_direction_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) match_interfaces_checkbutton, "toggled", + G_CALLBACK (on_match_interfaces_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) protocol_optionmenu, "changed", + G_CALLBACK (on_protocol_optionmenu_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) port_spinbutton, "value_changed", + G_CALLBACK (on_port_spinbutton_value_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) match_type_checkbutton, "toggled", + G_CALLBACK (on_match_type_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) src_ip_entry, "changed", + G_CALLBACK (on_src_ip_entry_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) src_netmask_spinbutton, "value_changed", + G_CALLBACK (on_src_netmask_spinbutton_value_changed), + GTK_OBJECT (rule_window)); + g_signal_connect ((gpointer) src_netmask_checkbutton, "toggled", + G_CALLBACK (on_src_netmask_checkbutton_toggled), + NULL); + g_signal_connect_swapped ((gpointer) match_source_checkbutton, "toggled", + G_CALLBACK (on_match_source_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) dst_ip_entry, "changed", + G_CALLBACK (on_dst_ip_entry_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) dst_netmask_spinbutton, "value_changed", + G_CALLBACK (on_dst_netmask_spinbutton_value_changed), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) dst_netmask_checkbutton, "toggled", + G_CALLBACK (on_dst_netmask_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) match_destination_checkbutton, "toggled", + G_CALLBACK (on_match_destination_checkbutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) bc_dont_match_radiobutton, "toggled", + G_CALLBACK (on_bc_radiobutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) bc_match_broadcast_radiobutton, "toggled", + G_CALLBACK (on_bc_radiobutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) bc_match_unicast_radiobutton, "toggled", + G_CALLBACK (on_bc_radiobutton_toggled), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) ok_button, "clicked", + G_CALLBACK (on_ok_button_clicked), + GTK_OBJECT (rule_window)); + g_signal_connect_swapped ((gpointer) cancel_button, "clicked", + G_CALLBACK (on_cancel_button_clicked), + GTK_OBJECT (rule_window)); + + gtk_label_set_mnemonic_widget (GTK_LABEL (incoming_label), combo_entry3); + gtk_label_set_mnemonic_widget (GTK_LABEL (outgoing_label), combo_entry2); + gtk_label_set_mnemonic_widget (GTK_LABEL (protocol_label), protocol_optionmenu); + gtk_label_set_mnemonic_widget (GTK_LABEL (icmp_label), icmp_optionmenu); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (rule_window, rule_window, "rule_window"); + GLADE_HOOKUP_OBJECT (rule_window, vbox11, "vbox11"); + GLADE_HOOKUP_OBJECT (rule_window, desc_eventbox, "desc_eventbox"); + GLADE_HOOKUP_OBJECT (rule_window, desc_label, "desc_label"); + GLADE_HOOKUP_OBJECT (rule_window, hseparator2, "hseparator2"); + GLADE_HOOKUP_OBJECT (rule_window, notebook2, "notebook2"); + GLADE_HOOKUP_OBJECT (rule_window, vbox12, "vbox12"); + GLADE_HOOKUP_OBJECT (rule_window, label60, "label60"); + GLADE_HOOKUP_OBJECT (rule_window, desc_entry, "desc_entry"); + GLADE_HOOKUP_OBJECT (rule_window, label72, "label72"); + GLADE_HOOKUP_OBJECT (rule_window, rule_optionmenu, "rule_optionmenu"); + GLADE_HOOKUP_OBJECT (rule_window, menu5, "menu5"); + GLADE_HOOKUP_OBJECT (rule_window, imagemenuitem1, "imagemenuitem1"); + GLADE_HOOKUP_OBJECT (rule_window, image110, "image110"); + GLADE_HOOKUP_OBJECT (rule_window, imagemenuitem2, "imagemenuitem2"); + GLADE_HOOKUP_OBJECT (rule_window, image111, "image111"); + GLADE_HOOKUP_OBJECT (rule_window, imagemenuitem3, "imagemenuitem3"); + GLADE_HOOKUP_OBJECT (rule_window, image112, "image112"); + GLADE_HOOKUP_OBJECT (rule_window, imagemenuitem4, "imagemenuitem4"); + GLADE_HOOKUP_OBJECT (rule_window, image113, "image113"); + GLADE_HOOKUP_OBJECT (rule_window, label56, "label56"); + GLADE_HOOKUP_OBJECT (rule_window, vbox16, "vbox16"); + GLADE_HOOKUP_OBJECT (rule_window, frame4, "frame4"); + GLADE_HOOKUP_OBJECT (rule_window, hbox18, "hbox18"); + GLADE_HOOKUP_OBJECT (rule_window, direction_label, "direction_label"); + GLADE_HOOKUP_OBJECT (rule_window, direction_optionmenu, "direction_optionmenu"); + GLADE_HOOKUP_OBJECT (rule_window, menu4, "menu4"); + GLADE_HOOKUP_OBJECT (rule_window, incoming_menu_item, "incoming_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, image37, "image37"); + GLADE_HOOKUP_OBJECT (rule_window, outgoing_menu_item, "outgoing_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, image38, "image38"); + GLADE_HOOKUP_OBJECT (rule_window, passing_menu_item, "passing_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, match_direction_checkbutton, "match_direction_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, frame5, "frame5"); + GLADE_HOOKUP_OBJECT (rule_window, table3, "table3"); + GLADE_HOOKUP_OBJECT (rule_window, incoming_label, "incoming_label"); + GLADE_HOOKUP_OBJECT (rule_window, outgoing_label, "outgoing_label"); + GLADE_HOOKUP_OBJECT (rule_window, outgoing_combo, "outgoing_combo"); + GLADE_HOOKUP_OBJECT (rule_window, combo_entry2, "combo_entry2"); + GLADE_HOOKUP_OBJECT (rule_window, incoming_combo, "incoming_combo"); + GLADE_HOOKUP_OBJECT (rule_window, combo_entry3, "combo_entry3"); + GLADE_HOOKUP_OBJECT (rule_window, match_interfaces_checkbutton, "match_interfaces_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, label57, "label57"); + GLADE_HOOKUP_OBJECT (rule_window, vbox17, "vbox17"); + GLADE_HOOKUP_OBJECT (rule_window, frame6, "frame6"); + GLADE_HOOKUP_OBJECT (rule_window, table4, "table4"); + GLADE_HOOKUP_OBJECT (rule_window, protocol_label, "protocol_label"); + GLADE_HOOKUP_OBJECT (rule_window, port_label, "port_label"); + GLADE_HOOKUP_OBJECT (rule_window, protocol_optionmenu, "protocol_optionmenu"); + GLADE_HOOKUP_OBJECT (rule_window, menu3, "menu3"); + GLADE_HOOKUP_OBJECT (rule_window, udp_menu_item, "udp_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, tcp_menu_item, "tcp_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, icmp_menu_item, "icmp_menu_item"); + GLADE_HOOKUP_OBJECT (rule_window, icmp_label, "icmp_label"); + GLADE_HOOKUP_OBJECT (rule_window, icmp_optionmenu, "icmp_optionmenu"); + GLADE_HOOKUP_OBJECT (rule_window, hbox19, "hbox19"); + GLADE_HOOKUP_OBJECT (rule_window, port_spinbutton, "port_spinbutton"); + GLADE_HOOKUP_OBJECT (rule_window, type_label, "type_label"); + GLADE_HOOKUP_OBJECT (rule_window, match_type_checkbutton, "match_type_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, label58, "label58"); + GLADE_HOOKUP_OBJECT (rule_window, vbox13, "vbox13"); + GLADE_HOOKUP_OBJECT (rule_window, frame7, "frame7"); + GLADE_HOOKUP_OBJECT (rule_window, table5, "table5"); + GLADE_HOOKUP_OBJECT (rule_window, src_ip_label, "src_ip_label"); + GLADE_HOOKUP_OBJECT (rule_window, src_ip_entry, "src_ip_entry"); + GLADE_HOOKUP_OBJECT (rule_window, src_host_range_value_label, "src_host_range_value_label"); + GLADE_HOOKUP_OBJECT (rule_window, src_netmask_spinbutton, "src_netmask_spinbutton"); + GLADE_HOOKUP_OBJECT (rule_window, src_netmask_label_bits, "src_netmask_label_bits"); + GLADE_HOOKUP_OBJECT (rule_window, src_host_range_label, "src_host_range_label"); + GLADE_HOOKUP_OBJECT (rule_window, src_netmask_checkbutton, "src_netmask_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, src_netmask_label, "src_netmask_label"); + GLADE_HOOKUP_OBJECT (rule_window, label74, "label74"); + GLADE_HOOKUP_OBJECT (rule_window, match_source_checkbutton, "match_source_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, frame8, "frame8"); + GLADE_HOOKUP_OBJECT (rule_window, table6, "table6"); + GLADE_HOOKUP_OBJECT (rule_window, dst_ip_label, "dst_ip_label"); + GLADE_HOOKUP_OBJECT (rule_window, dst_ip_entry, "dst_ip_entry"); + GLADE_HOOKUP_OBJECT (rule_window, dst_host_range_label, "dst_host_range_label"); + GLADE_HOOKUP_OBJECT (rule_window, dst_netmask_spinbutton, "dst_netmask_spinbutton"); + GLADE_HOOKUP_OBJECT (rule_window, dst_netmask_label_bits, "dst_netmask_label_bits"); + GLADE_HOOKUP_OBJECT (rule_window, dst_host_range_value_label, "dst_host_range_value_label"); + GLADE_HOOKUP_OBJECT (rule_window, dst_netmask_checkbutton, "dst_netmask_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, label75, "label75"); + GLADE_HOOKUP_OBJECT (rule_window, dst_netmask_label, "dst_netmask_label"); + GLADE_HOOKUP_OBJECT (rule_window, match_destination_checkbutton, "match_destination_checkbutton"); + GLADE_HOOKUP_OBJECT (rule_window, frame9, "frame9"); + GLADE_HOOKUP_OBJECT (rule_window, vbox14, "vbox14"); + GLADE_HOOKUP_OBJECT (rule_window, bc_dont_match_radiobutton, "bc_dont_match_radiobutton"); + GLADE_HOOKUP_OBJECT (rule_window, bc_match_broadcast_radiobutton, "bc_match_broadcast_radiobutton"); + GLADE_HOOKUP_OBJECT (rule_window, bc_match_unicast_radiobutton, "bc_match_unicast_radiobutton"); + GLADE_HOOKUP_OBJECT (rule_window, label41, "label41"); + GLADE_HOOKUP_OBJECT (rule_window, label59, "label59"); + GLADE_HOOKUP_OBJECT (rule_window, hbuttonbox3, "hbuttonbox3"); + GLADE_HOOKUP_OBJECT (rule_window, ok_button, "ok_button"); + GLADE_HOOKUP_OBJECT (rule_window, cancel_button, "cancel_button"); + + gtk_widget_grab_focus (ok_button); + gtk_widget_grab_default (ok_button); + return rule_window; +} + +GtkWidget* +create_wait_window (void) +{ + GtkWidget *wait_window; + GtkWidget *hbox20; + GtkWidget *image39; + GtkWidget *label61; + + wait_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (wait_window), _("Firewall Update")); + gtk_window_set_position (GTK_WINDOW (wait_window), GTK_WIN_POS_CENTER); + gtk_window_set_modal (GTK_WINDOW (wait_window), TRUE); + gtk_window_set_resizable (GTK_WINDOW (wait_window), FALSE); + + hbox20 = gtk_hbox_new (FALSE, 10); + gtk_widget_show (hbox20); + gtk_container_add (GTK_CONTAINER (wait_window), hbox20); + gtk_container_set_border_width (GTK_CONTAINER (hbox20), 10); + + image39 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_DIALOG); + gtk_widget_show (image39); + gtk_box_pack_start (GTK_BOX (hbox20), image39, FALSE, FALSE, 0); + + label61 = gtk_label_new (_("Please be patient while the firewall is installed...\nThank you!")); + gtk_widget_show (label61); + gtk_box_pack_start (GTK_BOX (hbox20), label61, TRUE, TRUE, 0); + GTK_WIDGET_SET_FLAGS (label61, GTK_CAN_FOCUS); + gtk_label_set_use_markup (GTK_LABEL (label61), TRUE); + gtk_label_set_selectable (GTK_LABEL (label61), TRUE); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (wait_window, wait_window, "wait_window"); + GLADE_HOOKUP_OBJECT (wait_window, hbox20, "hbox20"); + GLADE_HOOKUP_OBJECT (wait_window, image39, "image39"); + GLADE_HOOKUP_OBJECT (wait_window, label61, "label61"); + + return wait_window; +} + +GtkWidget* +create_advanced_window (void) +{ + GtkWidget *advanced_window; + GtkWidget *vbox20; + GtkWidget *frame3; + GtkWidget *vbox22; + GtkWidget *hbox16; + GtkWidget *label34; + GtkWidget *icmp_option_menu; + GtkWidget *menu2; + GtkWidget *tcp_rst_check_button; + GtkWidget *label37; + GtkWidget *hbuttonbox5; + GtkWidget *close_button; + + advanced_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (advanced_window), _("Advanced")); + gtk_window_set_resizable (GTK_WINDOW (advanced_window), FALSE); + + vbox20 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox20); + gtk_container_add (GTK_CONTAINER (advanced_window), vbox20); + gtk_container_set_border_width (GTK_CONTAINER (vbox20), 5); + + frame3 = gtk_frame_new (NULL); + gtk_widget_show (frame3); + gtk_box_pack_start (GTK_BOX (vbox20), frame3, FALSE, TRUE, 0); + + vbox22 = gtk_vbox_new (FALSE, 5); + gtk_widget_show (vbox22); + gtk_container_add (GTK_CONTAINER (frame3), vbox22); + gtk_container_set_border_width (GTK_CONTAINER (vbox22), 5); + + hbox16 = gtk_hbox_new (FALSE, 5); + gtk_widget_show (hbox16); + gtk_box_pack_start (GTK_BOX (vbox22), hbox16, TRUE, TRUE, 0); + + label34 = gtk_label_new_with_mnemonic (_("Reject with _ICMP-Code:")); + gtk_widget_show (label34); + gtk_box_pack_start (GTK_BOX (hbox16), label34, FALSE, TRUE, 0); + gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT); + + icmp_option_menu = gtk_option_menu_new (); + gtk_widget_show (icmp_option_menu); + gtk_box_pack_start (GTK_BOX (hbox16), icmp_option_menu, TRUE, TRUE, 0); + + menu2 = gtk_menu_new (); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (icmp_option_menu), menu2); + + tcp_rst_check_button = gtk_check_button_new_with_mnemonic (_("Reject TCP connections with RST-Flag")); + gtk_widget_show (tcp_rst_check_button); + gtk_box_pack_start (GTK_BOX (vbox22), tcp_rst_check_button, FALSE, FALSE, 0); + + label37 = gtk_label_new (_("Rejected connections")); + gtk_widget_show (label37); + gtk_frame_set_label_widget (GTK_FRAME (frame3), label37); + gtk_label_set_use_markup (GTK_LABEL (label37), TRUE); + gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT); + + hbuttonbox5 = gtk_hbutton_box_new (); + gtk_widget_show (hbuttonbox5); + gtk_box_pack_start (GTK_BOX (vbox20), hbuttonbox5, TRUE, TRUE, 0); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox5), GTK_BUTTONBOX_END); + + close_button = gtk_button_new_from_stock ("gtk-close"); + gtk_widget_show (close_button); + gtk_container_add (GTK_CONTAINER (hbuttonbox5), close_button); + GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) advanced_window, "delete_event", + G_CALLBACK (on_advanced_window_delete_event), + NULL); + g_signal_connect ((gpointer) icmp_option_menu, "changed", + G_CALLBACK (on_icmp_option_menu_changed), + NULL); + g_signal_connect ((gpointer) tcp_rst_check_button, "toggled", + G_CALLBACK (on_tcp_rst_check_button_toggled), + NULL); + g_signal_connect ((gpointer) close_button, "clicked", + G_CALLBACK (on_close_button_clicked), + NULL); + + gtk_label_set_mnemonic_widget (GTK_LABEL (label34), icmp_option_menu); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (advanced_window, advanced_window, "advanced_window"); + GLADE_HOOKUP_OBJECT (advanced_window, vbox20, "vbox20"); + GLADE_HOOKUP_OBJECT (advanced_window, frame3, "frame3"); + GLADE_HOOKUP_OBJECT (advanced_window, vbox22, "vbox22"); + GLADE_HOOKUP_OBJECT (advanced_window, hbox16, "hbox16"); + GLADE_HOOKUP_OBJECT (advanced_window, label34, "label34"); + GLADE_HOOKUP_OBJECT (advanced_window, icmp_option_menu, "icmp_option_menu"); + GLADE_HOOKUP_OBJECT (advanced_window, menu2, "menu2"); + GLADE_HOOKUP_OBJECT (advanced_window, tcp_rst_check_button, "tcp_rst_check_button"); + GLADE_HOOKUP_OBJECT (advanced_window, label37, "label37"); + GLADE_HOOKUP_OBJECT (advanced_window, hbuttonbox5, "hbuttonbox5"); + GLADE_HOOKUP_OBJECT (advanced_window, close_button, "close_button"); + + return advanced_window; +} + -- cgit