gufw-developers team mailing list archive
-
gufw-developers team
-
Mailing list archive
-
Message #00865
[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"><b>Gufw Options</b></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"><b>ufw Options</b></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"><b>ufw Options</b></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"><b>Gufw Options</b></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 },
)