gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r653 - in GNUnet/src: conf include util/win


From: durner
Subject: [GNUnet-SVN] r653 - in GNUnet/src: conf include util/win
Date: Sat, 16 Apr 2005 14:18:51 -0700 (PDT)

Author: durner
Date: 2005-04-16 14:18:04 -0700 (Sat, 16 Apr 2005)
New Revision: 653

Added:
   GNUnet/src/conf/basic.gladep
   GNUnet/src/conf/gconf.gladep
   GNUnet/src/conf/wizard.c
   GNUnet/src/conf/wizard.glade
   GNUnet/src/conf/wizard_callbacks.c
   GNUnet/src/conf/wizard_callbacks.h
   GNUnet/src/conf/wizard_interface.c
   GNUnet/src/conf/wizard_interface.h
   GNUnet/src/conf/wizard_support.h
Modified:
   GNUnet/src/conf/Makefile.am
   GNUnet/src/conf/confdata.c
   GNUnet/src/conf/gnunet-setup.c
   GNUnet/src/include/winproc.h
   GNUnet/src/util/win/win.cc
   GNUnet/src/util/win/winproc.c
Log:
Configuration wizard

Modified: GNUnet/src/conf/Makefile.am
===================================================================
--- GNUnet/src/conf/Makefile.am 2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/Makefile.am 2005-04-16 21:18:04 UTC (rev 653)
@@ -52,6 +52,14 @@
    gconf_support.c \
    gconf.c \
    images.c 
+   
+ gbasic_src = \
+   wizard_callbacks.h \
+   wizard_interface.h \
+   wizard_support.h \
+   wizard_callbacks.c \
+   wizard_interface.c \
+   wizard.c
 endif
 
 
@@ -67,6 +75,7 @@
  zconf_tab.c \
  $(mconf_src) \
  $(gconf_src) \
+ $(gbasic_src) \
  gnunet-setup.c
 
 gnunet_setup_LDFLAGS = \

Added: GNUnet/src/conf/basic.gladep
===================================================================
--- GNUnet/src/conf/basic.gladep        2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/basic.gladep        2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,15 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd";>
+
+<glade-project>
+  <name>Basic-conf</name>
+  <program_name>basic-conf</program_name>
+  <style>GNU</style>
+  <gnome_support>FALSE</gnome_support>
+  <main_source_file>wizard_interface.c</main_source_file>
+  <main_header_file>wizard_interface.h</main_header_file>
+  <handler_source_file>wizard_callbacks.c</handler_source_file>
+  <handler_header_file>wizard_callbacks.h</handler_header_file>
+  <support_source_file>wizard_support.c</support_source_file>
+  <support_header_file>wizard_support.h</support_header_file>
+</glade-project>


Property changes on: GNUnet/src/conf/basic.gladep
___________________________________________________________________
Name: svn:eol-style
   + LF

Modified: GNUnet/src/conf/confdata.c
===================================================================
--- GNUnet/src/conf/confdata.c  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/confdata.c  2005-04-16 21:18:04 UTC (rev 653)
@@ -24,8 +24,8 @@
 #include "platform.h"
 #include "gnunet_util.h"
 
-const char conf_def_dir[] = "/etc/GNUnet/";
-const char conf_def_filename[] = ".config";
+const char conf_def_dir[] = "/etc/";
+const char conf_def_filename[] = "gnunet.conf";
 
 const char conf_defname[] = "defconfig";
 

Added: GNUnet/src/conf/gconf.gladep
===================================================================
--- GNUnet/src/conf/gconf.gladep        2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/gconf.gladep        2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd";>
+
+<glade-project>
+  <name></name>
+  <program_name></program_name>
+  <gnome_support>FALSE</gnome_support>
+</glade-project>


Property changes on: GNUnet/src/conf/gconf.gladep
___________________________________________________________________
Name: svn:eol-style
   + LF

Modified: GNUnet/src/conf/gnunet-setup.c
===================================================================
--- GNUnet/src/conf/gnunet-setup.c      2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/gnunet-setup.c      2005-04-16 21:18:04 UTC (rev 653)
@@ -35,6 +35,7 @@
        " menuconfig\ttext-based menu\n"
        " xconfig\tX configuration\n"
        " gconfig\tGTK configuration\n\n"
+       " wizard-gtk\tBasic GTK configuration\n\n"
        "DEFFILE\n"
        " File which contains the configuration items\n");
 }
@@ -73,6 +74,13 @@
     puts("Menuconfig is not available\n");
 #endif
   }
+  else if (strncmp(argv[1], "wizard-gtk", 10) == 0) {
+#if HAVE_GTK
+    wizard_main(argc - 1, &argv[1]);
+#else
+    puts("basic-gtk is not available\n");
+#endif
+       }
   else if (strncmp(argv[1], "gconfig", 7) == 0) {
 #if HAVE_GTK
     gconf_main(argc - 1, &argv[1]);

Added: GNUnet/src/conf/wizard.c
===================================================================
--- GNUnet/src/conf/wizard.c    2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard.c    2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,263 @@
+/*
+     This file is part of GNUnet.
+     (C) 2005 Christian Grothoff (and other contributing authors)
+
+     GNUnet is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published
+     by the Free Software Foundation; either version 2, or (at your
+     option) any later version.
+
+     GNUnet is distributed in the hope that it will be useful, but
+     WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+     General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with GNUnet; see the file COPYING.  If not, write to the
+     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+     Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file conf/gbasic.c
+ * @brief A easy-to-use configuration assistant
+ * @author Nils Durner
+ */
+
+#include "gnunet_util.h"
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#include <gtk/gtk.h>
+
+#include "wizard_interface.h"
+#include "wizard_support.h"
+
+GtkWidget *curwnd;
+GtkWidget *cmbNIC;
+
+int doOpenEnhConfigurator = 0;
+int doAutoStart = 0;
+
+void insert_nic(char *name, int defaultNIC)
+{
+       struct symbol *sym;
+       char *nic = NULL;
+       
+  gtk_combo_box_append_text(GTK_COMBO_BOX(cmbNIC), name);
+  
+  sym = sym_find("INTERFACE", "NETWORK");
+  if (sym)
+  {
+       sym_calc_value_ext(sym, 1);
+       nic = sym_get_string_value(sym);
+  }
+
+  if (nic)
+  {
+       /* The user has selected a NIC before */
+       defaultNIC = 0;
+       
+       int niclen = strlen(nic);
+       int inslen = strlen(name);
+       if (inslen > niclen)
+       {
+#ifdef MINGW
+               if (strncmp(name + inslen - niclen - 1, nic, niclen) == 0)
+#else
+               if (strcmp(name, nic) == 0)
+#endif
+                       defaultNIC = 1; /* This is the previous selection */
+       }
+  }
+  
+  /* Make default selection */
+  if (defaultNIC)
+  {
+       GtkTreeModel *model;
+       GtkTreeIter cur, last;
+       
+       model = gtk_combo_box_get_model(GTK_COMBO_BOX(cmbNIC));
+       gtk_tree_model_get_iter_first(model, &cur);
+       last = cur;
+       while(gtk_tree_model_iter_next(model, &cur))
+       {
+               last = cur;
+       }
+       
+       gtk_combo_box_set_active_iter(GTK_COMBO_BOX(cmbNIC), &last);
+  }
+}
+
+void load_step2()
+{
+       struct symbol *sym;
+       
+       GtkWidget *vbox3, *frame1, *vbox4, *vbox5, *vbox6, *table1, *entIP,
+               *chkFW;
+       
+       vbox3 = lookup_widget(curwnd, "vbox3");
+       frame1 = lookup_widget(vbox3, "frame1");
+       vbox4 = lookup_widget(frame1, "vbox4");
+       vbox5 = lookup_widget(vbox4, "vbox5");
+       vbox6 = lookup_widget(vbox5, "vbox6");
+       table1 = lookup_widget(vbox6, "table1");
+       
+       cmbNIC = lookup_widget(table1, "cmbNIC");
+       entIP = lookup_widget(table1, "entIP");
+       chkFW = lookup_widget(vbox6, "chkFW");
+
+       sym = sym_find("INTERFACE", "NETWORK");
+       if (sym)
+       {
+               gtk_widget_set_usize(cmbNIC, 10, -1);
+               
+#ifdef MINGW
+               ListNICs(insert_nic);
+#else
+               /* TODO: Other platforms! */
+#endif
+       }
+
+       sym = sym_find("IP", "NETWORK");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_entry_set_text(GTK_ENTRY(entIP), sym_get_string_value(sym));
+       }
+
+       sym = sym_find("LIMITED", "NAT");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chkFW),
+                       sym_get_tristate_value(sym) != no);
+       }
+}
+
+void load_step3()
+{
+       struct symbol *sym;
+       GtkWidget *vbox7, *frame3, *vbox8, *vbox9, *vbox10, *frame4, *hbox24, 
*table2,
+               *frame5, *vbox11, *frame6, *hbox25, *entUp, *entDown, 
*radGNUnet, *radShare,
+               *entCPU;
+               
+       vbox7 = lookup_widget(curwnd, "vbox7");
+       frame3 = lookup_widget(vbox7, "frame3");
+       vbox8 = lookup_widget(frame3, "vbox8");
+       vbox9 = lookup_widget(vbox8, "vbox9");
+       vbox10 = lookup_widget(vbox9, "vbox10");
+       
+       frame4 = lookup_widget(vbox10, "frame4");
+       hbox24 = lookup_widget(frame4, "hbox24");
+       table2 = lookup_widget(hbox24, "table2");
+       
+       frame5 = lookup_widget(vbox10, "frame5");
+       vbox11 = lookup_widget(frame5, "vbox11");
+       
+       frame6 = lookup_widget(vbox10, "frame6");
+       hbox25 = lookup_widget(frame6, "hbox25");
+       
+       entUp = lookup_widget(table2, "entUp");
+       entDown = lookup_widget(table2, "entDown");
+       
+       radGNUnet = lookup_widget(vbox11, "radGNUnet");
+       radShare = lookup_widget(vbox11, "radShare");
+
+       entCPU = lookup_widget(hbox25, "entCPU");
+       
+       
+       sym = sym_find("MAXNETUPBPSTOTAL", "LOAD");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_entry_set_text(GTK_ENTRY(entUp), sym_get_string_value(sym));
+       }
+
+       sym = sym_find("MAXNETDOWNBPSTOTAL", "LOAD");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_entry_set_text(GTK_ENTRY(entDown), 
sym_get_string_value(sym));
+       }
+       
+       sym = sym_find("BASICLIMITING", "LOAD");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
+                       sym_get_tristate_value(sym) != no ? radGNUnet : 
radShare ), TRUE);
+       }
+
+       sym = sym_find("MAXCPULOAD", "LOAD");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_entry_set_text(GTK_ENTRY(entCPU), 
sym_get_string_value(sym));
+       }
+}
+
+void load_step4()
+{
+       struct symbol *sym;
+       GtkWidget *vbox12, *frame7, *vbox13, *vbox14, *vbox15, *hbox53, 
*chkMigr,
+               *entQuota, *chkEnh, *chkStart;
+               
+       vbox12 = lookup_widget(curwnd, "vbox12");
+       frame7 = lookup_widget(vbox12, "frame7");
+       vbox13 = lookup_widget(frame7, "vbox13");
+       vbox14 = lookup_widget(vbox13, "vbox14");
+       vbox15 = lookup_widget(vbox14, "vbox15");
+
+       hbox53 = lookup_widget(vbox14, "hbox53");
+       entQuota = lookup_widget(hbox53, "entQuota");
+
+       chkMigr = lookup_widget(vbox14, "chkMigr");
+       chkStart = lookup_widget(vbox14, "chkStart");
+       chkEnh = lookup_widget(vbox14, "chkEnh");
+       
+       
+       sym = sym_find("DISKQUOTA", "AFS");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_entry_set_text(GTK_ENTRY(entQuota), 
sym_get_string_value(sym));
+       }
+
+       sym = sym_find("ACTIVEMIGRATION", "AFS");
+       if (sym)
+       {
+               sym_calc_value_ext(sym, 1);
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chkMigr),
+                       sym_get_tristate_value(sym) != no);
+       }
+
+       if (doAutoStart)
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chkStart), 1);   
        
+
+       if (doOpenEnhConfigurator)
+               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(chkEnh), 1);     
        
+}
+
+int
+wizard_main (int argc, char *argv[])
+{
+#ifdef ENABLE_NLS
+  bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+  textdomain (GETTEXT_PACKAGE);
+#endif
+
+  gtk_set_locale ();
+  gtk_init (&argc, &argv);
+
+  conf_parse(argv[1]);
+  conf_read(NULL);
+
+  curwnd = create_assi_step1 ();
+  gtk_widget_show (curwnd);
+
+  gtk_main ();
+  return 0;
+}


Property changes on: GNUnet/src/conf/wizard.c
___________________________________________________________________
Name: svn:eol-style
   + LF

Added: GNUnet/src/conf/wizard.glade
===================================================================
--- GNUnet/src/conf/wizard.glade        2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard.glade        2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,2158 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>
+
+<glade-interface>
+
+<widget class="GtkWindow" id="assi_step1">
+  <property name="width_request">450</property>
+  <property name="height_request">350</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">GNUnet configuration 
assistant</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_assi_destroy" 
last_modification_time="Fri, 15 Apr 2005 14:27:05 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox2">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkScrolledWindow" id="scoll_welcome">
+         <property name="visible">True</property>
+         <property name="can_focus">True</property>
+         <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+         <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+         <property name="shadow_type">GTK_SHADOW_NONE</property>
+         <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+         <child>
+           <widget class="GtkTextView" id="textview11">
+             <property name="visible">True</property>
+             <property name="can_focus">True</property>
+             <property name="editable">False</property>
+             <property name="overwrite">False</property>
+             <property name="accepts_tab">True</property>
+             <property name="justification">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap_mode">GTK_WRAP_WORD</property>
+             <property name="cursor_visible">False</property>
+             <property name="pixels_above_lines">0</property>
+             <property name="pixels_below_lines">0</property>
+             <property name="pixels_inside_wrap">0</property>
+             <property name="left_margin">0</property>
+             <property name="right_margin">0</property>
+             <property name="indent">2</property>
+             <property name="text" translatable="yes">Welcome to GNUnet!
+
+This assistant will ask you a few basic questions in order to configure GNUnet.
+
+Please visit our homepage at http://www.gnunet.org/ and join our community at
+http://www.gnunet.org/drupal/
+
+Have a lot of fun,
+
+the GNUnet team</property>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHSeparator" id="hseparator2">
+         <property name="visible">True</property>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox1">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="step1_next">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step1_next_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:32:18 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment31">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox54">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image64">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-forward</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label85">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Next</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="abort">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_abort_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:32:41 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment32">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox55">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image65">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-cancel</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label86">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Cancel</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="assi_step2">
+  <property name="width_request">450</property>
+  <property name="height_request">350</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">GNUnet configuration 
assistant</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_assi_destroy" 
last_modification_time="Fri, 15 Apr 2005 14:26:55 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox3">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkFrame" id="frame1">
+         <property name="visible">True</property>
+         <property name="label_xalign">0</property>
+         <property name="label_yalign">0.5</property>
+         <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+         <child>
+           <widget class="GtkVBox" id="vbox4">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkScrolledWindow" id="scrolledwindow5">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="shadow_type">GTK_SHADOW_NONE</property>
+                 <property 
name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+                 <child>
+                   <widget class="GtkTextView" id="textview8">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="editable">False</property>
+                     <property name="overwrite">False</property>
+                     <property name="accepts_tab">True</property>
+                     <property name="justification">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap_mode">GTK_WRAP_WORD</property>
+                     <property name="cursor_visible">False</property>
+                     <property name="pixels_above_lines">0</property>
+                     <property name="pixels_below_lines">0</property>
+                     <property name="pixels_inside_wrap">0</property>
+                     <property name="left_margin">2</property>
+                     <property name="right_margin">0</property>
+                     <property name="indent">0</property>
+                     <property name="text" translatable="yes">Enter 
information about your network connection here.
+
+The &quot;Network interface&quot; is the device that connects your computer to 
the internet. This is usually a modem, an ISDN card or a network card in case 
you are using DSL.
+
+If your provider always assigns the same IP-Address to you (a 
&quot;static&quot; IP-Address), enter it into the &quot;IP-Address&quot; field. 
If your IP-Address changes every now and then (&quot;dynamic&quot; IP-Address) 
but there's a hostname that always points to your actual IP-Address 
(&quot;Dynamic DNS&quot;), you can also enter it here.
+If in doubt, leave the field empty. GNUnet will then try to determine your 
IP-Address.
+
+If you are connected to the internet through another computer doing SNAT, a 
router or a &quot;hardware firewall&quot; and other computers on the internet 
cannot connect to this computer, check the last option on this page. Leave it 
unchecked on direct connections through modems, ISDN cards and DNAT (also known 
as &quot;port forwarding&quot;).</property>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkHSeparator" id="hseparator3">
+                 <property name="visible">True</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkVBox" id="vbox5">
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox6">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkTable" id="table1">
+                         <property name="border_width">5</property>
+                         <property name="visible">True</property>
+                         <property name="n_rows">2</property>
+                         <property name="n_columns">2</property>
+                         <property name="homogeneous">False</property>
+                         <property name="row_spacing">5</property>
+                         <property name="column_spacing">5</property>
+
+                         <child>
+                           <widget class="GtkLabel" id="label23">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Network 
interface:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label24">
+                             <property name="visible">True</property>
+                             <property name="label" 
translatable="yes">IP-Address/Hostname:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkEntry" id="entIP">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="editable">True</property>
+                             <property name="visibility">True</property>
+                             <property name="max_length">0</property>
+                             <property name="text" 
translatable="yes"></property>
+                             <property name="has_frame">True</property>
+                             <property name="invisible_char">*</property>
+                             <property 
name="activates_default">False</property>
+                             <signal name="changed" handler="on_entIP_changed" 
last_modification_time="Sat, 16 Apr 2005 15:41:03 GMT"/>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkComboBox" id="cmbNIC">
+                             <property name="visible">True</property>
+                             <signal name="changed" 
handler="on_cmbNIC_changed" last_modification_time="Sat, 16 Apr 2005 15:40:51 
GMT"/>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="x_options">shrink|fill</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="chkFW">
+                         <property name="border_width">5</property>
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Computer 
cannot receive inbound connections (SNAT/Firewall)</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <signal name="toggled" handler="on_chkFW_toggled" 
last_modification_time="Sat, 16 Apr 2005 15:41:18 GMT"/>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="labelLimit">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Network 
connection</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">label_item</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox2">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="step2_back">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step2_back_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:40:43 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment33">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox56">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image66">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-back</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label87">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Back</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step2_next">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step2_next_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:41:10 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment41">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox64">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image74">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-forward</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label95">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Next</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step2_abort">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_abort_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:42:07 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment42">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox68">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image78">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-cancel</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label99">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Cancel</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="assi_step3">
+  <property name="width_request">450</property>
+  <property name="height_request">350</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">GNUnet configuration 
assistant</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_assi_destroy" 
last_modification_time="Fri, 15 Apr 2005 14:27:18 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox7">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkFrame" id="frame3">
+         <property name="visible">True</property>
+         <property name="label_xalign">0</property>
+         <property name="label_yalign">0.5</property>
+         <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+         <child>
+           <widget class="GtkVBox" id="vbox8">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkScrolledWindow" id="scrolledwindow6">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="shadow_type">GTK_SHADOW_NONE</property>
+                 <property 
name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+                 <child>
+                   <widget class="GtkTextView" id="textview9">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="editable">False</property>
+                     <property name="overwrite">False</property>
+                     <property name="accepts_tab">True</property>
+                     <property name="justification">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap_mode">GTK_WRAP_WORD</property>
+                     <property name="cursor_visible">False</property>
+                     <property name="pixels_above_lines">0</property>
+                     <property name="pixels_below_lines">0</property>
+                     <property name="pixels_inside_wrap">0</property>
+                     <property name="left_margin">2</property>
+                     <property name="right_margin">0</property>
+                     <property name="indent">0</property>
+                     <property name="text" translatable="yes">You can limit 
GNUnet's ressource usage here.
+
+&quot;Bandwidth limitation&quot; is how much data may be sent per second. If 
you have a flatrate you can set it to the maximum speed of your internet 
connection.
+
+The &quot;Max. CPU usage&quot; is the percentage of processor time GNUnet is 
allowed to use.</property>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkHSeparator" id="hseparator4">
+                 <property name="visible">True</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkVBox" id="vbox9">
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox10">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkFrame" id="frame4">
+                         <property name="visible">True</property>
+                         <property name="label_xalign">0</property>
+                         <property name="label_yalign">0.5</property>
+                         <property 
name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox24">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkTable" id="table2">
+                                 <property name="visible">True</property>
+                                 <property name="n_rows">2</property>
+                                 <property name="n_columns">2</property>
+                                 <property name="homogeneous">False</property>
+                                 <property name="row_spacing">5</property>
+                                 <property name="column_spacing">5</property>
+
+                                 <child>
+                                   <widget class="GtkLabel" id="label32">
+                                     <property name="visible">True</property>
+                                     <property name="label" 
translatable="yes">Upstream (Bytes/s):</property>
+                                     <property 
name="use_underline">False</property>
+                                     <property 
name="use_markup">False</property>
+                                     <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property 
name="selectable">False</property>
+                                     <property name="xalign">0</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">5</property>
+                                     <property name="ypad">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="left_attach">0</property>
+                                     <property name="right_attach">1</property>
+                                     <property name="top_attach">0</property>
+                                     <property 
name="bottom_attach">1</property>
+                                     <property name="x_options">fill</property>
+                                     <property name="y_options"></property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkEntry" id="entUp">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="editable">True</property>
+                                     <property 
name="visibility">True</property>
+                                     <property name="max_length">0</property>
+                                     <property name="text" 
translatable="yes"></property>
+                                     <property name="has_frame">True</property>
+                                     <property 
name="invisible_char">*</property>
+                                     <property 
name="activates_default">False</property>
+                                     <signal name="changed" 
handler="on_entUp_changed" last_modification_time="Sat, 16 Apr 2005 16:38:44 
GMT"/>
+                                   </widget>
+                                   <packing>
+                                     <property name="left_attach">1</property>
+                                     <property name="right_attach">2</property>
+                                     <property name="top_attach">0</property>
+                                     <property 
name="bottom_attach">1</property>
+                                     <property name="y_options"></property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkLabel" id="label33">
+                                     <property name="visible">True</property>
+                                     <property name="label" 
translatable="yes">Downstream (Bytes/s):</property>
+                                     <property 
name="use_underline">False</property>
+                                     <property 
name="use_markup">False</property>
+                                     <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property 
name="selectable">False</property>
+                                     <property name="xalign">0</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">5</property>
+                                     <property name="ypad">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="left_attach">0</property>
+                                     <property name="right_attach">1</property>
+                                     <property name="top_attach">1</property>
+                                     <property 
name="bottom_attach">2</property>
+                                     <property name="x_options">fill</property>
+                                     <property name="y_options"></property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkEntry" id="entDown">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="editable">True</property>
+                                     <property 
name="visibility">True</property>
+                                     <property name="max_length">0</property>
+                                     <property name="text" 
translatable="yes"></property>
+                                     <property name="has_frame">True</property>
+                                     <property 
name="invisible_char">*</property>
+                                     <property 
name="activates_default">False</property>
+                                     <signal name="changed" 
handler="on_entDown_changed" last_modification_time="Sat, 16 Apr 2005 16:38:48 
GMT"/>
+                                   </widget>
+                                   <packing>
+                                     <property name="left_attach">1</property>
+                                     <property name="right_attach">2</property>
+                                     <property name="top_attach">1</property>
+                                     <property 
name="bottom_attach">2</property>
+                                     <property name="y_options"></property>
+                                   </packing>
+                                 </child>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">True</property>
+                                 <property name="fill">True</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label31">
+                             <property name="visible">True</property>
+                             <property name="label" 
translatable="yes">Bandwidth limitation</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="type">label_item</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkFrame" id="frame5">
+                         <property name="visible">True</property>
+                         <property name="label_xalign">0</property>
+                         <property name="label_yalign">0.5</property>
+                         <property 
name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+                         <child>
+                           <widget class="GtkVBox" id="vbox11">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkRadioButton" id="radGNUnet">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="label" translatable="yes">Use 
denoted bandwidth for GNUnet</property>
+                                 <property name="use_underline">True</property>
+                                 <property 
name="relief">GTK_RELIEF_NORMAL</property>
+                                 <property 
name="focus_on_click">True</property>
+                                 <property name="active">False</property>
+                                 <property name="inconsistent">False</property>
+                                 <property 
name="draw_indicator">True</property>
+                                 <signal name="toggled" 
handler="on_radGNUnet_toggled" last_modification_time="Sat, 16 Apr 2005 
16:38:59 GMT"/>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkRadioButton" id="radShare">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="label" 
translatable="yes">Share denoted bandwidth with other applications</property>
+                                 <property name="use_underline">True</property>
+                                 <property 
name="relief">GTK_RELIEF_NORMAL</property>
+                                 <property 
name="focus_on_click">True</property>
+                                 <property name="active">False</property>
+                                 <property name="inconsistent">False</property>
+                                 <property 
name="draw_indicator">True</property>
+                                 <property name="group">radGNUnet</property>
+                                 <signal name="toggled" 
handler="on_radShare_toggled" last_modification_time="Sat, 16 Apr 2005 16:39:03 
GMT"/>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label34">
+                             <property name="visible">True</property>
+                             <property name="label" 
translatable="yes">Bandwidth sharing</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="type">label_item</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkFrame" id="frame6">
+                         <property name="visible">True</property>
+                         <property name="label_xalign">0</property>
+                         <property name="label_yalign">0.5</property>
+                         <property 
name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox25">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkLabel" id="label36">
+                                 <property name="visible">True</property>
+                                 <property name="label" 
translatable="yes">Max. CPU usage (%):</property>
+                                 <property 
name="use_underline">False</property>
+                                 <property name="use_markup">False</property>
+                                 <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                                 <property name="wrap">False</property>
+                                 <property name="selectable">False</property>
+                                 <property name="xalign">0.5</property>
+                                 <property name="yalign">0.5</property>
+                                 <property name="xpad">5</property>
+                                 <property name="ypad">0</property>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">False</property>
+                                 <property name="fill">False</property>
+                               </packing>
+                             </child>
+
+                             <child>
+                               <widget class="GtkEntry" id="entCPU">
+                                 <property name="visible">True</property>
+                                 <property name="can_focus">True</property>
+                                 <property name="editable">True</property>
+                                 <property name="visibility">True</property>
+                                 <property name="max_length">0</property>
+                                 <property name="text" 
translatable="yes"></property>
+                                 <property name="has_frame">True</property>
+                                 <property name="invisible_char">*</property>
+                                 <property 
name="activates_default">False</property>
+                                 <signal name="changed" 
handler="on_entCPU_changed" last_modification_time="Sat, 16 Apr 2005 16:39:09 
GMT"/>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">True</property>
+                                 <property name="fill">True</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label35">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">CPU 
usage</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="type">label_item</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label27">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Load 
limitation</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">label_item</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox4">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="step3_back">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step3_back_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:44:10 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment34">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox57">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image67">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-back</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label88">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Back</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step3_next">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step3_next_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:44:21 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment35">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox58">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image68">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-forward</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label89">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Next</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step3_abort">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_abort_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:42:07 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment36">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox59">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image69">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-cancel</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label90">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Cancel</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="assi_step4">
+  <property name="width_request">450</property>
+  <property name="height_request">350</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">GNUnet configuration 
assistant</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_assi_destroy" 
last_modification_time="Fri, 15 Apr 2005 14:27:29 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox12">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkFrame" id="frame7">
+         <property name="visible">True</property>
+         <property name="label_xalign">0</property>
+         <property name="label_yalign">0.5</property>
+         <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+         <child>
+           <widget class="GtkVBox" id="vbox13">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkScrolledWindow" id="scrolledwindow7">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                 <property name="shadow_type">GTK_SHADOW_NONE</property>
+                 <property 
name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+                 <child>
+                   <widget class="GtkTextView" id="textview10">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="editable">False</property>
+                     <property name="overwrite">False</property>
+                     <property name="accepts_tab">True</property>
+                     <property name="justification">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap_mode">GTK_WRAP_WORD</property>
+                     <property name="cursor_visible">False</property>
+                     <property name="pixels_above_lines">0</property>
+                     <property name="pixels_below_lines">0</property>
+                     <property name="pixels_inside_wrap">0</property>
+                     <property name="left_margin">2</property>
+                     <property name="right_margin">0</property>
+                     <property name="indent">0</property>
+                     <property name="text" translatable="yes">GNUnet is able 
to store data from other peers in your datastore. This is useful if an 
adversary has access to your inserted content and you need to deny that the 
content is yours. With &quot;content migration&quot; on, the content could have 
&quot;migrated&quot; over the internet to your node without your knowledge.
+It also helps to spread popular content over different peers to enhance 
availability.
+
+The GNUnet datastore contains all data that GNUnet generates (index data, 
inserted and migrated content). Its maximum size can be specified below.
+
+If you are an experienced user, you may want to tweak your GNUnet installation 
using the enhanced configurator.</property>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkHSeparator" id="hseparator5">
+                 <property name="visible">True</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkVBox" id="vbox14">
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox15">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="chkMigr">
+                         <property name="border_width">4</property>
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Store 
migrated content</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <signal name="toggled" handler="on_chkMigr_toggled" 
last_modification_time="Sat, 16 Apr 2005 16:45:18 GMT"/>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkHBox" id="hbox53">
+                         <property name="visible">True</property>
+                         <property name="homogeneous">False</property>
+                         <property name="spacing">0</property>
+
+                         <child>
+                           <widget class="GtkLabel" id="label84">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Maximum 
datastore size (MB):</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property 
name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">8</property>
+                             <property name="ypad">0</property>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">False</property>
+                             <property name="fill">False</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkEntry" id="entQuota">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="editable">True</property>
+                             <property name="visibility">True</property>
+                             <property name="max_length">0</property>
+                             <property name="text" 
translatable="yes"></property>
+                             <property name="has_frame">True</property>
+                             <property name="invisible_char">*</property>
+                             <property 
name="activates_default">False</property>
+                             <signal name="changed" 
handler="on_entQuota_changed" last_modification_time="Sat, 16 Apr 2005 16:45:24 
GMT"/>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">True</property>
+                             <property name="fill">True</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="chkStart">
+                         <property name="border_width">4</property>
+                         <property name="visible">True</property>
+                         <property name="sensitive">False</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Start the 
GNUnet background process on computer startup</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <signal name="toggled" handler="on_chkStart_toggled" 
last_modification_time="Sat, 16 Apr 2005 16:45:28 GMT"/>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="chkEnh">
+                         <property name="border_width">5</property>
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Open the 
enhanced configurator</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <signal name="toggled" handler="on_chkEnh_toggled" 
last_modification_time="Sat, 16 Apr 2005 16:45:33 GMT"/>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label43">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Other 
settings</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">label_item</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox5">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="step4_back">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_step4_back_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:47:34 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment37">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox60">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image70">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-go-back</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label91">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Back</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step4_next">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_finish_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:47:51 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment40">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox63">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image73">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-save</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label94">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Finish</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="step4_cancel">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_abort_clicked" 
last_modification_time="Thu, 14 Apr 2005 17:42:07 GMT"/>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment39">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox62">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image72">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-cancel</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label93">
+                         <property name="visible">True</property>
+                         <property name="label" 
translatable="yes">Cancel</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="msgSave">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Question</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox16">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkHBox" id="hbox65">
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkImage" id="image75">
+             <property name="visible">True</property>
+             <property name="stock">gtk-dialog-question</property>
+             <property name="icon_size">4</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">15</property>
+           </widget>
+           <packing>
+             <property name="padding">15</property>
+             <property name="expand">False</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label96">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Do you want to save 
your settings?</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">True</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">15</property>
+           </widget>
+           <packing>
+             <property name="padding">5</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHSeparator" id="hseparator1">
+         <property name="visible">True</property>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox6">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="saveYes">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label" translatable="yes">Yes</property>
+             <property name="use_underline">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_saveYes_clicked" 
last_modification_time="Thu, 14 Apr 2005 19:30:39 GMT"/>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="saveNo">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label" translatable="yes">No</property>
+             <property name="use_underline">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_saveNo_clicked" 
last_modification_time="Thu, 14 Apr 2005 19:30:31 GMT"/>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="msgSaveFailed">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Error</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_CENTER</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox17">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+       <widget class="GtkHBox" id="hbox67">
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkImage" id="image77">
+             <property name="visible">True</property>
+             <property name="stock">gtk-dialog-error</property>
+             <property name="icon_size">4</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">15</property>
+           </widget>
+           <packing>
+             <property name="padding">15</property>
+             <property name="expand">False</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label98">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Unable to save 
configuration!</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">True</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">15</property>
+           </widget>
+           <packing>
+             <property name="padding">5</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHSeparator" id="hseparator6">
+         <property name="visible">True</property>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox7">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="button1">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label" translatable="yes">OK</property>
+             <property name="use_underline">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <signal name="clicked" handler="on_saveFailedOK_clicked" 
last_modification_time="Sat, 16 Apr 2005 10:26:12 GMT"/>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>


