Re: [PATCH 1/1] gui: port to Python 3 by migrating to PyGI

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

 



On Wed, 2017-09-20 at 08:56 +0200, Nicolas Iooss wrote:
> PyGTK has been deprecated in favor of PyGI+GTK and thus has never
> been
> ported to python3. Using pygi-convert.sh from
> https://git.gnome.org/browse/pygobject/tree/pygi-convert.sh helps
> migrating most of the API but gnome-python.
> 
> The glade file has been converted to GtkBuilder using
> 
>   gtk-builder-convert system-config-selinux.glade system-config-
> selinux.ui
> 
> and some fixes in order to provide an application window (object
> GnomeApp disappeared, GtkVBox is deprecated, etc.). The associated
> Python code also needed some modifications in order to migrate to
> GtkBuilder.
> 
> The result has been tested on Arch Linux with Python 3.6. There are
> some
> bugs in the GUI itself, for which patches will be sent afterwards.

Thanks, applied.

> 
> Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx>
> ---
>  gui/Makefile                    |    2 +-
>  gui/booleansPage.py             |   56 +-
>  gui/domainsPage.py              |   25 +-
>  gui/fcontextPage.py             |   33 +-
>  gui/loginsPage.py               |   28 +-
>  gui/modulesPage.py              |   41 +-
>  gui/polgengui.py                |  118 +-
>  gui/portsPage.py                |   41 +-
>  gui/semanagePage.py             |   52 +-
>  gui/statusPage.py               |   36 +-
>  gui/system-config-selinux.glade | 3005 ---------------------------
> ------------
>  gui/system-config-selinux.py    |   69 +-
>  gui/system-config-selinux.ui    | 2043 ++++++++++++++++++++++++++
>  gui/usersPage.py                |   24 +-
>  14 files changed, 2281 insertions(+), 3292 deletions(-)
>  delete mode 100644 gui/system-config-selinux.glade
>  create mode 100644 gui/system-config-selinux.ui
> 
> diff --git a/gui/Makefile b/gui/Makefile
> index 4fc2c1a133be..ac844b6b9198 100644
> --- a/gui/Makefile
> +++ b/gui/Makefile
> @@ -17,8 +17,8 @@ polgen.glade \
>  portsPage.py \
>  semanagePage.py \
>  statusPage.py \
> -system-config-selinux.glade \
>  system-config-selinux.png \
> +system-config-selinux.ui \
>  usersPage.py
>  
>  all: $(TARGETS) system-config-selinux.py polgengui.py
> diff --git a/gui/booleansPage.py b/gui/booleansPage.py
> index a5d04bf5b90c..7849bea26a06 100644
> --- a/gui/booleansPage.py
> +++ b/gui/booleansPage.py
> @@ -18,13 +18,8 @@
>  # You should have received a copy of the GNU General Public License
>  # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  #
> -import string
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
>  import sys
> -import tempfile
> +from gi.repository import Gdk, GObject, Gtk
>  import seobject
>  import semanagePage
>  
> @@ -61,8 +56,6 @@ except:
>          import __builtin__
>          __builtin__.__dict__['_'] = unicode
>  
> -from glob import fnmatch
> -
>  
>  class Modifier:
>  
> @@ -94,56 +87,53 @@ class booleansPage:
>  
>      def __init__(self, xml, doDebug=None):
>          self.xml = xml
> -        self.window =
> self.xml.get_widget("mainWindow").get_root_window()
> +        self.window =
> self.xml.get_object("mainWindow").get_root_window()
>          self.local = False
>          self.types = []
>          self.selinuxsupport = True
>          self.typechanged = False
>          self.doDebug = doDebug
> -        self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
> -        self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
> +        self.busy_cursor = Gdk.Cursor.new(Gdk.CursorType.WATCH)
> +        self.ready_cursor = Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR)
>  
>          # Bring in widgets from glade file.
> -        self.typeHBox = xml.get_widget("typeHBox")
> -        self.booleanSW = xml.get_widget("booleanSW")
> -        self.booleansFilter = xml.get_widget("booleansFilter")
> +        self.booleansFilter = xml.get_object("booleansFilter")
>          self.booleansFilter.connect("focus_out_event",
> self.filter_changed)
>          self.booleansFilter.connect("activate", self.filter_changed)
> +        self.booleansFilter.connect("changed", self.filter_changed)
>  
> -        self.booleansView = xml.get_widget("booleansView")
> -        self.typeLabel = xml.get_widget("typeLabel")
> -        self.modifySeparator = xml.get_widget("modifySeparator")
> +        self.booleansView = xml.get_object("booleansView")
>  
> -        self.revertButton = xml.get_widget("booleanRevertButton")
> +        self.revertButton = xml.get_object("booleanRevertButton")
>          self.revertButton.set_sensitive(self.local)
>          self.revertButton.connect("clicked", self.on_revert_clicked)
> -        listStore = gtk.ListStore(gobject.TYPE_STRING)
> -        cell = gtk.CellRendererText()
> +        listStore = Gtk.ListStore(GObject.TYPE_STRING)
> +        cell = Gtk.CellRendererText()
>  
> -        self.store = gtk.ListStore(gobject.TYPE_BOOLEAN,
> gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
> -        self.store.set_sort_column_id(1, gtk.SORT_ASCENDING)
> +        self.store = Gtk.ListStore(GObject.TYPE_BOOLEAN,
> GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING)
> +        self.store.set_sort_column_id(1, Gtk.SortType.ASCENDING)
>          self.booleansView.set_model(self.store)
>  
> -        checkbox = gtk.CellRendererToggle()
> +        checkbox = Gtk.CellRendererToggle()
>          checkbox.connect("toggled", self.boolean_toggled)
> -        col = gtk.TreeViewColumn('Active', checkbox, active=ACTIVE)
> +        col = Gtk.TreeViewColumn('Active', checkbox, active=ACTIVE)
>          col.set_clickable(True)
>          col.set_sort_column_id(ACTIVE)
>          self.booleansView.append_column(col)
>  
> -        col = gtk.TreeViewColumn("Module", gtk.CellRendererText(),
> text=MODULE)
> +        col = Gtk.TreeViewColumn("Module", Gtk.CellRendererText(),
> text=MODULE)
>          col.set_sort_column_id(MODULE)
>          col.set_resizable(True)
>          self.booleansView.append_column(col)
>  
> -        col = gtk.TreeViewColumn("Description",
> gtk.CellRendererText(), text=DESC)
> -        col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
> +        col = Gtk.TreeViewColumn("Description",
> Gtk.CellRendererText(), text=DESC)
> +        col.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
>          col.set_fixed_width(400)
>          col.set_sort_column_id(DESC)
>          col.set_resizable(True)
>          self.booleansView.append_column(col)
>  
> -        col = gtk.TreeViewColumn("Name", gtk.CellRendererText(),
> text=BOOLEAN)
> +        col = Gtk.TreeViewColumn("Name", Gtk.CellRendererText(),
> text=BOOLEAN)
>          col.set_sort_column_id(BOOLEAN)
>          col.set_resizable(True)
>          self.booleansView.set_search_equal_func(self.__search)
> @@ -152,10 +142,10 @@ class booleansPage:
>          self.load(self.filter)
>  
>      def error(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
> -                                gtk.BUTTONS_CLOSE,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.ERROR,
> +                                Gtk.ButtonsType.CLOSE,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          dlg.run()
>          dlg.destroy()
> @@ -178,11 +168,11 @@ class booleansPage:
>  
>      def deleteDialog(self):
>          store, iter =
> self.booleansView.get_selection().get_selected()
> -        if iter == None:
> +        if iter is None:
>              return
>          boolean = store.get_value(iter, BOOLEAN)
>          # change cursor
> -        if boolean == None:
> +        if boolean is None:
>              return
>          try:
>              self.wait()
> diff --git a/gui/domainsPage.py b/gui/domainsPage.py
> index 66f882a4e1b6..bad5140d8c59 100644
> --- a/gui/domainsPage.py
> +++ b/gui/domainsPage.py
> @@ -16,19 +16,14 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
>  import os
>  try:
>      from subprocess import getstatusoutput
>  except ImportError:
>      from commands import getstatusoutput
>  
> -import gobject
>  import sys
> -import seobject
> -import selinux
> +from gi.repository import GObject, Gtk
>  import sepolicy
>  from semanagePage import *
>  
> @@ -58,26 +53,26 @@ class domainsPage(semanagePage):
>  
>      def __init__(self, xml):
>          semanagePage.__init__(self, xml, "domains", _("Process
> Domain"))
> -        self.domain_filter = xml.get_widget("domainsFilterEntry")
> +        self.domain_filter = xml.get_object("domainsFilterEntry")
>          self.domain_filter.connect("focus_out_event",
> self.filter_changed)
>          self.domain_filter.connect("activate", self.filter_changed)
>  
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Domain Name"),
> gtk.CellRendererText(), text=0)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Domain Name"),
> Gtk.CellRendererText(), text=0)
>          col.set_sort_column_id(0)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Mode"), gtk.CellRendererText(),
> text=1)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Mode"), Gtk.CellRendererText(),
> text=1)
>          col.set_sort_column_id(1)
>          col.set_resizable(True)
>          self.view.append_column(col)
>          self.view.get_selection().connect("changed",
> self.itemSelected)
>  
> -        self.permissive_button = xml.get_widget("permissiveButton")
> -        self.enforcing_button = xml.get_widget("enforcingButton")
> +        self.permissive_button = xml.get_object("permissiveButton")
> +        self.enforcing_button = xml.get_object("enforcingButton")
>  
>          self.domains = sepolicy.get_all_entrypoint_domains()
>          self.load()
> @@ -112,7 +107,7 @@ class domainsPage(semanagePage):
>  
>      def itemSelected(self, selection):
>          store, iter = selection.get_selected()
> -        if iter == None:
> +        if iter is None:
>              return
>          p = store.get_value(iter, 1) == _("Permissive")
>          self.permissive_button.set_sensitive(not p)
> diff --git a/gui/fcontextPage.py b/gui/fcontextPage.py
> index 2e26666e9049..a6577ef75faf 100644
> --- a/gui/fcontextPage.py
> +++ b/gui/fcontextPage.py
> @@ -16,10 +16,7 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
> +from gi.repository import GObject, Gtk
>  import seobject
>  try:
>      from subprocess import getstatusoutput
> @@ -73,40 +70,40 @@ class fcontextPage(semanagePage):
>  
>      def __init__(self, xml):
>          semanagePage.__init__(self, xml, "fcontext", _("File
> Labeling"))
> -        self.fcontextFilter = xml.get_widget("fcontextFilterEntry")
> +        self.fcontextFilter = xml.get_object("fcontextFilterEntry")
>          self.fcontextFilter.connect("focus_out_event",
> self.filter_changed)
>          self.fcontextFilter.connect("activate", self.filter_changed)
>  
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING, gobject.TYPE_STRING)
> -        self.view = xml.get_widget("fcontextView")
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING, GObject.TYPE_STRING)
> +        self.view = xml.get_object("fcontextView")
>          self.view.set_model(self.store)
>          self.view.set_search_equal_func(self.search)
>  
> -        col = gtk.TreeViewColumn(_("File\nSpecification"),
> gtk.CellRendererText(), text=SPEC_COL)
> -        col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
> +        col = Gtk.TreeViewColumn(_("File\nSpecification"),
> Gtk.CellRendererText(), text=SPEC_COL)
> +        col.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
>          col.set_fixed_width(250)
>  
>          col.set_sort_column_id(SPEC_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        col = gtk.TreeViewColumn(_("Selinux\nFile Type"),
> gtk.CellRendererText(), text=TYPE_COL)
> +        col = Gtk.TreeViewColumn(_("Selinux\nFile Type"),
> Gtk.CellRendererText(), text=TYPE_COL)
>  
> -        col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
> +        col.set_sizing(Gtk.TreeViewColumnSizing.FIXED)
>          col.set_fixed_width(250)
>          col.set_sort_column_id(TYPE_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        col = gtk.TreeViewColumn(_("File\nType"),
> gtk.CellRendererText(), text=2)
> +        col = Gtk.TreeViewColumn(_("File\nType"),
> Gtk.CellRendererText(), text=2)
>          col.set_sort_column_id(FTYPE_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
> -        self.store.set_sort_column_id(SPEC_COL, gtk.SORT_ASCENDING)
> +        self.store.set_sort_column_id(SPEC_COL,
> Gtk.SortType.ASCENDING)
>          self.load()
> -        self.fcontextEntry = xml.get_widget("fcontextEntry")
> -        self.fcontextFileTypeCombo =
> xml.get_widget("fcontextFileTypeCombo")
> -        self.fcontextTypeEntry = xml.get_widget("fcontextTypeEntry")
> -        self.fcontextMLSEntry = xml.get_widget("fcontextMLSEntry")
> +        self.fcontextEntry = xml.get_object("fcontextEntry")
> +        self.fcontextFileTypeCombo =
> xml.get_object("fcontextFileTypeCombo")
> +        self.fcontextTypeEntry = xml.get_object("fcontextTypeEntry")
> +        self.fcontextMLSEntry = xml.get_object("fcontextMLSEntry")
>  
>      def match(self, fcon_dict, k, filter):
>          try:
> @@ -192,7 +189,7 @@ class fcontextPage(semanagePage):
>          mls = self.fcontextMLSEntry.get_text().strip()
>          list_model = self.fcontextFileTypeCombo.get_model()
>          it = self.fcontextFileTypeCombo.get_active_iter()
> -        ftype = list_model.get_value(it,0)
> +        ftype = list_model.get_value(it, 0)
>          self.wait()
>          (rc, out) = getstatusoutput("semanage fcontext -a -t %s -r
> %s -f '%s' '%s'" % (type, mls,
> seobject.file_type_str_to_option[ftype], fspec))
>          self.ready()
> diff --git a/gui/loginsPage.py b/gui/loginsPage.py
> index 1f35a57bc73a..b67eb8bc42af 100644
> --- a/gui/loginsPage.py
> +++ b/gui/loginsPage.py
> @@ -16,17 +16,13 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
>  import sys
>  try:
>      from subprocess import getstatusoutput
>  except ImportError:
>      from commands import getstatusoutput
>  
> +from gi.repository import GObject, Gtk
>  import seobject
>  from semanagePage import *
>  
> @@ -57,23 +53,23 @@ class loginsPage(semanagePage):
>      def __init__(self, xml):
>          self.firstTime = False
>          semanagePage.__init__(self, xml, "logins", _("User
> Mapping"))
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING, gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING, GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Login\nName"),
> gtk.CellRendererText(), text=0)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Login\nName"),
> Gtk.CellRendererText(), text=0)
>          col.set_sort_column_id(0)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        col = gtk.TreeViewColumn(_("SELinux\nUser"),
> gtk.CellRendererText(), text=1)
> +        col = Gtk.TreeViewColumn(_("SELinux\nUser"),
> Gtk.CellRendererText(), text=1)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        col = gtk.TreeViewColumn(_("MLS/\nMCS Range"),
> gtk.CellRendererText(), text=2)
> +        col = Gtk.TreeViewColumn(_("MLS/\nMCS Range"),
> Gtk.CellRendererText(), text=2)
>          col.set_resizable(True)
>          self.view.append_column(col)
>          self.load()
> -        self.loginsNameEntry = xml.get_widget("loginsNameEntry")
> -        self.loginsSelinuxUserCombo =
> xml.get_widget("loginsSelinuxUserCombo")
> -        self.loginsMLSEntry = xml.get_widget("loginsMLSEntry")
> +        self.loginsNameEntry = xml.get_object("loginsNameEntry")
> +        self.loginsSelinuxUserCombo =
> xml.get_object("loginsSelinuxUserCombo")
> +        self.loginsMLSEntry = xml.get_object("loginsMLSEntry")
>  
>      def load(self, filter=""):
>          self.filter = filter
> @@ -91,12 +87,12 @@ class loginsPage(semanagePage):
>          self.view.get_selection().select_path((0,))
>  
>      def __dialogSetup(self):
> -        if self.firstTime == True:
> +        if self.firstTime:
>              return
>          self.firstTime = True
> -        liststore = gtk.ListStore(gobject.TYPE_STRING)
> +        liststore = Gtk.ListStore(GObject.TYPE_STRING)
>          self.loginsSelinuxUserCombo.set_model(liststore)
> -        cell = gtk.CellRendererText()
> +        cell = Gtk.CellRendererText()
>          self.loginsSelinuxUserCombo.pack_start(cell, True)
>          self.loginsSelinuxUserCombo.add_attribute(cell, 'text', 0)
>  
> diff --git a/gui/modulesPage.py b/gui/modulesPage.py
> index 37678966866f..c7fde9ea1ef8 100644
> --- a/gui/modulesPage.py
> +++ b/gui/modulesPage.py
> @@ -16,21 +16,16 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
> -import os
> +import sys
> +from subprocess import Popen, PIPE
>  try:
>      from subprocess import getstatusoutput
>  except ImportError:
>      from commands import getstatusoutput
>  
> -import gobject
> -import sys
> -import seobject
> +from gi.repository import GObject, Gtk
>  import selinux
>  from semanagePage import *
> -from subprocess import Popen, PIPE
>  
>  ##
>  ## I18N
> @@ -58,23 +53,23 @@ class modulesPage(semanagePage):
>  
>      def __init__(self, xml):
>          semanagePage.__init__(self, xml, "modules", _("Policy
> Module"))
> -        self.module_filter = xml.get_widget("modulesFilterEntry")
> +        self.module_filter = xml.get_object("modulesFilterEntry")
>          self.module_filter.connect("focus_out_event",
> self.filter_changed)
>          self.module_filter.connect("activate", self.filter_changed)
>          self.audit_enabled = False
>  
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Module Name"),
> gtk.CellRendererText(), text=0)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Module Name"),
> Gtk.CellRendererText(), text=0)
>          col.set_sort_column_id(0)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Version"),
> gtk.CellRendererText(), text=1)
> -        self.enable_audit_button =
> xml.get_widget("enableAuditButton")
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Version"),
> Gtk.CellRendererText(), text=1)
> +        self.enable_audit_button =
> xml.get_object("enableAuditButton")
>          self.enable_audit_button.connect("clicked",
> self.enable_audit)
> -        self.new_button = xml.get_widget("newModuleButton")
> +        self.new_button = xml.get_object("newModuleButton")
>          self.new_button.connect("clicked", self.new_module)
>          col.set_sort_column_id(1)
>          col.set_resizable(True)
> @@ -170,20 +165,20 @@ class modulesPage(semanagePage):
>          return
>  
>      def addDialog(self):
> -        dialog = gtk.FileChooserDialog(_("Load Policy Module"),
> +        dialog = Gtk.FileChooserDialog(_("Load Policy Module"),
>                                         None,
> -                                       gtk.FILE_CHOOSER_ACTION_OPEN,
> -                                       (gtk.STOCK_CANCEL,
> gtk.RESPONSE_CANCEL,
> -                                        gtk.STOCK_OPEN,
> gtk.RESPONSE_OK))
> -        dialog.set_default_response(gtk.RESPONSE_OK)
> +                                       Gtk.FileChooserAction.OPEN,
> +                                       (Gtk.STOCK_CANCEL,
> Gtk.ResponseType.CANCEL,
> +                                        Gtk.STOCK_OPEN,
> Gtk.ResponseType.OK))
> +        dialog.set_default_response(Gtk.ResponseType.OK)
>  
> -        filter = gtk.FileFilter()
> +        filter = Gtk.FileFilter()
>          filter.set_name("Policy Files")
>          filter.add_pattern("*.pp")
>          dialog.add_filter(filter)
>  
>          response = dialog.run()
> -        if response == gtk.RESPONSE_OK:
> +        if response == Gtk.ResponseType.OK:
>              self.add(dialog.get_filename())
>          dialog.destroy()
>  
> diff --git a/gui/polgengui.py b/gui/polgengui.py
> index 7460cce2911c..af6b822b86b8 100644
> --- a/gui/polgengui.py
> +++ b/gui/polgengui.py
> @@ -22,11 +22,11 @@
>  #
>  import signal
>  import string
> -import gtk
> -import gtk.glade
> +import gi
> +gi.require_version('Gtk', '3.0')
> +from gi.repository import Gtk
>  import os
> -import gobject
> -import gnome
> +from gi.repository import GObject
>  import sys
>  try:
>      import sepolicy
> @@ -79,8 +79,6 @@ except:
>          import __builtin__
>          __builtin__.__dict__['_'] = unicode
>  
> -gnome.program_init("SELinux Policy Generation Tool", "5")
> -
>  version = "1.0"
>  
>  sys.path.append('/usr/share/system-config-selinux')
> @@ -95,10 +93,12 @@ def foreach(model, path, iter, selected):
>  ##
>  ## Pull in the Glade file
>  ##
> +xml = Gtk.Builder()
> +xml.set_translation_domain(PROGNAME)
>  if os.access("polgen.glade", os.F_OK):
> -    xml = gtk.glade.XML("polgen.glade", domain=PROGNAME)
> +    xml.add_from_file("polgen.glade")
>  else:
> -    xml = gtk.glade.XML("/usr/share/system-config-
> selinux/polgen.glade", domain=PROGNAME)
> +    xml.add_from_file("/usr/share/system-config-
> selinux/polgen.glade")
>  
>  FILE = 1
>  DIR = 2
> @@ -277,27 +277,27 @@ class childWindow:
>              b.connect("clicked", self.network_all_clicked)
>  
>          self.boolean_treeview =
> self.xml.get_widget("boolean_treeview")
> -        self.boolean_store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING)
> +        self.boolean_store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING)
>          self.boolean_treeview.set_model(self.boolean_store)
> -        self.boolean_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Name"), gtk.CellRendererText(),
> text=0)
> +        self.boolean_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Name"), Gtk.CellRendererText(),
> text=0)
>          self.boolean_treeview.append_column(col)
> -        col = gtk.TreeViewColumn(_("Description"),
> gtk.CellRendererText(), text=1)
> +        col = Gtk.TreeViewColumn(_("Description"),
> Gtk.CellRendererText(), text=1)
>          self.boolean_treeview.append_column(col)
>  
>          self.role_treeview = self.xml.get_widget("role_treeview")
> -        self.role_store = gtk.ListStore(gobject.TYPE_STRING)
> +        self.role_store = Gtk.ListStore(GObject.TYPE_STRING)
>          self.role_treeview.set_model(self.role_store)
> -        self.role_treeview.get_selection().set_mode(gtk.SELECTION_MU
> LTIPLE)
> -        self.role_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Role"), gtk.CellRendererText(),
> text=0)
> +        self.role_treeview.get_selection().set_mode(Gtk.SelectionMod
> e.MULTIPLE)
> +        self.role_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Role"), Gtk.CellRendererText(),
> text=0)
>          self.role_treeview.append_column(col)
>  
>          self.existing_user_treeview =
> self.xml.get_widget("existing_user_treeview")
> -        self.existing_user_store =
> gtk.ListStore(gobject.TYPE_STRING)
> +        self.existing_user_store =
> Gtk.ListStore(GObject.TYPE_STRING)
>          self.existing_user_treeview.set_model(self.existing_user_sto
> re)
> -        self.existing_user_store.set_sort_column_id(0,
> gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Existing_User"),
> gtk.CellRendererText(), text=0)
> +        self.existing_user_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Existing_User"),
> Gtk.CellRendererText(), text=0)
>          self.existing_user_treeview.append_column(col)
>  
>          for i in self.all_roles:
> @@ -307,19 +307,19 @@ class childWindow:
>          self.in_tcp_reserved_checkbutton =
> xml.get_widget("in_tcp_reserved_checkbutton")
>  
>          self.transition_treeview =
> self.xml.get_widget("transition_treeview")
> -        self.transition_store = gtk.ListStore(gobject.TYPE_STRING)
> +        self.transition_store = Gtk.ListStore(GObject.TYPE_STRING)
>          self.transition_treeview.set_model(self.transition_store)
> -        self.transition_treeview.get_selection().set_mode(gtk.SELECT
> ION_MULTIPLE)
> -        self.transition_store.set_sort_column_id(0,
> gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Application"),
> gtk.CellRendererText(), text=0)
> +        self.transition_treeview.get_selection().set_mode(Gtk.Select
> ionMode.MULTIPLE)
> +        self.transition_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Application"),
> Gtk.CellRendererText(), text=0)
>          self.transition_treeview.append_column(col)
>  
>          self.user_transition_treeview =
> self.xml.get_widget("user_transition_treeview")
> -        self.user_transition_store =
> gtk.ListStore(gobject.TYPE_STRING)
> +        self.user_transition_store =
> Gtk.ListStore(GObject.TYPE_STRING)
>          self.user_transition_treeview.set_model(self.user_transition
> _store)
> -        self.user_transition_treeview.get_selection().set_mode(gtk.S
> ELECTION_MULTIPLE)
> -        self.user_transition_store.set_sort_column_id(0,
> gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Application"),
> gtk.CellRendererText(), text=0)
> +        self.user_transition_treeview.get_selection().set_mode(Gtk.S
> electionMode.MULTIPLE)
> +        self.user_transition_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Application"),
> Gtk.CellRendererText(), text=0)
>          self.user_transition_treeview.append_column(col)
>  
>          for i in self.all_users:
> @@ -329,11 +329,11 @@ class childWindow:
>              self.existing_user_store.set_value(iter, 0, i[:-2])
>  
>          self.admin_treeview = self.xml.get_widget("admin_treeview")
> -        self.admin_store = gtk.ListStore(gobject.TYPE_STRING)
> +        self.admin_store = Gtk.ListStore(GObject.TYPE_STRING)
>          self.admin_treeview.set_model(self.admin_store)
> -        self.admin_treeview.get_selection().set_mode(gtk.SELECTION_M
> ULTIPLE)
> -        self.admin_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> -        col = gtk.TreeViewColumn(_("Application"),
> gtk.CellRendererText(), text=0)
> +        self.admin_treeview.get_selection().set_mode(Gtk.SelectionMo
> de.MULTIPLE)
> +        self.admin_store.set_sort_column_id(0,
> Gtk.SortType.ASCENDING)
> +        col = Gtk.TreeViewColumn(_("Application"),
> Gtk.CellRendererText(), text=0)
>          self.admin_treeview.append_column(col)
>  
>          try:
> @@ -383,17 +383,17 @@ class childWindow:
>  
>          if self.pages[type][self.current_page] == self.FINISH_PAGE:
>              self.generate_policy()
> -            self.xml.get_widget("cancel_button").set_label(gtk.STOCK
> _CLOSE)
> +            self.xml.get_widget("cancel_button").set_label(Gtk.STOCK
> _CLOSE)
>          else:
>              self.current_page = self.current_page + 1
>              self.notebook.set_current_page(self.pages[type][self.cur
> rent_page])
>              if self.pages[type][self.current_page] ==
> self.FINISH_PAGE:
> -                self.forward_button.set_label(gtk.STOCK_APPLY)
> +                self.forward_button.set_label(Gtk.STOCK_APPLY)
>  
>      def back(self, arg):
>          type = self.get_type()
>          if self.pages[type][self.current_page] == self.FINISH_PAGE:
> -            self.forward_button.set_label(gtk.STOCK_GO_FORWARD)
> +            self.forward_button.set_label(Gtk.STOCK_GO_FORWARD)
>  
>          self.current_page = self.current_page - 1
>          self.notebook.set_current_page(self.pages[type][self.current
> _page])
> @@ -406,30 +406,30 @@ class childWindow:
>              b.set_sensitive(not active)
>  
>      def verify(self, message, title=""):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
> -                                gtk.BUTTONS_YES_NO,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
> +                                Gtk.ButtonsType.YES_NO,
>                                  message)
>          dlg.set_title(title)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          rc = dlg.run()
>          dlg.destroy()
>          return rc
>  
>      def info(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
> -                                gtk.BUTTONS_OK,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
> +                                Gtk.ButtonsType.OK,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          dlg.run()
>          dlg.destroy()
>  
>      def error(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
> -                                gtk.BUTTONS_CLOSE,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.ERROR,
> +                                Gtk.ButtonsType.CLOSE,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          dlg.run()
>          dlg.destroy()
> @@ -550,7 +550,7 @@ class childWindow:
>          self.boolean_description_entry.set_text("")
>          rc = self.boolean_dialog.run()
>          self.boolean_dialog.hide()
> -        if rc == gtk.RESPONSE_CANCEL:
> +        if rc == Gtk.ResponseType.CANCEL:
>              return
>          iter = self.boolean_store.append()
>          self.boolean_store.set_value(iter, 0,
> self.boolean_name_entry.get_text())
> @@ -559,7 +559,7 @@ class childWindow:
>      def __add(self, type):
>          rc = self.file_dialog.run()
>          self.file_dialog.hide()
> -        if rc == gtk.RESPONSE_CANCEL:
> +        if rc == Gtk.ResponseType.CANCEL:
>              return
>          for i in self.file_dialog.get_filenames():
>              iter = self.store.append()
> @@ -569,29 +569,29 @@ class childWindow:
>      def exec_select(self, args):
>          self.file_dialog.set_select_multiple(0)
>          self.file_dialog.set_title(_("Select executable file to be
> confined."))
> -        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
> +        self.file_dialog.set_action(Gtk.FileChooserAction.OPEN)
>          self.file_dialog.set_current_folder("/usr/sbin")
>          rc = self.file_dialog.run()
>          self.file_dialog.hide()
> -        if rc == gtk.RESPONSE_CANCEL:
> +        if rc == Gtk.ResponseType.CANCEL:
>              return
>          self.exec_entry.set_text(self.file_dialog.get_filename())
>  
>      def init_script_select(self, args):
>          self.file_dialog.set_select_multiple(0)
>          self.file_dialog.set_title(_("Select init script file to be
> confined."))
> -        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
> +        self.file_dialog.set_action(Gtk.FileChooserAction.OPEN)
>          self.file_dialog.set_current_folder("/etc/rc.d/init.d")
>          rc = self.file_dialog.run()
>          self.file_dialog.hide()
> -        if rc == gtk.RESPONSE_CANCEL:
> +        if rc == Gtk.ResponseType.CANCEL:
>              return
>          self.init_script_entry.set_text(self.file_dialog.get_filenam
> e())
>  
>      def add(self, args):
>          self.file_dialog.set_title(_("Select file(s) that confined
> application creates or writes"))
>          self.file_dialog.set_current_folder("/")
> -        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN)
> +        self.file_dialog.set_action(Gtk.FileChooserAction.OPEN)
>          self.file_dialog.set_select_multiple(1)
>          self.__add(FILE)
>  
> @@ -599,7 +599,7 @@ class childWindow:
>          self.file_dialog.set_title(_("Select directory(s) that the
> confined application owns and writes into"))
>          self.file_dialog.set_current_folder("/")
>          self.file_dialog.set_select_multiple(1)
> -        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_F
> OLDER)
> +        self.file_dialog.set_action(Gtk.FileChooserAction.SELECT_FOL
> DER)
>          self.__add(DIR)
>  
>      def on_about_clicked(self, args):
> @@ -608,7 +608,7 @@ class childWindow:
>          dlg.hide()
>  
>      def quit(self, args):
> -        gtk.main_quit()
> +        Gtk.main_quit()
>  
>      def setupScreen(self):
>          # Bring in widgets from glade file.
> @@ -650,20 +650,20 @@ class childWindow:
>          self.view = self.xml.get_widget("write_treeview")
>          self.file_dialog = self.xml.get_widget("filechooserdialog")
>  
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_INT)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_INT)
>          self.view.set_model(self.store)
> -        col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=0)
> +        col = Gtk.TreeViewColumn("", Gtk.CellRendererText(), text=0)
>          col.set_resizable(True)
>          self.view.append_column(col)
>          self.view.get_selection().select_path((0,))
>  
>      def output_button_clicked(self, *args):
>          self.file_dialog.set_title(_("Select directory to generate
> policy files in"))
> -        self.file_dialog.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_F
> OLDER)
> +        self.file_dialog.set_action(Gtk.FileChooserAction.SELECT_FOL
> DER)
>          self.file_dialog.set_select_multiple(0)
>          rc = self.file_dialog.run()
>          self.file_dialog.hide()
> -        if rc == gtk.RESPONSE_CANCEL:
> +        if rc == Gtk.ResponseType.CANCEL:
>              return
>          self.output_entry.set_text(self.file_dialog.get_filename())
>  
> @@ -675,11 +675,11 @@ class childWindow:
>          name = entry.get_text()
>          if self.name != name:
>              if name in self.all_types:
> -                if self.verify(_("Type %s_t already defined in
> current policy.\nDo you want to continue?") % name, _("Verify Name"))
> == gtk.RESPONSE_NO:
> +                if self.verify(_("Type %s_t already defined in
> current policy.\nDo you want to continue?") % name, _("Verify Name"))
> == Gtk.ResponseType.NO:
>                      entry.set_text("")
>                      return False
>              if name in self.all_modules:
> -                if self.verify(_("Module %s already loaded in
> current policy.\nDo you want to continue?") % name, _("Verify Name"))
> == gtk.RESPONSE_NO:
> +                if self.verify(_("Module %s already loaded in
> current policy.\nDo you want to continue?") % name, _("Verify Name"))
> == Gtk.ResponseType.NO:
>                      entry.set_text("")
>                      return False
>  
> @@ -770,7 +770,7 @@ class childWindow:
>          self.mainWindow.connect("destroy", self.quit)
>  
>          self.mainWindow.show_all()
> -        gtk.main()
> +        Gtk.main()
>  
>  if __name__ == "__main__":
>      signal.signal(signal.SIGINT, signal.SIG_DFL)
> diff --git a/gui/portsPage.py b/gui/portsPage.py
> index b8fdaad3e9bd..30f58383bc1d 100644
> --- a/gui/portsPage.py
> +++ b/gui/portsPage.py
> @@ -16,12 +16,8 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
>  import sys
> +from gi.repository import GObject, Gtk
>  import seobject
>  
>  TYPE_COL = 0
> @@ -62,18 +58,19 @@ class portsPage(semanagePage):
>  
>      def __init__(self, xml):
>          semanagePage.__init__(self, xml, "ports", _("Network Port"))
> -        xml.signal_connect("on_group_clicked",
> self.on_group_clicked)
> +        group_listview = xml.get_object("listViewButton")
> +        group_listview.connect("clicked", self.on_group_clicked)
>          self.group = False
> -        self.ports_filter = xml.get_widget("portsFilterEntry")
> +        self.ports_filter = xml.get_object("portsFilterEntry")
>          self.ports_filter.connect("focus_out_event",
> self.filter_changed)
>          self.ports_filter.connect("activate", self.filter_changed)
> -        self.ports_name_entry = xml.get_widget("portsNameEntry")
> -        self.ports_protocol_combo =
> xml.get_widget("portsProtocolCombo")
> -        self.ports_number_entry = xml.get_widget("portsNumberEntry")
> -        self.ports_mls_entry = xml.get_widget("portsMLSEntry")
> -        self.ports_add_button = xml.get_widget("portsAddButton")
> -        self.ports_properties_button =
> xml.get_widget("portsPropertiesButton")
> -        self.ports_delete_button =
> xml.get_widget("portsDeleteButton")
> +        self.ports_name_entry = xml.get_object("portsNameEntry")
> +        self.ports_protocol_combo =
> xml.get_object("portsProtocolCombo")
> +        self.ports_number_entry = xml.get_object("portsNumberEntry")
> +        self.ports_mls_entry = xml.get_object("portsMLSEntry")
> +        self.ports_add_button = xml.get_object("portsAddButton")
> +        self.ports_properties_button =
> xml.get_object("portsPropertiesButton")
> +        self.ports_delete_button =
> xml.get_object("portsDeleteButton")
>          liststore = self.ports_protocol_combo.get_model()
>          iter = liststore.get_iter_first()
>          self.ports_protocol_combo.set_active_iter(iter)
> @@ -90,28 +87,28 @@ class portsPage(semanagePage):
>                  self.group_load(filter)
>  
>      def init_store(self):
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
>  
>          self.view.set_search_equal_func(self.search)
> -        col = gtk.TreeViewColumn(_("SELinux Port\nType"),
> gtk.CellRendererText(), text=TYPE_COL)
> +        col = Gtk.TreeViewColumn(_("SELinux Port\nType"),
> Gtk.CellRendererText(), text=TYPE_COL)
>          col.set_sort_column_id(TYPE_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
> -        self.store.set_sort_column_id(TYPE_COL, gtk.SORT_ASCENDING)
> +        self.store.set_sort_column_id(TYPE_COL,
> Gtk.SortType.ASCENDING)
>  
> -        col = gtk.TreeViewColumn(_("Protocol"),
> gtk.CellRendererText(), text=PROTOCOL_COL)
> +        col = Gtk.TreeViewColumn(_("Protocol"),
> Gtk.CellRendererText(), text=PROTOCOL_COL)
>          col.set_sort_column_id(PROTOCOL_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
> -        self.mls_col = gtk.TreeViewColumn(_("MLS/MCS\nLevel"),
> gtk.CellRendererText(), text=MLS_COL)
> +        self.mls_col = Gtk.TreeViewColumn(_("MLS/MCS\nLevel"),
> Gtk.CellRendererText(), text=MLS_COL)
>          self.mls_col.set_resizable(True)
>          self.mls_col.set_sort_column_id(MLS_COL)
>          self.view.append_column(self.mls_col)
>  
> -        col = gtk.TreeViewColumn(_("Port"), gtk.CellRendererText(),
> text=PORT_COL)
> +        col = Gtk.TreeViewColumn(_("Port"), Gtk.CellRendererText(),
> text=PORT_COL)
>          col.set_sort_column_id(PORT_COL)
>          col.set_resizable(True)
>          self.view.append_column(col)
> @@ -139,7 +136,7 @@ class portsPage(semanagePage):
>                  continue
>              iter = self.store.append()
>              if k[0] == k[1]:
> -                self.store.set_value(iter, PORT_COL, k[0])
> +                self.store.set_value(iter, PORT_COL, str(k[0]))
>              else:
>                  rec = "%s-%s" % k[:2]
>                  self.store.set_value(iter, PORT_COL, rec)
> diff --git a/gui/semanagePage.py b/gui/semanagePage.py
> index 27367f333e29..560ec077f023 100644
> --- a/gui/semanagePage.py
> +++ b/gui/semanagePage.py
> @@ -16,13 +16,8 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
>  import sys
> -import seobject
> +from gi.repository import Gdk, Gtk
>  
>  ##
>  ## I18N
> @@ -47,24 +42,25 @@ except:
>  
>  
>  def idle_func():
> -    while gtk.events_pending():
> -        gtk.main_iteration()
> +    while Gtk.events_pending():
> +        Gtk.main_iteration()
>  
>  
>  class semanagePage:
>  
>      def __init__(self, xml, name, description):
>          self.xml = xml
> -        self.window =
> self.xml.get_widget("mainWindow").get_root_window()
> -        self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
> -        self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
> +        self.window =
> self.xml.get_object("mainWindow").get_root_window()
> +        self.busy_cursor = Gdk.Cursor.new(Gdk.CursorType.WATCH)
> +        self.ready_cursor = Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR)
>  
>          self.local = False
> -        self.view = xml.get_widget("%sView" % name)
> -        self.dialog = xml.get_widget("%sDialog" % name)
> -        self.filter_entry = xml.get_widget("%sFilterEntry" % name)
> +        self.view = xml.get_object("%sView" % name)
> +        self.dialog = xml.get_object("%sDialog" % name)
> +        self.filter_entry = xml.get_object("%sFilterEntry" % name)
>          self.filter_entry.connect("focus_out_event",
> self.filter_changed)
>          self.filter_entry.connect("activate", self.filter_changed)
> +        self.filter_entry.connect("changed", self.filter_changed)
>  
>          self.view.connect("row_activated", self.rowActivated)
>          self.view.get_selection().connect("changed",
> self.itemSelected)
> @@ -81,7 +77,7 @@ class semanagePage:
>      def get_description(self):
>          return self.description
>  
> -    def itemSelected(self, args):
> +    def itemSelected(self, selection):
>          return
>  
>      def filter_changed(self, *arg):
> @@ -110,28 +106,28 @@ class semanagePage:
>          self.propertiesDialog()
>  
>      def verify(self, message, title=""):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
> -                                gtk.BUTTONS_YES_NO,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
> +                                Gtk.ButtonsType.YES_NO,
>                                  message)
>          dlg.set_title(title)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          rc = dlg.run()
>          dlg.destroy()
>          return rc
>  
>      def error(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
> -                                gtk.BUTTONS_CLOSE,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.ERROR,
> +                                Gtk.ButtonsType.CLOSE,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          dlg.run()
>          dlg.destroy()
>  
>      def deleteDialog(self):
>          store, it = self.view.get_selection().get_selected()
> -        if (it is not None) and (self.verify(_("Are you sure you
> want to delete %s '%s'?" % (self.description, store.get_value(it,
> 0))), _("Delete %s" % self.description)) == gtk.RESPONSE_YES):
> +        if (it is not None) and (self.verify(_("Are you sure you
> want to delete %s '%s'?" % (self.description, store.get_value(it,
> 0))), _("Delete %s" % self.description)) == Gtk.ResponseType.YES):
>              self.delete()
>  
>      def use_menus(self):
> @@ -140,11 +136,11 @@ class semanagePage:
>      def addDialog(self):
>          self.dialogClear()
>          self.dialog.set_title(_("Add %s" % self.description))
> -        self.dialog.set_position(gtk.WIN_POS_MOUSE)
> +        self.dialog.set_position(Gtk.WindowPosition.MOUSE)
>  
> -        while self.dialog.run() == gtk.RESPONSE_OK:
> +        while self.dialog.run() == Gtk.ResponseType.OK:
>              try:
> -                if self.add() == False:
> +                if not self.add():
>                      continue
>                  break
>              except ValueError as e:
> @@ -154,10 +150,10 @@ class semanagePage:
>      def propertiesDialog(self):
>          self.dialogInit()
>          self.dialog.set_title(_("Modify %s" % self.description))
> -        self.dialog.set_position(gtk.WIN_POS_MOUSE)
> -        while self.dialog.run() == gtk.RESPONSE_OK:
> +        self.dialog.set_position(Gtk.WindowPosition.MOUSE)
> +        while self.dialog.run() == Gtk.ResponseType.OK:
>              try:
> -                if self.modify() == False:
> +                if not self.modify():
>                      continue
>                  break
>              except ValueError as e:
> diff --git a/gui/statusPage.py b/gui/statusPage.py
> index 23d0d0f6121e..766854b19cba 100644
> --- a/gui/statusPage.py
> +++ b/gui/statusPage.py
> @@ -16,23 +16,14 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
>  import os
> -import gobject
>  import sys
> -import tempfile
> +from gi.repository import Gtk
>  import selinux
>  
>  INSTALLPATH = '/usr/share/system-config-selinux'
>  sys.path.append(INSTALLPATH)
>  
> -try:
> -    from subprocess import getstatusoutput
> -except ImportError:
> -    from commands import getstatusoutput
> -
>  ENFORCING = 1
>  PERMISSIVE = 0
>  DISABLED = -1
> @@ -71,12 +62,11 @@ class statusPage:
>  
>          self.type = selinux.selinux_getpolicytype()
>          # Bring in widgets from glade file.
> -        self.typeHBox = xml.get_widget("typeHBox")
> -        self.selinuxTypeOptionMenu =
> xml.get_widget("selinuxTypeOptionMenu")
> -        self.typeLabel = xml.get_widget("typeLabel")
> -        self.enabledOptionMenu = xml.get_widget("enabledOptionMenu")
> -        self.currentOptionMenu = xml.get_widget("currentOptionMenu")
> -        self.relabel_checkbutton =
> xml.get_widget("relabelCheckbutton")
> +        self.selinuxTypeOptionMenu =
> xml.get_object("selinuxTypeOptionMenu")
> +        self.typeLabel = xml.get_object("typeLabel")
> +        self.enabledOptionMenu = xml.get_object("enabledOptionMenu")
> +        self.currentOptionMenu = xml.get_object("currentOptionMenu")
> +        self.relabel_checkbutton =
> xml.get_object("relabelCheckbutton")
>          self.relabel_checkbutton.set_active(self.is_relabel())
>          self.relabel_checkbutton.connect("toggled",
> self.on_relabel_toggle)
>          if self.get_current_mode() == ENFORCING or
> self.get_current_mode() == PERMISSIVE:
> @@ -90,7 +80,7 @@ class statusPage:
>              self.currentOptionMenu.set_active(0)
>              self.currentOptionMenu.set_sensitive(False)
>  
> -        if self.read_selinux_config() == None:
> +        if self.read_selinux_config() is None:
>              self.selinuxsupport = False
>          else:
>              self.enabledOptionMenu.connect("changed",
> self.enabled_changed)
> @@ -131,10 +121,10 @@ class statusPage:
>                  os.unlink(RELABELFILE)
>  
>      def verify(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO,
> -                                gtk.BUTTONS_YES_NO,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO,
> +                                Gtk.ButtonsType.YES_NO,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          rc = dlg.run()
>          dlg.destroy()
> @@ -144,7 +134,7 @@ class statusPage:
>          type = self.get_type()
>          enabled = self.enabledOptionMenu.get_active()
>          if self.initialtype != type:
> -            if self.verify(_("Changing the policy type will cause a
> relabel of the entire file system on the next boot. Relabeling takes
> a long time depending on the size of the file system.  Do you wish to
> continue?")) == gtk.RESPONSE_NO:
> +            if self.verify(_("Changing the policy type will cause a
> relabel of the entire file system on the next boot. Relabeling takes
> a long time depending on the size of the file system.  Do you wish to
> continue?")) == Gtk.ResponseType.NO:
>                  menu.set_active(self.typeHistory)
>                  return None
>  
> @@ -158,12 +148,12 @@ class statusPage:
>          type = self.get_type()
>  
>          if self.initEnabled != DISABLED and enabled == DISABLED:
> -            if self.verify(_("Changing to SELinux disabled requires
> a reboot.  It is not recommended.  If you later decide to turn
> SELinux back on, the system will be required to relabel.  If you just
> want to see if SELinux is causing a problem on your system, you can
> go to permissive mode which will only log errors and not enforce
> SELinux policy.  Permissive mode does not require a reboot    Do you
> wish to continue?")) == gtk.RESPONSE_NO:
> +            if self.verify(_("Changing to SELinux disabled requires
> a reboot.  It is not recommended.  If you later decide to turn
> SELinux back on, the system will be required to relabel.  If you just
> want to see if SELinux is causing a problem on your system, you can
> go to permissive mode which will only log errors and not enforce
> SELinux policy.  Permissive mode does not require a reboot    Do you
> wish to continue?")) == Gtk.ResponseType.NO:
>                  combo.set_active(self.enabled)
>                  return None
>  
>          if self.initEnabled == DISABLED and enabled < 2:
> -            if self.verify(_("Changing to SELinux enabled will cause
> a relabel of the entire file system on the next boot. Relabeling
> takes a long time depending on the size of the file system.  Do you
> wish to continue?")) == gtk.RESPONSE_NO:
> +            if self.verify(_("Changing to SELinux enabled will cause
> a relabel of the entire file system on the next boot. Relabeling
> takes a long time depending on the size of the file system.  Do you
> wish to continue?")) == Gtk.ResponseType.NO:
>                  combo.set_active(self.enabled)
>                  return None
>              self.relabel_checkbutton.set_active(True)
> diff --git a/gui/system-config-selinux.glade b/gui/system-config-
> selinux.glade
> deleted file mode 100644
> index 4547b3fd669c..000000000000
> --- a/gui/system-config-selinux.glade
> +++ /dev/null
> @@ -1,3005 +0,0 @@
> -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.d
> td">;
> -
> -<glade-interface>
> -<requires lib="gnome"/>
> -<requires lib="bonobo"/>
> -
> -<widget class="GtkAboutDialog" id="aboutWindow">
> -  <property name="border_width">5</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="name" translatable="yes">system-config-
> selinux</property>
> -  <property name="copyright" translatable="yes">Copyright (c)2006
> Red Hat, Inc.
> -Copyright (c) 2006 Dan Walsh &lt;dwalsh@xxxxxxxxxx&gt;</property>
> -  <property name="wrap_license">False</property>
> -  <property name="authors">Daniel Walsh &lt;dwalsh@xxxxxxxxxx&gt;
> -</property>
> -  <property name="translator_credits" translatable="yes"
> comments="TRANSLATORS: Replace this string with your names, one name
> per line.">translator-credits</property>
> -  <property name="logo">system-config-selinux.png</property>
> -</widget>
> -
> -<widget class="GtkDialog" id="loginsDialog">
> -  <property name="title" translatable="yes">Add SELinux Login
> Mapping</property>
> -  <property name="type">GTK_WINDOW_TOPLEVEL</property>
> -  <property name="window_position">GTK_WIN_POS_NONE</property>
> -  <property name="modal">False</property>
> -  <property name="resizable">True</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="decorated">True</property>
> -  <property name="skip_taskbar_hint">False</property>
> -  <property name="skip_pager_hint">False</property>
> -  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
> -  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
> -  <property name="focus_on_map">True</property>
> -  <property name="urgency_hint">False</property>
> -  <property name="has_separator">True</property>
> -
> -  <child internal-child="vbox">
> -    <widget class="GtkVBox" id="dialog-vbox1">
> -      <property name="visible">True</property>
> -      <property name="homogeneous">False</property>
> -      <property name="spacing">0</property>
> -
> -      <child internal-child="action_area">
> -	<widget class="GtkHButtonBox" id="dialog-action_area1">
> -	  <property name="visible">True</property>
> -	  <property name="layout_style">GTK_BUTTONBOX_END</property>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="cancelbutton1">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-cancel</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-6</property>
> -	    </widget>
> -	  </child>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="okbutton1">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-ok</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-5</property>
> -	    </widget>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">False</property>
> -	  <property name="fill">True</property>
> -	  <property name="pack_type">GTK_PACK_END</property>
> -	</packing>
> -      </child>
> -
> -      <child>
> -	<widget class="GtkVBox" id="vbox2">
> -	  <property name="visible">True</property>
> -	  <property name="homogeneous">False</property>
> -	  <property name="spacing">0</property>
> -
> -	  <child>
> -	    <widget class="GtkTable" id="table1">
> -	      <property name="visible">True</property>
> -	      <property name="n_rows">3</property>
> -	      <property name="n_columns">2</property>
> -	      <property name="homogeneous">False</property>
> -	      <property name="row_spacing">4</property>
> -	      <property name="column_spacing">6</property>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label15">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">Login
> Name</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label16">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">SELinux
> User</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label17">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">MLS/MCS
> Range</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="loginsNameEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkComboBox"
> id="loginsSelinuxUserCombo">
> -		  <property name="visible">True</property>
> -		  <property name="add_tearoffs">False</property>
> -		  <property name="focus_on_click">True</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options">fill</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="loginsMLSEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="padding">5</property>
> -	      <property name="expand">True</property>
> -	      <property name="fill">True</property>
> -	    </packing>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">True</property>
> -	  <property name="fill">True</property>
> -	</packing>
> -      </child>
> -    </widget>
> -  </child>
> -</widget>
> -
> -<widget class="GtkDialog" id="portsDialog">
> -  <property name="title" translatable="yes">Add SELinux Network
> Ports</property>
> -  <property name="type">GTK_WINDOW_TOPLEVEL</property>
> -  <property name="window_position">GTK_WIN_POS_NONE</property>
> -  <property name="modal">False</property>
> -  <property name="resizable">True</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="decorated">True</property>
> -  <property name="skip_taskbar_hint">False</property>
> -  <property name="skip_pager_hint">False</property>
> -  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
> -  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
> -  <property name="focus_on_map">True</property>
> -  <property name="urgency_hint">False</property>
> -  <property name="has_separator">True</property>
> -
> -  <child internal-child="vbox">
> -    <widget class="GtkVBox" id="vbox3">
> -      <property name="visible">True</property>
> -      <property name="homogeneous">False</property>
> -      <property name="spacing">0</property>
> -
> -      <child internal-child="action_area">
> -	<widget class="GtkHButtonBox" id="hbuttonbox1">
> -	  <property name="visible">True</property>
> -	  <property name="layout_style">GTK_BUTTONBOX_END</property>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button1">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-cancel</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-6</property>
> -	    </widget>
> -	  </child>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button2">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-ok</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-5</property>
> -	    </widget>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">False</property>
> -	  <property name="fill">True</property>
> -	  <property name="pack_type">GTK_PACK_END</property>
> -	</packing>
> -      </child>
> -
> -      <child>
> -	<widget class="GtkVBox" id="vbox4">
> -	  <property name="visible">True</property>
> -	  <property name="homogeneous">False</property>
> -	  <property name="spacing">0</property>
> -
> -	  <child>
> -	    <widget class="GtkTable" id="table2">
> -	      <property name="visible">True</property>
> -	      <property name="n_rows">4</property>
> -	      <property name="n_columns">2</property>
> -	      <property name="homogeneous">False</property>
> -	      <property name="row_spacing">4</property>
> -	      <property name="column_spacing">6</property>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label18">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">Port
> Number</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label19">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">Protocol</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label20">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">SELinux
> Type</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="portsNumberEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkComboBox" id="portsProtocolCombo">
> -		  <property name="visible">True</property>
> -		  <property name="items">tcp
> -udp</property>
> -		  <property name="add_tearoffs">False</property>
> -		  <property name="focus_on_click">True</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options">fill</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="portsNameEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label21">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">MLS/MCS
> -Level</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">3</property>
> -		  <property name="bottom_attach">4</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="portsMLSEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">3</property>
> -		  <property name="bottom_attach">4</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="padding">5</property>
> -	      <property name="expand">True</property>
> -	      <property name="fill">True</property>
> -	    </packing>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">True</property>
> -	  <property name="fill">True</property>
> -	</packing>
> -      </child>
> -    </widget>
> -  </child>
> -</widget>
> -
> -<widget class="GtkDialog" id="fcontextDialog">
> -  <property name="title" translatable="yes">Add SELinux Login
> Mapping</property>
> -  <property name="type">GTK_WINDOW_TOPLEVEL</property>
> -  <property name="window_position">GTK_WIN_POS_NONE</property>
> -  <property name="modal">False</property>
> -  <property name="resizable">True</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="decorated">True</property>
> -  <property name="skip_taskbar_hint">False</property>
> -  <property name="skip_pager_hint">False</property>
> -  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
> -  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
> -  <property name="focus_on_map">True</property>
> -  <property name="urgency_hint">False</property>
> -  <property name="has_separator">True</property>
> -
> -  <child internal-child="vbox">
> -    <widget class="GtkVBox" id="vbox7">
> -      <property name="visible">True</property>
> -      <property name="homogeneous">False</property>
> -      <property name="spacing">0</property>
> -
> -      <child internal-child="action_area">
> -	<widget class="GtkHButtonBox" id="hbuttonbox3">
> -	  <property name="visible">True</property>
> -	  <property name="layout_style">GTK_BUTTONBOX_END</property>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button5">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-cancel</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-6</property>
> -	    </widget>
> -	  </child>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button6">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-ok</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-5</property>
> -	    </widget>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">False</property>
> -	  <property name="fill">True</property>
> -	  <property name="pack_type">GTK_PACK_END</property>
> -	</packing>
> -      </child>
> -
> -      <child>
> -	<widget class="GtkVBox" id="vbox8">
> -	  <property name="visible">True</property>
> -	  <property name="homogeneous">False</property>
> -	  <property name="spacing">0</property>
> -
> -	  <child>
> -	    <widget class="GtkTable" id="table4">
> -	      <property name="visible">True</property>
> -	      <property name="n_rows">4</property>
> -	      <property name="n_columns">2</property>
> -	      <property name="homogeneous">False</property>
> -	      <property name="row_spacing">4</property>
> -	      <property name="column_spacing">6</property>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label25">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">File
> Specification</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label26">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">File
> Type</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label27">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">SELinux
> Type</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="fcontextEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkComboBox"
> id="fcontextFileTypeCombo">
> -		  <property name="visible">True</property>
> -		  <property name="items" translatable="yes">all
> files
> -regular file
> -directory
> -character device
> -block device
> -socket file
> -symbolic link
> -named pipe
> -</property>
> -		  <property name="add_tearoffs">False</property>
> -		  <property name="focus_on_click">True</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options">fill</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="fcontextTypeEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label31">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">MLS</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">3</property>
> -		  <property name="bottom_attach">4</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="fcontextMLSEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">3</property>
> -		  <property name="bottom_attach">4</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="padding">5</property>
> -	      <property name="expand">True</property>
> -	      <property name="fill">True</property>
> -	    </packing>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">True</property>
> -	  <property name="fill">True</property>
> -	</packing>
> -      </child>
> -    </widget>
> -  </child>
> -</widget>
> -
> -<widget class="GtkDialog" id="usersDialog">
> -  <property name="title" translatable="yes">Add SELinux
> User</property>
> -  <property name="type">GTK_WINDOW_TOPLEVEL</property>
> -  <property name="window_position">GTK_WIN_POS_NONE</property>
> -  <property name="modal">False</property>
> -  <property name="resizable">True</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="decorated">True</property>
> -  <property name="skip_taskbar_hint">False</property>
> -  <property name="skip_pager_hint">False</property>
> -  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
> -  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
> -  <property name="focus_on_map">True</property>
> -  <property name="urgency_hint">False</property>
> -  <property name="has_separator">True</property>
> -
> -  <child internal-child="vbox">
> -    <widget class="GtkVBox" id="vbox9">
> -      <property name="visible">True</property>
> -      <property name="homogeneous">False</property>
> -      <property name="spacing">0</property>
> -
> -      <child internal-child="action_area">
> -	<widget class="GtkHButtonBox" id="hbuttonbox4">
> -	  <property name="visible">True</property>
> -	  <property name="layout_style">GTK_BUTTONBOX_END</property>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button7">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-cancel</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-6</property>
> -	    </widget>
> -	  </child>
> -
> -	  <child>
> -	    <widget class="GtkButton" id="button8">
> -	      <property name="visible">True</property>
> -	      <property name="can_default">True</property>
> -	      <property name="can_focus">True</property>
> -	      <property name="label">gtk-ok</property>
> -	      <property name="use_stock">True</property>
> -	      <property name="relief">GTK_RELIEF_NORMAL</property>
> -	      <property name="focus_on_click">True</property>
> -	      <property name="response_id">-5</property>
> -	    </widget>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">False</property>
> -	  <property name="fill">True</property>
> -	  <property name="pack_type">GTK_PACK_END</property>
> -	</packing>
> -      </child>
> -
> -      <child>
> -	<widget class="GtkVBox" id="vbox10">
> -	  <property name="visible">True</property>
> -	  <property name="homogeneous">False</property>
> -	  <property name="spacing">0</property>
> -
> -	  <child>
> -	    <widget class="GtkTable" id="table5">
> -	      <property name="visible">True</property>
> -	      <property name="n_rows">3</property>
> -	      <property name="n_columns">2</property>
> -	      <property name="homogeneous">False</property>
> -	      <property name="row_spacing">4</property>
> -	      <property name="column_spacing">6</property>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label32">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">SELinux
> User</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label34">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">MLS/MCS
> Range</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="mlsRangeEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">1</property>
> -		  <property name="bottom_attach">2</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label36">
> -		  <property name="visible">True</property>
> -		  <property name="label" translatable="yes">SELinux
> Roles</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">0</property>
> -		  <property name="right_attach">1</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="x_options">fill</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="selinuxRolesEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">2</property>
> -		  <property name="bottom_attach">3</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkEntry" id="selinuxUserEntry">
> -		  <property name="visible">True</property>
> -		  <property name="can_focus">True</property>
> -		  <property name="editable">True</property>
> -		  <property name="visibility">True</property>
> -		  <property name="max_length">0</property>
> -		  <property name="text"
> translatable="yes"></property>
> -		  <property name="has_frame">True</property>
> -		  <property name="invisible_char">*</property>
> -		  <property
> name="activates_default">False</property>
> -		</widget>
> -		<packing>
> -		  <property name="left_attach">1</property>
> -		  <property name="right_attach">2</property>
> -		  <property name="top_attach">0</property>
> -		  <property name="bottom_attach">1</property>
> -		  <property name="y_options"></property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="padding">5</property>
> -	      <property name="expand">True</property>
> -	      <property name="fill">True</property>
> -	    </packing>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="padding">0</property>
> -	  <property name="expand">True</property>
> -	  <property name="fill">True</property>
> -	</packing>
> -      </child>
> -    </widget>
> -  </child>
> -</widget>
> -
> -<widget class="GnomeApp" id="mainWindow">
> -  <property name="width_request">800</property>
> -  <property name="height_request">500</property>
> -  <property name="title" translatable="yes">SELinux
> Administration</property>
> -  <property name="type">GTK_WINDOW_TOPLEVEL</property>
> -  <property name="window_position">GTK_WIN_POS_NONE</property>
> -  <property name="modal">False</property>
> -  <property name="resizable">True</property>
> -  <property name="destroy_with_parent">False</property>
> -  <property name="icon">system-config-selinux.png</property>
> -  <property name="decorated">True</property>
> -  <property name="skip_taskbar_hint">False</property>
> -  <property name="skip_pager_hint">False</property>
> -  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
> -  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
> -  <property name="focus_on_map">True</property>
> -  <property name="urgency_hint">False</property>
> -  <property name="enable_layout_config">True</property>
> -
> -  <child internal-child="dock">
> -    <widget class="BonoboDock" id="bonobodock2">
> -      <property name="visible">True</property>
> -      <property name="allow_floating">True</property>
> -
> -      <child>
> -	<widget class="BonoboDockItem" id="bonobodockitem3">
> -	  <property name="visible">True</property>
> -	  <property name="shadow_type">GTK_SHADOW_NONE</property>
> -
> -	  <child>
> -	    <widget class="GtkMenuBar" id="menubar1">
> -	      <property name="visible">True</property>
> -	      <property
> name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
> -	      <property
> name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
> -
> -	      <child>
> -		<widget class="GtkMenuItem" id="file1">
> -		  <property name="visible">True</property>
> -		  <property
> name="stock_item">GNOMEUIINFO_MENU_FILE_TREE</property>
> -
> -		  <child>
> -		    <widget class="GtkMenu" id="file1_menu">
> -
> -		      <child>
> -			<widget class="GtkImageMenuItem"
> id="add_menu_item">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Add</property>
> -			  <property
> name="use_underline">True</property>
> -			  <signal name="activate"
> handler="on_add_clicked" last_modification_time="Sat, 17 Mar 2007
> 12:21:12 GMT"/>
> -			  <accelerator key="a"
> modifiers="GDK_CONTROL_MASK" signal="activate"/>
> -
> -			  <child internal-child="image">
> -			    <widget class="GtkImage" id="image13">
> -			      <property
> name="visible">True</property>
> -			      <property name="stock">gtk-
> add</property>
> -			      <property
> name="icon_size">1</property>
> -			      <property name="xalign">0.5</property>
> -			      <property name="yalign">0.5</property>
> -			      <property name="xpad">0</property>
> -			      <property name="ypad">0</property>
> -			    </widget>
> -			  </child>
> -			</widget>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkImageMenuItem"
> id="properties_menu_item">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">_Properties</property>
> -			  <property
> name="use_underline">True</property>
> -			  <signal name="activate"
> handler="on_properties_clicked" last_modification_time="Sat, 17 Mar
> 2007 12:21:12 GMT"/>
> -			  <accelerator key="p"
> modifiers="GDK_CONTROL_MASK" signal="activate"/>
> -
> -			  <child internal-child="image">
> -			    <widget class="GtkImage" id="image14">
> -			      <property
> name="visible">True</property>
> -			      <property name="stock">gtk-
> properties</property>
> -			      <property
> name="icon_size">1</property>
> -			      <property name="xalign">0.5</property>
> -			      <property name="yalign">0.5</property>
> -			      <property name="xpad">0</property>
> -			      <property name="ypad">0</property>
> -			    </widget>
> -			  </child>
> -			</widget>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkImageMenuItem"
> id="delete_menu_item">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">_Delete</property>
> -			  <property
> name="use_underline">True</property>
> -			  <signal name="activate"
> handler="on_delete_clicked" last_modification_time="Sat, 17 Mar 2007
> 12:21:12 GMT"/>
> -			  <accelerator key="Delete" modifiers="0"
> signal="activate"/>
> -
> -			  <child internal-child="image">
> -			    <widget class="GtkImage" id="image15">
> -			      <property
> name="visible">True</property>
> -			      <property name="stock">gtk-
> delete</property>
> -			      <property
> name="icon_size">1</property>
> -			      <property name="xalign">0.5</property>
> -			      <property name="yalign">0.5</property>
> -			      <property name="xpad">0</property>
> -			      <property name="ypad">0</property>
> -			    </widget>
> -			  </child>
> -			</widget>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkImageMenuItem" id="quit">
> -			  <property name="visible">True</property>
> -			  <property
> name="stock_item">GNOMEUIINFO_MENU_EXIT_ITEM</property>
> -			  <signal name="activate"
> handler="on_quit_activate" last_modification_time="Fri, 06 Oct 2006
> 13:58:19 GMT"/>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		  </child>
> -		</widget>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkMenuItem" id="help1">
> -		  <property name="visible">True</property>
> -		  <property
> name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property>
> -
> -		  <child>
> -		    <widget class="GtkMenu" id="help1_menu">
> -
> -		      <child>
> -			<widget class="GtkImageMenuItem" id="about">
> -			  <property name="visible">True</property>
> -			  <property
> name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property>
> -			  <signal name="activate"
> handler="on_about_activate" last_modification_time="Fri, 06 Oct 2006
> 13:58:02 GMT"/>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		  </child>
> -		</widget>
> -	      </child>
> -	    </widget>
> -	  </child>
> -	</widget>
> -	<packing>
> -	  <property name="placement">BONOBO_DOCK_TOP</property>
> -	  <property name="band">0</property>
> -	  <property name="position">0</property>
> -	  <property name="offset">0</property>
> -	  <property
> name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_N
> EVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property>
> -	</packing>
> -      </child>
> -
> -      <child>
> -	<widget class="GtkHPaned" id="hpaned1">
> -	  <property name="visible">True</property>
> -	  <property name="can_focus">True</property>
> -
> -	  <child>
> -	    <widget class="GtkFrame" id="frame1">
> -	      <property name="border_width">5</property>
> -	      <property name="visible">True</property>
> -	      <property name="label_xalign">0</property>
> -	      <property name="label_yalign">0.5</property>
> -	      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -
> -	      <child>
> -		<widget class="GtkAlignment" id="alignment1">
> -		  <property name="visible">True</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xscale">1</property>
> -		  <property name="yscale">1</property>
> -		  <property name="top_padding">0</property>
> -		  <property name="bottom_padding">0</property>
> -		  <property name="left_padding">12</property>
> -		  <property name="right_padding">0</property>
> -
> -		  <child>
> -		    <widget class="GtkTreeView" id="selectView">
> -		      <property name="visible">True</property>
> -		      <property name="tooltip"
> translatable="yes">Select Management Object</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="headers_visible">False</property>
> -		      <property name="rules_hint">False</property>
> -		      <property name="reorderable">False</property>
> -		      <property name="enable_search">True</property>
> -		      <property
> name="fixed_height_mode">False</property>
> -		      <property
> name="hover_selection">False</property>
> -		      <property name="hover_expand">False</property>
> -		    </widget>
> -		  </child>
> -		</widget>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label45">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">&lt;b&gt;Select:&lt;/b&gt;</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">True</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">label_item</property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="shrink">False</property>
> -	      <property name="resize">True</property>
> -	    </packing>
> -	  </child>
> -
> -	  <child>
> -	    <widget class="GtkNotebook" id="notebook">
> -	      <property name="visible">True</property>
> -	      <property name="show_tabs">False</property>
> -	      <property name="show_border">True</property>
> -	      <property name="tab_pos">GTK_POS_TOP</property>
> -	      <property name="scrollable">False</property>
> -	      <property name="enable_popup">False</property>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox1">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkTable" id="table6">
> -		      <property name="visible">True</property>
> -		      <property name="n_rows">4</property>
> -		      <property name="n_columns">2</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="row_spacing">5</property>
> -		      <property name="column_spacing">5</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label29">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">System Default Enforcing Mode</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">0</property>
> -			  <property name="right_attach">1</property>
> -			  <property name="top_attach">0</property>
> -			  <property
> name="bottom_attach">1</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options"></property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkComboBox"
> id="enabledOptionMenu">
> -			  <property name="visible">True</property>
> -			  <property name="items"
> translatable="yes">Disabled
> -Permissive
> -Enforcing
> -</property>
> -			  <property
> name="add_tearoffs">False</property>
> -			  <property
> name="focus_on_click">True</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">1</property>
> -			  <property name="right_attach">2</property>
> -			  <property name="top_attach">0</property>
> -			  <property
> name="bottom_attach">1</property>
> -			  <property name="y_options">fill</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label48">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Current Enforcing Mode</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">0</property>
> -			  <property name="right_attach">1</property>
> -			  <property name="top_attach">1</property>
> -			  <property
> name="bottom_attach">2</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options"></property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkComboBox"
> id="currentOptionMenu">
> -			  <property name="visible">True</property>
> -			  <property name="items"
> translatable="yes"></property>
> -			  <property
> name="add_tearoffs">False</property>
> -			  <property
> name="focus_on_click">True</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">1</property>
> -			  <property name="right_attach">2</property>
> -			  <property name="top_attach">1</property>
> -			  <property
> name="bottom_attach">2</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options">fill</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="typeLabel">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">System Default Policy Type: </property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">0</property>
> -			  <property name="right_attach">1</property>
> -			  <property name="top_attach">2</property>
> -			  <property
> name="bottom_attach">3</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options"></property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkComboBox"
> id="selinuxTypeOptionMenu">
> -			  <property name="visible">True</property>
> -			  <property name="items"
> translatable="yes"></property>
> -			  <property
> name="add_tearoffs">False</property>
> -			  <property
> name="focus_on_click">True</property>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">1</property>
> -			  <property name="right_attach">2</property>
> -			  <property name="top_attach">2</property>
> -			  <property
> name="bottom_attach">3</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options">fill</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkCheckButton"
> id="relabelCheckbutton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Select if you wish to relabel then entire file
> system on next reboot.  Relabeling can take a very long time,
> depending on the size of the system.  If you are changing policy
> types or going from disabled to enforcing, a relabel is
> required.</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="relief">GTK_RELIEF_NORMAL</property>
> -			  <property
> name="focus_on_click">True</property>
> -			  <property name="active">False</property>
> -			  <property
> name="inconsistent">False</property>
> -			  <property
> name="draw_indicator">True</property>
> -
> -			  <child>
> -			    <widget class="GtkAlignment"
> id="alignment4">
> -			      <property
> name="visible">True</property>
> -			      <property name="xalign">0.5</property>
> -			      <property name="yalign">0.5</property>
> -			      <property name="xscale">0</property>
> -			      <property name="yscale">0</property>
> -			      <property
> name="top_padding">0</property>
> -			      <property
> name="bottom_padding">0</property>
> -			      <property
> name="left_padding">0</property>
> -			      <property
> name="right_padding">0</property>
> -
> -			      <child>
> -				<widget class="GtkHBox" id="hbox6">
> -				  <property
> name="visible">True</property>
> -				  <property
> name="homogeneous">False</property>
> -				  <property
> name="spacing">2</property>
> -
> -				  <child>
> -				    <widget class="GtkImage"
> id="image2">
> -				      <property
> name="visible">True</property>
> -				      <property name="stock">gtk-
> refresh</property>
> -				      <property
> name="icon_size">4</property>
> -				      <property
> name="xalign">0.5</property>
> -				      <property
> name="yalign">0.5</property>
> -				      <property
> name="xpad">0</property>
> -				      <property
> name="ypad">0</property>
> -				    </widget>
> -				    <packing>
> -				      <property
> name="padding">0</property>
> -				      <property
> name="expand">False</property>
> -				      <property
> name="fill">False</property>
> -				    </packing>
> -				  </child>
> -
> -				  <child>
> -				    <widget class="GtkLabel"
> id="label49">
> -				      <property
> name="visible">True</property>
> -				      <property name="label"
> translatable="yes">Relabel on next reboot.</property>
> -				      <property
> name="use_underline">True</property>
> -				      <property
> name="use_markup">False</property>
> -				      <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -				      <property
> name="wrap">False</property>
> -				      <property
> name="selectable">False</property>
> -				      <property
> name="xalign">0.5</property>
> -				      <property
> name="yalign">0.5</property>
> -				      <property
> name="xpad">0</property>
> -				      <property
> name="ypad">0</property>
> -				      <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -				      <property name="width_chars">-
> 1</property>
> -				      <property
> name="single_line_mode">False</property>
> -				      <property
> name="angle">0</property>
> -				    </widget>
> -				    <packing>
> -				      <property
> name="padding">0</property>
> -				      <property
> name="expand">False</property>
> -				      <property
> name="fill">False</property>
> -				    </packing>
> -				  </child>
> -				</widget>
> -			      </child>
> -			    </widget>
> -			  </child>
> -			</widget>
> -			<packing>
> -			  <property name="left_attach">0</property>
> -			  <property name="right_attach">2</property>
> -			  <property name="top_attach">3</property>
> -			  <property
> name="bottom_attach">4</property>
> -			  <property name="x_options">fill</property>
> -			  <property name="y_options">fill</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label37">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label37</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox18">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar9">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="booleanRevertButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Revert boolean setting to system
> default</property>
> -			  <property name="stock_id">gtk-revert-to-
> saved</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton34">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Toggle between Customized and All
> Booleans</property>
> -			  <property name="label"
> translatable="yes">Customized</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-
> find</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007
> 19:14:08 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox7">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label51">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="booleansFilter">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">10</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow18">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView"
> id="booleansView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Boolean</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label50">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label50</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox11">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar2">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton5">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Add File Context</property>
> -			  <property name="stock_id">gtk-
> add</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton6">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Modify File Context</property>
> -			  <property name="stock_id">gtk-
> properties</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_properties_clicked" last_modification_time="Mon, 16 Jan
> 2006 18:26:51 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton7">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Delete File Context</property>
> -			  <property name="stock_id">gtk-
> delete</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="customizedButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Toggle between all and customized file
> context</property>
> -			  <property name="label"
> translatable="yes">Customized</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-
> find</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007
> 19:14:08 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox14">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label58">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="fcontextFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_fcontextFilter_changed" last_modification_time="Mon, 05
> Nov 2007 21:22:11 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow19">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView"
> id="fcontextView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">File Labeling</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label38">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label38</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox12">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar3">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton8">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Add SELinux User Mapping</property>
> -			  <property name="stock_id">gtk-
> add</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton29">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Modify SELinux User Mapping</property>
> -			  <property name="stock_id">gtk-
> properties</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_properties_clicked" last_modification_time="Wed, 15 Nov
> 2006 16:38:33 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton10">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Delete SELinux User Mapping</property>
> -			  <property name="stock_id">gtk-
> delete</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox13">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label57">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="loginsFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">5</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow16">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView" id="loginsView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">User Mapping</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label39">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label39</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox14">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar5">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton14">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Add User</property>
> -			  <property name="stock_id">gtk-
> add</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton15">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Modify User</property>
> -			  <property name="stock_id">gtk-
> properties</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_properties_clicked" last_modification_time="Mon, 16 Jan
> 2006 18:26:51 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton16">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Delete User</property>
> -			  <property name="stock_id">gtk-
> delete</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox12">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label56">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="usersFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">5</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow11">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView" id="usersView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">SELinux User</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label41">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label41</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox15">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar6">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">False</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="portsAddButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Add Network Port</property>
> -			  <property name="stock_id">gtk-
> add</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="portsPropertiesButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Edit Network Port</property>
> -			  <property name="stock_id">gtk-
> properties</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_properties_clicked" last_modification_time="Mon, 16 Jan
> 2006 18:26:51 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="portsDeleteButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Delete Network Port</property>
> -			  <property name="stock_id">gtk-
> delete</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolItem" id="toolitem2">
> -			  <property name="visible">True</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -
> -			  <child>
> -			    <widget class="GtkVSeparator"
> id="vseparator1">
> -			      <property
> name="width_request">32</property>
> -			      <property
> name="visible">True</property>
> -			    </widget>
> -			  </child>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="listViewButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Toggle between Customized and All Ports</property>
> -			  <property name="label"
> translatable="yes">Group View</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-
> indent</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_group_clicked" last_modification_time="Mon, 01 Oct 2007
> 21:31:19 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton35">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Toggle between Customized and All Ports</property>
> -			  <property name="label"
> translatable="yes">Customized</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-
> find</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_local_clicked" last_modification_time="Wed, 19 Sep 2007
> 19:14:08 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox9">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label53">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="portsFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">5</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow13">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView" id="portsView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Network Port</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label42">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label42</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox17">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar8">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="newModuleButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Generate new policy module</property>
> -			  <property name="stock_id">gtk-
> new</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_new_clicked" last_modification_time="Sat, 17 Mar 2007
> 15:53:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton23">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Load policy module</property>
> -			  <property name="stock_id">gtk-
> add</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="toolbutton25">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Remove loadable policy module</property>
> -			  <property name="stock_id">gtk-
> remove</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolItem" id="toolitem3">
> -			  <property name="visible">True</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -
> -			  <child>
> -			    <widget class="GtkVSeparator"
> id="vseparator2">
> -			      <property
> name="width_request">10</property>
> -			      <property
> name="visible">True</property>
> -			    </widget>
> -			  </child>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="enableAuditButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Enable/Disable additional audit rules, that are
> normally not reported in the log files.</property>
> -			  <property name="label"
> translatable="yes">Enable Audit</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-zoom-
> in</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_disable_audit_clicked" last_modification_time="Wed, 15
> Nov 2006 16:29:34 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox11">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label55">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="modulesFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">5</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow15">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView"
> id="modulesView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Policy Module</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label44">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label44</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkVBox" id="vbox19">
> -		  <property name="visible">True</property>
> -		  <property name="homogeneous">False</property>
> -		  <property name="spacing">0</property>
> -
> -		  <child>
> -		    <widget class="GtkToolbar" id="toolbar10">
> -		      <property name="visible">True</property>
> -		      <property
> name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
> -		      <property
> name="toolbar_style">GTK_TOOLBAR_BOTH</property>
> -		      <property name="tooltips">True</property>
> -		      <property name="show_arrow">True</property>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="permissiveButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Change process mode to permissive.</property>
> -			  <property name="label"
> translatable="yes">Permissive</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-dialog-
> warning</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_add_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:27:03 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkToolButton"
> id="enforcingButton">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Change process mode to enforcing</property>
> -			  <property name="label"
> translatable="yes">Enforcing</property>
> -			  <property
> name="use_underline">True</property>
> -			  <property name="stock_id">gtk-dialog-
> error</property>
> -			  <property
> name="visible_horizontal">True</property>
> -			  <property
> name="visible_vertical">True</property>
> -			  <property
> name="is_important">False</property>
> -			  <signal name="clicked"
> handler="on_delete_clicked" last_modification_time="Mon, 16 Jan 2006
> 18:26:29 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="expand">False</property>
> -			  <property
> name="homogeneous">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">False</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkHBox" id="hbox15">
> -		      <property name="visible">True</property>
> -		      <property name="homogeneous">False</property>
> -		      <property name="spacing">0</property>
> -
> -		      <child>
> -			<widget class="GtkLabel" id="label60">
> -			  <property name="visible">True</property>
> -			  <property name="label"
> translatable="yes">Filter</property>
> -			  <property
> name="use_underline">False</property>
> -			  <property
> name="use_markup">False</property>
> -			  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -			  <property name="wrap">False</property>
> -			  <property
> name="selectable">False</property>
> -			  <property name="xalign">0.5</property>
> -			  <property name="yalign">0.5</property>
> -			  <property name="xpad">0</property>
> -			  <property name="ypad">0</property>
> -			  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -			  <property name="width_chars">-1</property>
> -			  <property
> name="single_line_mode">False</property>
> -			  <property name="angle">0</property>
> -			</widget>
> -			<packing>
> -			  <property name="padding">10</property>
> -			  <property name="expand">False</property>
> -			  <property name="fill">False</property>
> -			</packing>
> -		      </child>
> -
> -		      <child>
> -			<widget class="GtkEntry"
> id="domainsFilterEntry">
> -			  <property name="visible">True</property>
> -			  <property name="can_focus">True</property>
> -			  <property name="editable">True</property>
> -			  <property
> name="visibility">True</property>
> -			  <property name="max_length">0</property>
> -			  <property name="text"
> translatable="yes"></property>
> -			  <property name="has_frame">True</property>
> -			  <property
> name="invisible_char">•</property>
> -			  <property
> name="activates_default">False</property>
> -			  <signal name="changed"
> handler="on_booleansFilter_changed" last_modification_time="Fri, 06
> Apr 2007 12:39:26 GMT"/>
> -			</widget>
> -			<packing>
> -			  <property name="padding">0</property>
> -			  <property name="expand">True</property>
> -			  <property name="fill">True</property>
> -			</packing>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">5</property>
> -		      <property name="expand">False</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -
> -		  <child>
> -		    <widget class="GtkScrolledWindow"
> id="scrolledwindow20">
> -		      <property name="visible">True</property>
> -		      <property name="can_focus">True</property>
> -		      <property
> name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
> -		      <property
> name="shadow_type">GTK_SHADOW_NONE</property>
> -		      <property
> name="window_placement">GTK_CORNER_TOP_LEFT</property>
> -
> -		      <child>
> -			<widget class="GtkTreeView"
> id="domainsView">
> -			  <property name="visible">True</property>
> -			  <property name="tooltip"
> translatable="yes">Process Domain</property>
> -			  <property name="can_focus">True</property>
> -			  <property
> name="headers_visible">True</property>
> -			  <property
> name="rules_hint">False</property>
> -			  <property
> name="reorderable">False</property>
> -			  <property
> name="enable_search">True</property>
> -			  <property
> name="fixed_height_mode">False</property>
> -			  <property
> name="hover_selection">False</property>
> -			  <property
> name="hover_expand">False</property>
> -			</widget>
> -		      </child>
> -		    </widget>
> -		    <packing>
> -		      <property name="padding">0</property>
> -		      <property name="expand">True</property>
> -		      <property name="fill">True</property>
> -		    </packing>
> -		  </child>
> -		</widget>
> -		<packing>
> -		  <property name="tab_expand">False</property>
> -		  <property name="tab_fill">True</property>
> -		</packing>
> -	      </child>
> -
> -	      <child>
> -		<widget class="GtkLabel" id="label59">
> -		  <property name="visible">True</property>
> -		  <property name="label"
> translatable="yes">label59</property>
> -		  <property name="use_underline">False</property>
> -		  <property name="use_markup">False</property>
> -		  <property
> name="justify">GTK_JUSTIFY_LEFT</property>
> -		  <property name="wrap">False</property>
> -		  <property name="selectable">False</property>
> -		  <property name="xalign">0.5</property>
> -		  <property name="yalign">0.5</property>
> -		  <property name="xpad">0</property>
> -		  <property name="ypad">0</property>
> -		  <property
> name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> -		  <property name="width_chars">-1</property>
> -		  <property name="single_line_mode">False</property>
> -		  <property name="angle">0</property>
> -		</widget>
> -		<packing>
> -		  <property name="type">tab</property>
> -		</packing>
> -	      </child>
> -	    </widget>
> -	    <packing>
> -	      <property name="shrink">True</property>
> -	      <property name="resize">True</property>
> -	    </packing>
> -	  </child>
> -	</widget>
> -      </child>
> -    </widget>
> -    <packing>
> -      <property name="padding">0</property>
> -      <property name="expand">True</property>
> -      <property name="fill">True</property>
> -    </packing>
> -  </child>
> -
> -  <child internal-child="appbar">
> -    <widget class="GnomeAppBar" id="appbar2">
> -      <property name="visible">True</property>
> -      <property name="has_progress">True</property>
> -      <property name="has_status">True</property>
> -    </widget>
> -    <packing>
> -      <property name="padding">0</property>
> -      <property name="expand">True</property>
> -      <property name="fill">True</property>
> -    </packing>
> -  </child>
> -</widget>
> -
> -</glade-interface>
> diff --git a/gui/system-config-selinux.py b/gui/system-config-
> selinux.py
> index ed41e981efb1..ce7c74b1333c 100644
> --- a/gui/system-config-selinux.py
> +++ b/gui/system-config-selinux.py
> @@ -20,20 +20,19 @@
>  # along with this program; if not, write to the Free Software
>  # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  #
> +import os
>  import signal
> -import string
>  import sys
> +import gi
> +gi.require_version('Gtk', '3.0')
>  try:
> -    import gtk
> +    from gi.repository import Gtk
>  except RuntimeError as e:
>      print("system-config-selinux:", e)
>      print("This is a graphical application and requires DISPLAY to
> be set.")
>      sys.exit(1)
>  
> -import gtk.glade
> -import os
> -import gobject
> -import gnome
> +from gi.repository import GObject
>  import statusPage
>  import booleansPage
>  import loginsPage
> @@ -64,8 +63,6 @@ except:
>          import __builtin__
>          __builtin__.__dict__['_'] = unicode
>  
> -gnome.program_init("SELinux Management Tool", "5")
> -
>  version = "1.0"
>  
>  sys.path.append('/usr/share/system-config-selinux')
> @@ -74,10 +71,12 @@ sys.path.append('/usr/share/system-config-
> selinux')
>  ##
>  ## Pull in the Glade file
>  ##
> -if os.access("system-config-selinux.glade", os.F_OK):
> -    xml = gtk.glade.XML("system-config-selinux.glade",
> domain=PROGNAME)
> +xml = Gtk.Builder()
> +xml.set_translation_domain(PROGNAME)
> +if os.access("system-config-selinux.ui", os.F_OK):
> +    xml.add_from_file("system-config-selinux.ui")
>  else:
> -    xml = gtk.glade.XML("/usr/share/system-config-selinux/system-
> config-selinux.glade", domain=PROGNAME)
> +    xml.add_from_file("/usr/share/system-config-selinux/system-
> config-selinux.ui")
>  
>  
>  class childWindow:
> @@ -85,11 +84,16 @@ class childWindow:
>      def __init__(self):
>          self.tabs = []
>          self.xml = xml
> -        xml.signal_connect("on_quit_activate", self.destroy)
> -        xml.signal_connect("on_delete_clicked", self.delete)
> -        xml.signal_connect("on_add_clicked", self.add)
> -        xml.signal_connect("on_properties_clicked", self.properties)
> -        xml.signal_connect("on_local_clicked",
> self.on_local_clicked)
> +        xml.connect_signals({
> +            "on_quit_activate": self.destroy,
> +            "on_delete_clicked": self.delete,
> +            "on_add_clicked": self.add,
> +            "on_properties_clicked": self.properties,
> +            "on_local_clicked": self.on_local_clicked,
> +            "on_policy_activate": self.policy,
> +            "on_logging_activate": self.logging,
> +            "on_about_activate": self.on_about_activate,
> +        })
>          self.add_page(statusPage.statusPage(xml))
>          if selinux.is_selinux_enabled() > 0:
>              try:
> @@ -103,20 +107,15 @@ class childWindow:
>              except ValueError as e:
>                  self.error(e.message)
>  
> -        xml.signal_connect("on_quit_activate", self.destroy)
> -        xml.signal_connect("on_policy_activate", self.policy)
> -        xml.signal_connect("on_logging_activate", self.logging)
> -        xml.signal_connect("on_about_activate",
> self.on_about_activate)
> -
> -        self.add_menu = xml.get_widget("add_menu_item")
> -        self.properties_menu =
> xml.get_widget("properties_menu_item")
> -        self.delete_menu = xml.get_widget("delete_menu_item")
> +        self.add_menu = xml.get_object("add_menu_item")
> +        self.properties_menu =
> xml.get_object("properties_menu_item")
> +        self.delete_menu = xml.get_object("delete_menu_item")
>  
>      def error(self, message):
> -        dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
> -                                gtk.BUTTONS_CLOSE,
> +        dlg = Gtk.MessageDialog(None, 0, Gtk.MessageType.ERROR,
> +                                Gtk.ButtonsType.CLOSE,
>                                  message)
> -        dlg.set_position(gtk.WIN_POS_MOUSE)
> +        dlg.set_position(Gtk.WindowPosition.MOUSE)
>          dlg.show_all()
>          dlg.run()
>          dlg.destroy()
> @@ -143,12 +142,12 @@ class childWindow:
>          self.tabs[self.notebook.get_current_page()].on_local_clicked
> (button)
>  
>      def on_about_activate(self, args):
> -        dlg = xml.get_widget("aboutWindow")
> +        dlg = xml.get_object("aboutWindow")
>          dlg.run()
>          dlg.hide()
>  
>      def destroy(self, args):
> -        gtk.main_quit()
> +        Gtk.main_quit()
>  
>      def use_menus(self, use_menus):
>          self.add_menu.set_sensitive(use_menus)
> @@ -166,13 +165,13 @@ class childWindow:
>  
>      def setupScreen(self):
>          # Bring in widgets from glade file.
> -        self.mainWindow = self.xml.get_widget("mainWindow")
> -        self.notebook = self.xml.get_widget("notebook")
> -        self.view = self.xml.get_widget("selectView")
> +        self.mainWindow = self.xml.get_object("mainWindow")
> +        self.notebook = self.xml.get_object("notebook")
> +        self.view = self.xml.get_object("selectView")
>          self.view.get_selection().connect("changed",
> self.itemSelected)
> -        self.store = gtk.ListStore(gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=0)
> +        col = Gtk.TreeViewColumn("", Gtk.CellRendererText(), text=0)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
> @@ -189,7 +188,7 @@ class childWindow:
>          self.mainWindow.connect("destroy", self.destroy)
>  
>          self.mainWindow.show_all()
> -        gtk.main()
> +        Gtk.main()
>  
>  if __name__ == "__main__":
>      signal.signal(signal.SIGINT, signal.SIG_DFL)
> diff --git a/gui/system-config-selinux.ui b/gui/system-config-
> selinux.ui
> new file mode 100644
> index 000000000000..c3f261a10d8d
> --- /dev/null
> +++ b/gui/system-config-selinux.ui
> @@ -0,0 +1,2043 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!-- Generated with glade 3.20.0 -->
> +<!--*- mode: xml -*-->
> +<interface>
> +  <requires lib="gtk+" version="3.0"/>
> +  <object class="GtkAboutDialog" id="aboutWindow">
> +    <property name="name">system-config-selinux</property>
> +    <property name="can_focus">False</property>
> +    <property name="border_width">5</property>
> +    <property name="type_hint">normal</property>
> +    <property name="copyright" translatable="yes">Copyright (c)2006
> Red Hat, Inc.
> +Copyright (c) 2006 Dan Walsh &lt;dwalsh@xxxxxxxxxx&gt;</property>
> +    <property name="authors">Daniel Walsh &lt;dwalsh@xxxxxxxxxx&gt;
> +</property>
> +    <property name="translator_credits" translatable="yes"
> comments="TRANSLATORS: Replace this string with your names, one name
> per line.">translator-credits</property>
> +    <property name="logo">system-config-selinux.png</property>
> +    <child internal-child="vbox">
> +      <object class="GtkBox">
> +        <property name="can_focus">False</property>
> +        <child internal-child="action_area">
> +          <object class="GtkButtonBox">
> +            <property name="can_focus">False</property>
> +          </object>
> +          <packing>
> +            <property name="expand">False</property>
> +            <property name="fill">False</property>
> +            <property name="position">0</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <child>
> +      <placeholder/>
> +    </child>
> +  </object>
> +  <object class="GtkImage" id="image13">
> +    <property name="visible">True</property>
> +    <property name="can_focus">False</property>
> +    <property name="stock">gtk-add</property>
> +  </object>
> +  <object class="GtkImage" id="image14">
> +    <property name="visible">True</property>
> +    <property name="can_focus">False</property>
> +    <property name="stock">gtk-properties</property>
> +  </object>
> +  <object class="GtkImage" id="image15">
> +    <property name="visible">True</property>
> +    <property name="can_focus">False</property>
> +    <property name="stock">gtk-delete</property>
> +  </object>
> +  <object class="GtkDialog" id="loginsDialog">
> +    <property name="can_focus">False</property>
> +    <property name="title" translatable="yes">Add SELinux Login
> Mapping</property>
> +    <property name="type_hint">dialog</property>
> +    <child internal-child="vbox">
> +      <object class="GtkBox" id="dialog-vbox1">
> +        <property name="visible">True</property>
> +        <property name="can_focus">False</property>
> +        <child internal-child="action_area">
> +          <object class="GtkButtonBox" id="dialog-action_area1">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="layout_style">end</property>
> +            <child>
> +              <object class="GtkButton" id="cancelbutton1">
> +                <property name="label">gtk-cancel</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +            <child>
> +              <object class="GtkButton" id="okbutton1">
> +                <property name="label">gtk-ok</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</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="GtkBox" id="vbox2">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="orientation">vertical</property>
> +            <child>
> +              <object class="GtkGrid" id="table1">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="row_spacing">4</property>
> +                <property name="column_spacing">6</property>
> +                <child>
> +                  <object class="GtkLabel" id="label15">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label" translatable="yes">Login
> Name</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label16">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">SELinux User</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label17">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">MLS/MCS Range</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="loginsNameEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkComboBoxText"
> id="loginsSelinuxUserCombo">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="loginsMLSEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="padding">5</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">True</property>
> +            <property name="fill">True</property>
> +            <property name="position">1</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <action-widgets>
> +      <action-widget response="-6">cancelbutton1</action-widget>
> +      <action-widget response="-5">okbutton1</action-widget>
> +    </action-widgets>
> +    <child>
> +      <placeholder/>
> +    </child>
> +  </object>
> +  <object class="GtkListStore" id="model1">
> +    <columns>
> +      <!-- column-name gchararray -->
> +      <column type="gchararray"/>
> +    </columns>
> +    <data>
> +      <row>
> +        <col id="0">tcp</col>
> +      </row>
> +      <row>
> +        <col id="0">udp</col>
> +      </row>
> +    </data>
> +  </object>
> +  <object class="GtkDialog" id="portsDialog">
> +    <property name="can_focus">False</property>
> +    <property name="title" translatable="yes">Add SELinux Network
> Ports</property>
> +    <property name="type_hint">dialog</property>
> +    <child internal-child="vbox">
> +      <object class="GtkBox" id="vbox3">
> +        <property name="visible">True</property>
> +        <property name="can_focus">False</property>
> +        <child internal-child="action_area">
> +          <object class="GtkButtonBox" id="hbuttonbox1">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="layout_style">end</property>
> +            <child>
> +              <object class="GtkButton" id="button1">
> +                <property name="label">gtk-cancel</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +            <child>
> +              <object class="GtkButton" id="button2">
> +                <property name="label">gtk-ok</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</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="GtkBox" id="vbox4">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="orientation">vertical</property>
> +            <child>
> +              <object class="GtkGrid" id="table2">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="row_spacing">4</property>
> +                <property name="column_spacing">6</property>
> +                <child>
> +                  <object class="GtkLabel" id="label18">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label" translatable="yes">Port
> Number</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label19">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">Protocol</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label20">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">SELinux Type</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="portsNumberEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkComboBox"
> id="portsProtocolCombo">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="model">model1</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="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="portsNameEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label21">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">MLS/MCS
> +Level</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">3</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="portsMLSEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">3</property>
> +                  </packing>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="padding">5</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">True</property>
> +            <property name="fill">True</property>
> +            <property name="position">1</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <action-widgets>
> +      <action-widget response="-6">button1</action-widget>
> +      <action-widget response="-5">button2</action-widget>
> +    </action-widgets>
> +    <child>
> +      <placeholder/>
> +    </child>
> +  </object>
> +  <object class="GtkListStore" id="model2">
> +    <columns>
> +      <!-- column-name gchararray -->
> +      <column type="gchararray"/>
> +    </columns>
> +    <data>
> +      <row>
> +        <col id="0" translatable="yes">all files</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">regular file</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">directory</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">character device</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">block device</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">socket file</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">symbolic link</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">named pipe</col>
> +      </row>
> +    </data>
> +  </object>
> +  <object class="GtkDialog" id="fcontextDialog">
> +    <property name="can_focus">False</property>
> +    <property name="title" translatable="yes">Add SELinux Login
> Mapping</property>
> +    <property name="type_hint">dialog</property>
> +    <child internal-child="vbox">
> +      <object class="GtkBox" id="vbox7">
> +        <property name="visible">True</property>
> +        <property name="can_focus">False</property>
> +        <child internal-child="action_area">
> +          <object class="GtkButtonBox" id="hbuttonbox3">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="layout_style">end</property>
> +            <child>
> +              <object class="GtkButton" id="button5">
> +                <property name="label">gtk-cancel</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +            <child>
> +              <object class="GtkButton" id="button6">
> +                <property name="label">gtk-ok</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</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="GtkBox" id="vbox8">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="orientation">vertical</property>
> +            <child>
> +              <object class="GtkGrid" id="table4">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="row_spacing">4</property>
> +                <property name="column_spacing">6</property>
> +                <child>
> +                  <object class="GtkLabel" id="label25">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label" translatable="yes">File
> Specification</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label26">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label" translatable="yes">File
> Type</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label27">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">SELinux Type</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="fcontextEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkComboBox"
> id="fcontextFileTypeCombo">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="model">model2</property>
> +                    <child>
> +                      <object class="GtkCellRendererText"
> id="renderer2"/>
> +                      <attributes>
> +                        <attribute name="text">0</attribute>
> +                      </attributes>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="fcontextTypeEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label31">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">MLS</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">3</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="fcontextMLSEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">3</property>
> +                  </packing>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="padding">5</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">True</property>
> +            <property name="fill">True</property>
> +            <property name="position">1</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <action-widgets>
> +      <action-widget response="-6">button5</action-widget>
> +      <action-widget response="-5">button6</action-widget>
> +    </action-widgets>
> +    <child>
> +      <placeholder/>
> +    </child>
> +  </object>
> +  <object class="GtkListStore" id="model3">
> +    <columns>
> +      <!-- column-name gchararray -->
> +      <column type="gchararray"/>
> +    </columns>
> +    <data>
> +      <row>
> +        <col id="0" translatable="yes">Disabled</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">Permissive</col>
> +      </row>
> +      <row>
> +        <col id="0" translatable="yes">Enforcing</col>
> +      </row>
> +    </data>
> +  </object>
> +  <object class="GtkApplicationWindow" id="mainWindow">
> +    <property name="can_focus">False</property>
> +    <property name="title" translatable="yes">SELinux
> Administration</property>
> +    <property name="default_width">800</property>
> +    <property name="default_height">500</property>
> +    <property name="icon">system-config-selinux.png</property>
> +    <child>
> +      <object class="GtkBox">
> +        <property name="visible">True</property>
> +        <property name="can_focus">False</property>
> +        <property name="orientation">vertical</property>
> +        <child>
> +          <object class="GtkMenuBar" id="menubar1">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <child>
> +              <object class="GtkMenuItem" id="file1">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="label"
> translatable="yes">_File</property>
> +                <property name="use_underline">True</property>
> +                <child type="submenu">
> +                  <object class="GtkMenu" id="file1_menu">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <child>
> +                      <object class="GtkImageMenuItem"
> id="add_menu_item">
> +                        <property name="label"
> translatable="yes">_Add</property>
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="use_underline">True</property>
> +                        <property name="image">image13</property>
> +                        <property name="use_stock">False</property>
> +                        <signal name="activate"
> handler="on_add_clicked" swapped="no"/>
> +                        <accelerator key="a" signal="activate"
> modifiers="GDK_CONTROL_MASK"/>
> +                      </object>
> +                    </child>
> +                    <child>
> +                      <object class="GtkImageMenuItem"
> id="properties_menu_item">
> +                        <property name="label"
> translatable="yes">_Properties</property>
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="use_underline">True</property>
> +                        <property name="image">image14</property>
> +                        <property name="use_stock">False</property>
> +                        <signal name="activate"
> handler="on_properties_clicked" swapped="no"/>
> +                        <accelerator key="p" signal="activate"
> modifiers="GDK_CONTROL_MASK"/>
> +                      </object>
> +                    </child>
> +                    <child>
> +                      <object class="GtkImageMenuItem"
> id="delete_menu_item">
> +                        <property name="label"
> translatable="yes">_Delete</property>
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="use_underline">True</property>
> +                        <property name="image">image15</property>
> +                        <property name="use_stock">False</property>
> +                        <accelerator key="Delete"
> signal="activate"/>
> +                      </object>
> +                    </child>
> +                    <child>
> +                      <object class="GtkImageMenuItem" id="quit">
> +                        <property name="label">gtk-quit</property>
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="use_underline">True</property>
> +                        <property name="use_stock">True</property>
> +                        <signal name="activate"
> handler="on_quit_activate" swapped="no"/>
> +                      </object>
> +                    </child>
> +                  </object>
> +                </child>
> +              </object>
> +            </child>
> +            <child>
> +              <object class="GtkMenuItem" id="help1">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="label"
> translatable="yes">_Help</property>
> +                <property name="use_underline">True</property>
> +                <child type="submenu">
> +                  <object class="GtkMenu" id="help1_menu">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <child>
> +                      <object class="GtkImageMenuItem" id="about">
> +                        <property name="label">gtk-about</property>
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="use_underline">True</property>
> +                        <property name="use_stock">True</property>
> +                        <signal name="activate"
> handler="on_about_activate" swapped="no"/>
> +                      </object>
> +                    </child>
> +                  </object>
> +                </child>
> +              </object>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">False</property>
> +            <property name="fill">True</property>
> +            <property name="position">0</property>
> +          </packing>
> +        </child>
> +        <child>
> +          <object class="GtkPaned" id="hpaned1">
> +            <property name="visible">True</property>
> +            <property name="can_focus">True</property>
> +            <child>
> +              <object class="GtkFrame" id="frame1">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="border_width">5</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="GtkTreeView" id="selectView">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property name="tooltip_text"
> translatable="yes">Select Management Object</property>
> +                        <property
> name="headers_visible">False</property>
> +                        <child internal-child="selection">
> +                          <object class="GtkTreeSelection"/>
> +                        </child>
> +                      </object>
> +                    </child>
> +                  </object>
> +                </child>
> +                <child type="label">
> +                  <object class="GtkLabel" id="label45">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">&lt;b&gt;Select:&lt;/b&gt;</property>
> +                    <property name="use_markup">True</property>
> +                  </object>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="resize">True</property>
> +                <property name="shrink">False</property>
> +              </packing>
> +            </child>
> +            <child>
> +              <object class="GtkNotebook" id="notebook">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="show_tabs">False</property>
> +                <child>
> +                  <object class="GtkBox" id="vbox1">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkGrid" id="table6">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property name="row_spacing">5</property>
> +                        <property name="column_spacing">5</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label29">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">System Default Enforcing Mode</property>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">0</property>
> +                            <property name="top_attach">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkComboBox"
> id="enabledOptionMenu">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="hexpand">True</property>
> +                            <property name="model">model3</property>
> +                            <child>
> +                              <object class="GtkCellRendererText"
> id="renderer3"/>
> +                              <attributes>
> +                                <attribute name="text">0</attribute>
> +                              </attributes>
> +                            </child>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">1</property>
> +                            <property name="top_attach">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkLabel" id="label48">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Current Enforcing Mode</property>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">0</property>
> +                            <property name="top_attach">1</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkComboBoxText"
> id="currentOptionMenu">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="hexpand">True</property>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">1</property>
> +                            <property name="top_attach">1</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkLabel" id="typeLabel">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">System Default Policy Type: </property>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">0</property>
> +                            <property name="top_attach">2</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkComboBoxText"
> id="selinuxTypeOptionMenu">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="hexpand">True</property>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">1</property>
> +                            <property name="top_attach">2</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkCheckButton"
> id="relabelCheckbutton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="receives_default">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Select if you wish to relabel then entire file
> system on next reboot.  Relabeling can take a very long time,
> depending on the size of the system.  If you are changing policy
> types or going from disabled to enforcing, a relabel is
> required.</property>
> +                            <property
> name="hexpand">False</property>
> +                            <property
> name="draw_indicator">True</property>
> +                            <child>
> +                              <object class="GtkAlignment"
> id="alignment4">
> +                                <property
> name="visible">True</property>
> +                                <property
> name="can_focus">False</property>
> +                                <property
> name="hexpand">True</property>
> +                                <property name="xscale">0</property>
> +                                <property name="yscale">0</property>
> +                                <child>
> +                                  <object class="GtkBox" id="hbox6">
> +                                    <property
> name="visible">True</property>
> +                                    <property
> name="can_focus">False</property>
> +                                    <property
> name="hexpand">True</property>
> +                                    <property
> name="spacing">2</property>
> +                                    <child>
> +                                      <object class="GtkImage"
> id="image2">
> +                                        <property
> name="visible">True</property>
> +                                        <property
> name="can_focus">False</property>
> +                                        <property name="stock">gtk-
> refresh</property>
> +                                      </object>
> +                                      <packing>
> +                                        <property
> name="expand">False</property>
> +                                        <property
> name="fill">False</property>
> +                                        <property
> name="position">0</property>
> +                                      </packing>
> +                                    </child>
> +                                    <child>
> +                                      <object class="GtkLabel"
> id="label49">
> +                                        <property
> name="visible">True</property>
> +                                        <property
> name="can_focus">False</property>
> +                                        <property name="label"
> translatable="yes">Relabel on next reboot.</property>
> +                                        <property
> name="use_underline">True</property>
> +                                      </object>
> +                                      <packing>
> +                                        <property
> name="expand">False</property>
> +                                        <property
> name="fill">False</property>
> +                                        <property
> name="position">1</property>
> +                                      </packing>
> +                                    </child>
> +                                  </object>
> +                                </child>
> +                              </object>
> +                            </child>
> +                          </object>
> +                          <packing>
> +                            <property
> name="left_attach">0</property>
> +                            <property name="top_attach">3</property>
> +                            <property name="width">2</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="pack_type">end</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox18">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar9">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="booleanRevertButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Revert boolean setting to system
> default</property>
> +                            <property name="stock_id">gtk-revert-to-
> saved</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton34">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Toggle between Customized and All
> Booleans</property>
> +                            <property name="label"
> translatable="yes">Customized</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-
> find</property>
> +                            <signal name="clicked"
> handler="on_local_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox7">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label51">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="booleansFilter">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">10</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow18">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="booleansView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">Boolean</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox11">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar2">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton5">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Add File Context</property>
> +                            <property name="stock_id">gtk-
> add</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton6">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Modify File Context</property>
> +                            <property name="stock_id">gtk-
> properties</property>
> +                            <signal name="clicked"
> handler="on_properties_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton7">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Delete File Context</property>
> +                            <property name="stock_id">gtk-
> delete</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="customizedButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Toggle between all and customized file
> context</property>
> +                            <property name="label"
> translatable="yes">Customized</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-
> find</property>
> +                            <signal name="clicked"
> handler="on_local_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox14">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label58">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="fcontextFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow19">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="fcontextView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">File Labeling</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox12">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar3">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton8">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Add SELinux User Mapping</property>
> +                            <property name="stock_id">gtk-
> add</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton29">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Modify SELinux User Mapping</property>
> +                            <property name="stock_id">gtk-
> properties</property>
> +                            <signal name="clicked"
> handler="on_properties_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton10">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Delete SELinux User Mapping</property>
> +                            <property name="stock_id">gtk-
> delete</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox13">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label57">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="loginsFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">5</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow16">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="loginsView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">User Mapping</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">3</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox14">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar5">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton14">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Add User</property>
> +                            <property name="stock_id">gtk-
> add</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton15">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Modify User</property>
> +                            <property name="stock_id">gtk-
> properties</property>
> +                            <signal name="clicked"
> handler="on_properties_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton16">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Delete User</property>
> +                            <property name="stock_id">gtk-
> delete</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox12">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label56">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="usersFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">5</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow11">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="usersView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">SELinux User</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">4</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox15">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar6">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="portsAddButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Add Network Port</property>
> +                            <property name="stock_id">gtk-
> add</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="portsPropertiesButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Edit Network Port</property>
> +                            <property name="stock_id">gtk-
> properties</property>
> +                            <signal name="clicked"
> handler="on_properties_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="portsDeleteButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Delete Network Port</property>
> +                            <property name="stock_id">gtk-
> delete</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolItem"
> id="toolitem2">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <child>
> +                              <object class="GtkSeparator"
> id="vseparator1">
> +                                <property
> name="width_request">32</property>
> +                                <property
> name="visible">True</property>
> +                                <property
> name="can_focus">False</property>
> +                                <property
> name="orientation">vertical</property>
> +                              </object>
> +                            </child>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">False</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="listViewButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Toggle between Customized and All Ports</property>
> +                            <property name="label"
> translatable="yes">Group View</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-
> indent</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton35">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Toggle between Customized and All Ports</property>
> +                            <property name="label"
> translatable="yes">Customized</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-
> find</property>
> +                            <signal name="clicked"
> handler="on_local_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox9">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label53">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="portsFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">5</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow13">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="portsView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">Network Port</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">5</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox17">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar8">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="newModuleButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Generate new policy module</property>
> +                            <property name="stock_id">gtk-
> new</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton23">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Load policy module</property>
> +                            <property name="stock_id">gtk-
> add</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="toolbutton25">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Remove loadable policy module</property>
> +                            <property name="stock_id">gtk-
> remove</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolItem"
> id="toolitem3">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <child>
> +                              <object class="GtkSeparator"
> id="vseparator2">
> +                                <property
> name="width_request">10</property>
> +                                <property
> name="visible">True</property>
> +                                <property
> name="can_focus">False</property>
> +                                <property
> name="orientation">vertical</property>
> +                              </object>
> +                            </child>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">False</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="enableAuditButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Enable/Disable additional audit rules, that are
> normally not reported in the log files.</property>
> +                            <property name="label"
> translatable="yes">Enable Audit</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-zoom-
> in</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox11">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label55">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="modulesFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">5</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow15">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="modulesView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">Policy Module</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">6</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkBox" id="vbox19">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="orientation">vertical</property>
> +                    <child>
> +                      <object class="GtkToolbar" id="toolbar10">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <property
> name="toolbar_style">both</property>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="permissiveButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Change process mode to permissive.</property>
> +                            <property name="label"
> translatable="yes">Permissive</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-dialog-
> warning</property>
> +                            <signal name="clicked"
> handler="on_add_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkToolButton"
> id="enforcingButton">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="tooltip_text"
> translatable="yes">Change process mode to enforcing</property>
> +                            <property name="label"
> translatable="yes">Enforcing</property>
> +                            <property
> name="use_underline">True</property>
> +                            <property name="stock_id">gtk-dialog-
> error</property>
> +                            <signal name="clicked"
> handler="on_delete_clicked" swapped="no"/>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property
> name="homogeneous">True</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">False</property>
> +                        <property name="position">0</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkBox" id="hbox15">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">False</property>
> +                        <child>
> +                          <object class="GtkLabel" id="label60">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">False</property>
> +                            <property name="label"
> translatable="yes">Filter</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">False</property>
> +                            <property name="fill">False</property>
> +                            <property name="padding">10</property>
> +                            <property name="position">0</property>
> +                          </packing>
> +                        </child>
> +                        <child>
> +                          <object class="GtkEntry"
> id="domainsFilterEntry">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property
> name="invisible_char">•</property>
> +                          </object>
> +                          <packing>
> +                            <property name="expand">True</property>
> +                            <property name="fill">True</property>
> +                            <property name="position">1</property>
> +                          </packing>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">False</property>
> +                        <property name="fill">True</property>
> +                        <property name="padding">5</property>
> +                        <property name="position">1</property>
> +                      </packing>
> +                    </child>
> +                    <child>
> +                      <object class="GtkScrolledWindow"
> id="scrolledwindow20">
> +                        <property name="visible">True</property>
> +                        <property name="can_focus">True</property>
> +                        <property
> name="hscrollbar_policy">always</property>
> +                        <property
> name="vscrollbar_policy">always</property>
> +                        <child>
> +                          <object class="GtkTreeView"
> id="domainsView">
> +                            <property name="visible">True</property>
> +                            <property
> name="can_focus">True</property>
> +                            <property name="tooltip_text"
> translatable="yes">Process Domain</property>
> +                            <child internal-child="selection">
> +                              <object class="GtkTreeSelection"/>
> +                            </child>
> +                          </object>
> +                        </child>
> +                      </object>
> +                      <packing>
> +                        <property name="expand">True</property>
> +                        <property name="fill">True</property>
> +                        <property name="position">2</property>
> +                      </packing>
> +                    </child>
> +                  </object>
> +                  <packing>
> +                    <property name="position">7</property>
> +                  </packing>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="resize">True</property>
> +                <property name="shrink">True</property>
> +              </packing>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">True</property>
> +            <property name="fill">True</property>
> +            <property name="position">1</property>
> +          </packing>
> +        </child>
> +        <child>
> +          <object class="GtkStatusbar">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="margin_left">10</property>
> +            <property name="margin_right">10</property>
> +            <property name="margin_start">10</property>
> +            <property name="margin_end">10</property>
> +            <property name="margin_top">6</property>
> +            <property name="margin_bottom">6</property>
> +            <property name="orientation">vertical</property>
> +            <property name="spacing">2</property>
> +          </object>
> +          <packing>
> +            <property name="expand">False</property>
> +            <property name="fill">False</property>
> +            <property name="position">2</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <child type="titlebar">
> +      <placeholder/>
> +    </child>
> +  </object>
> +  <object class="GtkDialog" id="usersDialog">
> +    <property name="can_focus">False</property>
> +    <property name="title" translatable="yes">Add SELinux
> User</property>
> +    <property name="type_hint">dialog</property>
> +    <child internal-child="vbox">
> +      <object class="GtkBox" id="vbox9">
> +        <property name="visible">True</property>
> +        <property name="can_focus">False</property>
> +        <child internal-child="action_area">
> +          <object class="GtkButtonBox" id="hbuttonbox4">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="layout_style">end</property>
> +            <child>
> +              <object class="GtkButton" id="button7">
> +                <property name="label">gtk-cancel</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +            <child>
> +              <object class="GtkButton" id="button8">
> +                <property name="label">gtk-ok</property>
> +                <property name="visible">True</property>
> +                <property name="can_focus">True</property>
> +                <property name="can_default">True</property>
> +                <property name="receives_default">False</property>
> +                <property name="use_stock">True</property>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</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="GtkBox" id="vbox10">
> +            <property name="visible">True</property>
> +            <property name="can_focus">False</property>
> +            <property name="orientation">vertical</property>
> +            <child>
> +              <object class="GtkGrid" id="table5">
> +                <property name="visible">True</property>
> +                <property name="can_focus">False</property>
> +                <property name="row_spacing">4</property>
> +                <property name="column_spacing">6</property>
> +                <child>
> +                  <object class="GtkLabel" id="label32">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">SELinux User</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label34">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">MLS/MCS Range</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="mlsRangeEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">1</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkLabel" id="label36">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">False</property>
> +                    <property name="label"
> translatable="yes">SELinux Roles</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">0</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="selinuxRolesEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">2</property>
> +                  </packing>
> +                </child>
> +                <child>
> +                  <object class="GtkEntry" id="selinuxUserEntry">
> +                    <property name="visible">True</property>
> +                    <property name="can_focus">True</property>
> +                    <property name="invisible_char">*</property>
> +                  </object>
> +                  <packing>
> +                    <property name="left_attach">1</property>
> +                    <property name="top_attach">0</property>
> +                  </packing>
> +                </child>
> +              </object>
> +              <packing>
> +                <property name="expand">True</property>
> +                <property name="fill">True</property>
> +                <property name="padding">5</property>
> +                <property name="position">0</property>
> +              </packing>
> +            </child>
> +          </object>
> +          <packing>
> +            <property name="expand">True</property>
> +            <property name="fill">True</property>
> +            <property name="position">1</property>
> +          </packing>
> +        </child>
> +      </object>
> +    </child>
> +    <action-widgets>
> +      <action-widget response="-6">button7</action-widget>
> +      <action-widget response="-5">button8</action-widget>
> +    </action-widgets>
> +    <child>
> +      <placeholder/>
> +    </child>
> +  </object>
> +</interface>
> diff --git a/gui/usersPage.py b/gui/usersPage.py
> index 75b054737088..9d09bda2171f 100644
> --- a/gui/usersPage.py
> +++ b/gui/usersPage.py
> @@ -16,17 +16,13 @@
>  ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>  
>  ## Author: Dan Walsh
> -import string
> -import gtk
> -import gtk.glade
> -import os
> -import gobject
>  import sys
>  try:
>      from subprocess import getstatusoutput
>  except ImportError:
>      from commands import getstatusoutput
>  
> +from gi.repository import GObject, Gtk
>  import seobject
>  from semanagePage import *
>  
> @@ -57,27 +53,27 @@ class usersPage(semanagePage):
>      def __init__(self, xml):
>          semanagePage.__init__(self, xml, "users", _("SELinux User"))
>  
> -        self.store = gtk.ListStore(gobject.TYPE_STRING,
> gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
> gobject.TYPE_STRING)
> +        self.store = Gtk.ListStore(GObject.TYPE_STRING,
> GObject.TYPE_STRING, GObject.TYPE_STRING, GObject.TYPE_STRING,
> GObject.TYPE_STRING)
>          self.view.set_model(self.store)
> -        self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
> +        self.store.set_sort_column_id(0, Gtk.SortType.ASCENDING)
>  
> -        col = gtk.TreeViewColumn(_("SELinux\nUser"),
> gtk.CellRendererText(), text=0)
> +        col = Gtk.TreeViewColumn(_("SELinux\nUser"),
> Gtk.CellRendererText(), text=0)
>          col.set_sort_column_id(0)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
> -        col = gtk.TreeViewColumn(_("MLS/\nMCS Range"),
> gtk.CellRendererText(), text=1)
> +        col = Gtk.TreeViewColumn(_("MLS/\nMCS Range"),
> Gtk.CellRendererText(), text=1)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
> -        col = gtk.TreeViewColumn(_("SELinux Roles"),
> gtk.CellRendererText(), text=2)
> +        col = Gtk.TreeViewColumn(_("SELinux Roles"),
> Gtk.CellRendererText(), text=2)
>          col.set_resizable(True)
>          self.view.append_column(col)
>  
>          self.load()
> -        self.selinuxUserEntry = xml.get_widget("selinuxUserEntry")
> -        self.mlsRangeEntry = xml.get_widget("mlsRangeEntry")
> -        self.selinuxRolesEntry = xml.get_widget("selinuxRolesEntry")
> +        self.selinuxUserEntry = xml.get_object("selinuxUserEntry")
> +        self.mlsRangeEntry = xml.get_object("mlsRangeEntry")
> +        self.selinuxRolesEntry = xml.get_object("selinuxRolesEntry")
>  
>      def load(self, filter=""):
>          self.filter = filter
> @@ -96,7 +92,7 @@ class usersPage(semanagePage):
>          self.view.get_selection().select_path((0,))
>  
>      def delete(self):
> -        if semanagePage.delete(self) == gtk.RESPONSE_NO:
> +        if semanagePage.delete(self) == Gtk.ResponseType.NO:
>              return None
>  
>      def dialogInit(self):




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux