← Back to team overview

gufw-developers team mailing list archive

[Merge] lp:~jbicha/gui-ufw/port-to-gtk3 into lp:gui-ufw

 

Jeremy Bicha has proposed merging lp:~jbicha/gui-ufw/port-to-gtk3 into lp:gui-ufw.

Requested reviews:
  Gufw Developers (gufw-developers)

For more details, see:
https://code.launchpad.net/~jbicha/gui-ufw/port-to-gtk3/+merge/70661
-- 
https://code.launchpad.net/~jbicha/gui-ufw/port-to-gtk3/+merge/70661
Your team Gufw Developers is requested to review the proposed merge of lp:~jbicha/gui-ufw/port-to-gtk3 into lp:gui-ufw.
=== renamed file 'doc/licence' => 'COPYING.GPL3' (properties changed: +x to -x)
=== renamed file 'doc/installation' => 'INSTALL' (properties changed: +x to -x)
--- doc/installation	2011-05-07 18:17:14 +0000
+++ INSTALL	2011-08-07 02:49:29 +0000
@@ -1,18 +1,25 @@
-Installation - Version 11.10.0
 © 2008-2011 Marcos Alvarez Costales
 -----------------------------------
-Please, you must be sure that ufw is install for using this program.
-
-FROM UBUNTU REPOSITORIES
+
+DEPENDENCIES
+-----------------
+ufw
+gir1.2-gtk-3.0
+notify-osd or notification-daemon
+policykit-1
+python-dbus
+python-gobject
+python-distutils-extra
+
+FROM DEBIAN OR UBUNTU REPOSITORIES
 -----------------
 INSTALL > sudo apt-get install gufw
 REMOVE  > sudo apt-get purge gufw
-You will have got an item in the Gnome menu /System/Administration as "Firewall configuration".
-Note: If you have got Gufw installed, better uninstall before install ;)
-
-
-FOR OTHERS DISTROS
+You can run the program by looking for Firewall Configuartion in your application menu.
+
+
+FOR OTHER DISTROS
 ------------------
 Get code from https://code.launchpad.net/gui-ufw
-INSTALL > sudo python setup.py install
-If you have any problem for adapt Gufw in anothers distros, please, contact me and I'll try help you :) https://launchpad.net/~costales
+Then run > sudo python setup.py install --prefix=/usr
+If you have any problems adapting Gufw in other distros, please contact me and I'll try to help you :) https://launchpad.net/~costales

=== renamed file 'doc/changelog' => 'NEWS' (properties changed: +x to -x)
--- doc/changelog	2011-05-25 18:15:20 +0000
+++ NEWS	2011-08-07 02:49:29 +0000
@@ -1,34 +1,67 @@
-gufw - version 11.10
 © 2008-2011 Marcos Alvarez Costales
-Licence GPL 3 or (at your option) any later version.
-
-What is it?
-===========
-A graphic user interface for ufw.
-
-What's changed in 11.10?
-========================
-Update translations.
+
+11.10.1
+=======
+* Ported to PyGObject and GTK3
+* Removed some deprecated UI code
+* Renamed doc/ files to traditional Unix names and moved to top-level directory
+* Simplified setup script, requires python-distutils-extra
+  https://launchpad.net/python-distutils-extra
+
+11.10.0
+=======
+Updated translations
 Fixed bug #776518 - CUPS port use TCP&UDP
 Fixed bug #729814
 Added Reload Rules menu
 Complete text in rules are translated
 
-Where can I get it?
-===================
-You can get it here!
-- http://gufw.tuxfamily.org
-- Repository Ubuntu.
-You must use Gufw 11.10 in Ubuntu 11.10
-
-What does it look like?
-=======================
-Take a look here!
-http://gufw.tuxfamily.org/screenshots.html
-
-Where can i find out more?
-==========================
-You can visit the project web site:
-http://gufw.tuxfamily.org/
-
-
+11.04.2
+=======
+Translated Policykit message.
+Updated translations.
+Added "Report a Problem..." menu.
+Fixed Bug #688601 (File conflict in mo files and license issue).
+
+11.04.1
+=======
+Fixed main menus for Global Menu in Unity.
+Fixed vulnerability in 11.04.0 for read FW status without policykit.
+Add also UDP ports for qBitTorrent & Deluge.
+Add port 2240tcp for Nicotine. Nicotine has 2º server some times.
+Add Skype with port 443 tcp http://www.skype.com/intl/en-us/support/user-guides/firewalls/technical/
+
+11.04.0
+=======
+Migrate libglade to gtk.builder
+PolicyKit.
+New popup notifications.
+Rebuild glade files > 20% faster & better in high contrast themes.
+New Help menus: Documentation + Answers + Translation.
+Updated translations.
+Redimensionable Rules/Listening panels.
+StatusBar messages hidden in seconds.
+Changed service zeroconf > CUPS (More useful).
+Tooltip for each service.
+Expand rules columns.
+Rules text using 'ubuntu' font.
+
+10.10
+=====
+New feature: New Listening connections (Monitor)
+Updated translations.
+
+10.04
+=====
+Add policy to incoming & outgoing traffic.
+Logs can be exported for servers.
+Fixed various visual glitches.
+Command Remove rule by number.
+Insert rule in row.
+Set log or log-all for one rule.
+Fixed bug #459554: Remove LANGUAGE=C in log server of Gufw.
+Fixed bug #521787: Changed by .deb package. 
+Fixed ports of qBittorrent
+Fixed bug #381705
+Sort Services & Programs by name
+Updated su-to-root command

=== renamed file 'doc/readme' => 'README' (properties changed: +x to -x)
--- doc/readme	2011-05-07 18:17:14 +0000
+++ README	2011-08-07 02:49:29 +0000
@@ -1,30 +1,35 @@
-Gufw - version 11.10.0
+Gufw - version 11.10.1
 © 2008-2011 Marcos Alvarez Costales
 ---------------------
+
+
+What is it?
+===========
+A graphical user interface for Ubuntu's Uncomplicated Firewall.
+
+
+How do I install it?
+====================
+Read the INSTALL file
+
+
+What does it look like?
+=======================
+Take a look here!
+http://gufw.tuxfamily.org/screenshots.html
+
+
+Where can i find out more?
+==========================
+You can visit the project web site:
 http://gufw.tuxfamily.org/
 
 
-
-What's in a name?
------------------
-gufw is a GUI (Graphic User Interface) for ufw (Uncomplicated FireWall)
-
-
-
-
-Execute/Install
----------------
-Read "installation" file.
-
-
-
-Gufw Licence
-------------
-Licence GPL 3 or (at your option) any later version.
-
+License
+=======
 Gufw is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public Licence as published