Property changes on: GNUnet/src/conf/wizard.glade
___________________________________________________________________
Name: svn:eol-style
   + LF

Added: GNUnet/src/conf/wizard_callbacks.c
===================================================================
--- GNUnet/src/conf/wizard_callbacks.c  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard_callbacks.c  2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,299 @@
+/*
+     This file is part of GNUnet.
+     (C) 2005 Christian Grothoff (and other contributing authors)
+
+     GNUnet is free software; you can redistribute it and/or modify
+     it under the terms of the GNU General Public License as published
+     by the Free Software Foundation; either version 2, or (at your
+     option) any later version.
+
+     GNUnet is distributed in the hope that it will be useful, but
+     WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+     General Public License for more details.
+
+     You should have received a copy of the GNU General Public License
+     along with GNUnet; see the file COPYING.  If not, write to the
+     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+     Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file conf/gbasic-callbacks.c
+ * @brief Callbacks for the GTK configuration assistant
+ * @author Nils Durner
+ */
+
+#include "platform.h"
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+
+#include <gtk/gtk.h>
+
+#include "wizard_callbacks.h"
+#include "wizard_interface.h"
+#include "wizard_support.h"
+
+#include "lkc.h"
+
+extern GtkWidget *curwnd;
+extern int doOpenEnhConfigurator;
+extern int doAutoStart;
+
+GtkWidget *msgSave;
+GtkWidget *msgSaveFailed;
+
+/* 1 = terminate app on "assi_destroy" */
+int quit;
+
+void
+on_step1_next_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+       
+       curwnd = create_assi_step2();
+       load_step2();
+       gtk_widget_show(curwnd);
+}
+
+
+void
+on_abort_clicked (GtkButton * button, gpointer user_data)
+{
+       msgSave = create_msgSave();
+       gtk_widget_show(msgSave);
+}
+
+
+void
+on_step2_back_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+       curwnd = create_assi_step1();
+       gtk_widget_show(curwnd);
+}
+
+
+void
+on_step2_next_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+       
+       curwnd = create_assi_step3();
+       load_step3();
+       gtk_widget_show(curwnd);
+}
+
+
+void
+on_step3_back_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+
+       curwnd = create_assi_step2();
+       load_step2();
+       gtk_widget_show(curwnd);
+}
+
+
+void
+on_step3_next_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+       
+       curwnd = create_assi_step4();
+       load_step4();
+       gtk_widget_show(curwnd);
+}
+
+
+void
+on_step4_back_clicked (GtkButton * button, gpointer user_data)
+{
+       quit = 0;
+       gtk_widget_destroy(curwnd);
+       quit = 1;
+       
+       curwnd = create_assi_step3();
+       load_step3();
+       gtk_widget_show(curwnd);
+}
+
+int
+save_conf ()
+{
+       if (conf_write(NULL))
+       {
+               msgSaveFailed = create_msgSaveFailed();
+               gtk_widget_show(msgSaveFailed);
+               
+               return 0;
+       }
+       
+       return 1;
+}
+
+void
+on_finish_clicked (GtkButton * button, gpointer user_data)
+{
+       if (save_conf())
+               gtk_widget_destroy(curwnd);
+}
+
+void
+on_saveYes_clicked (GtkButton * button, gpointer user_data)
+{
+       if (save_conf())
+       {
+               gtk_widget_destroy(msgSave);
+               gtk_widget_destroy(curwnd);
+       }
+}
+
+void
+on_saveNo_clicked (GtkButton * button, gpointer user_data)
+{
+       gtk_widget_destroy(msgSave);
+       gtk_widget_destroy(curwnd);
+}
+
+void
+on_assi_destroy (GtkObject * object, gpointer user_data)
+{
+       /* Don't terminate if the user just clicked "Next" */
+       if (quit)
+               gtk_main_quit();
+}
+
+void
+on_saveFailedOK_clicked (GtkButton * button, gpointer user_data)
+{
+       gtk_widget_destroy(msgSaveFailed);
+}
+
+void
+on_entIP_changed (GtkEditable * editable, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("IP", "NETWORK", 0);
+       sym_set_string_value(sym, gtk_editable_get_chars(editable, 0, -1));
+}
+
+
+void
+on_cmbNIC_changed (GtkComboBox * combobox, gpointer user_data)
+{
+       GtkTreeIter iter;
+       GValue val;
+       char *entry, *idx;
+       char *dst, nic[21];
+       struct symbol *sym;
+       GtkTreeModel *model;
+       
+       gtk_combo_box_get_active_iter(combobox, &iter);
+       model = gtk_combo_box_get_model(combobox);
+       gtk_tree_model_get_value(model, &iter, 0, &val);
+       entry = (char *) g_value_get_string(&val);
+
+       idx = strrchr(entry, '-');
+       if (! idx)
+               return;
+       idx += 2;
+       dst = nic;
+       while(*idx)
+               *dst++ = *idx++;
+       dst[-1] = 0;
+       
+       sym = sym_lookup("INTERFACE", "NETWORK", 0);
+       sym_set_string_value(sym, nic);
+       sym = sym_lookup("INTERFACES", "LOAD", 0);
+       sym_set_string_value(sym, nic);
+}
+
+void
+on_chkFW_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("LIMITED", "NAT", 0);
+       sym_set_tristate_value(sym,
+               gtk_toggle_button_get_active(togglebutton) ? yes : no);
+}
+
+void
+on_entUp_changed (GtkEditable * editable, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("MAXNETUPBPSTOTAL", "LOAD", 0);
+       sym_set_string_value(sym, gtk_editable_get_chars(editable, 0, -1));
+}
+
+
+void
+on_entDown_changed (GtkEditable * editable, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("MAXNETDOWNBPSTOTAL", "LOAD", 0);
+       sym_set_string_value(sym, gtk_editable_get_chars(editable, 0, -1));
+}
+
+
+void
+on_radGNUnet_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("BASICLIMITING", "LOAD", 0);
+       sym_set_tristate_value(sym,     
gtk_toggle_button_get_active(togglebutton) ? yes : no);
+}
+
+
+void
+on_radShare_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("BASICLIMITING", "LOAD", 0);
+       sym_set_tristate_value(sym,     
gtk_toggle_button_get_active(togglebutton) ? no : yes);
+}
+
+
+void
+on_entCPU_changed (GtkEditable * editable, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("MAXCPULOAD", "LOAD", 0);
+       sym_set_string_value(sym, gtk_editable_get_chars(editable, 0, -1));
+}
+
+void
+on_chkMigr_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("ACTIVEMIGRATION", "AFS", 0);
+       sym_set_tristate_value(sym,
+               gtk_toggle_button_get_active(togglebutton) ? yes : no);
+printf("Hit: %i\n", gtk_toggle_button_get_active(togglebutton));
+}
+
+void
+on_entQuota_changed (GtkEditable * editable, gpointer user_data)
+{
+       struct symbol *sym = sym_lookup("DISKQUOTA", "AFS", 0);
+       sym_set_string_value(sym, gtk_editable_get_chars(editable, 0, -1));
+}
+
+
+void
+on_chkStart_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       doAutoStart = gtk_toggle_button_get_active(togglebutton);
+}
+
+
+void
+on_chkEnh_toggled (GtkToggleButton * togglebutton, gpointer user_data)
+{
+       doOpenEnhConfigurator = gtk_toggle_button_get_active(togglebutton);
+}


Property changes on: GNUnet/src/conf/wizard_callbacks.c
___________________________________________________________________
Name: svn:eol-style
   + LF

Added: GNUnet/src/conf/wizard_callbacks.h
===================================================================
--- GNUnet/src/conf/wizard_callbacks.h  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard_callbacks.h  2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,54 @@
+#include "platform.h"
+#include "gnunet_util.h"
+
+#include <gtk/gtk.h>
+
+
+void on_step1_next_clicked (GtkButton * button, gpointer user_data);
+
+void on_abort_clicked (GtkButton * button, gpointer user_data);
+
+void on_step2_back_clicked (GtkButton * button, gpointer user_data);
+
+void on_step2_next_clicked (GtkButton * button, gpointer user_data);
+
+void on_step3_back_clicked (GtkButton * button, gpointer user_data);
+
+void on_step3_next_clicked (GtkButton * button, gpointer user_data);
+
+void on_step4_back_clicked (GtkButton * button, gpointer user_data);
+
+void on_finish_clicked (GtkButton * button, gpointer user_data);
+
+void on_saveYes_clicked (GtkButton * button, gpointer user_data);
+
+void on_saveNo_clicked (GtkButton * button, gpointer user_data);
+
+void on_assi_destroy (GtkObject * object, gpointer user_data);
+
+void on_saveFailedOK_clicked (GtkButton * button, gpointer user_data);
+
+void on_entIP_changed (GtkEditable * editable, gpointer user_data);
+
+void on_cmbNIC_changed (GtkComboBox * combobox, gpointer user_data);
+
+void on_chkFW_toggled (GtkToggleButton * togglebutton, gpointer user_data);
+
+void on_entUp_changed (GtkEditable * editable, gpointer user_data);
+
+void on_entDown_changed (GtkEditable * editable, gpointer user_data);
+
+void
+on_radGNUnet_toggled (GtkToggleButton * togglebutton, gpointer user_data);
+
+void on_radShare_toggled (GtkToggleButton * togglebutton, gpointer user_data);
+
+void on_entCPU_changed (GtkEditable * editable, gpointer user_data);
+
+void on_chkMigr_toggled (GtkToggleButton * togglebutton, gpointer user_data);
+
+void on_entQuota_changed (GtkEditable * editable, gpointer user_data);
+
+void on_chkStart_toggled (GtkToggleButton * togglebutton, gpointer user_data);
+
+void on_chkEnh_toggled (GtkToggleButton * togglebutton, gpointer user_data);


Property changes on: GNUnet/src/conf/wizard_callbacks.h
___________________________________________________________________
Name: svn:eol-style
   + LF

Added: GNUnet/src/conf/wizard_interface.c
===================================================================
--- GNUnet/src/conf/wizard_interface.c  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard_interface.c  2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,1125 @@
+/*
+ * 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>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <string.h>
+#include <stdio.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#include "wizard_callbacks.h"
+#include "wizard_interface.h"
+#include "wizard_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_assi_step1 (void)
+{
+  GtkWidget *assi_step1;
+  GtkWidget *vbox2;
+  GtkWidget *scoll_welcome;
+  GtkWidget *textview11;
+  GtkWidget *hseparator2;
+  GtkWidget *hbuttonbox1;
+  GtkWidget *step1_next;
+  GtkWidget *alignment31;
+  GtkWidget *hbox54;
+  GtkWidget *image64;
+  GtkWidget *label85;
+  GtkWidget *abort;
+  GtkWidget *alignment32;
+  GtkWidget *hbox55;
+  GtkWidget *image65;
+  GtkWidget *label86;
+
+  assi_step1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_set_size_request (assi_step1, 450, 350);
+  gtk_window_set_title (GTK_WINDOW (assi_step1),
+                       _("GNUnet configuration assistant"));
+  gtk_window_set_position (GTK_WINDOW (assi_step1), GTK_WIN_POS_CENTER);
+
+  vbox2 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox2);
+  gtk_container_add (GTK_CONTAINER (assi_step1), vbox2);
+
+  scoll_welcome = gtk_scrolled_window_new (NULL, NULL);
+  gtk_widget_show (scoll_welcome);
+  gtk_box_pack_start (GTK_BOX (vbox2), scoll_welcome, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scoll_welcome),
+                                 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+
+  textview11 = gtk_text_view_new ();
+  gtk_widget_show (textview11);
+  gtk_container_add (GTK_CONTAINER (scoll_welcome), textview11);
+  gtk_text_view_set_editable (GTK_TEXT_VIEW (textview11), FALSE);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview11), GTK_WRAP_WORD);
+  gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview11), FALSE);
+  gtk_text_view_set_indent (GTK_TEXT_VIEW (textview11), 2);
+  gtk_text_buffer_set_text (gtk_text_view_get_buffer
+                           (GTK_TEXT_VIEW (textview11)),
+                           _
+                           ("Welcome to GNUnet!\n\nThis assistant will ask you 
a few basic questions in order to configure GNUnet.\n\nPlease visit our 
homepage at http://www.gnunet.org/ and join our community 
at\nhttp://www.gnunet.org/drupal/\n\nHave a lot of fun,\n\nthe GNUnet team"),
+                           -1);
+
+  hseparator2 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator2);
+  gtk_box_pack_start (GTK_BOX (vbox2), hseparator2, FALSE, TRUE, 0);
+
+  hbuttonbox1 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox1);
+  gtk_box_pack_start (GTK_BOX (vbox2), hbuttonbox1, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
+
+  step1_next = gtk_button_new ();
+  gtk_widget_show (step1_next);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox1), step1_next);
+  GTK_WIDGET_SET_FLAGS (step1_next, GTK_CAN_DEFAULT);
+
+  alignment31 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment31);
+  gtk_container_add (GTK_CONTAINER (step1_next), alignment31);
+
+  hbox54 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox54);
+  gtk_container_add (GTK_CONTAINER (alignment31), hbox54);
+
+  image64 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image64);
+  gtk_box_pack_start (GTK_BOX (hbox54), image64, FALSE, FALSE, 0);
+
+  label85 = gtk_label_new_with_mnemonic (_("Next"));
+  gtk_widget_show (label85);
+  gtk_box_pack_start (GTK_BOX (hbox54), label85, FALSE, FALSE, 0);
+
+  abort = gtk_button_new ();
+  gtk_widget_show (abort);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox1), abort);
+  GTK_WIDGET_SET_FLAGS (abort, GTK_CAN_DEFAULT);
+
+  alignment32 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment32);
+  gtk_container_add (GTK_CONTAINER (abort), alignment32);
+
+  hbox55 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox55);
+  gtk_container_add (GTK_CONTAINER (alignment32), hbox55);
+
+  image65 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image65);
+  gtk_box_pack_start (GTK_BOX (hbox55), image65, FALSE, FALSE, 0);
+
+  label86 = gtk_label_new_with_mnemonic (_("Cancel"));
+  gtk_widget_show (label86);
+  gtk_box_pack_start (GTK_BOX (hbox55), label86, FALSE, FALSE, 0);
+
+  g_signal_connect ((gpointer) assi_step1, "destroy",
+                   G_CALLBACK (on_assi_destroy), NULL);
+  g_signal_connect ((gpointer) step1_next, "clicked",
+                   G_CALLBACK (on_step1_next_clicked), NULL);
+  g_signal_connect ((gpointer) abort, "clicked",
+                   G_CALLBACK (on_abort_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (assi_step1, assi_step1, "assi_step1");
+  GLADE_HOOKUP_OBJECT (assi_step1, vbox2, "vbox2");
+  GLADE_HOOKUP_OBJECT (assi_step1, scoll_welcome, "scoll_welcome");
+  GLADE_HOOKUP_OBJECT (assi_step1, textview11, "textview11");
+  GLADE_HOOKUP_OBJECT (assi_step1, hseparator2, "hseparator2");
+  GLADE_HOOKUP_OBJECT (assi_step1, hbuttonbox1, "hbuttonbox1");
+  GLADE_HOOKUP_OBJECT (assi_step1, step1_next, "step1_next");
+  GLADE_HOOKUP_OBJECT (assi_step1, alignment31, "alignment31");
+  GLADE_HOOKUP_OBJECT (assi_step1, hbox54, "hbox54");
+  GLADE_HOOKUP_OBJECT (assi_step1, image64, "image64");
+  GLADE_HOOKUP_OBJECT (assi_step1, label85, "label85");
+  GLADE_HOOKUP_OBJECT (assi_step1, abort, "abort");
+  GLADE_HOOKUP_OBJECT (assi_step1, alignment32, "alignment32");
+  GLADE_HOOKUP_OBJECT (assi_step1, hbox55, "hbox55");
+  GLADE_HOOKUP_OBJECT (assi_step1, image65, "image65");
+  GLADE_HOOKUP_OBJECT (assi_step1, label86, "label86");
+
+  return assi_step1;
+}
+
+GtkWidget *
+create_assi_step2 (void)
+{
+  GtkWidget *assi_step2;
+  GtkWidget *vbox3;
+  GtkWidget *frame1;
+  GtkWidget *vbox4;
+  GtkWidget *scrolledwindow5;
+  GtkWidget *textview8;
+  GtkWidget *hseparator3;
+  GtkWidget *vbox5;
+  GtkWidget *vbox6;
+  GtkWidget *table1;
+  GtkWidget *label23;
+  GtkWidget *label24;
+  GtkWidget *entIP;
+  GtkWidget *cmbNIC;
+  GtkWidget *chkFW;
+  GtkWidget *labelLimit;
+  GtkWidget *hbuttonbox2;
+  GtkWidget *step2_back;
+  GtkWidget *alignment33;
+  GtkWidget *hbox56;
+  GtkWidget *image66;
+  GtkWidget *label87;
+  GtkWidget *step2_next;
+  GtkWidget *alignment41;
+  GtkWidget *hbox64;
+  GtkWidget *image74;
+  GtkWidget *label95;
+  GtkWidget *step2_abort;
+  GtkWidget *alignment42;
+  GtkWidget *hbox68;
+  GtkWidget *image78;
+  GtkWidget *label99;
+
+  assi_step2 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_set_size_request (assi_step2, 450, 350);
+  gtk_window_set_title (GTK_WINDOW (assi_step2),
+                       _("GNUnet configuration assistant"));
+  gtk_window_set_position (GTK_WINDOW (assi_step2), GTK_WIN_POS_CENTER);
+
+  vbox3 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox3);
+  gtk_container_add (GTK_CONTAINER (assi_step2), vbox3);
+
+  frame1 = gtk_frame_new (NULL);
+  gtk_widget_show (frame1);
+  gtk_box_pack_start (GTK_BOX (vbox3), frame1, TRUE, TRUE, 0);
+
+  vbox4 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox4);
+  gtk_container_add (GTK_CONTAINER (frame1), vbox4);
+
+  scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_widget_show (scrolledwindow5);
+  gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow5, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5),
+                                 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+
+  textview8 = gtk_text_view_new ();
+  gtk_widget_show (textview8);
+  gtk_container_add (GTK_CONTAINER (scrolledwindow5), textview8);
+  gtk_text_view_set_editable (GTK_TEXT_VIEW (textview8), FALSE);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview8), GTK_WRAP_WORD);
+  gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview8), FALSE);
+  gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview8), 2);
+  gtk_text_buffer_set_text (gtk_text_view_get_buffer
+                           (GTK_TEXT_VIEW (textview8)),
+                           _
+                           ("Enter information about your network connection 
here.\n\nThe \"Network interface\" is the device that connects your computer to 
the internet. This is usually a modem, an ISDN card or a network card in case 
you are using DSL.\n\nIf your provider always assigns the same IP-Address to 
you (a \"static\" IP-Address), enter it into the \"IP-Address\" field. If your 
IP-Address changes every now and then (\"dynamic\" IP-Address) but there's a 
hostname that always points to your actual IP-Address (\"Dynamic DNS\"), you 
can also enter it here.\nIf in doubt, leave the field empty. GNUnet will then 
try to determine your IP-Address.\n\nIf you are connected to the internet 
through another computer doing SNAT, a router or a \"hardware firewall\" and 
other computers on the internet cannot connect to this computer, check the last 
option on this page. Leave it unchecked on direct connections through modems, 
ISDN cards and DNAT (also known as \"port forwarding\")."),
+                           -1);
+
+  hseparator3 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator3);
+  gtk_box_pack_start (GTK_BOX (vbox4), hseparator3, TRUE, TRUE, 0);
+
+  vbox5 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox5);
+  gtk_box_pack_start (GTK_BOX (vbox4), vbox5, TRUE, TRUE, 0);
+
+  vbox6 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox6);
+  gtk_box_pack_start (GTK_BOX (vbox5), vbox6, TRUE, TRUE, 0);
+
+  table1 = gtk_table_new (2, 2, FALSE);
+  gtk_widget_show (table1);
+  gtk_box_pack_start (GTK_BOX (vbox6), table1, TRUE, TRUE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
+  gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
+  gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
+
+  label23 = gtk_label_new (_("Network interface:"));
+  gtk_widget_show (label23);
+  gtk_table_attach (GTK_TABLE (table1), label23, 0, 1, 0, 1,
+                   (GtkAttachOptions) (GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
+
+  label24 = gtk_label_new (_("IP-Address/Hostname:"));
+  gtk_widget_show (label24);
+  gtk_table_attach (GTK_TABLE (table1), label24, 0, 1, 1, 2,
+                   (GtkAttachOptions) (GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
+
+  entIP = gtk_entry_new ();
+  gtk_widget_show (entIP);
+  gtk_table_attach (GTK_TABLE (table1), entIP, 1, 2, 1, 2,
+                   (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+
+  cmbNIC = gtk_combo_box_new_text ();
+  gtk_widget_show (cmbNIC);
+  gtk_table_attach (GTK_TABLE (table1), cmbNIC, 1, 2, 0, 1,
+                   (GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
+                   (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+  chkFW =
+    gtk_check_button_new_with_mnemonic (_
+                                       ("Computer cannot receive inbound 
connections (SNAT/Firewall)"));
+  gtk_widget_show (chkFW);
+  gtk_box_pack_start (GTK_BOX (vbox6), chkFW, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (chkFW), 5);
+
+  labelLimit = gtk_label_new (_("Network connection"));
+  gtk_widget_show (labelLimit);
+  gtk_frame_set_label_widget (GTK_FRAME (frame1), labelLimit);
+
+  hbuttonbox2 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox2);
+  gtk_box_pack_start (GTK_BOX (vbox3), hbuttonbox2, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
+
+  step2_back = gtk_button_new ();
+  gtk_widget_show (step2_back);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox2), step2_back);
+  GTK_WIDGET_SET_FLAGS (step2_back, GTK_CAN_DEFAULT);
+
+  alignment33 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment33);
+  gtk_container_add (GTK_CONTAINER (step2_back), alignment33);
+
+  hbox56 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox56);
+  gtk_container_add (GTK_CONTAINER (alignment33), hbox56);
+
+  image66 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image66);
+  gtk_box_pack_start (GTK_BOX (hbox56), image66, FALSE, FALSE, 0);
+
+  label87 = gtk_label_new_with_mnemonic (_("Back"));
+  gtk_widget_show (label87);
+  gtk_box_pack_start (GTK_BOX (hbox56), label87, FALSE, FALSE, 0);
+
+  step2_next = gtk_button_new ();
+  gtk_widget_show (step2_next);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox2), step2_next);
+  GTK_WIDGET_SET_FLAGS (step2_next, GTK_CAN_DEFAULT);
+
+  alignment41 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment41);
+  gtk_container_add (GTK_CONTAINER (step2_next), alignment41);
+
+  hbox64 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox64);
+  gtk_container_add (GTK_CONTAINER (alignment41), hbox64);
+
+  image74 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image74);
+  gtk_box_pack_start (GTK_BOX (hbox64), image74, FALSE, FALSE, 0);
+
+  label95 = gtk_label_new_with_mnemonic (_("Next"));
+  gtk_widget_show (label95);
+  gtk_box_pack_start (GTK_BOX (hbox64), label95, FALSE, FALSE, 0);
+
+  step2_abort = gtk_button_new ();
+  gtk_widget_show (step2_abort);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox2), step2_abort);
+  GTK_WIDGET_SET_FLAGS (step2_abort, GTK_CAN_DEFAULT);
+
+  alignment42 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment42);
+  gtk_container_add (GTK_CONTAINER (step2_abort), alignment42);
+
+  hbox68 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox68);
+  gtk_container_add (GTK_CONTAINER (alignment42), hbox68);
+
+  image78 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image78);
+  gtk_box_pack_start (GTK_BOX (hbox68), image78, FALSE, FALSE, 0);
+
+  label99 = gtk_label_new_with_mnemonic (_("Cancel"));
+  gtk_widget_show (label99);
+  gtk_box_pack_start (GTK_BOX (hbox68), label99, FALSE, FALSE, 0);
+
+  g_signal_connect ((gpointer) assi_step2, "destroy",
+                   G_CALLBACK (on_assi_destroy), NULL);
+  g_signal_connect ((gpointer) entIP, "changed",
+                   G_CALLBACK (on_entIP_changed), NULL);
+  g_signal_connect ((gpointer) cmbNIC, "changed",
+                   G_CALLBACK (on_cmbNIC_changed), NULL);
+  g_signal_connect ((gpointer) chkFW, "toggled",
+                   G_CALLBACK (on_chkFW_toggled), NULL);
+  g_signal_connect ((gpointer) step2_back, "clicked",
+                   G_CALLBACK (on_step2_back_clicked), NULL);
+  g_signal_connect ((gpointer) step2_next, "clicked",
+                   G_CALLBACK (on_step2_next_clicked), NULL);
+  g_signal_connect ((gpointer) step2_abort, "clicked",
+                   G_CALLBACK (on_abort_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (assi_step2, assi_step2, "assi_step2");
+  GLADE_HOOKUP_OBJECT (assi_step2, vbox3, "vbox3");
+  GLADE_HOOKUP_OBJECT (assi_step2, frame1, "frame1");
+  GLADE_HOOKUP_OBJECT (assi_step2, vbox4, "vbox4");
+  GLADE_HOOKUP_OBJECT (assi_step2, scrolledwindow5, "scrolledwindow5");
+  GLADE_HOOKUP_OBJECT (assi_step2, textview8, "textview8");
+  GLADE_HOOKUP_OBJECT (assi_step2, hseparator3, "hseparator3");
+  GLADE_HOOKUP_OBJECT (assi_step2, vbox5, "vbox5");
+  GLADE_HOOKUP_OBJECT (assi_step2, vbox6, "vbox6");
+  GLADE_HOOKUP_OBJECT (assi_step2, table1, "table1");
+  GLADE_HOOKUP_OBJECT (assi_step2, label23, "label23");
+  GLADE_HOOKUP_OBJECT (assi_step2, label24, "label24");
+  GLADE_HOOKUP_OBJECT (assi_step2, entIP, "entIP");
+  GLADE_HOOKUP_OBJECT (assi_step2, cmbNIC, "cmbNIC");
+  GLADE_HOOKUP_OBJECT (assi_step2, chkFW, "chkFW");
+  GLADE_HOOKUP_OBJECT (assi_step2, labelLimit, "labelLimit");
+  GLADE_HOOKUP_OBJECT (assi_step2, hbuttonbox2, "hbuttonbox2");
+  GLADE_HOOKUP_OBJECT (assi_step2, step2_back, "step2_back");
+  GLADE_HOOKUP_OBJECT (assi_step2, alignment33, "alignment33");
+  GLADE_HOOKUP_OBJECT (assi_step2, hbox56, "hbox56");
+  GLADE_HOOKUP_OBJECT (assi_step2, image66, "image66");
+  GLADE_HOOKUP_OBJECT (assi_step2, label87, "label87");
+  GLADE_HOOKUP_OBJECT (assi_step2, step2_next, "step2_next");
+  GLADE_HOOKUP_OBJECT (assi_step2, alignment41, "alignment41");
+  GLADE_HOOKUP_OBJECT (assi_step2, hbox64, "hbox64");
+  GLADE_HOOKUP_OBJECT (assi_step2, image74, "image74");
+  GLADE_HOOKUP_OBJECT (assi_step2, label95, "label95");
+  GLADE_HOOKUP_OBJECT (assi_step2, step2_abort, "step2_abort");
+  GLADE_HOOKUP_OBJECT (assi_step2, alignment42, "alignment42");
+  GLADE_HOOKUP_OBJECT (assi_step2, hbox68, "hbox68");
+  GLADE_HOOKUP_OBJECT (assi_step2, image78, "image78");
+  GLADE_HOOKUP_OBJECT (assi_step2, label99, "label99");
+
+  return assi_step2;
+}
+
+GtkWidget *
+create_assi_step3 (void)
+{
+  GtkWidget *assi_step3;
+  GtkWidget *vbox7;
+  GtkWidget *frame3;
+  GtkWidget *vbox8;
+  GtkWidget *scrolledwindow6;
+  GtkWidget *textview9;
+  GtkWidget *hseparator4;
+  GtkWidget *vbox9;
+  GtkWidget *vbox10;
+  GtkWidget *frame4;
+  GtkWidget *hbox24;
+  GtkWidget *table2;
+  GtkWidget *label32;
+  GtkWidget *entUp;
+  GtkWidget *label33;
+  GtkWidget *entDown;
+  GtkWidget *label31;
+  GtkWidget *frame5;
+  GtkWidget *vbox11;
+  GtkWidget *radGNUnet;
+  GSList *radGNUnet_group = NULL;
+  GtkWidget *radShare;
+  GtkWidget *label34;
+  GtkWidget *frame6;
+  GtkWidget *hbox25;
+  GtkWidget *label36;
+  GtkWidget *entCPU;
+  GtkWidget *label35;
+  GtkWidget *label27;
+  GtkWidget *hbuttonbox4;
+  GtkWidget *step3_back;
+  GtkWidget *alignment34;
+  GtkWidget *hbox57;
+  GtkWidget *image67;
+  GtkWidget *label88;
+  GtkWidget *step3_next;
+  GtkWidget *alignment35;
+  GtkWidget *hbox58;
+  GtkWidget *image68;
+  GtkWidget *label89;
+  GtkWidget *step3_abort;
+  GtkWidget *alignment36;
+  GtkWidget *hbox59;
+  GtkWidget *image69;
+  GtkWidget *label90;
+
+  assi_step3 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_set_size_request (assi_step3, 450, 350);
+  gtk_window_set_title (GTK_WINDOW (assi_step3),
+                       _("GNUnet configuration assistant"));
+  gtk_window_set_position (GTK_WINDOW (assi_step3), GTK_WIN_POS_CENTER);
+
+  vbox7 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox7);
+  gtk_container_add (GTK_CONTAINER (assi_step3), vbox7);
+
+  frame3 = gtk_frame_new (NULL);
+  gtk_widget_show (frame3);
+  gtk_box_pack_start (GTK_BOX (vbox7), frame3, TRUE, TRUE, 0);
+
+  vbox8 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox8);
+  gtk_container_add (GTK_CONTAINER (frame3), vbox8);
+
+  scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_widget_show (scrolledwindow6);
+  gtk_box_pack_start (GTK_BOX (vbox8), scrolledwindow6, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6),
+                                 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+
+  textview9 = gtk_text_view_new ();
+  gtk_widget_show (textview9);
+  gtk_container_add (GTK_CONTAINER (scrolledwindow6), textview9);
+  gtk_text_view_set_editable (GTK_TEXT_VIEW (textview9), FALSE);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview9), GTK_WRAP_WORD);
+  gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview9), FALSE);
+  gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview9), 2);
+  gtk_text_buffer_set_text (gtk_text_view_get_buffer
+                           (GTK_TEXT_VIEW (textview9)),
+                           _
+                           ("You can limit GNUnet's ressource usage 
here.\n\n\"Bandwidth limitation\" is how much data may be sent per second. If 
you have a flatrate you can set it to the maximum speed of your internet 
connection.\n\nThe \"Max. CPU usage\" is the percentage of processor time 
GNUnet is allowed to use."),
+                           -1);
+
+  hseparator4 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator4);
+  gtk_box_pack_start (GTK_BOX (vbox8), hseparator4, FALSE, TRUE, 0);
+
+  vbox9 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox9);
+  gtk_box_pack_start (GTK_BOX (vbox8), vbox9, TRUE, TRUE, 0);
+
+  vbox10 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox10);
+  gtk_box_pack_start (GTK_BOX (vbox9), vbox10, TRUE, TRUE, 0);
+
+  frame4 = gtk_frame_new (NULL);
+  gtk_widget_show (frame4);
+  gtk_box_pack_start (GTK_BOX (vbox10), frame4, TRUE, TRUE, 0);
+
+  hbox24 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox24);
+  gtk_container_add (GTK_CONTAINER (frame4), hbox24);
+
+  table2 = gtk_table_new (2, 2, FALSE);
+  gtk_widget_show (table2);
+  gtk_box_pack_start (GTK_BOX (hbox24), table2, TRUE, TRUE, 0);
+  gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
+  gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
+
+  label32 = gtk_label_new (_("Upstream (Bytes/s):"));
+  gtk_widget_show (label32);
+  gtk_table_attach (GTK_TABLE (table2), label32, 0, 1, 0, 1,
+                   (GtkAttachOptions) (GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label32), 5, 0);
+
+  entUp = gtk_entry_new ();
+  gtk_widget_show (entUp);
+  gtk_table_attach (GTK_TABLE (table2), entUp, 1, 2, 0, 1,
+                   (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+
+  label33 = gtk_label_new (_("Downstream (Bytes/s):"));
+  gtk_widget_show (label33);
+  gtk_table_attach (GTK_TABLE (table2), label33, 0, 1, 1, 2,
+                   (GtkAttachOptions) (GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
+  gtk_misc_set_padding (GTK_MISC (label33), 5, 0);
+
+  entDown = gtk_entry_new ();
+  gtk_widget_show (entDown);
+  gtk_table_attach (GTK_TABLE (table2), entDown, 1, 2, 1, 2,
+                   (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                   (GtkAttachOptions) (0), 0, 0);
+
+  label31 = gtk_label_new (_("Bandwidth limitation"));
+  gtk_widget_show (label31);
+  gtk_frame_set_label_widget (GTK_FRAME (frame4), label31);
+
+  frame5 = gtk_frame_new (NULL);
+  gtk_widget_show (frame5);
+  gtk_box_pack_start (GTK_BOX (vbox10), frame5, TRUE, TRUE, 0);
+
+  vbox11 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox11);
+  gtk_container_add (GTK_CONTAINER (frame5), vbox11);
+
+  radGNUnet =
+    gtk_radio_button_new_with_mnemonic (NULL,
+                                       _
+                                       ("Use denoted bandwidth for GNUnet"));
+  gtk_widget_show (radGNUnet);
+  gtk_box_pack_start (GTK_BOX (vbox11), radGNUnet, FALSE, FALSE, 0);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radGNUnet), radGNUnet_group);
+  radGNUnet_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radGNUnet));
+
+  radShare =
+    gtk_radio_button_new_with_mnemonic (NULL,
+                                       _
+                                       ("Share denoted bandwidth with other 
applications"));
+  gtk_widget_show (radShare);
+  gtk_box_pack_start (GTK_BOX (vbox11), radShare, FALSE, FALSE, 0);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radShare), radGNUnet_group);
+  radGNUnet_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radShare));
+
+  label34 = gtk_label_new (_("Bandwidth sharing"));
+  gtk_widget_show (label34);
+  gtk_frame_set_label_widget (GTK_FRAME (frame5), label34);
+
+  frame6 = gtk_frame_new (NULL);
+  gtk_widget_show (frame6);
+  gtk_box_pack_start (GTK_BOX (vbox10), frame6, TRUE, TRUE, 0);
+
+  hbox25 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox25);
+  gtk_container_add (GTK_CONTAINER (frame6), hbox25);
+
+  label36 = gtk_label_new (_("Max. CPU usage (%):"));
+  gtk_widget_show (label36);
+  gtk_box_pack_start (GTK_BOX (hbox25), label36, FALSE, FALSE, 0);
+  gtk_misc_set_padding (GTK_MISC (label36), 5, 0);
+
+  entCPU = gtk_entry_new ();
+  gtk_widget_show (entCPU);
+  gtk_box_pack_start (GTK_BOX (hbox25), entCPU, TRUE, TRUE, 0);
+
+  label35 = gtk_label_new (_("CPU usage"));
+  gtk_widget_show (label35);
+  gtk_frame_set_label_widget (GTK_FRAME (frame6), label35);
+
+  label27 = gtk_label_new (_("Load limitation"));
+  gtk_widget_show (label27);
+  gtk_frame_set_label_widget (GTK_FRAME (frame3), label27);
+
+  hbuttonbox4 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox4);
+  gtk_box_pack_start (GTK_BOX (vbox7), hbuttonbox4, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_END);
+
+  step3_back = gtk_button_new ();
+  gtk_widget_show (step3_back);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox4), step3_back);
+  GTK_WIDGET_SET_FLAGS (step3_back, GTK_CAN_DEFAULT);
+
+  alignment34 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment34);
+  gtk_container_add (GTK_CONTAINER (step3_back), alignment34);
+
+  hbox57 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox57);
+  gtk_container_add (GTK_CONTAINER (alignment34), hbox57);
+
+  image67 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image67);
+  gtk_box_pack_start (GTK_BOX (hbox57), image67, FALSE, FALSE, 0);
+
+  label88 = gtk_label_new_with_mnemonic (_("Back"));
+  gtk_widget_show (label88);
+  gtk_box_pack_start (GTK_BOX (hbox57), label88, FALSE, FALSE, 0);
+
+  step3_next = gtk_button_new ();
+  gtk_widget_show (step3_next);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox4), step3_next);
+  GTK_WIDGET_SET_FLAGS (step3_next, GTK_CAN_DEFAULT);
+
+  alignment35 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment35);
+  gtk_container_add (GTK_CONTAINER (step3_next), alignment35);
+
+  hbox58 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox58);
+  gtk_container_add (GTK_CONTAINER (alignment35), hbox58);
+
+  image68 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image68);
+  gtk_box_pack_start (GTK_BOX (hbox58), image68, FALSE, FALSE, 0);
+
+  label89 = gtk_label_new_with_mnemonic (_("Next"));
+  gtk_widget_show (label89);
+  gtk_box_pack_start (GTK_BOX (hbox58), label89, FALSE, FALSE, 0);
+
+  step3_abort = gtk_button_new ();
+  gtk_widget_show (step3_abort);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox4), step3_abort);
+  GTK_WIDGET_SET_FLAGS (step3_abort, GTK_CAN_DEFAULT);
+
+  alignment36 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment36);
+  gtk_container_add (GTK_CONTAINER (step3_abort), alignment36);
+
+  hbox59 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox59);
+  gtk_container_add (GTK_CONTAINER (alignment36), hbox59);
+
+  image69 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image69);
+  gtk_box_pack_start (GTK_BOX (hbox59), image69, FALSE, FALSE, 0);
+
+  label90 = gtk_label_new_with_mnemonic (_("Cancel"));
+  gtk_widget_show (label90);
+  gtk_box_pack_start (GTK_BOX (hbox59), label90, FALSE, FALSE, 0);
+
+  g_signal_connect ((gpointer) assi_step3, "destroy",
+                   G_CALLBACK (on_assi_destroy), NULL);
+  g_signal_connect ((gpointer) entUp, "changed",
+                   G_CALLBACK (on_entUp_changed), NULL);
+  g_signal_connect ((gpointer) entDown, "changed",
+                   G_CALLBACK (on_entDown_changed), NULL);
+  g_signal_connect ((gpointer) radGNUnet, "toggled",
+                   G_CALLBACK (on_radGNUnet_toggled), NULL);
+  g_signal_connect ((gpointer) radShare, "toggled",
+                   G_CALLBACK (on_radShare_toggled), NULL);
+  g_signal_connect ((gpointer) entCPU, "changed",
+                   G_CALLBACK (on_entCPU_changed), NULL);
+  g_signal_connect ((gpointer) step3_back, "clicked",
+                   G_CALLBACK (on_step3_back_clicked), NULL);
+  g_signal_connect ((gpointer) step3_next, "clicked",
+                   G_CALLBACK (on_step3_next_clicked), NULL);
+  g_signal_connect ((gpointer) step3_abort, "clicked",
+                   G_CALLBACK (on_abort_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (assi_step3, assi_step3, "assi_step3");
+  GLADE_HOOKUP_OBJECT (assi_step3, vbox7, "vbox7");
+  GLADE_HOOKUP_OBJECT (assi_step3, frame3, "frame3");
+  GLADE_HOOKUP_OBJECT (assi_step3, vbox8, "vbox8");
+  GLADE_HOOKUP_OBJECT (assi_step3, scrolledwindow6, "scrolledwindow6");
+  GLADE_HOOKUP_OBJECT (assi_step3, textview9, "textview9");
+  GLADE_HOOKUP_OBJECT (assi_step3, hseparator4, "hseparator4");
+  GLADE_HOOKUP_OBJECT (assi_step3, vbox9, "vbox9");
+  GLADE_HOOKUP_OBJECT (assi_step3, vbox10, "vbox10");
+  GLADE_HOOKUP_OBJECT (assi_step3, frame4, "frame4");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbox24, "hbox24");
+  GLADE_HOOKUP_OBJECT (assi_step3, table2, "table2");
+  GLADE_HOOKUP_OBJECT (assi_step3, label32, "label32");
+  GLADE_HOOKUP_OBJECT (assi_step3, entUp, "entUp");
+  GLADE_HOOKUP_OBJECT (assi_step3, label33, "label33");
+  GLADE_HOOKUP_OBJECT (assi_step3, entDown, "entDown");
+  GLADE_HOOKUP_OBJECT (assi_step3, label31, "label31");
+  GLADE_HOOKUP_OBJECT (assi_step3, frame5, "frame5");
+  GLADE_HOOKUP_OBJECT (assi_step3, vbox11, "vbox11");
+  GLADE_HOOKUP_OBJECT (assi_step3, radGNUnet, "radGNUnet");
+  GLADE_HOOKUP_OBJECT (assi_step3, radShare, "radShare");
+  GLADE_HOOKUP_OBJECT (assi_step3, label34, "label34");
+  GLADE_HOOKUP_OBJECT (assi_step3, frame6, "frame6");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbox25, "hbox25");
+  GLADE_HOOKUP_OBJECT (assi_step3, label36, "label36");
+  GLADE_HOOKUP_OBJECT (assi_step3, entCPU, "entCPU");
+  GLADE_HOOKUP_OBJECT (assi_step3, label35, "label35");
+  GLADE_HOOKUP_OBJECT (assi_step3, label27, "label27");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbuttonbox4, "hbuttonbox4");
+  GLADE_HOOKUP_OBJECT (assi_step3, step3_back, "step3_back");
+  GLADE_HOOKUP_OBJECT (assi_step3, alignment34, "alignment34");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbox57, "hbox57");
+  GLADE_HOOKUP_OBJECT (assi_step3, image67, "image67");
+  GLADE_HOOKUP_OBJECT (assi_step3, label88, "label88");
+  GLADE_HOOKUP_OBJECT (assi_step3, step3_next, "step3_next");
+  GLADE_HOOKUP_OBJECT (assi_step3, alignment35, "alignment35");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbox58, "hbox58");
+  GLADE_HOOKUP_OBJECT (assi_step3, image68, "image68");
+  GLADE_HOOKUP_OBJECT (assi_step3, label89, "label89");
+  GLADE_HOOKUP_OBJECT (assi_step3, step3_abort, "step3_abort");
+  GLADE_HOOKUP_OBJECT (assi_step3, alignment36, "alignment36");
+  GLADE_HOOKUP_OBJECT (assi_step3, hbox59, "hbox59");
+  GLADE_HOOKUP_OBJECT (assi_step3, image69, "image69");
+  GLADE_HOOKUP_OBJECT (assi_step3, label90, "label90");
+
+  return assi_step3;
+}
+
+GtkWidget *
+create_assi_step4 (void)
+{
+  GtkWidget *assi_step4;
+  GtkWidget *vbox12;
+  GtkWidget *frame7;
+  GtkWidget *vbox13;
+  GtkWidget *scrolledwindow7;
+  GtkWidget *textview10;
+  GtkWidget *hseparator5;
+  GtkWidget *vbox14;
+  GtkWidget *vbox15;
+  GtkWidget *chkMigr;
+  GtkWidget *hbox53;
+  GtkWidget *label84;
+  GtkWidget *entQuota;
+  GtkWidget *chkStart;
+  GtkWidget *chkEnh;
+  GtkWidget *label43;
+  GtkWidget *hbuttonbox5;
+  GtkWidget *step4_back;
+  GtkWidget *alignment37;
+  GtkWidget *hbox60;
+  GtkWidget *image70;
+  GtkWidget *label91;
+  GtkWidget *step4_next;
+  GtkWidget *alignment40;
+  GtkWidget *hbox63;
+  GtkWidget *image73;
+  GtkWidget *label94;
+  GtkWidget *step4_cancel;
+  GtkWidget *alignment39;
+  GtkWidget *hbox62;
+  GtkWidget *image72;
+  GtkWidget *label93;
+
+  assi_step4 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_set_size_request (assi_step4, 450, 350);
+  gtk_window_set_title (GTK_WINDOW (assi_step4),
+                       _("GNUnet configuration assistant"));
+  gtk_window_set_position (GTK_WINDOW (assi_step4), GTK_WIN_POS_CENTER);
+
+  vbox12 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox12);
+  gtk_container_add (GTK_CONTAINER (assi_step4), vbox12);
+
+  frame7 = gtk_frame_new (NULL);
+  gtk_widget_show (frame7);
+  gtk_box_pack_start (GTK_BOX (vbox12), frame7, TRUE, TRUE, 0);
+
+  vbox13 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox13);
+  gtk_container_add (GTK_CONTAINER (frame7), vbox13);
+
+  scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL);
+  gtk_widget_show (scrolledwindow7);
+  gtk_box_pack_start (GTK_BOX (vbox13), scrolledwindow7, TRUE, TRUE, 0);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7),
+                                 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+
+  textview10 = gtk_text_view_new ();
+  gtk_widget_show (textview10);
+  gtk_container_add (GTK_CONTAINER (scrolledwindow7), textview10);
+  gtk_text_view_set_editable (GTK_TEXT_VIEW (textview10), FALSE);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview10), GTK_WRAP_WORD);
+  gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview10), FALSE);
+  gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview10), 2);
+  gtk_text_buffer_set_text (gtk_text_view_get_buffer
+                           (GTK_TEXT_VIEW (textview10)),
+                           _
+                           ("GNUnet is able to store data from other peers in 
your datastore. This is useful if an adversary has access to your inserted 
content and you need to deny that the content is yours. With \"content 
migration\" on, the content could have \"migrated\" over the internet to your 
node without your knowledge.\nIt also helps to spread popular content over 
different peers to enhance availability.\n\nThe GNUnet datastore contains all 
data that GNUnet generates (index data, inserted and migrated content). Its 
maximum size can be specified below.\n\nIf you are an experienced user, you may 
want to tweak your GNUnet installation using the enhanced configurator."),
+                           -1);
+
+  hseparator5 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator5);
+  gtk_box_pack_start (GTK_BOX (vbox13), hseparator5, FALSE, TRUE, 0);
+
+  vbox14 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox14);
+  gtk_box_pack_start (GTK_BOX (vbox13), vbox14, TRUE, TRUE, 0);
+
+  vbox15 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox15);
+  gtk_box_pack_start (GTK_BOX (vbox14), vbox15, TRUE, TRUE, 0);
+
+  chkMigr = gtk_check_button_new_with_mnemonic (_("Store migrated content"));
+  gtk_widget_show (chkMigr);
+  gtk_box_pack_start (GTK_BOX (vbox15), chkMigr, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (chkMigr), 4);
+
+  hbox53 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox53);
+  gtk_box_pack_start (GTK_BOX (vbox15), hbox53, TRUE, TRUE, 0);
+
+  label84 = gtk_label_new (_("Maximum datastore size (MB):"));
+  gtk_widget_show (label84);
+  gtk_box_pack_start (GTK_BOX (hbox53), label84, FALSE, FALSE, 0);
+  gtk_misc_set_padding (GTK_MISC (label84), 8, 0);
+
+  entQuota = gtk_entry_new ();
+  gtk_widget_show (entQuota);
+  gtk_box_pack_start (GTK_BOX (hbox53), entQuota, TRUE, TRUE, 0);
+
+  chkStart =
+    gtk_check_button_new_with_mnemonic (_
+                                       ("Start the GNUnet background process 
on computer startup"));
+  gtk_widget_show (chkStart);
+  gtk_box_pack_start (GTK_BOX (vbox15), chkStart, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (chkStart), 4);
+  gtk_widget_set_sensitive (chkStart, FALSE);
+
+  chkEnh =
+    gtk_check_button_new_with_mnemonic (_("Open the enhanced configurator"));
+  gtk_widget_show (chkEnh);
+  gtk_box_pack_start (GTK_BOX (vbox15), chkEnh, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (chkEnh), 5);
+
+  label43 = gtk_label_new (_("Other settings"));
+  gtk_widget_show (label43);
+  gtk_frame_set_label_widget (GTK_FRAME (frame7), label43);
+
+  hbuttonbox5 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox5);
+  gtk_box_pack_start (GTK_BOX (vbox12), hbuttonbox5, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox5), GTK_BUTTONBOX_END);
+
+  step4_back = gtk_button_new ();
+  gtk_widget_show (step4_back);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox5), step4_back);
+  GTK_WIDGET_SET_FLAGS (step4_back, GTK_CAN_DEFAULT);
+
+  alignment37 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment37);
+  gtk_container_add (GTK_CONTAINER (step4_back), alignment37);
+
+  hbox60 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox60);
+  gtk_container_add (GTK_CONTAINER (alignment37), hbox60);
+
+  image70 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image70);
+  gtk_box_pack_start (GTK_BOX (hbox60), image70, FALSE, FALSE, 0);
+
+  label91 = gtk_label_new_with_mnemonic (_("Back"));
+  gtk_widget_show (label91);
+  gtk_box_pack_start (GTK_BOX (hbox60), label91, FALSE, FALSE, 0);
+
+  step4_next = gtk_button_new ();
+  gtk_widget_show (step4_next);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox5), step4_next);
+  GTK_WIDGET_SET_FLAGS (step4_next, GTK_CAN_DEFAULT);
+
+  alignment40 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment40);
+  gtk_container_add (GTK_CONTAINER (step4_next), alignment40);
+
+  hbox63 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox63);
+  gtk_container_add (GTK_CONTAINER (alignment40), hbox63);
+
+  image73 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image73);
+  gtk_box_pack_start (GTK_BOX (hbox63), image73, FALSE, FALSE, 0);
+
+  label94 = gtk_label_new_with_mnemonic (_("Finish"));
+  gtk_widget_show (label94);
+  gtk_box_pack_start (GTK_BOX (hbox63), label94, FALSE, FALSE, 0);
+
+  step4_cancel = gtk_button_new ();
+  gtk_widget_show (step4_cancel);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox5), step4_cancel);
+  GTK_WIDGET_SET_FLAGS (step4_cancel, GTK_CAN_DEFAULT);
+
+  alignment39 = gtk_alignment_new (0.5, 0.5, 0, 0);
+  gtk_widget_show (alignment39);
+  gtk_container_add (GTK_CONTAINER (step4_cancel), alignment39);
+
+  hbox62 = gtk_hbox_new (FALSE, 2);
+  gtk_widget_show (hbox62);
+  gtk_container_add (GTK_CONTAINER (alignment39), hbox62);
+
+  image72 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image72);
+  gtk_box_pack_start (GTK_BOX (hbox62), image72, FALSE, FALSE, 0);
+
+  label93 = gtk_label_new_with_mnemonic (_("Cancel"));
+  gtk_widget_show (label93);
+  gtk_box_pack_start (GTK_BOX (hbox62), label93, FALSE, FALSE, 0);
+
+  g_signal_connect ((gpointer) assi_step4, "destroy",
+                   G_CALLBACK (on_assi_destroy), NULL);
+  g_signal_connect ((gpointer) chkMigr, "toggled",
+                   G_CALLBACK (on_chkMigr_toggled), NULL);
+  g_signal_connect ((gpointer) entQuota, "changed",
+                   G_CALLBACK (on_entQuota_changed), NULL);
+  g_signal_connect ((gpointer) chkStart, "toggled",
+                   G_CALLBACK (on_chkStart_toggled), NULL);
+  g_signal_connect ((gpointer) chkEnh, "toggled",
+                   G_CALLBACK (on_chkEnh_toggled), NULL);
+  g_signal_connect ((gpointer) step4_back, "clicked",
+                   G_CALLBACK (on_step4_back_clicked), NULL);
+  g_signal_connect ((gpointer) step4_next, "clicked",
+                   G_CALLBACK (on_finish_clicked), NULL);
+  g_signal_connect ((gpointer) step4_cancel, "clicked",
+                   G_CALLBACK (on_abort_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (assi_step4, assi_step4, "assi_step4");
+  GLADE_HOOKUP_OBJECT (assi_step4, vbox12, "vbox12");
+  GLADE_HOOKUP_OBJECT (assi_step4, frame7, "frame7");
+  GLADE_HOOKUP_OBJECT (assi_step4, vbox13, "vbox13");
+  GLADE_HOOKUP_OBJECT (assi_step4, scrolledwindow7, "scrolledwindow7");
+  GLADE_HOOKUP_OBJECT (assi_step4, textview10, "textview10");
+  GLADE_HOOKUP_OBJECT (assi_step4, hseparator5, "hseparator5");
+  GLADE_HOOKUP_OBJECT (assi_step4, vbox14, "vbox14");
+  GLADE_HOOKUP_OBJECT (assi_step4, vbox15, "vbox15");
+  GLADE_HOOKUP_OBJECT (assi_step4, chkMigr, "chkMigr");
+  GLADE_HOOKUP_OBJECT (assi_step4, hbox53, "hbox53");
+  GLADE_HOOKUP_OBJECT (assi_step4, label84, "label84");
+  GLADE_HOOKUP_OBJECT (assi_step4, entQuota, "entQuota");
+  GLADE_HOOKUP_OBJECT (assi_step4, chkStart, "chkStart");
+  GLADE_HOOKUP_OBJECT (assi_step4, chkEnh, "chkEnh");
+  GLADE_HOOKUP_OBJECT (assi_step4, label43, "label43");
+  GLADE_HOOKUP_OBJECT (assi_step4, hbuttonbox5, "hbuttonbox5");
+  GLADE_HOOKUP_OBJECT (assi_step4, step4_back, "step4_back");
+  GLADE_HOOKUP_OBJECT (assi_step4, alignment37, "alignment37");
+  GLADE_HOOKUP_OBJECT (assi_step4, hbox60, "hbox60");
+  GLADE_HOOKUP_OBJECT (assi_step4, image70, "image70");
+  GLADE_HOOKUP_OBJECT (assi_step4, label91, "label91");
+  GLADE_HOOKUP_OBJECT (assi_step4, step4_next, "step4_next");
+  GLADE_HOOKUP_OBJECT (assi_step4, alignment40, "alignment40");
+  GLADE_HOOKUP_OBJECT (assi_step4, hbox63, "hbox63");
+  GLADE_HOOKUP_OBJECT (assi_step4, image73, "image73");
+  GLADE_HOOKUP_OBJECT (assi_step4, label94, "label94");
+  GLADE_HOOKUP_OBJECT (assi_step4, step4_cancel, "step4_cancel");
+  GLADE_HOOKUP_OBJECT (assi_step4, alignment39, "alignment39");
+  GLADE_HOOKUP_OBJECT (assi_step4, hbox62, "hbox62");
+  GLADE_HOOKUP_OBJECT (assi_step4, image72, "image72");
+  GLADE_HOOKUP_OBJECT (assi_step4, label93, "label93");
+
+  return assi_step4;
+}
+
+GtkWidget *
+create_msgSave (void)
+{
+  GtkWidget *msgSave;
+  GtkWidget *vbox16;
+  GtkWidget *hbox65;
+  GtkWidget *image75;
+  GtkWidget *label96;
+  GtkWidget *hseparator1;
+  GtkWidget *hbuttonbox6;
+  GtkWidget *saveYes;
+  GtkWidget *saveNo;
+
+  msgSave = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (msgSave), _("Question"));
+  gtk_window_set_position (GTK_WINDOW (msgSave), GTK_WIN_POS_CENTER);
+
+  vbox16 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox16);
+  gtk_container_add (GTK_CONTAINER (msgSave), vbox16);
+
+  hbox65 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox65);
+  gtk_box_pack_start (GTK_BOX (vbox16), hbox65, TRUE, TRUE, 0);
+
+  image75 =
+    gtk_image_new_from_stock ("gtk-dialog-question", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image75);
+  gtk_box_pack_start (GTK_BOX (hbox65), image75, FALSE, TRUE, 15);
+  gtk_misc_set_padding (GTK_MISC (image75), 0, 15);
+
+  label96 = gtk_label_new (_("Do you want to save your settings?"));
+  gtk_widget_show (label96);
+  gtk_box_pack_start (GTK_BOX (hbox65), label96, FALSE, FALSE, 5);
+  gtk_label_set_line_wrap (GTK_LABEL (label96), TRUE);
+  gtk_misc_set_padding (GTK_MISC (label96), 0, 15);
+
+  hseparator1 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator1);
+  gtk_box_pack_start (GTK_BOX (vbox16), hseparator1, FALSE, TRUE, 0);
+
+  hbuttonbox6 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox6);
+  gtk_box_pack_start (GTK_BOX (vbox16), hbuttonbox6, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox6), GTK_BUTTONBOX_END);
+
+  saveYes = gtk_button_new_with_mnemonic (_("Yes"));
+  gtk_widget_show (saveYes);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox6), saveYes);
+  GTK_WIDGET_SET_FLAGS (saveYes, GTK_CAN_DEFAULT);
+
+  saveNo = gtk_button_new_with_mnemonic (_("No"));
+  gtk_widget_show (saveNo);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox6), saveNo);
+  GTK_WIDGET_SET_FLAGS (saveNo, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) saveYes, "clicked",
+                   G_CALLBACK (on_saveYes_clicked), NULL);
+  g_signal_connect ((gpointer) saveNo, "clicked",
+                   G_CALLBACK (on_saveNo_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (msgSave, msgSave, "msgSave");
+  GLADE_HOOKUP_OBJECT (msgSave, vbox16, "vbox16");
+  GLADE_HOOKUP_OBJECT (msgSave, hbox65, "hbox65");
+  GLADE_HOOKUP_OBJECT (msgSave, image75, "image75");
+  GLADE_HOOKUP_OBJECT (msgSave, label96, "label96");
+  GLADE_HOOKUP_OBJECT (msgSave, hseparator1, "hseparator1");
+  GLADE_HOOKUP_OBJECT (msgSave, hbuttonbox6, "hbuttonbox6");
+  GLADE_HOOKUP_OBJECT (msgSave, saveYes, "saveYes");
+  GLADE_HOOKUP_OBJECT (msgSave, saveNo, "saveNo");
+
+  return msgSave;
+}
+
+GtkWidget *
+create_msgSaveFailed (void)
+{
+  GtkWidget *msgSaveFailed;
+  GtkWidget *vbox17;
+  GtkWidget *hbox67;
+  GtkWidget *image77;
+  GtkWidget *label98;
+  GtkWidget *hseparator6;
+  GtkWidget *hbuttonbox7;
+  GtkWidget *button1;
+
+  msgSaveFailed = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (msgSaveFailed), _("Error"));
+  gtk_window_set_position (GTK_WINDOW (msgSaveFailed), GTK_WIN_POS_CENTER);
+
+  vbox17 = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (vbox17);
+  gtk_container_add (GTK_CONTAINER (msgSaveFailed), vbox17);
+
+  hbox67 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox67);
+  gtk_box_pack_start (GTK_BOX (vbox17), hbox67, TRUE, TRUE, 0);
+
+  image77 =
+    gtk_image_new_from_stock ("gtk-dialog-error", GTK_ICON_SIZE_BUTTON);
+  gtk_widget_show (image77);
+  gtk_box_pack_start (GTK_BOX (hbox67), image77, FALSE, TRUE, 15);
+  gtk_misc_set_padding (GTK_MISC (image77), 0, 15);
+
+  label98 = gtk_label_new (_("Unable to save configuration!"));
+  gtk_widget_show (label98);
+  gtk_box_pack_start (GTK_BOX (hbox67), label98, FALSE, FALSE, 5);
+  gtk_label_set_line_wrap (GTK_LABEL (label98), TRUE);
+  gtk_misc_set_padding (GTK_MISC (label98), 0, 15);
+
+  hseparator6 = gtk_hseparator_new ();
+  gtk_widget_show (hseparator6);
+  gtk_box_pack_start (GTK_BOX (vbox17), hseparator6, FALSE, TRUE, 0);
+
+  hbuttonbox7 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox7);
+  gtk_box_pack_start (GTK_BOX (vbox17), hbuttonbox7, FALSE, TRUE, 0);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox7), GTK_BUTTONBOX_END);
+
+  button1 = gtk_button_new_with_mnemonic (_("OK"));
+  gtk_widget_show (button1);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox7), button1);
+  GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) button1, "clicked",
+                   G_CALLBACK (on_saveFailedOK_clicked), NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (msgSaveFailed, msgSaveFailed, "msgSaveFailed");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, vbox17, "vbox17");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, hbox67, "hbox67");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, image77, "image77");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, label98, "label98");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, hseparator6, "hseparator6");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, hbuttonbox7, "hbuttonbox7");
+  GLADE_HOOKUP_OBJECT (msgSaveFailed, button1, "button1");
+
+  return msgSaveFailed;
+}

Added: GNUnet/src/conf/wizard_interface.h
===================================================================
--- GNUnet/src/conf/wizard_interface.h  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard_interface.h  2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,10 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+GtkWidget *create_assi_step1 (void);
+GtkWidget *create_assi_step2 (void);
+GtkWidget *create_assi_step3 (void);
+GtkWidget *create_assi_step4 (void);
+GtkWidget *create_msgSave (void);
+GtkWidget *create_msgSaveFailed (void);


Property changes on: GNUnet/src/conf/wizard_interface.h
___________________________________________________________________
Name: svn:eol-style
   + LF

Added: GNUnet/src/conf/wizard_support.h
===================================================================
--- GNUnet/src/conf/wizard_support.h    2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/conf/wizard_support.h    2005-04-16 21:18:04 UTC (rev 653)
@@ -0,0 +1,41 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+
+/*
+ * Public Functions.
+ */
+
+/*
+ * This function returns a widget in a component created by Glade.
+ * Call it with the toplevel widget in the component (i.e. a window/dialog),
+ * or alternatively any widget in the component, and the name of the widget
+ * you want returned.
+ */
+GtkWidget *lookup_widget (GtkWidget * widget, const gchar * widget_name);
+
+
+/* Use this function to set the directory containing installed pixmaps. */
+void add_pixmap_directory (const gchar * directory);
+
+
+/*
+ * Private Functions.
+ */
+
+/* This is used to create the pixmaps used in the interface. */
+GtkWidget *create_pixmap (GtkWidget * widget, const gchar * filename);
+
+/* This is used to create the pixbufs used in the interface. */
+GdkPixbuf *create_pixbuf (const gchar * filename);
+
+/* This is used to set ATK action descriptions. */
+void glade_set_atk_action_description (AtkAction * action,
+                                      const gchar * action_name,
+                                      const gchar * description);


Property changes on: GNUnet/src/conf/wizard_support.h
___________________________________________________________________
Name: svn:eol-style
   + LF

Modified: GNUnet/src/include/winproc.h
===================================================================
--- GNUnet/src/include/winproc.h        2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/include/winproc.h        2005-04-16 21:18:04 UTC (rev 653)
@@ -347,7 +347,9 @@
 typedef SC_HANDLE WINAPI (*TOpenService) (SC_HANDLE hSCManager, LPCTSTR 
lpServiceName,
                           DWORD dwDesiredAccess);
 typedef DWORD WINAPI (*TGetBestInterface) (IPAddr dwDestAddr, PDWORD 
pdwBestIfIndex);
+typedef DWORD WINAPI (*TGetAdaptersInfo) (PIP_ADAPTER_INFO pAdapterInfo, 
PULONG pOutBufLen);
 
+
 #define SetErrnoFromWinError(e) _SetErrnoFromWinError(e, __FILE__, __LINE__)
 
 extern TNtQuerySystemInformation GNNtQuerySystemInformation;
@@ -365,9 +367,13 @@
 extern TControlService GNControlService;
 extern TOpenService GNOpenService;
 extern TGetBestInterface GNGetBestInterface;
+extern TGetAdaptersInfo GGetAdaptersInfo;
 
 BOOL CreateShortcut(const char *pszSrc, const char *pszDest);
 BOOL DereferenceShortcut(char *pszShortcut);
