summaryrefslogtreecommitdiffstats
path: root/client/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/interface.c')
-rw-r--r--client/interface.c2173
1 files changed, 2173 insertions, 0 deletions
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 <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#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 (_("<span size=\"xx-large\" color=\"white\"><b>Outgoing Connection</b></span>"));
+ 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 (_("<b>Type:</b>"));
+ 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 (_("<b>Device:</b>"));
+ 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 (_("<b>From:</b>"));
+ 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 (_("<b>To:</b>"));
+ 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 (_("<b>Time:</b>"));
+ 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 (_("<b>ID#:</b>"));
+ 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 (_("<b>Broadcast:</b>"));
+ 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 (_("<b><span size=\"xx-large\" color=\"white\">FieryFilter Interactive Personal Firewall</span></b>"));
+ 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 (_("<span color=\"white\"><i>Version 4711</i></span>"));
+ 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 (_("<b>Firewall mode</b>"));
+ 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 (_("<b>Verdict:</b>"));
+ 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 (_("<b>Match:</b>"));
+ 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 (_("<b>Description:</b>"));
+ 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 (_("<b>Enabled:</b>"));
+ 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 (_("<b>Rule</b>"));
+ 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 (_("<b>User Interface</b>"));
+ 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 (_("<b>Rejected connections</b>"));
+ 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;
+}
+