-by the Free Software Foundation; either version 3 of the Licence,
+by the Free Software Foundation; either version 3 of the License,
 or (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
@@ -36,12 +41,8 @@
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-
-
-Pictures used
--------------
-myke (http://michael.spiegel1.at/) 
-Shield icon under the CC_BY license (http://www.gimpusers.com/tutorials/create-a-shield-symbol.html)
-http://creativecommons.org/licenses/by/3.0/at/
-
-All modified pictures are licenced by the same creative commons as original.
+Logo
+====
+Shield logo created by myke (http://michael.spiegel1.at/)
+Tutorial: http://www.gimpusers.com/tutorials/create-a-shield-symbol.html
+Licensed under CC BY 3.0 http://creativecommons.org/licenses/by/3.0/at/

=== renamed file 'doc/todo' => 'TODO' (properties changed: +x to -x)
=== added directory 'data/icons'
=== added directory 'data/icons/48x48'
=== added directory 'data/icons/48x48/apps'
=== renamed file 'data/media/gufw.png' => 'data/icons/48x48/apps/gufw.png' (properties changed: +x to -x)
=== modified file 'data/media/allow_allow.png' (properties changed: +x to -x)
=== modified file 'data/media/allow_deny.png' (properties changed: +x to -x)
=== modified file 'data/media/allow_disable.png' (properties changed: +x to -x)
=== modified file 'data/media/allow_reject.png' (properties changed: +x to -x)
=== modified file 'data/media/deny_allow.png' (properties changed: +x to -x)
=== modified file 'data/media/deny_deny.png' (properties changed: +x to -x)
=== modified file 'data/media/deny_disable.png' (properties changed: +x to -x)
=== modified file 'data/media/deny_reject.png' (properties changed: +x to -x)
=== modified file 'data/media/disable_allow.png' (properties changed: +x to -x)
=== modified file 'data/media/disable_deny.png' (properties changed: +x to -x)
=== modified file 'data/media/disable_disable.png' (properties changed: +x to -x)
=== modified file 'data/media/disable_reject.png' (properties changed: +x to -x)
=== modified file 'data/media/reject_allow.png' (properties changed: +x to -x)
=== modified file 'data/media/reject_deny.png' (properties changed: +x to -x)
=== modified file 'data/media/reject_disable.png' (properties changed: +x to -x)
=== modified file 'data/media/reject_reject.png' (properties changed: +x to -x)
=== modified file 'data/media/source.xcf' (properties changed: +x to -x)
=== removed file 'data/ui/about.ui'
--- data/ui/about.ui	2011-05-07 18:17:14 +0000
+++ data/ui/about.ui	1970-01-01 00:00:00 +0000
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkAboutDialog" id="winAbout">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
-    <property name="title" translatable="yes">Firewall: About</property>
-    <property name="resizable">False</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="icon">/usr/share/icons/hicolor/48x48/apps/gufw.png</property>
-    <property name="type_hint">normal</property>
-    <property name="program_name">Gufw</property>
-    <property name="version">11.10.0</property>
-    <property name="copyright" translatable="yes">© 2008-2011 The Gufw project</property>
-    <property name="comments" translatable="yes">Graphic user interface for ufw</property>
-    <property name="website">http://gufw.tuxfamily.org</property>
-    <property name="website_label">http://gufw.tuxfamily.org</property>
-    <property name="license">Gufw 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 3
-of the License, or (at your option) any later version.
-
-Gufw 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 Gufw; if not, see for more information:
-http://www.gnu.org/licenses</property>
-    <property name="authors">Lead developer:
-Marcos Alvarez Costales https://launchpad.net/~costales
-
-Developers:
-David Planella https://launchpad.net/~dpm
-Emilio López https://launchpad.net/~turl
-Raúl Soriano https://launchpad.net/~gatoloko
-Rogério Vicente https://launchpad.net/~rogeriopvl
-Rubén Megido https://launchpad.net/~runoo
-Vadim Peretokin https://launchpad.net/~vperetokin
-
-Contributors:
-Cedrick Hannier https://launchpad.net/~cedynamix
-
-MOTU
-Devid Antonio Filoni https://launchpad.net/~d.filoni</property>
-    <property name="translator_credits" translatable="yes">translator-credits</property>
-    <property name="artists">myke (http://michael.spiegel1.at/) 
-Shield icon under the CC_BY license
-http://www.gimpusers.com/tutorials/create-a-shield-symbol.html
-
-http://creativecommons.org/licenses/by/3.0/at/
-All modified pictures are licenced by the same
-creative commons as original.</property>
-    <property name="logo">../media/reject_reject.png</property>
-    <signal name="delete-event" handler="on_winAbout_delete_event" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <placeholder/>
-        </child>
-      </object>
-    </child>
-  </object>
-</interface>

=== modified file 'data/ui/add.ui' (properties changed: +x to -x)
--- data/ui/add.ui	2011-05-04 19:09:06 +0000
+++ data/ui/add.ui	2011-08-07 02:49:29 +0000
@@ -1,314 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">999</property>
-    <property name="step_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment2">
-    <property name="upper">999</property>
-    <property name="step_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment3">
-    <property name="upper">999</property>
-    <property name="step_increment">1</property>
-  </object>
-  <object class="GtkListStore" id="modelPreconfAction">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Allow</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Deny</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Reject</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Limit</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelSimpleProto">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">TCP</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">UDP</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Both</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelAdvancedAction">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Allow</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Deny</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Reject</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Limit</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelAdvancedDirection">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">In</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Out</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelAdvancedLog">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">No log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log all</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelAdvancedProto">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">TCP</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">UDP</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Both</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelPreconfDirection">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">In</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Out</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelPreconfLog">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">No log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log all</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelPreconfType">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Application</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Service</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelPreconfProgram">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0">Amule</col>
-      </row>
-      <row>
-        <col id="0">Deluge</col>
-      </row>
-      <row>
-        <col id="0">KTorrent</col>
-      </row>
-      <row>
-        <col id="0">Nicotine</col>
-      </row>
-      <row>
-        <col id="0">qBittorrent</col>
-      </row>
-      <row>
-        <col id="0">Skype</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Transmission</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelPreconfServices">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0">FTP</col>
-      </row>
-      <row>
-        <col id="0">HTTP</col>
-      </row>
-      <row>
-        <col id="0">IMAP</col>
-      </row>
-      <row>
-        <col id="0">NFS</col>
-      </row>
-      <row>
-        <col id="0">POP3</col>
-      </row>
-      <row>
-        <col id="0">Samba</col>
-      </row>
-      <row>
-        <col id="0">SMTP</col>
-      </row>
-      <row>
-        <col id="0">SSH</col>
-      </row>
-      <row>
-        <col id="0">VNC</col>
-      </row>
-      <row>
-        <col id="0">CUPS</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelSimpleAction">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Allow</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Deny</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Reject</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Limit</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelSimpleDirection">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">In</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Out</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkListStore" id="modelSimpleLog">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">No log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log all</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkWindow" id="winAdd">
-    <property name="border_width">9</property>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="dlgAdd">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
     <property name="title" translatable="yes">Firewall: Add Rule</property>
     <property name="resizable">False</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="icon">/usr/share/icons/hicolor/48x48/apps/gufw.png</property>
     <property name="type_hint">dialog</property>
-    <signal name="key_press_event" handler="on_winAdd_key_press_event"/>
-    <signal name="delete_event" handler="on_winAdd_delete_event"/>
-    <child>
-      <object class="GtkTable" id="table6">
-        <property name="visible">True</property>
-        <property name="n_rows">2</property>
-        <property name="row_spacing">6</property>
-        <child>
-          <object class="GtkHBox" id="hbox8">
-            <property name="visible">True</property>
-            <property name="border_width">3</property>
+    <signal name="key-press-event" handler="on_dlgAdd_key_press_event" swapped="no"/>
+    <signal name="delete-event" handler="on_dlgAdd_delete_event" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
             <child>
               <object class="GtkCheckButton" id="cbExtendedActions">
                 <property name="label" translatable="yes">Show extended actions</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="xalign">0</property>
                 <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="on_cbExtendedActions_toggled"/>
+                <signal name="toggled" handler="on_cbExtendedActions_toggled" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -317,54 +36,43 @@
               </packing>
             </child>
             <child>
-              <placeholder/>
+              <object class="GtkButton" id="btnCloseAdd">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_btnCloseAdd_clicked" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="hbuttonbox1">
+              <object class="GtkButton" id="btnAddRule">
+                <property name="label">gtk-add</property>
                 <property name="visible">True</property>
-                <property name="spacing">12</property>
-                <property name="layout_style">end</property>
-                <child>
-                  <object class="GtkButton" id="btnCloseAdd">
-                    <property name="label">gtk-close</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_stock">True</property>
-                    <signal name="clicked" handler="on_btnCloseAdd_clicked"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="btnAddRule">
-                    <property name="label">gtk-add</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_stock">True</property>
-                    <signal name="clicked" handler="on_btnAddRule_clicked"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_btnAddRule_clicked" swapped="no"/>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">2</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -373,191 +81,172 @@
             <property name="can_focus">True</property>
             <property name="border_width">3</property>
             <child>
-              <object class="GtkTable" id="table2">
+              <object class="GtkGrid" id="grid1">
                 <property name="visible">True</property>
-                <property name="border_width">9</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">7</property>
-                <child>
-                  <object class="GtkSpinButton" id="sbInsertNumberPreconf">
-                    <property name="width_request">50</property>
-                    <property name="can_focus">True</property>
-                    <property name="tooltip_text" translatable="yes">Rule  number to insert</property>
-                    <property name="max_length">3</property>
-                    <property name="invisible_char">●</property>
-                    <property name="adjustment">adjustment1</property>
-                    <property name="numeric">True</property>
-                    <property name="update_policy">if-valid</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbActionPreconf">
-                    <property name="visible">True</property>
-                    <property name="model">modelPreconfAction</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer1"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <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="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbDirectionPreconf">
-                    <property name="visible">True</property>
-                    <property name="model">modelPreconfDirection</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer2"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbLogPreconf">
-                    <property name="model">modelPreconfLog</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer3"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbTypePreconf">
-                    <property name="visible">True</property>
-                    <property name="model">modelPreconfType</property>
-                    <property name="active">0</property>
-                    <signal name="changed" handler="on_cbTypePreconf_changed"/>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer4"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">4</property>
-                    <property name="right_attach">5</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbProgramPreconf">
-                    <property name="visible">True</property>
-                    <property name="model">modelPreconfProgram</property>
-                    <property name="active">6</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer5"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">5</property>
-                    <property name="right_attach">6</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbServicePreconf">
-                    <property name="tooltip_text">Secure Shell</property>
-                    <property name="model">modelPreconfServices</property>
-                    <property name="active">7</property>
-                    <signal name="changed" handler="on_cbServicePreconf_changed"/>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer6"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">6</property>
-                    <property name="right_attach">7</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">5</property>
                 <child>
                   <object class="GtkAlignment" id="alignment5">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <child>
-                      <placeholder/>
+                      <object class="GtkLabel" id="filler1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">6</property>
-                    <property name="right_attach">7</property>
-                    <property name="x_options"></property>
-                    <property name="y_options">GTK_EXPAND</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkAlignment" id="alignment6">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <child>
                       <placeholder/>
                     </child>
                   </object>
                   <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="sbInsertNumberPreconf">
+                    <property name="width_request">50</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Rule number to insert</property>
+                    <property name="tooltip_text" translatable="yes">Rule number to insert</property>
+                    <property name="max_length">3</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="numeric">True</property>
+                    <property name="update_policy">if-valid</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbActionPreconf">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Allow</item>
+                      <item translatable="yes">Deny</item>
+                      <item translatable="yes">Reject</item>
+                      <item translatable="yes">Limit</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbDirectionPreconf">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">In</item>
+                      <item translatable="yes">Out</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbLogPreconf">
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Don't Log</item>
+                      <item translatable="yes">Log</item>
+                      <item translatable="yes">Log All</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbTypePreconf">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Application</item>
+                      <item translatable="yes">Service</item>
+                    </items>
+                    <signal name="changed" handler="on_cbTypePreconf_changed" swapped="no"/>
+                  </object>
+                  <packing>
+                    <property name="left_attach">4</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbProgramPreconf">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Amule</item>
+                      <item translatable="yes">Deluge</item>
+                      <item translatable="yes">KTorrent</item>
+                      <item translatable="yes">Nicotine</item>
+                      <item translatable="yes">qBittorrent</item>
+                      <item translatable="yes">Skype</item>
+                      <item translatable="yes">Transmission</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">5</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbServicePreconf">
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">FTP</item>
+                      <item translatable="yes">HTTP</item>
+                      <item translatable="yes">IMAP</item>
+                      <item translatable="yes">NFS</item>
+                      <item translatable="yes">POP3</item>
+                      <item translatable="yes">Samba</item>
+                      <item translatable="yes">SMTP</item>
+                      <item translatable="yes">SSH</item>
+                      <item translatable="yes">VNC</item>
+                      <item translatable="yes">CUPS</item>
+                    </items>
+                  </object>
+                  <packing>
                     <property name="left_attach">6</property>
-                    <property name="right_attach">7</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options"></property>
-                    <property name="y_options">GTK_EXPAND</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -597,13 +286,11 @@
                   <placeholder/>
                 </child>
               </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
             </child>
             <child type="tab">
-              <object class="GtkLabel" id="label2">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Preconfigured</property>
               </object>
               <packing>
@@ -611,115 +298,28 @@
               </packing>
             </child>
             <child>
-              <object class="GtkTable" id="table3">
+              <object class="GtkGrid" id="grid2">
                 <property name="visible">True</property>
-                <property name="border_width">9</property>
-                <property name="n_rows">3</property>
-                <property name="n_columns">6</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">5</property>
                 <child>
                   <object class="GtkSpinButton" id="sbInsertNumberSimple">
                     <property name="width_request">50</property>
                     <property name="can_focus">True</property>
-                    <property name="tooltip_text" translatable="yes">Rule  number to insert</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Rule number to insert</property>
+                    <property name="tooltip_text" translatable="yes">Rule number to insert</property>
                     <property name="max_length">3</property>
                     <property name="invisible_char">●</property>
-                    <property name="adjustment">adjustment2</property>
+                    <property name="invisible_char_set">True</property>
                     <property name="numeric">True</property>
                     <property name="update_policy">if-valid</property>
                   </object>
                   <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbActionSimple">
-                    <property name="visible">True</property>
-                    <property name="model">modelSimpleAction</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer7"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <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="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbDirectionSimple">
-                    <property name="visible">True</property>
-                    <property name="model">modelSimpleDirection</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer8"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">2</property>
-                    <property name="right_attach">3</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbLogSimple">
-                    <property name="model">modelSimpleLog</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer9"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">3</property>
-                    <property name="right_attach">4</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="cbProtoSimple">
-                    <property name="visible">True</property>
-                    <property name="model">modelSimpleProto</property>
-                    <property name="active">0</property>
-                    <child>
-                      <object class="GtkCellRendererText" id="renderer10"/>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">4</property>
-                    <property name="right_attach">5</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -727,448 +327,468 @@
                     <property name="width_request">130</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Port or service</property>
                     <property name="tooltip_text" translatable="yes">Port or service</property>
                     <property name="max_length">25</property>
                     <property name="invisible_char">●</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">5</property>
-                    <property name="right_attach">6</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                    <property name="x_padding">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment7">
-                    <property name="visible">True</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">5</property>
-                    <property name="right_attach">6</property>
-                    <property name="x_options"></property>
-                    <property name="y_options">GTK_EXPAND</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkAlignment" id="alignment8">
-                    <property name="visible">True</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">5</property>
-                    <property name="right_attach">6</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options"></property>
-                    <property name="y_options">GTK_EXPAND</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                    <property name="invisible_char_set">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">5</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="filler2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbActionSimple">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Allow</item>
+                      <item translatable="yes">Deny</item>
+                      <item translatable="yes">Reject</item>
+                      <item translatable="yes">Limit</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbDirectionSimple">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">In</item>
+                      <item translatable="yes">Out</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbLogSimple">
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Don't Log</item>
+                      <item translatable="yes">Log</item>
+                      <item translatable="yes">Log All</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbProtoSimple">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">TCP</item>
+                      <item translatable="yes">UDP</item>
+                      <item translatable="yes">Both</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">4</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Simple</property>
               </object>
               <packing>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkGrid" id="grid3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">5</property>
+                <child>
+                  <object class="GtkSpinButton" id="sbInsertNumberAdvanced">
+                    <property name="width_request">50</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Rule number to insert</property>
+                    <property name="tooltip_text" translatable="yes">Rule number to insert</property>
+                    <property name="max_length">3</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="numeric">True</property>
+                    <property name="update_policy">if-valid</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbActionAdvanced">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Allow</item>
+                      <item translatable="yes">Deny</item>
+                      <item translatable="yes">Reject</item>
+                      <item translatable="yes">Limit</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbDirectionAdvanced">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">In</item>
+                      <item translatable="yes">Out</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbLogAdvanced">
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">Don't Log</item>
+                      <item translatable="yes">Log</item>
+                      <item translatable="yes">Log All</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBoxText" id="cbProtoAdvanced">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <items>
+                      <item translatable="yes">TCP</item>
+                      <item translatable="yes">UDP</item>
+                      <item translatable="yes">Both</item>
+                    </items>
+                  </object>
+                  <packing>
+                    <property name="left_attach">4</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="filler3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="btnCleanAdvanced">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Clean values in boxes</property>
+                    <property name="tooltip_text" translatable="yes">Clean values in boxes</property>
+                    <property name="use_action_appearance">False</property>
+                    <signal name="clicked" handler="on_btnCleanAdvanced_clicked" swapped="no"/>
+                    <child>
+                      <object class="GtkImage" id="image3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="stock">gtk-clear</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">8</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label5">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">From:</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">5</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="entryFromIpAdvanced">
+                    <property name="width_request">150</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">IP Address</property>
+                    <property name="tooltip_text" translatable="yes">IP Address</property>
+                    <property name="max_length">125</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">6</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="entryPortFromAdvanced">
+                    <property name="width_request">50</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Port (Range PortA:PortB)</property>
+                    <property name="tooltip_text" translatable="yes">Port (Range PortA:PortB)</property>
+                    <property name="max_length">11</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">7</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">To:</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">5</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="entryToIpAdvanced">
+                    <property name="width_request">150</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">IP Address</property>
+                    <property name="tooltip_text" translatable="yes">IP Address</property>
+                    <property name="max_length">125</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">6</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="entryPortToAdvanced">
+                    <property name="width_request">50</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="tooltip_markup" translatable="yes">Port (Range PortA:PortB)</property>
+                    <property name="tooltip_text" translatable="yes">Port (Range PortA:PortB)</property>
+                    <property name="max_length">11</property>
+                    <property name="invisible_char">●</property>
+                    <property name="invisible_char_set">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">7</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="filler4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
             <child type="tab">
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">Simple</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkHBox" id="hbox1">
-                <property name="visible">True</property>
-                <property name="border_width">9</property>
-                <child>
-                  <object class="GtkTable" id="table1">
-                    <property name="visible">True</property>
-                    <property name="n_rows">3</property>
-                    <property name="n_columns">5</property>
-                    <child>
-                      <object class="GtkSpinButton" id="sbInsertNumberAdvanced">
-                        <property name="width_request">50</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">Rule  number to insert</property>
-                        <property name="max_length">3</property>
-                        <property name="invisible_char">●</property>
-                        <property name="adjustment">adjustment3</property>
-                        <property name="numeric">True</property>
-                        <property name="update_policy">if-valid</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="cbActionAdvanced">
-                        <property name="visible">True</property>
-                        <property name="model">modelAdvancedAction</property>
-                        <property name="active">0</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer11"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <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="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="cbDirectionAdvanced">
-                        <property name="visible">True</property>
-                        <property name="model">modelAdvancedDirection</property>
-                        <property name="active">0</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer12"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="cbLogAdvanced">
-                        <property name="model">modelAdvancedLog</property>
-                        <property name="active">0</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer13"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkComboBox" id="cbProtoAdvanced">
-                        <property name="visible">True</property>
-                        <property name="model">modelAdvancedProto</property>
-                        <property name="active">0</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer14"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">4</property>
-                        <property name="right_attach">5</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkAlignment" id="alignment3">
-                        <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">4</property>
-                        <property name="right_attach">5</property>
-                        <property name="x_options"></property>
-                        <property name="y_options">GTK_EXPAND</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkAlignment" id="alignment4">
-                        <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">4</property>
-                        <property name="right_attach">5</property>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options">GTK_EXPAND</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkTable" id="table5">
-                    <property name="visible">True</property>
-                    <property name="n_rows">2</property>
-                    <property name="n_columns">3</property>
-                    <child>
-                      <object class="GtkEntry" id="entryPortToAdvanced">
-                        <property name="width_request">50</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">Port (Range PortA:PortB)</property>
-                        <property name="max_length">11</property>
-                        <property name="invisible_char">●</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="entryPortFromAdvanced">
-                        <property name="width_request">50</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">Port (Range PortA:PortB)</property>
-                        <property name="max_length">11</property>
-                        <property name="invisible_char">●</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="entryToIpAdvanced">
-                        <property name="width_request">150</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">IP Address</property>
-                        <property name="max_length">125</property>
-                        <property name="invisible_char">●</property>
-                      </object>
-                      <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="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkEntry" id="entryFromIpAdvanced">
-                        <property name="width_request">150</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip_text" translatable="yes">IP Address</property>
-                        <property name="max_length">125</property>
-                        <property name="invisible_char">●</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label5">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">From:</property>
-                      </object>
-                      <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label6">
-                        <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">To:</property>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                        <property name="y_padding">3</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkTable" id="table4">
-                    <property name="visible">True</property>
-                    <property name="n_rows">3</property>
-                    <child>
-                      <object class="GtkButton" id="btnCleanAdvanced">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
-                        <property name="tooltip_text" translatable="yes">Clean values in boxes</property>
-                        <signal name="clicked" handler="on_btnCleanAdvanced_clicked"/>
-                        <child>
-                          <object class="GtkImage" id="image3">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-clear</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="top_attach">1</property>
-                        <property name="bottom_attach">2</property>
-                        <property name="x_options"></property>
-                        <property name="y_options"></property>
-                        <property name="x_padding">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkAlignment" id="alignment1">
-                        <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="x_options"></property>
-                        <property name="y_options">GTK_EXPAND</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkAlignment" id="alignment2">
-                        <property name="visible">True</property>
-                        <child>
-                          <placeholder/>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="top_attach">2</property>
-                        <property name="bottom_attach">3</property>
-                        <property name="x_options"></property>
-                        <property name="y_options">GTK_EXPAND</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Advanced</property>
               </object>
               <packing>
@@ -1177,8 +797,18 @@
               </packing>
             </child>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">cbExtendedActions</action-widget>
+      <action-widget response="0">btnCloseAdd</action-widget>
+      <action-widget response="0">btnAddRule</action-widget>
+    </action-widgets>
   </object>
 </interface>

=== modified file 'data/ui/log.ui' (properties changed: +x to -x)
--- data/ui/log.ui	2011-05-04 19:09:06 +0000
+++ data/ui/log.ui	2011-08-07 02:49:29 +0000
@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkWindow" id="winLog">
-    <property name="border_width">9</property>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="dlgLog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
     <property name="title" translatable="yes">Firewall: Log</property>
-    <property name="modal">True</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="icon">/usr/share/icons/hicolor/48x48/apps/gufw.png</property>
     <property name="type_hint">dialog</property>
-    <signal name="key_press_event" handler="on_winLog_key_press_event"/>
-    <signal name="delete_event" handler="on_winLog_delete_event"/>
-    <child>
-      <object class="GtkTable" id="table2">
-        <property name="visible">True</property>
-        <property name="n_rows">2</property>
-        <property name="row_spacing">6</property>
-        <child>
-          <object class="GtkHBox" id="hbox23">
-            <property name="visible">True</property>
-            <property name="border_width">3</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
             <child>
               <object class="GtkCheckButton" id="cbServerScript">
                 <property name="label" translatable="yes">Show for server script</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">False</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Use this for create a script</property>
                 <property name="tooltip_text" translatable="yes">Use this for create a script</property>
+                <property name="use_action_appearance">False</property>
+                <property name="xalign">0</property>
                 <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="on_cbServerScript_toggled"/>
+                <signal name="toggled" handler="on_cbServerScript_toggled" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -38,52 +36,46 @@
               </packing>
             </child>
             <child>
-              <object class="GtkHButtonBox" id="hbuttonbox1">
+              <object class="GtkButton" id="btnClearLog">
+                <property name="label">gtk-clear</property>
                 <property name="visible">True</property>
-                <property name="spacing">12</property>
-                <property name="layout_style">end</property>
-                <child>
-                  <object class="GtkButton" id="btnClearLog">
-                    <property name="label">gtk-clear</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="tooltip_text" translatable="yes">Remove all Gufw log</property>
-                    <property name="use_stock">True</property>
-                    <signal name="clicked" handler="on_btnClearLog_clicked"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkButton" id="btnCloseLog">
-                    <property name="label">gtk-close</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="use_stock">True</property>
-                    <signal name="clicked" handler="on_btnCloseLog_clicked"/>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Remove all Gufw log</property>
+                <property name="tooltip_text" translatable="yes">Remove all Gufw log</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_btnClearLog_clicked" swapped="no"/>
               </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="btnCloseLog">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" handler="on_btnCloseLog_clicked" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
           </object>
           <packing>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
@@ -91,14 +83,13 @@
             <property name="width_request">480</property>
             <property name="height_request">200</property>
             <property name="visible">True</property>
+            <property name="can_focus">False</property>
             <property name="border_width">3</property>
             <property name="resize_mode">queue</property>
             <child>
               <object class="GtkScrolledWindow" id="scrolledwindow2">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
                 <child>
                   <object class="GtkTextView" id="logTxt">
                     <property name="visible">True</property>
@@ -110,8 +101,18 @@
               </object>
             </child>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">cbServerScript</action-widget>
+      <action-widget response="0">btnClearLog</action-widget>
+      <action-widget response="0">btnCloseLog</action-widget>
+    </action-widgets>
   </object>
 </interface>

=== modified file 'data/ui/main.ui' (properties changed: +x to -x)
--- data/ui/main.ui	2011-05-07 20:46:20 +0000
+++ data/ui/main.ui	2011-08-07 02:49:29 +0000
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <!-- interface-requires gtk+ 3.0 -->
   <object class="GtkAction" id="actionAbout">
     <property name="stock_id">gtk-about</property>
   </object>
@@ -62,11 +61,6 @@
     <property name="stock">gtk-dialog-warning</property>
     <property name="icon-size">1</property>
   </object>
-  <object class="GtkImage" id="image8">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="stock">gtk-missing-image</property>
-  </object>
   <object class="GtkImage" id="image9">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -307,7 +301,7 @@
                     </child>
                     <child>
                       <object class="GtkImageMenuItem" id="menuTranslate">
-                        <property name="label" translatable="yes">Translate This Application...</property>
+                        <property name="label" translatable="yes">Translate this Application...</property>
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="use_action_appearance">False</property>
@@ -563,8 +557,6 @@
                           <object class="GtkScrolledWindow" id="scrolledwindow1">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <child>
                               <object class="GtkTreeView" id="tvRules">
                                 <property name="width_request">310</property>
@@ -573,6 +565,9 @@
                                 <property name="can_focus">True</property>
                                 <property name="enable_search">False</property>
                                 <property name="show_expanders">False</property>
+                                <child internal-child="selection">
+                                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                                </child>
                               </object>
                             </child>
                           </object>
@@ -733,8 +728,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="hadjustment">adjustment1</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <child>
                               <object class="GtkTreeView" id="tvReport">
                                 <property name="width_request">310</property>
@@ -743,6 +736,9 @@
                                 <property name="can_focus">True</property>
                                 <property name="enable_search">False</property>
                                 <property name="show_expanders">False</property>
+                                <child internal-child="selection">
+                                  <object class="GtkTreeSelection" id="treeview-selection2"/>
+                                </child>
                               </object>
                             </child>
                           </object>

=== modified file 'data/ui/preferences.ui' (properties changed: +x to -x)
--- data/ui/preferences.ui	2011-05-04 19:09:06 +0000
+++ data/ui/preferences.ui	2011-08-07 02:49:29 +0000
@@ -1,190 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkListStore" id="model_ufw_level">
-    <columns>
-      <!-- column-name gchararray -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">Off</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Low</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Medium</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">High</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Full</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkWindow" id="winPreferences">
-    <property name="border_width">9</property>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkDialog" id="dlgPreferences">
+    <property name="width_request">200</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
     <property name="title" translatable="yes">Firewall: Preferences</property>
     <property name="resizable">False</property>
-    <property name="modal">True</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="icon">/usr/share/icons/hicolor/48x48/apps/gufw.png</property>
     <property name="type_hint">dialog</property>
-    <signal name="key_press_event" handler="on_winPreferences_key_press_event"/>
-    <signal name="delete_event" handler="on_winPreferences_delete_event"/>
-    <child>
-      <object class="GtkTable" id="table1">
-        <property name="visible">True</property>
-        <property name="n_rows">3</property>
-        <property name="row_spacing">8</property>
-        <child>
-          <object class="GtkFrame" id="frame2">
-            <property name="visible">True</property>
-            <property name="border_width">3</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">none</property>
-            <child>
-              <object class="GtkAlignment" id="alignment2">
-                <property name="visible">True</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkVBox" id="vbox1">
-                    <property name="visible">True</property>
-                    <child>
-                      <object class="GtkCheckButton" id="cbGufwLog">
-                        <property name="label" translatable="yes">Logging</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="on_cbGufwLog_toggled"/>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="cbReport">
-                        <property name="label" translatable="yes">Listening Report</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Ports in the listening state for TCP and open state for UDP.
-Enabled: Will consume more CPU resources.</property>
-                        <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="on_cbReport_toggled"/>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="cbNotifyPopup">
-                        <property name="label" translatable="yes">Show notifications</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
-                        <property name="tooltip_text" translatable="yes">Will show new connections in Listening Report</property>
-                        <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="on_cbNotifyPopup_toggled"/>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child type="label">
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;Gufw Options&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkFrame" id="frame3">
-            <property name="visible">True</property>
-            <property name="border_width">3</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">none</property>
-            <child>
-              <object class="GtkAlignment" id="alignment3">
-                <property name="visible">True</property>
-                <property name="left_padding">12</property>
-                <child>
-                  <object class="GtkVBox" id="vbox2">
-                    <property name="visible">True</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <child>
-                          <object class="GtkLabel" id="lblLogLevel">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes">Logging:</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkComboBox" id="cbLogLevel">
-                            <property name="visible">True</property>
-                            <property name="model">model_ufw_level</property>
-                            <signal name="changed" handler="on_cbLogLevel_changed"/>
-                            <child>
-                              <object class="GtkCellRendererText" id="renderer2"/>
-                              <attributes>
-                                <attribute name="text">0</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="padding">8</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </object>
-                </child>
-              </object>
-            </child>
-            <child type="label">
-              <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;ufw Options&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </object>
-            </child>
-          </object>
-        </child>
-        <child>
-          <object class="GtkHButtonBox" id="hbuttonbox1">
-            <property name="visible">True</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
               <object class="GtkButton" id="btnClosePref">
@@ -192,25 +23,266 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
                 <property name="use_stock">True</property>
-                <signal name="clicked" handler="on_btnClosePref_clicked"/>
+                <signal name="clicked" handler="on_btnClosePref_clicked" swapped="no"/>
               </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options">GTK_FILL</property>
-            <property name="y_padding">6</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid0">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkFrame" id="frame1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">3</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkGrid" id="grid1">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkLabel" id="lblLogLevel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Logging:</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <object class="GtkComboBoxText" id="cbLogLevel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <items>
+                              <item translatable="yes">Off</item>
+                              <item translatable="yes">Low</item>
+                              <item translatable="yes">Medium</item>
+                              <item translatable="yes">High</item>
+                              <item translatable="yes">Full</item>
+                            </items>
+                            <signal name="changed" handler="on_cbLogLevel_changed" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">&lt;b&gt;ufw Options&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkFrame" id="frame2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">3</property>
+                <property name="label_xalign">0</property>
+                <property name="shadow_type">none</property>
+                <child>
+                  <object class="GtkAlignment" id="alignment2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="left_padding">12</property>
+                    <child>
+                      <object class="GtkGrid" id="grid2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <child>
+                          <object class="GtkCheckButton" id="cbGufwLog">
+                            <property name="label" translatable="yes">Logging</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_cbGufwLog_toggled" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="cbReport">
+                            <property name="label" translatable="yes">Listening Report</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Ports in the listening state for TCP and open state for UDP.
+Enabled: Will consume more CPU resources.</property>
+                            <property name="tooltip_text" translatable="yes">Ports in the listening state for TCP and open state for UDP.
+Enabled: Will consume more CPU resources.</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_cbReport_toggled" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="cbNotifyPopup">
+                            <property name="label" translatable="yes">Show notifications</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Will show new connections in Listening Report</property>
+                            <property name="tooltip_text" translatable="yes">Will show new connections in Listening Report</property>
+                            <property name="use_action_appearance">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_cbNotifyPopup_toggled" swapped="no"/>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                </child>
+                <child type="label">
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Gufw Options&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">btnClosePref</action-widget>
+    </action-widgets>
   </object>
 </interface>

=== removed directory 'doc'
=== modified file 'gufw.desktop' (properties changed: +x to -x)
--- gufw.desktop	2011-05-25 18:15:20 +0000
+++ gufw.desktop	2011-08-07 02:49:29 +0000
@@ -65,5 +65,5 @@
 Comment[bg]=Дава ви възможност за настройка на защитната стена ufw
 Comment[ast]=Permite configurar el tornafuéu ufw
 Comment[ar]=يسٌمح لك بإعداد الجدار الناري UFW
-Icon=/usr/share/icons/hicolor/48x48/apps/gufw.png
+Icon=gufw.png
 Categories=System;Settings;

=== modified file 'gufw/__init__.py' (properties changed: +x to -x)
=== modified file 'gufw/controller.py' (properties changed: +x to -x)
--- gufw/controller.py	2011-05-07 18:17:14 +0000
+++ gufw/controller.py	2011-08-07 02:49:29 +0000
@@ -1,4 +1,4 @@
-# Gufw 11.10.0 - http://gufw.tuxfamily.org
+# Gufw 11.10.1 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
 #
 # Gufw is free software; you can redistribute it and/or modify

=== modified file 'gufw/daemon/gufw.Daemon.conf' (properties changed: +x to -x)
--- gufw/daemon/gufw.Daemon.conf	2011-05-07 18:17:14 +0000
+++ gufw/daemon/gufw.Daemon.conf	2011-08-07 02:49:29 +0000
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd";>
- <!-- Gufw 11.10.0 - http://gufw.tuxfamily.org
+ <!-- Gufw 11.10.1 - http://gufw.tuxfamily.org
       Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
       
       Gufw is free software; you can redistribute it and/or modify

=== modified file 'gufw/daemon/gufw.Daemon.service' (properties changed: +x to -x)
=== modified file 'gufw/daemon/gufw.daemon.policy' (properties changed: +x to -x)
--- gufw/daemon/gufw.daemon.policy	2011-05-07 18:17:14 +0000
+++ gufw/daemon/gufw.daemon.policy	2011-08-07 02:49:29 +0000
@@ -2,7 +2,7 @@
 <!DOCTYPE policyconfig PUBLIC
  "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
  "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd";>
- <!-- Gufw 11.10.0 - http://gufw.tuxfamily.org
+ <!-- Gufw 11.10.1 - http://gufw.tuxfamily.org
       Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
       
       Gufw is free software; you can redistribute it and/or modify

=== modified file 'gufw/daemon/gufw_daemon.py'
--- gufw/daemon/gufw_daemon.py	2011-05-07 18:17:14 +0000
+++ gufw/daemon/gufw_daemon.py	2011-08-07 02:49:29 +0000
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# Gufw 11.10.0 - http://gufw.tuxfamily.org
+# Gufw 11.10.1 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
 #
 # Gufw is free software; you can redistribute it and/or modify
@@ -16,7 +16,7 @@
 # along with Gufw; if not, see http://www.gnu.org/licenses for more
 # information.
 
-import gobject
+from gi.repository import GObject
 import time
 import commands
 import dbus
@@ -486,5 +486,5 @@
     name = dbus.service.BusName("gufw.Daemon", bus)
     object = Gufw_daemon(bus, '/Gufw_daemon')
 
-    mainloop = gobject.MainLoop()
+    mainloop = GObject.MainLoop()
     mainloop.run()

=== modified file 'gufw/gufw.py'
--- gufw/gufw.py	2011-05-07 18:17:14 +0000
+++ gufw/gufw.py	2011-08-07 02:49:29 +0000
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# Gufw 11.10.0 - http://gufw.tuxfamily.org
+# Gufw 11.10.1 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
 #
 # Gufw is free software; you can redistribute it and/or modify

=== modified file 'gufw/model/Firewall.py' (properties changed: +x to -x)
=== modified file 'gufw/model/__init__.py' (properties changed: +x to -x)
=== modified file 'gufw/util.py' (properties changed: +x to -x)
--- gufw/util.py	2011-05-07 18:17:14 +0000
+++ gufw/util.py	2011-08-07 02:49:29 +0000
@@ -1,4 +1,4 @@
-# Gufw 11.10.0 - http://gufw.tuxfamily.org
+# Gufw 11.10.1 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Raul Soriano https://launchpad.net/~gatoloko
 #                         Marcos Alvarez Costales https://launchpad.net/~costales
 #

=== modified file 'gufw/view/__init__.py' (properties changed: +x to -x)
=== modified file 'gufw/view/guiGufw.py'
--- gufw/view/guiGufw.py	2011-05-25 18:15:20 +0000
+++ gufw/view/guiGufw.py	2011-08-07 02:49:29 +0000
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # Gufw 11.10.0 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
 #
@@ -15,9 +16,10 @@
 # along with Gufw; if not, see http://www.gnu.org/licenses for more
 # information.
 
-import gtk
+from gi.repository import Gtk
+from gi.repository import Gdk
 import threading
-import gobject
+from gi.repository import GObject
 import dbus
 import webbrowser
 import gettext
@@ -42,9 +44,9 @@
     def __init__(self, firewall):
         self.fw = firewall
         self.path = Path()
-        self.ui_builder = gtk.Builder()
+        self.ui_builder = Gtk.Builder()
         self._set_ui(self.ui_builder)
-        gtk.main()
+        Gtk.main()
     
     def _set_ui(self, builder):
         """Set the interfaces"""
@@ -55,7 +57,6 @@
         self._set_ui_add(builder)
         self._set_ui_preferences(builder)
         self._set_ui_log(builder)
-        self._set_ui_about(builder)
         self.win_main.show()
     
     def _set_ui_main(self, builder):
@@ -66,10 +67,12 @@
         self.win_main = builder.get_object('winMain')
         # Window size
         width, height = self.fw.get_window_size()
-        if width == gtk.gdk.screen_width() and height== gtk.gdk.screen_height():
+        if width == Gdk.Screen.width() and height== Gdk.Screen.height():
             self.win_main.maximize()
         else:
             self.win_main.resize(width,height)
+        # Icon
+        self.win_main.set_default_icon_from_file("/usr/share/icons/hicolor/48x48/apps/gufw.png")
         # Vpanel
         self.vpanelmain = builder.get_object("vpanelListeningRules")
         self.vpanelmain.set_position(self.fw.get_vpanel_pos())
@@ -130,73 +133,88 @@
     
     def _set_ui_models(self, builder):
         """Set the models in main window"""
-        self.render_txt = gtk.CellRendererText()
+        self.render_txt = Gtk.CellRendererText()
         self.render_txt.set_property("font", self.FONT)
         
-        self.rules_model = gtk.ListStore(gobject.TYPE_INT,    gobject.TYPE_STRING, gobject.TYPE_STRING,
-                                         gobject.TYPE_STRING, gobject.TYPE_STRING)
+        self.rules_model = Gtk.ListStore(GObject.TYPE_INT,    GObject.TYPE_STRING, GObject.TYPE_STRING,
+                                         GObject.TYPE_STRING, GObject.TYPE_STRING)
         
         self.tv_rules = builder.get_object("tvRules")
         self.tv_rules.set_model(self.rules_model)
-        self.tv_rules.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
+        self.tv_rules.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
         
-        tree_header = gtk.TreeViewColumn (_("To"), self.render_txt, text=1, foreground=4)
-        tree_header.set_expand(True)
-        tree_header.set_resizable(True)
-        self.tv_rules.append_column (tree_header)
-        tree_header = gtk.TreeViewColumn (_("Action"), self.render_txt, text=2, foreground=4)
-        tree_header.set_expand(True)
-        tree_header.set_resizable(True)
-        self.tv_rules.append_column (tree_header)
-        tree_header = gtk.TreeViewColumn (_("From"), self.render_txt, text=3, foreground=4)
+        tree_header = Gtk.TreeViewColumn (_("To"), self.render_txt, text=1, foreground=4)
+        tree_header.set_expand(True)
+        tree_header.set_resizable(True)
+        self.tv_rules.append_column (tree_header)
+        tree_header = Gtk.TreeViewColumn (_("Action"), self.render_txt, text=2, foreground=4)
+        tree_header.set_expand(True)
+        tree_header.set_resizable(True)
+        self.tv_rules.append_column (tree_header)
+        tree_header = Gtk.TreeViewColumn (_("From"), self.render_txt, text=3, foreground=4)
         tree_header.set_expand(True)
         self.tv_rules.append_column (tree_header)
         
         # Listening Report
-        self.report_model = gtk.ListStore(gobject.TYPE_INT,    gobject.TYPE_STRING, gobject.TYPE_STRING,
-                                          gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING) 
+        self.report_model = Gtk.ListStore(GObject.TYPE_INT,    GObject.TYPE_STRING, GObject.TYPE_STRING,
+                                          GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING) 
         self.tv_report = builder.get_object("tvReport")
         self.tv_report.set_model(self.report_model)
-        self.tv_report.get_selection().set_mode(gtk.SELECTION_NONE)
+        self.tv_report.get_selection().set_mode(Gtk.SelectionMode.NONE)
         
-        tree_header = gtk.TreeViewColumn (_("Protocol"), self.render_txt, text=1, foreground=5)
-        tree_header.set_resizable(True)
-        self.tv_report.append_column (tree_header)
-        tree_header = gtk.TreeViewColumn (_("Port"), self.render_txt, text=2, foreground=5)
-        tree_header.set_resizable(True)
-        self.tv_report.append_column (tree_header)
-        tree_header = gtk.TreeViewColumn (_("Address"), self.render_txt, text=3, foreground=5)
-        tree_header.set_resizable(True)
-        self.tv_report.append_column (tree_header)
-        tree_header = gtk.TreeViewColumn (_("Application"), self.render_txt, text=4, foreground=5)
+        tree_header = Gtk.TreeViewColumn (_("Protocol"), self.render_txt, text=1, foreground=5)
+        tree_header.set_resizable(True)
+        self.tv_report.append_column (tree_header)
+        tree_header = Gtk.TreeViewColumn (_("Port"), self.render_txt, text=2, foreground=5)
+        tree_header.set_resizable(True)
+        self.tv_report.append_column (tree_header)
+        tree_header = Gtk.TreeViewColumn (_("Address"), self.render_txt, text=3, foreground=5)
+        tree_header.set_resizable(True)
+        self.tv_report.append_column (tree_header)
+        tree_header = Gtk.TreeViewColumn (_("Application"), self.render_txt, text=4, foreground=5)
         self.tv_report.append_column (tree_header)
     
     def _set_ui_add(self, builder):
         """Set the window Add"""
         builder.add_from_file(self.path.get_ui_path('add.ui'))
-        self.win_add = builder.get_object('winAdd')
-        self.win_add.set_transient_for(self.win_main)
+        self.dlg_add = builder.get_object('dlgAdd')
+        self.dlg_add.set_transient_for(self.win_main)
         # Preconf
         self.insert_number_preconf = builder.get_object("sbInsertNumberPreconf")
         self.direction_preconf     = builder.get_object("cbDirectionPreconf")
+        self.direction_preconf.set_active(0)
         self.action_preconf        = builder.get_object("cbActionPreconf")
+        self.action_preconf.set_active(0)
         self.log_preconf           = builder.get_object("cbLogPreconf")
+        self.log_preconf.set_active(0)
         self.type_preconf          = builder.get_object("cbTypePreconf")
+        self.type_preconf.set_active(0)
+        self.program_preconf       = builder.get_object("cbProgramPreconf")
+        self.program_preconf.set_active(6)
         self.service_preconf       = builder.get_object("cbServicePreconf")
-        self.program_preconf       = builder.get_object("cbProgramPreconf")
+        self.service_preconf.set_active(7)
+
         # Simple
         self.insert_number_simple = builder.get_object("sbInsertNumberSimple")
         self.direction_simple     = builder.get_object("cbDirectionSimple")
+        self.direction_simple.set_active(0)
         self.action_simple        = builder.get_object("cbActionSimple")
+        self.action_simple.set_active(0)
         self.log_simple           = builder.get_object("cbLogSimple")
+        self.log_simple.set_active(0)
         self.port_simple          = builder.get_object("entryPortSimple")
         self.proto_simple         = builder.get_object("cbProtoSimple")
+        self.proto_simple.set_active(0)
         # Advanced
         self.insert_number_advanced = builder.get_object("sbInsertNumberAdvanced")
         self.action_advanced        = builder.get_object("cbActionAdvanced")
+        self.action_advanced.set_active(0)
         self.direction_advanced     = builder.get_object("cbDirectionAdvanced")
+        self.direction_advanced.set_active(0)
         self.log_advanced           = builder.get_object("cbLogAdvanced")
+        self.log_advanced.set_active(0)
         self.proto_advanced         = builder.get_object("cbProtoAdvanced")
+        self.proto_advanced.set_active(0)
         self.fromip_advanced        = builder.get_object("entryFromIpAdvanced")
         self.portfrom_advanced      = builder.get_object("entryPortFromAdvanced")
         self.toip_advanced          = builder.get_object("entryToIpAdvanced")
@@ -209,8 +227,8 @@
     def _set_ui_preferences(self, builder):
         """Set the window Preferences"""
         builder.add_from_file(self.path.get_ui_path('preferences.ui'))
-        self.win_preferences = builder.get_object('winPreferences')
-        self.win_preferences.set_transient_for(self.win_main)
+        self.dlg_preferences = builder.get_object('dlgPreferences')
+        self.dlg_preferences.set_transient_for(self.win_main)
         # Preference Window
         self.cb_report       = builder.get_object("cbReport")
         self.cb_notify_popup = builder.get_object("cbNotifyPopup")
@@ -222,20 +240,14 @@
     def _set_ui_log(self, builder):
         """Set the window Log"""
         builder.add_from_file(self.path.get_ui_path('log.ui'))
-        self.win_log = builder.get_object('winLog')
-        self.win_log.set_transient_for(self.win_main)
+        self.dlg_log = builder.get_object('dlgLog')
+        self.dlg_log.set_transient_for(self.win_main)
         # Log Window
         self.log_txt        = builder.get_object("logTxt")
         self.log_txt_buffer = self.log_txt.get_buffer()
         self.log_btn_close  = builder.get_object("btnCloseLog")
         self.server_script  = builder.get_object("cbServerScript")
     
-    def _set_ui_about(self,builder):
-        """Set the window About"""
-        builder.add_from_file(self.path.get_ui_path('about.ui'))
-        self.win_about = builder.get_object('winAbout')
-        self.win_about.set_transient_for(self.win_main)
-    
     def _set_main_values(self, statusbar_msg):
         """Set initials status to GUI"""
         # Set sensitive values by status firewall
@@ -275,7 +287,7 @@
         """Set a message into StatusBar Main window"""
         cid = self.status_bar.get_context_id('default context')
         mid = self.status_bar.push(cid, msg)
-        gobject.timeout_add_seconds(self.TIME_STATUS_BAR, self.status_bar.remove_message, cid, mid)
+        GObject.timeout_add_seconds(self.TIME_STATUS_BAR, self.status_bar.remove, cid, mid)
     
     def _set_rules_list(self):
         """Set rules in main window"""
@@ -429,7 +441,7 @@
         
     def _refresh_report(self):
         """Refresh Listening Report"""
-        gobject.timeout_add(self.TIME_REFRESH_REPORT , self._do_refresh_report)
+        GObject.timeout_add(self.TIME_REFRESH_REPORT , self._do_refresh_report)
         
     def _remove_rule(self):
         """Remove Rules Method"""
@@ -521,17 +533,20 @@
         
         # Service?
         if self.type_preconf.get_active() == 1:
-            SERVICES = { "FTP"   : "ftp",
-                         "HTTP"  : "http",
-                         "IMAP"  : "imap",
-                         "NFS"   : "nfs",
-                         "POP3"  : "pop3",
-                         "Samba" : "135,139,445tcp|137,138udp",
-                         "SMTP"  : "smtp",
-                         "SSH"   : "ssh",
-                         "VNC"   : "5900tcp",
-                         "CUPS"  : "631" }        
-            service_txt = SERVICES[self.service_preconf.get_active_text()]
+            SERVICES = { 0 : "ftp",
+                         1 : "http",
+                         2 : "imap",
+                         3 : "nfs",
+                         4 : "pop3",
+                         #Samba
+                         5 : "135,139,445tcp|137,138udp",
+                         6 : "smtp",
+                         7 : "ssh",
+                         #VNC
+                         8 : "5900tcp",
+                         #CUPS
+                         9 : "631" }
+            service_txt = SERVICES[self.service_preconf.get_active()]
             all_ports = service_txt.split("|")
             for port_proto in all_ports:
                 if port_proto.find("tcp") != -1:
@@ -560,14 +575,21 @@
                 
         # Program?
         else:
-            PROGRAMS = { "Amule"        : "4662tcp#4672udp",
-                         "Deluge"       : "6881:6891tcp#6881:6891udp",
-                         "KTorrent"     : "6881tcp#4444udp",
-                         "Nicotine"     : "2234:2239tcp#2242tcp#2240tcp",
-                         "qBittorrent"  : "6881tcp#6881udp",
-                         "Transmission" : "51413tcp#51413udp",
-                         "Skype"        : "443tcp" }
-            port_proto = PROGRAMS[self.program_preconf.get_active_text()]
+            PROGRAMS = { #Amule        
+                         0 : "4662tcp#4672udp",
+                         #Deluge
+                         1 : "6881:6891tcp#6881:6891udp",
+                         #KTorrent
+                         2 : "6881tcp#4444udp",
+                         #Nicotine
+                         3 : "2234:2239tcp#2242tcp#2240tcp",
+                         #qBittorent
+                         4 : "6881tcp#6881udp",
+                         #Skype
+                         5 : "443tcp",
+                         #Transmission
+                         6 : "51413tcp#51413udp"}
+            port_proto = PROGRAMS[self.program_preconf.get_active()]
             ports_protos = port_proto.split("#")
             for prog in ports_protos:
                 if prog.find("tcp") != -1:
@@ -628,7 +650,7 @@
         port = self.port_simple.get_text()
         # ? -> ! Don't read the next!!
         if port == "stallman":
-            dlg_egg = gtk.MessageDialog(parent=self.win_main, flags=0, type=gtk.MESSAGE_WARNING, buttons=gtk.BUTTONS_CLOSE, message_format="Value your freedom or you will lose it, teaches history. 'Don't bother us with politics', respond those who don't want to learn.")
+            dlg_egg = Gtk.MessageDialog(parent=self.win_main, flags=0, type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.CLOSE, message_format="'Value your freedom or you will lose it,' teaches history.\n'Don't bother us with politics,' respond those who \ndon't want to learn.")
             dlg_egg.format_secondary_markup("Richard Stallman")
             dlg_egg.set_title("It's time to think!")
             dlg_egg.run()
@@ -716,23 +738,23 @@
         self.btn_add_window.set_sensitive(0)
         self.menu_add.set_sensitive(0)
         self.add_btn_add.grab_focus()
-        self.win_add.show()
+        self.dlg_add.show()
     
     def on_btnCloseAdd_clicked(self, widget):
         """Button Close Add Rules"""
         self.btn_add_window.set_sensitive(1)
         self.menu_add.set_sensitive(1)
-        self.win_add.hide()
+        self.dlg_add.hide()
         return True
     
     def on_btnClosePref_clicked(self, widget):
         """Close preferences Button"""
-        self.win_preferences.hide()
+        self.dlg_preferences.hide()
         return True
     
     def on_btnCloseLog_clicked(self, widget):
         """Close Gufw Log Window"""
-        self.win_log.hide()
+        self.dlg_log.hide()
         return True
     
     def on_btnClearLog_clicked(self, widget):
@@ -744,7 +766,7 @@
     def on_btnRemove_clicked(self, widget):
         """Remove in background"""
         task = self._remove_rule()
-        gobject.idle_add(task.next)
+        GObject.idle_add(task.next)
     
     def on_btnAddRule_clicked(self, widget):
         """Add rule Button"""
@@ -1007,25 +1029,72 @@
         if self.fw.get_listening_status() != "disable":
             self.fw.set_listening_status("disable")
             self._refresh_report()
-        gtk.main_quit()
+        Gtk.main_quit()
     
     def on_menuAdd_activate(self,widget):
         """Menu Add Rule"""
         self.add_btn_add.grab_focus()
         self.btn_add_window.set_sensitive(0)
         self.menu_add.set_sensitive(0)
-        self.win_add.show()
+        self.dlg_add.show()
     
     def on_menuPreferences_activate(self, widget):            
         """Show Window Preferences"""
         self.pref_btn_close.grab_focus()
-        self.win_preferences.show()
+        self.dlg_preferences.show()
     
     def on_menuAbout_activate(self, widget):
         """View About Window"""
-        self.win_about.run()
-        self.win_about.hide()
-    
+        about = Gtk.AboutDialog()
+        about.set_copyright(_("© 2008-2011 The Gufw Project\nShield logo © 2007 Michael Spiegel"))
+        about.set_comments(_("Graphical user interface for ufw"))
+        about.set_program_name("Gufw")
+        about.set_version("11.10.1")
+        about.set_website("http://gufw.tuxfamily.org/";)
+        about.set_authors(_(['''Lead developer:
+Marcos Alvarez Costales https://launchpad.net/~costales
+
+Developers:
+David Planella https://launchpad.net/~dpm
+Emilio López https://launchpad.net/~turl
+Raúl Soriano https://launchpad.net/~gatoloko
+Rogério Vicente https://launchpad.net/~rogeriopvl
+Rubén Megido https://launchpad.net/~runoo
+Vadim Peretokin https://launchpad.net/~vperetokin
+
+Contributors:
+Jeremy Bicha https://launchpad.net/~jbicha
+Cedrick Hannier https://launchpad.net/~cedynamix
+
+MOTU
+Devid Antonio Filoni https://launchpad.net/~d.filoni''']))
+        about.set_translator_credits(_("translator-credits"))
+        about.set_artists(_(["Shield logo by myke http://michael.spiegel1.at/";, 
+"Tutorial http://www.gimpusers.com/tutorials/create-a-shield-symbol.html";]))
+        about.set_license(_('''The shield logo is licensed under a Creative Commons
+Attribution 3.0 Unported License. See for more information:
+http://creativecommons.org/licenses/by/3.0/
+
+All other content is licensed under the GPL-3+.
+
+Gufw 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 3
+of the License, or (at your option) any later version.
+
+Gufw 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 Gufw; if not, see for more information:
+http://www.gnu.org/licenses'''))
+        about.connect("response", lambda d, r: d.destroy())
+        about.set_transient_for(self.win_main)
+        about.show()
+
     def on_menuLog_activate(self, widget):
         """View Gufw Log Window"""
         if self.server_script.get_active():
@@ -1034,7 +1103,7 @@
             self.log_txt_buffer.set_text(self.fw.get_gufw_log('local'))
         
         self.log_btn_close.grab_focus()
-        self.win_log.show()
+        self.dlg_log.show()
     
     def on_menuReload_activate(self, widget):
         """Reload the ufw rules"""
@@ -1043,17 +1112,17 @@
         
     def on_menuReset_activate(self, widget):
         """Reset ufw"""
-        reset_dialog = gtk.MessageDialog(parent=self.win_main,
+        reset_dialog = Gtk.MessageDialog(parent=self.win_main,
                                          flags=0,
-                                         type=gtk.MESSAGE_WARNING,
-                                         buttons=gtk.BUTTONS_OK_CANCEL,
+                                         type=Gtk.MessageType.WARNING,
+                                         buttons=Gtk.ButtonsType.OK_CANCEL,
                                          message_format=_("This will remove all rules and disable the firewall!"))
         reset_dialog.format_secondary_markup(_("Do you want to continue?"))
         reset_dialog.set_title(_("Reset Firewall"))
-        reset_dialog.set_default_response(gtk.RESPONSE_CANCEL)
+        reset_dialog.set_default_response(Gtk.ResponseType.CANCEL)
         reset_answer = reset_dialog.run()
         reset_dialog.destroy()
-        if reset_answer == gtk.RESPONSE_OK:
+        if reset_answer == Gtk.ResponseType.OK:
             if self.fw.get_status() == "enable":
                 self.cb_enabled_firewall.set_active(0)
             self.fw.reset_ufw()
@@ -1062,7 +1131,7 @@
     def on_menuRemove_activate(self, widget):
         """Remove rules in background"""
         task = self._remove_rule()
-        gobject.idle_add(task.next)
+        GObject.idle_add(task.next)
     
     def on_menuDoc_activate(self, widget):
         """Launch browser with Documentation web"""
@@ -1087,48 +1156,27 @@
         if self.fw.get_listening_status() != "disable":
             self.fw.set_listening_status("disable")
             self._refresh_report()
-        gtk.main_quit()
+        Gtk.main_quit()
     
-    def on_winAdd_delete_event(self, widget, event):
+    def on_dlgAdd_delete_event(self, widget, event):
         """Close Button Window Add Rules"""
         self.btn_add_window.set_sensitive(1)
         self.menu_add.set_sensitive(1)
-        self.win_add.hide()
-        return True
-       
-    def on_winPreferences_delete_event(self, widget, event):
-        """Close Button preferences Window"""
-        self.win_preferences.hide()
-        return True
-    
-    def on_winLog_delete_event(self, widget, event):
-        """Close Button Log Window"""
-        self.win_log.hide()
-        return True
-    
-    def on_winAbout_delete_event(self, widget, event):
-        """Close Button About Window"""
-        self.win_about.hide()
-        return True
-    
-    def on_winAdd_key_press_event(self, widget, event):
+        self.dlg_add.hide()
+        return True
+
+    def on_dlgAdd_key_press_event(self, widget, event):
         """Press Scape Key Add Window > Hide window"""
-        if event.keyval == gtk.keysyms.Escape :
-            self.win_add.hide()
+        if event.keyval == Gdk.KEY_Escape :
+            self.dlg_add.hide()
             self.btn_add_window.set_sensitive(1)
             self.menu_add.set_sensitive(1)
-            return True    
-    
-    def on_winPreferences_key_press_event(self, widget, event):
-        """Press Scape Key Preferences Window > Hide window"""
-        if event.keyval == gtk.keysyms.Escape :
-            self.win_preferences.hide()
-            return True  
-    
-    def on_winLog_key_press_event(self, widget, event):
+            return True
+    
+    def on_dlgLog_key_press_event(self, widget, event):
         """Press Scape Key Log Window > Hide window"""
-        if event.keyval == gtk.keysyms.Escape :
-            self.win_log.hide()
+        if event.keyval == Gdk.KEY_Escape :
+            self.dlg_log.hide()
             return True  
     
 class RefreshReport(threading.Thread):

=== modified file 'man/gufw.8.gz' (properties changed: +x to -x)
=== added file 'po/POTFILES.in'
--- po/POTFILES.in	1970-01-01 00:00:00 +0000
+++ po/POTFILES.in	2011-08-07 02:49:29 +0000
@@ -0,0 +1,9 @@
+# intltool-update -p -g gufw 
+# also done automatically with setup.py build or install
+[encoding: UTF-8]
+gufw/view/guiGufw.py
+[type: gettext/glade]data/ui/add.ui
+[type: gettext/glade]data/ui/extra_translations_no_distribute.ui
+[type: gettext/glade]data/ui/log.ui
+[type: gettext/glade]data/ui/main.ui
+[type: gettext/glade]data/ui/preferences.ui

=== renamed file 'po/gui-ufw-ar.po' => 'po/gufw-ar.po'
=== renamed file 'po/gui-ufw-ast.po' => 'po/gufw-ast.po'
=== renamed file 'po/gui-ufw-be.po' => 'po/gufw-be.po'
=== renamed file 'po/gui-ufw-bg.po' => 'po/gufw-bg.po'
=== renamed file 'po/gui-ufw-ca.po' => 'po/gufw-ca.po'
=== renamed file 'po/gui-ufw-cs.po' => 'po/gufw-cs.po'
=== renamed file 'po/gui-ufw-da.po' => 'po/gufw-da.po'
=== renamed file 'po/gui-ufw-de.po' => 'po/gufw-de.po'
=== renamed file 'po/gui-ufw-el.po' => 'po/gufw-el.po'
=== renamed file 'po/gui-ufw-en_AU.po' => 'po/gufw-en_AU.po'
=== renamed file 'po/gui-ufw-en_CA.po' => 'po/gufw-en_CA.po'
=== renamed file 'po/gui-ufw-en_GB.po' => 'po/gufw-en_GB.po'
=== renamed file 'po/gui-ufw-es.po' => 'po/gufw-es.po'
=== renamed file 'po/gui-ufw-et.po' => 'po/gufw-et.po'
=== renamed file 'po/gui-ufw-eu.po' => 'po/gufw-eu.po'
=== renamed file 'po/gui-ufw-fi.po' => 'po/gufw-fi.po'
=== renamed file 'po/gui-ufw-fo.po' => 'po/gufw-fo.po'
=== renamed file 'po/gui-ufw-fr.po' => 'po/gufw-fr.po'
=== renamed file 'po/gui-ufw-gl.po' => 'po/gufw-gl.po'
=== renamed file 'po/gui-ufw-he.po' => 'po/gufw-he.po'
=== renamed file 'po/gui-ufw-hr.po' => 'po/gufw-hr.po'
=== renamed file 'po/gui-ufw-hu.po' => 'po/gufw-hu.po'
=== renamed file 'po/gui-ufw-id.po' => 'po/gufw-id.po'
=== renamed file 'po/gui-ufw-is.po' => 'po/gufw-is.po'
=== renamed file 'po/gui-ufw-it.po' => 'po/gufw-it.po'
=== renamed file 'po/gui-ufw-ja.po' => 'po/gufw-ja.po'
=== renamed file 'po/gui-ufw-ko.po' => 'po/gufw-ko.po'
=== renamed file 'po/gui-ufw-lv.po' => 'po/gufw-lv.po'
=== renamed file 'po/gui-ufw-mk.po' => 'po/gufw-mk.po'
=== renamed file 'po/gui-ufw-ms.po' => 'po/gufw-ms.po'
=== renamed file 'po/gui-ufw-nb.po' => 'po/gufw-nb.po'
=== renamed file 'po/gui-ufw-nl.po' => 'po/gufw-nl.po'
=== renamed file 'po/gui-ufw-pl.po' => 'po/gufw-pl.po'
=== renamed file 'po/gui-ufw-pt.po' => 'po/gufw-pt.po'
=== renamed file 'po/gui-ufw-pt_BR.po' => 'po/gufw-pt_BR.po'
=== renamed file 'po/gui-ufw-ro.po' => 'po/gufw-ro.po'
=== renamed file 'po/gui-ufw-ru.po' => 'po/gufw-ru.po'
=== renamed file 'po/gui-ufw-sk.po' => 'po/gufw-sk.po'
=== renamed file 'po/gui-ufw-sl.po' => 'po/gufw-sl.po'
=== renamed file 'po/gui-ufw-sq.po' => 'po/gufw-sq.po'
=== renamed file 'po/gui-ufw-sr.po' => 'po/gufw-sr.po'
=== renamed file 'po/gui-ufw-sv.po' => 'po/gufw-sv.po'
=== renamed file 'po/gui-ufw-th.po' => 'po/gufw-th.po'
=== renamed file 'po/gui-ufw-tl.po' => 'po/gufw-tl.po'
=== renamed file 'po/gui-ufw-tr.po' => 'po/gufw-tr.po'
=== renamed file 'po/gui-ufw-uk.po' => 'po/gufw-uk.po'
=== renamed file 'po/gui-ufw-ur.po' => 'po/gufw-ur.po'
=== renamed file 'po/gui-ufw-vi.po' => 'po/gufw-vi.po'
=== renamed file 'po/gui-ufw-zh_CN.po' => 'po/gufw-zh_CN.po'
=== renamed file 'po/gui-ufw-zh_TW.po' => 'po/gufw-zh_TW.po'
=== renamed file 'po/messages.pot' => 'po/gufw.pot'
--- po/messages.pot	2011-05-25 18:15:20 +0000
+++ po/gufw.pot	2011-08-07 02:49:29 +0000
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-25 19:56+0200\n"
+"POT-Creation-Date: 2011-08-06 22:11-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -17,382 +17,419 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: gufw/view/guiGufw.py:143
+#: ../gufw/view/guiGufw.py:146
 msgid "To"
 msgstr ""
 
-#: gufw/view/guiGufw.py:147
+#: ../gufw/view/guiGufw.py:150
 msgid "Action"
 msgstr ""
 
-#: gufw/view/guiGufw.py:151
+#: ../gufw/view/guiGufw.py:154
 msgid "From"
 msgstr ""
 
-#: gufw/view/guiGufw.py:162
+#: ../gufw/view/guiGufw.py:165
 msgid "Protocol"
 msgstr ""
 
-#: gufw/view/guiGufw.py:165
+#: ../gufw/view/guiGufw.py:168
 msgid "Port"
 msgstr ""
 
-#: gufw/view/guiGufw.py:168
+#: ../gufw/view/guiGufw.py:171
 msgid "Address"
 msgstr ""
 
-#: gufw/view/guiGufw.py:171
+#: ../gufw/view/guiGufw.py:174
 msgid "Application"
 msgstr ""
 
-#: gufw/view/guiGufw.py:443
+#: ../gufw/view/guiGufw.py:455
 msgid "Select rule(s)"
 msgstr ""
 
-#: gufw/view/guiGufw.py:458
+#: ../gufw/view/guiGufw.py:470
 msgid "Removing rules..."
 msgstr ""
 
-#: gufw/view/guiGufw.py:486
+#: ../gufw/view/guiGufw.py:498
 msgid "Rule(s) removed"
 msgstr ""
 
-#: gufw/view/guiGufw.py:488 gufw/view/guiGufw.py:559 gufw/view/guiGufw.py:589
-#: gufw/view/guiGufw.py:651 gufw/view/guiGufw.py:712
+#: ../gufw/view/guiGufw.py:500 ../gufw/view/guiGufw.py:574
+#: ../gufw/view/guiGufw.py:611 ../gufw/view/guiGufw.py:673
+#: ../gufw/view/guiGufw.py:734
 msgid "Error performing operation"
 msgstr ""
 
-#: gufw/view/guiGufw.py:557 gufw/view/guiGufw.py:587 gufw/view/guiGufw.py:649
-#: gufw/view/guiGufw.py:710
+#: ../gufw/view/guiGufw.py:572 ../gufw/view/guiGufw.py:609
+#: ../gufw/view/guiGufw.py:671 ../gufw/view/guiGufw.py:732
 msgid "Rule added"
 msgstr ""
 
-#: gufw/view/guiGufw.py:639
+#: ../gufw/view/guiGufw.py:661
 msgid "Error: Insert a port number"
 msgstr ""
 
-#: gufw/view/guiGufw.py:643 gufw/view/guiGufw.py:701 gufw/view/guiGufw.py:705
+#: ../gufw/view/guiGufw.py:665 ../gufw/view/guiGufw.py:723
+#: ../gufw/view/guiGufw.py:727
 msgid "Error: Range ports only with tcp or udp protocol"
 msgstr ""
 
-#: gufw/view/guiGufw.py:697
+#: ../gufw/view/guiGufw.py:719
 msgid "Error: Fields filled out incorrectly"
 msgstr ""
 
-#: gufw/view/guiGufw.py:777
+#: ../gufw/view/guiGufw.py:799
 msgid "Wrong identification"
 msgstr ""
 
-#: gufw/view/guiGufw.py:902
+#: ../gufw/view/guiGufw.py:924
 msgid "Disabled firewall"
 msgstr ""
 
-#: gufw/view/guiGufw.py:907
+#: ../gufw/view/guiGufw.py:929
 msgid "Enabled firewall"
 msgstr ""
 
-#: gufw/view/guiGufw.py:921
+#: ../gufw/view/guiGufw.py:943
 msgid "Deny all INCOMING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:925
+#: ../gufw/view/guiGufw.py:947
 msgid "Reject all INCOMING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:929
+#: ../gufw/view/guiGufw.py:951
 msgid "Allow all INCOMING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:943
+#: ../gufw/view/guiGufw.py:965
 msgid "Deny all OUTGOING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:947
+#: ../gufw/view/guiGufw.py:969
 msgid "Reject all OUTGOING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:951
+#: ../gufw/view/guiGufw.py:973
 msgid "Allow all OUTGOING traffic"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1041
+#: ../gufw/view/guiGufw.py:1049
+msgid ""
+"© 2008-2011 The Gufw Project\n"
+"Shield logo © 2007 Michael Spiegel"
+msgstr ""
+
+#: ../gufw/view/guiGufw.py:1050
+msgid "Graphical user interface for ufw"
+msgstr ""
+
+#: ../gufw/view/guiGufw.py:1071
+msgid "translator-credits"
+msgstr ""
+
+#: ../gufw/view/guiGufw.py:1074
+msgid ""
+"The shield logo is licensed under a Creative Commons\n"
+"Attribution 3.0 Unported License. See for more information:\n"
+"http://creativecommons.org/licenses/by/3.0/\n";
+"\n"
+"All other content is licensed under the GPL-3+.\n"
+"\n"
+"Gufw is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as\n"
+"published by the Free Software Foundation; either version 3\n"
+"of the License, or (at your option) any later version.\n"
+"\n"
+"Gufw is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied\n"
+"warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n"
+"PURPOSE.\n"
+"See the GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public\n"
+"License along with Gufw; if not, see for more information:\n"
+"http://www.gnu.org/licenses";
+msgstr ""
+
+#: ../gufw/view/guiGufw.py:1110
 msgid "Reloaded ufw rules"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1050
+#: ../gufw/view/guiGufw.py:1119
 msgid "This will remove all rules and disable the firewall!"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1051
+#: ../gufw/view/guiGufw.py:1120
 msgid "Do you want to continue?"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1052
+#: ../gufw/view/guiGufw.py:1121
 msgid "Reset Firewall"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1060
+#: ../gufw/view/guiGufw.py:1129
 msgid "Removed rules and reset firewall!"
 msgstr ""
 
-#: gufw/view/guiGufw.py:1159 gufw/view/guiGufw.py:1161
+#: ../gufw/view/guiGufw.py:1207 ../gufw/view/guiGufw.py:1209
 msgid " on "
 msgstr ""
 
-#: gufw/view/guiGufw.py:1191 data/ui/main.glade:129
+#: ../gufw/view/guiGufw.py:1239 ../data/ui/main.ui.h:9
 msgid "Firewall"
 msgstr ""
 
-#: data/ui/about.glade:8
-msgid "Firewall: About"
-msgstr ""
-
-#: data/ui/about.glade:15
-msgid "© 2008-2011 The Gufw project"
-msgstr ""
-
-#: data/ui/about.glade:16
-msgid "Graphic user interface for ufw"
-msgstr ""
-
-#: data/ui/about.glade:49
-msgid "translator-credits"
-msgstr ""
-
-#: data/ui/add.glade:287
+#. Expired time notification blocked by bug #390508
+#: ../data/ui/add.ui.h:1
+msgid "Advanced"
+msgstr ""
+
+#: ../data/ui/add.ui.h:2
+msgid "Clean values in boxes"
+msgstr ""
+
+#: ../data/ui/add.ui.h:3
 msgid "Firewall: Add Rule"
 msgstr ""
 
-#: data/ui/add.glade:306
+#: ../data/ui/add.ui.h:4
+msgid "From:"
+msgstr ""
+
+#: ../data/ui/add.ui.h:5
+msgid "IP Address"
+msgstr ""
+
+#: ../data/ui/add.ui.h:6
+msgid "Port (Range PortA:PortB)"
+msgstr ""
+
+#: ../data/ui/add.ui.h:7
+msgid "Port or service"
+msgstr ""
+
+#: ../data/ui/add.ui.h:8
+msgid "Preconfigured"
+msgstr ""
+
+#: ../data/ui/add.ui.h:9
+msgid "Rule number to insert"
+msgstr ""
+
+#: ../data/ui/add.ui.h:10
 msgid "Show extended actions"
 msgstr ""
 
-#: data/ui/add.glade:385 data/ui/add.glade:623 data/ui/add.glade:833
-msgid "Rule  number to insert"
-msgstr ""
-
-#: data/ui/add.glade:607
-msgid "Preconfigured"
-msgstr ""
-
-#: data/ui/add.glade:730
-msgid "Port or service"
-msgstr ""
-
-#: data/ui/add.glade:813
+#: ../data/ui/add.ui.h:11
 msgid "Simple"
 msgstr ""
 
-#: data/ui/add.glade:1004 data/ui/add.glade:1024
-msgid "Port (Range PortA:PortB)"
-msgstr ""
-
-#: data/ui/add.glade:1042 data/ui/add.glade:1062
-msgid "IP Address"
-msgstr ""
-
-#: data/ui/add.glade:1077
-msgid "From:"
-msgstr ""
-
-#: data/ui/add.glade:1090
+#: ../data/ui/add.ui.h:12
 msgid "To:"
 msgstr ""
 
-#: data/ui/add.glade:1116
-msgid "Clean values in boxes"
-msgstr ""
-
-#: data/ui/add.glade:1172
-msgid "Advanced"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:17
+#: ../data/ui/extra_translations_no_distribute.ui.h:1
+msgid "ALLOW"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:2
 msgid "ALLOW IN"
 msgstr ""
 
-#: data/ui/extra_translations_no_distribute.glade:24
+#: ../data/ui/extra_translations_no_distribute.ui.h:3
+msgid "ALLOW OUT"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:4
+msgid "Anywhere"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:5
+msgid "DENY"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:6
 msgid "DENY IN"
 msgstr ""
 
-#: data/ui/extra_translations_no_distribute.glade:35
-msgid "REJECT IN"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:46
+#: ../data/ui/extra_translations_no_distribute.ui.h:7
+msgid "DENY OUT"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:8
+msgid "LIMIT"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:9
 msgid "LIMIT IN"
 msgstr ""
 
-#: data/ui/extra_translations_no_distribute.glade:57
-msgid "ALLOW OUT"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:68
-msgid "DENY OUT"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:81
-msgid "REJECT OUT"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:94
+#: ../data/ui/extra_translations_no_distribute.ui.h:10
 msgid "LIMIT OUT"
 msgstr ""
 
-#: data/ui/extra_translations_no_distribute.glade:107
-msgid "ALLOW"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:118
-msgid "DENY"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:131
+#: ../data/ui/extra_translations_no_distribute.ui.h:11
 msgid "REJECT"
 msgstr ""
 
-#: data/ui/extra_translations_no_distribute.glade:144
-msgid "LIMIT"
-msgstr ""
-
-#: data/ui/extra_translations_no_distribute.glade:160
-msgid "Anywhere"
-msgstr ""
-
-#: data/ui/log.glade:7
+#: ../data/ui/extra_translations_no_distribute.ui.h:12
+msgid "REJECT IN"
+msgstr ""
+
+#: ../data/ui/extra_translations_no_distribute.ui.h:13
+msgid "REJECT OUT"
+msgstr ""
+
+#: ../data/ui/log.ui.h:1
 msgid "Firewall: Log"
 msgstr ""
 
-#: data/ui/log.glade:26
+#: ../data/ui/log.ui.h:2
+msgid "Remove all Gufw log"
+msgstr ""
+
+#: ../data/ui/log.ui.h:3
 msgid "Show for server script"
 msgstr ""
 
-#: data/ui/log.glade:30
+#: ../data/ui/log.ui.h:4
 msgid "Use this for create a script"
 msgstr ""
 
-#: data/ui/log.glade:51
-msgid "Remove all Gufw log"
-msgstr ""
-
-#: data/ui/main.glade:144
-msgid "_File"
-msgstr ""
-
-#: data/ui/main.glade:152
-msgid "Log..."
-msgstr ""
-
-#: data/ui/main.glade:185
-msgid "_Edit"
-msgstr ""
-
-#: data/ui/main.glade:193
+#: ../data/ui/main.ui.h:1
+msgid "<b>Actual Status</b>"
+msgstr ""
+
+#: ../data/ui/main.ui.h:2
+msgid "<b>Listening Report</b>"
+msgstr ""
+
+#: ../data/ui/main.ui.h:3
+msgid "<b>Rules</b>"
+msgstr ""
+
+#: ../data/ui/main.ui.h:4
 msgid "Add Rule..."
 msgstr ""
 
-#: data/ui/main.glade:204
-msgid "Remove Rule"
-msgstr ""
-
-#: data/ui/main.glade:222
-msgid "Reload rules"
-msgstr ""
-
-#: data/ui/main.glade:233
-msgid "Reset Firewall..."
-msgstr ""
-
-#: data/ui/main.glade:269
-msgid "_Help"
-msgstr ""
-
-#: data/ui/main.glade:277
+#: ../data/ui/main.ui.h:5
+msgid "Allow"
+msgstr ""
+
+#: ../data/ui/main.ui.h:6
+msgid "Deny"
+msgstr ""
+
+#: ../data/ui/main.ui.h:7
 msgid "Documentation..."
 msgstr ""
 
-#: data/ui/main.glade:288
+#: ../data/ui/main.ui.h:8
+msgid "Enabled"
+msgstr ""
+
+#: ../data/ui/main.ui.h:10
 msgid "Get Help Online..."
 msgstr ""
 
-#: data/ui/main.glade:299
-msgid "Report a Problem..."
-msgstr ""
-
-#: data/ui/main.glade:310
-msgid "Translate This Application..."
-msgstr ""
-
-#: data/ui/main.glade:365
-msgid "<b>Actual Status</b>"
-msgstr ""
-
-#: data/ui/main.glade:376
-msgid "Enabled"
-msgstr ""
-
-#: data/ui/main.glade:421
+#: ../data/ui/main.ui.h:11
 msgid "Incoming:"
 msgstr ""
 
-#: data/ui/main.glade:432
+#: ../data/ui/main.ui.h:12
+msgid "Log..."
+msgstr ""
+
+#: ../data/ui/main.ui.h:13
 msgid "Outgoing:"
 msgstr ""
 
-#: data/ui/main.glade:548
-msgid "<b>Rules</b>"
-msgstr ""
-
-#: data/ui/main.glade:612
+#: ../data/ui/main.ui.h:14
+msgid "Reject"
+msgstr ""
+
+#: ../data/ui/main.ui.h:15
+msgid "Reload rules"
+msgstr ""
+
+#: ../data/ui/main.ui.h:16
+msgid "Remove Rule"
+msgstr ""
+
+#: ../data/ui/main.ui.h:17
+msgid "Remove selected rule"
+msgstr ""
+
+#: ../data/ui/main.ui.h:18
+msgid "Report a Problem..."
+msgstr ""
+
+#: ../data/ui/main.ui.h:19
+msgid "Reset Firewall..."
+msgstr ""
+
+#: ../data/ui/main.ui.h:20
+msgid "Show Add Rule window"
+msgstr ""
+
+#: ../data/ui/main.ui.h:21
+msgid "Translate this Application..."
+msgstr ""
+
+#: ../data/ui/main.ui.h:22
 msgid "Unlock"
 msgstr ""
 
-#: data/ui/main.glade:658
-msgid "Show Add Rule window"
-msgstr ""
-
-#: data/ui/main.glade:676
-msgid "Remove selected rule"
-msgstr ""
-
-#: data/ui/main.glade:717
-msgid "<b>Listening Report</b>"
-msgstr ""
-
-#: data/ui/preferences.glade:30
+#: ../data/ui/main.ui.h:23
+msgid "_Edit"
+msgstr ""
+
+#: ../data/ui/main.ui.h:24
+msgid "_File"
+msgstr ""
+
+#: ../data/ui/main.ui.h:25
+msgid "_Help"
+msgstr ""
+
+#: ../data/ui/preferences.ui.h:1
+msgid "<b>Gufw Options</b>"
+msgstr ""
+
+#: ../data/ui/preferences.ui.h:2
+msgid "<b>ufw Options</b>"
+msgstr ""
+
+#: ../data/ui/preferences.ui.h:3
 msgid "Firewall: Preferences"
 msgstr ""
 
-#: data/ui/preferences.glade:59
+#: ../data/ui/preferences.ui.h:4
+msgid "Listening Report"
+msgstr ""
+
+#: ../data/ui/preferences.ui.h:5
 msgid "Logging"
 msgstr ""
 
-#: data/ui/preferences.glade:74
-msgid "Listening Report"
+#: ../data/ui/preferences.ui.h:6
+msgid "Logging:"
 msgstr ""
 
-#: data/ui/preferences.glade:78
+#: ../data/ui/preferences.ui.h:7
 msgid ""
 "Ports in the listening state for TCP and open state for UDP.\n"
 "Enabled: Will consume more CPU resources."
 msgstr ""
 
-#: data/ui/preferences.glade:91
+#: ../data/ui/preferences.ui.h:9
 msgid "Show notifications"
 msgstr ""
 
-#: data/ui/preferences.glade:95
+#: ../data/ui/preferences.ui.h:10
 msgid "Will show new connections in Listening Report"
 msgstr ""
-
-#: data/ui/preferences.glade:112
-msgid "<b>Gufw Options</b>"
-msgstr ""
-
-#: data/ui/preferences.glade:141
-msgid "Logging:"
-msgstr ""
-
-#: data/ui/preferences.glade:179
-msgid "<b>ufw Options</b>"
-msgstr ""

=== modified file 'setup.py'
--- setup.py	2011-05-07 18:17:14 +0000
+++ setup.py	2011-08-07 02:49:29 +0000
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Gufw 11.10.0 - http://gufw.tuxfamily.org
+# Gufw 11.10.1 - http://gufw.tuxfamily.org
 # Copyright (C) 2008-2011 Marcos Alvarez Costales https://launchpad.net/~costales
 #
 # Gufw is free software; you can redistribute it and/or modify
@@ -20,63 +20,36 @@
 import sys, os
 assert sys.version >= '2', "Install Python 2.0 or greater"
 from distutils.core import setup, Extension
+from DistUtilsExtra.command import *
 import glob
 
-
 # Create data files
-data = [ ('/usr/share/applications',             ['gufw.desktop']),
-         ('/usr/share/gufw/data/ui',             glob.glob("data/ui/*.ui")),                
-         ('/usr/bin',                            ['bin/gufw']),      
-         ('/usr/share/icons/hicolor/48x48/apps', glob.glob("data/media/gufw.png")),         
-         ('/usr/share/man/man8',                 ['man/gufw.8.gz']),             
-         ('/usr/share/gufw/model',               glob.glob("gufw/model/*.*")),                
-         ('/usr/share/gufw/view',                glob.glob("gufw/view/*.*")),                 
-         ('/usr/share/gufw/data/media',          glob.glob("data/media/deny*.png")),
-         ('/usr/share/gufw/data/media',          glob.glob("data/media/disable*.png")),              
-         ('/usr/share/gufw/data/media',          glob.glob("data/media/allow*.png")),            
-         ('/usr/share/gufw/data/media',          glob.glob("data/media/reject*.png")),            
-         ('/usr/share/gufw',                     glob.glob("gufw/*.py")),
-         ('/usr/share/polkit-1/actions',         ['gufw/daemon/gufw.daemon.policy']),
-         ('/etc/dbus-1/system.d',                ['gufw/daemon/gufw.Daemon.conf']),
-         ('/usr/share/dbus-1/system-services',   ['gufw/daemon/gufw.Daemon.service']),
-         ('/usr/share/gufw/daemon',              ['gufw/daemon/gufw_daemon.py']) ]
-
-
-# Create mo aux directory
-if not os.path.exists("mo"):
-    os.mkdir("mo")
-# Compile from po to mo directory
-for i in os.listdir("po"):
-    print(i)
-    po_file = i.split("-")[1]       # Real file name
-    po_lang = po_file.split(".")[0] # Language
-    mo_dir = "mo/%s"%po_lang        # Create directories
-    if not os.path.exists(mo_dir):
-        os.mkdir(mo_dir)
-    mo_dir = "mo/%s/LC_MESSAGES"%po_lang
-    if not os.path.exists(mo_dir):
-        os.mkdir(mo_dir)
-    cmd = "msgfmt po/gufw-%1 -c -o mo/%2/LC_MESSAGES/gufw.mo"
-    cmd = cmd.replace("%1", po_file)
-    cmd = cmd.replace("%2", po_lang)
-    os.system(cmd)
-# Adding locales to data files:
-for i in os.listdir("./mo/"):
-    locale = ("/usr/share/locale/%s/LC_MESSAGES/"%i,["mo/%s/LC_MESSAGES/gufw.mo"%i])
-    data.append(locale)
-
-
+data = [ ('/usr/bin',                       ['bin/gufw']),
+         ('share/applications',             ['gufw.desktop']),
+         ('share/man/man8',                 ['man/gufw.8.gz']),
+         ('share/gufw',                     glob.glob("gufw/*.py")),
+         ('share/gufw/data/media',          glob.glob("data/media/*.png")),
+         ('share/gufw/data/ui',             glob.glob("data/ui/*.ui")),
+         ('share/gufw/model',               glob.glob("gufw/model/*.*")),
+         ('share/gufw/view',                glob.glob("gufw/view/*.*")),
+         ('/etc/dbus-1/system.d',           ['gufw/daemon/gufw.Daemon.conf']),
+         ('share/dbus-1/system-services',   ['gufw/daemon/gufw.Daemon.service']),
+         ('share/gufw/daemon',              ['gufw/daemon/gufw_daemon.py']),
+         ('share/polkit-1/actions',         ['gufw/daemon/gufw.daemon.policy']),
+         ]
 
 # Setup stage
 setup(
-    name         = "Gufw",
-    version      = "11.10.0",
+    name         = "gufw",
+    version      = "11.10.1",
     description  = "An easy, intuitive, way to manage your Linux firewall. It supports common tasks such as allowing or blocking pre-configured, common p2p, or individual ports port(s), and many others!",
     author       = "Marcos Alvarez Costales https://launchpad.net/~costales";,
     author_email = "https://launchpad.net/~costales";,
     url          = "http://gufw.tuxfamily.org";,
     license      = "GPL3",
-    packages     = ["doc"],
-    data_files   = data
+    data_files   = data,
+    cmdclass     = {"build" : build_extra.build_extra,
+        "build_i18n" :  build_i18n.build_i18n,
+        "build_icons" :  build_icons.build_icons },
     )