+long QueryRegistry(HKEY hMainKey, char *pszKey, char *pszSubKey,
+              char *pszBuffer, long *pdLength);
+int ListNICs(void (*callback) (char *, int));
 
 BOOL __win_IsHandleMarkedAsBlocking(SOCKET hHandle);
 void __win_SetHandleBlockingMode(SOCKET s, BOOL bBlocking);

Modified: GNUnet/src/util/win/win.cc
===================================================================
--- GNUnet/src/util/win/win.cc  2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/util/win/win.cc  2005-04-16 21:18:04 UTC (rev 653)
@@ -307,9 +307,10 @@
 
 /**
  * Lists all network interfaces in a combo box
- * Used by the Windows installer
+ * Used by the basic GTK configurator
+ * @param callback
  */
-int PopulateNICCombo(HWND hCombo)
+int ListNICs(void (*callback) (char *, int))
 {
   PMIB_IFTABLE pTable;
   PMIB_IPADDRTABLE pAddrTable;
@@ -334,6 +335,10 @@
       char szEntry[1001];
       DWORD dwIP = 0;
       int iItm;
+                       PIP_ADAPTER_INFO pAdapterInfo;
+                       PIP_ADAPTER_INFO pAdapter = NULL;
+                       DWORD dwRetVal = 0;
+      
       /* Get IP-Address */
       int i;
       for(i = 0; i < pAddrTable->dwNumEntries; i++)
@@ -344,32 +349,63 @@
           break;
         }
       }
-      
+
       if (dwIP)
       {
         BYTE bPhysAddr[MAXLEN_PHYSADDR];
-  
+                         char *pszIfName = NULL;
+     
+             /* Get friendly interface name */
+                               pAdapterInfo = (IP_ADAPTER_INFO *) 
malloc(sizeof(IP_ADAPTER_INFO));
+                               ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
+                               
+                               /* Make an initial call to GetAdaptersInfo to 
get
+                                  the necessary size into the ulOutBufLen 
variable */
+                               if (GGetAdaptersInfo(pAdapterInfo, 
&ulOutBufLen) == ERROR_BUFFER_OVERFLOW) {
+                                 free(pAdapterInfo);
+                                 pAdapterInfo = (IP_ADAPTER_INFO *) malloc 
(ulOutBufLen); 
+                               }
+                               
+                               if ((dwRetVal = GGetAdaptersInfo( pAdapterInfo, 
&ulOutBufLen)) == NO_ERROR) {
+                                 pAdapter = pAdapterInfo;
+                                 while (pAdapter) {
+                                       if (pTable->table[dwIfIdx].dwIndex == 
pAdapter->Index)
+                                       {
+                                               char szKey[251];
+                                               long lLen = 250;
+                                               
+                                               sprintf(szKey, 
"SYSTEM\\CurrentControlSet\\Control\\Network\\"
+                                                       
"{4D36E972-E325-11CE-BFC1-08002BE10318}\\%s\\Connection",
+                                                       pAdapter->AdapterName);
+                                               pszIfName = (char *) 
malloc(251);
+                                               if 
(QueryRegistry(HKEY_LOCAL_MACHINE, szKey, "Name", pszIfName,
+                                                       &lLen) != ERROR_SUCCESS)
+                                               {
+                                                       free(pszIfName);
+                                                       pszIfName = NULL;
+                                               }
+                                       }
+                                   pAdapter = pAdapter->Next;
+                                 }
+                               }
+                               free(pAdapterInfo);
+
+                               /* Set entry */
         memset(bPhysAddr, 0, MAXLEN_PHYSADDR);
         memcpy(bPhysAddr,
           pTable->table[dwIfIdx].bPhysAddr,
           pTable->table[dwIfIdx].dwPhysAddrLen);
           
-        snprintf(szEntry, 1000, "%d.%d.%d.%d - %s - %I64u",
+        snprintf(szEntry, 1000, "%s (%d.%d.%d.%d - %I64u)",
+          pszIfName ? pszIfName : (char *) pTable->table[dwIfIdx].bDescr,
           PRIP(ntohl(dwIP)),
-          pTable->table[dwIfIdx].bDescr, *((unsigned long long *) bPhysAddr));
+          *((unsigned long long *) bPhysAddr));
         szEntry[1000] = 0;
-          
-        iItm = SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szEntry);
-        if (iItm == -1)        
-        {
-          GlobalFree(pAddrTable);
-          GlobalFree(pTable);
-
-          return NO;
-        }
-          
-        if (pAddrTable->table[dwIfIdx].dwIndex == dwExternalNIC)
-          SendMessage(hCombo, CB_SETCURSEL, iItm, 0);
+        
+        if (pszIfName)
+                       free(pszIfName);
+        
+        callback(szEntry, pAddrTable->table[dwIfIdx].dwIndex == dwExternalNIC);
       }
     }
     GlobalFree(pAddrTable);

Modified: GNUnet/src/util/win/winproc.c
===================================================================
--- GNUnet/src/util/win/winproc.c       2005-04-14 09:37:29 UTC (rev 652)
+++ GNUnet/src/util/win/winproc.c       2005-04-16 21:18:04 UTC (rev 653)
@@ -75,6 +75,7 @@
 TControlService GNControlService;
 TOpenService GNOpenService;
 TGetBestInterface GNGetBestInterface;
+TGetAdaptersInfo GGetAdaptersInfo;
 
 BOOL __win_IsHandleMarkedAsBlocking(SOCKET hHandle)
 {
@@ -593,6 +594,8 @@
     GNGetIfTable = (TGetIfTable) GetProcAddress(hIphlpapi, "GetIfTable");
     GNGetBestInterface = (TGetBestInterface) GetProcAddress(hIphlpapi,
       "GetBestInterface");
+    GGetAdaptersInfo = (TGetAdaptersInfo) GetProcAddress(hIphlpapi,
+       "GetAdaptersInfo");
   }
   else
   {
@@ -600,6 +603,7 @@
     GNGetIpAddrTable = NULL;
     GNGetIfTable = NULL;
     GNGetBestInterface = NULL;
+    GGetAdaptersInfo = NULL;
   }
 
   /* Service functions */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]