[sabayon] Removal of dependency on gtk.glade
- From: Scott Balneaves <sbalneav src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [sabayon] Removal of dependency on gtk.glade
- Date: Thu, 17 Dec 2009 05:36:18 +0000 (UTC)
commit 72719aae040581b372547444cbf12d8b6d44e730
Author: Scott Balneaves <sbalneav ltsp org>
Date: Wed Dec 16 21:49:35 2009 -0600
Removal of dependency on gtk.glade
admin-tool/Makefile.am | 10 +-
admin-tool/editorwindow.py | 1 -
admin-tool/groupsdialog.py | 16 +-
admin-tool/profilesdialog.py | 39 +-
admin-tool/sabayon.glade | 944 ------------------------------------------
admin-tool/sabayon.ui | 890 +++++++++++++++++++++++++++++++++++++++
admin-tool/usersdialog.py | 20 +-
lib/config.py.in | 4 +-
po/POTFILES.in | 2 +-
9 files changed, 936 insertions(+), 990 deletions(-)
---
diff --git a/admin-tool/Makefile.am b/admin-tool/Makefile.am
index 0daf498..3215cd7 100644
--- a/admin-tool/Makefile.am
+++ b/admin-tool/Makefile.am
@@ -16,8 +16,8 @@ PYTHON_FILES = \
@INTLTOOL_DESKTOP_RULE@
-GLADE_FILES = \
- sabayon.glade
+UI_FILES = \
+ sabayon.ui
desktopdir = $(datadir)/applications
desktop_in_files = sabayon.desktop.in
@@ -25,7 +25,7 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
EXTRA_DIST = \
$(PYTHON_FILES) \
- $(GLADE_FILES) \
+ $(UI_FILES) \
$(desktop_in_files) \
$(desktop_DATA) \
sabayon \
@@ -35,8 +35,8 @@ EXTRA_DIST = \
sabayon.pam \
sabayon-xinitrc.sh.in
-gladedir = $(pkgdatadir)/glade
-glade_DATA = $(GLADE_FILES)
+uidir = $(pkgdatadir)/ui
+ui_DATA = $(UI_FILES)
bin_SCRIPTS = sabayon
sbin_SCRIPTS = sabayon-apply
diff --git a/admin-tool/editorwindow.py b/admin-tool/editorwindow.py
index 8cd1b69..42054c5 100755
--- a/admin-tool/editorwindow.py
+++ b/admin-tool/editorwindow.py
@@ -22,7 +22,6 @@ import tempfile
import time
import locale
import gtk
-import gtk.glade
import userprofile
import util
import aboutdialog
diff --git a/admin-tool/groupsdialog.py b/admin-tool/groupsdialog.py
index 635b0a1..24dd571 100644
--- a/admin-tool/groupsdialog.py
+++ b/admin-tool/groupsdialog.py
@@ -19,7 +19,6 @@
import os.path
import pwd
import gtk
-import gtk.glade
import systemdb
import errors
import debuglog
@@ -47,24 +46,25 @@ class GroupsDialog:
self.profile = profile
self.groupdb = systemdb.get_group_database ()
- glade_file = os.path.join (GLADEDIR, "sabayon.glade")
- self.xml = gtk.glade.XML (glade_file, "groups_dialog", PACKAGE)
+ self.builder = gtk.Builder()
+ self.builder.set_translation_domain(PACKAGE)
+ self.builder.add_from_file(os.path.join (BUILDERDIR, "sabayon.ui"))
- self.dialog = self.xml.get_widget ("groups_dialog")
+ self.dialog = self.builder.get_object ("groups_dialog")
self.dialog.set_transient_for (parent)
self.dialog.set_default_response (gtk.RESPONSE_CLOSE)
self.dialog.set_icon_name ("sabayon")
self.dialog.set_title (_("Groups for profile %s")%profile)
- self.close_button = self.xml.get_widget ("groups_close_button")
+ self.close_button = self.builder.get_object ("groups_close_button")
- self.help_button = self.xml.get_widget ("groups_help_button")
+ self.help_button = self.builder.get_object ("groups_help_button")
self.help_button.hide ()
self.groups_model = GroupsModel (self.groupdb, self.profile)
- self.groups_list_scroll = self.xml.get_widget ("groups_list_scroll")
- self.groups_list = self.xml.get_widget ("groups_list")
+ self.groups_list_scroll = self.builder.get_object ("groups_list_scroll")
+ self.groups_list = self.builder.get_object ("groups_list")
self.groups_list.set_model (self.groups_model)
c = gtk.TreeViewColumn (_("Group"),
diff --git a/admin-tool/profilesdialog.py b/admin-tool/profilesdialog.py
index 8a4fc79..991c8a3 100755
--- a/admin-tool/profilesdialog.py
+++ b/admin-tool/profilesdialog.py
@@ -24,7 +24,6 @@ import tempfile
import pwd
import gobject
import gtk
-import gtk.glade
import storage
import editorwindow
import usersdialog
@@ -270,22 +269,23 @@ class AddProfileDialog:
def __init__ (self, profiles_model):
self.profiles_model = profiles_model
- glade_file = os.path.join (GLADEDIR, "sabayon.glade")
- self.xml = gtk.glade.XML (glade_file, "add_profile_dialog", PACKAGE)
-
- self.dialog = self.xml.get_widget ("add_profile_dialog")
+ self.builder = gtk.Builder ();
+ self.builder.set_translation_domain (PACKAGE)
+ self.builder.add_from_file (os.path.join (BUILDERDIR, "sabayon.ui"))
+
+ self.dialog = self.builder.get_object ("add_profile_dialog")
self.dialog.connect ("destroy", gtk.main_quit)
self.dialog.set_default_response (gtk.RESPONSE_ACCEPT)
self.dialog.set_icon_name ("sabayon")
- self.add_button = self.xml.get_widget ("add_profile_add_button")
+ self.add_button = self.builder.get_object ("add_profile_add_button")
self.add_button.set_sensitive (False)
- self.name_entry = self.xml.get_widget ("add_profile_name_entry")
+ self.name_entry = self.builder.get_object ("add_profile_name_entry")
self.name_entry.connect ("changed", self.__name_entry_changed)
self.name_entry.set_activates_default (True)
- self.base_combo = self.xml.get_widget ("add_profile_base_combo")
+ self.base_combo = self.builder.get_object ("add_profile_base_combo")
self.base_combo.set_model (self.profiles_model)
if self.profiles_model.get_iter_first () is None:
self.base_combo.set_sensitive (False)
@@ -324,42 +324,43 @@ class ProfilesDialog:
def __init__ (self):
assert os.geteuid () == 0
- glade_file = os.path.join (GLADEDIR, "sabayon.glade")
- self.xml = gtk.glade.XML (glade_file, "profiles_dialog", PACKAGE)
+ self.builder = gtk.Builder ();
+ self.builder.set_translation_domain (PACKAGE)
+ self.builder.add_from_file (os.path.join (BUILDERDIR, "sabayon.ui"))
- self.dialog = self.xml.get_widget ("profiles_dialog")
+ self.dialog = self.builder.get_object ("profiles_dialog")
self.dialog.connect ("destroy", gtk.main_quit)
self.dialog.set_default_response (gtk.RESPONSE_ACCEPT)
self.dialog.set_icon_name ("sabayon")
- self.profiles_list = self.xml.get_widget ("profiles_list")
+ self.profiles_list = self.builder.get_object ("profiles_list")
self.__setup_profiles_list ()
self.profiles_list.connect ("key-press-event", self.__handle_key_press)
- self.add_button = self.xml.get_widget ("add_button")
+ self.add_button = self.builder.get_object ("add_button")
self.add_button.connect ("clicked", self.__add_button_clicked)
- self.remove_button = self.xml.get_widget ("remove_button")
+ self.remove_button = self.builder.get_object ("remove_button")
self.remove_button.connect ("clicked", self.__remove_button_clicked)
- self.edit_button = self.xml.get_widget ("edit_button")
+ self.edit_button = self.builder.get_object ("edit_button")
self.__fix_button_align (self.edit_button)
self.edit_button.connect ("clicked", self.__edit_button_clicked)
- self.details_button = self.xml.get_widget ("details_button")
+ self.details_button = self.builder.get_object ("details_button")
self.__fix_button_align (self.details_button)
self.details_button.connect ("clicked", self.__details_button_clicked)
- self.users_button = self.xml.get_widget ("users_button")
+ self.users_button = self.builder.get_object ("users_button")
self.__fix_button_align (self.users_button)
self.users_button.connect ("clicked", self.__users_button_clicked)
- self.groups_button = self.xml.get_widget ("groups_button")
+ self.groups_button = self.builder.get_object ("groups_button")
self.__fix_button_align (self.groups_button)
self.groups_button.connect ("clicked", self.__groups_button_clicked)
- self.help_button = self.xml.get_widget ("help_button")
+ self.help_button = self.builder.get_object ("help_button")
self.help_button.hide()
self.dialog.connect ("response", self.__dialog_response)
diff --git a/admin-tool/sabayon.ui b/admin-tool/sabayon.ui
new file mode 100644
index 0000000..e50ca8e
--- /dev/null
+++ b/admin-tool/sabayon.ui
@@ -0,0 +1,890 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+ <object class="GtkDialog" id="profiles_dialog">
+ <property name="title" translatable="yes">User Profile Editor</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_CENTER</property>
+ <property name="modal">False</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object 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">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <object class="GtkButton" id="help_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-help</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="close_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <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>
+ <object class="GtkVBox" id="vbox1">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="profiles_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Profiles:</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</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">profiles_list</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkScrolledWindow" id="profiles_list_scroll">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ <child>
+ <object class="GtkTreeView" id="profiles_list">
+ <property name="visible">True</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>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox11">
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkButton" id="add_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-add</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="remove_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-remove</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkButton" id="edit_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-edit</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="details_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <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>
+ <object class="GtkHBox" id="hbox12">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="stock">gtk-index</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Details</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="users_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <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>
+ <object class="GtkHBox" id="hbox13">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="stock">gtk-home</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Users</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="groups_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <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>
+ <object class="GtkHBox" id="hbox14">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dnd-multiple</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Groups</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">help_button</action-widget>
+ <action-widget response="-3">close_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkDialog" id="add_profile_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Add Profile</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">False</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">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area5">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <object class="GtkButton" id="add_profile_cancel_button">
+ <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>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="add_profile_add_button">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-add</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <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>
+ <object class="GtkTable" id="table1">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">3</property>
+ <child>
+ <object class="GtkLabel" id="add_profile_name_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Profile _name:</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</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">add_profile_name_entry</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>
+ </object>
+ <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"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="add_profile_name_entry">
+ <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 name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ <property name="width_chars">14</property>
+ </object>
+ <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"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="add_profile_base_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Base on:</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</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>
+ </object>
+ <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"/>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="add_profile_base_combo">
+ <property name="visible">True</property>
+ <property name="add_tearoffs">False</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">add_profile_cancel_button</action-widget>
+ <action-widget response="-3">add_profile_add_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkDialog" id="users_dialog">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="title">Users</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="default_width">440</property>
+ <property name="default_height">300</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">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area6">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <object class="GtkButton" id="users_help_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-help</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="users_close_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <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>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkCheckButton" id="users_all_check">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Use this profile for _all users</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Users:</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</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">users_list</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="users_list_scroll">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</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>
+ <object class="GtkTreeView" id="users_list">
+ <property name="visible">True</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>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">users_help_button</action-widget>
+ <action-widget response="-7">users_close_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkDialog" id="groups_dialog">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="title">Groups</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="default_width">440</property>
+ <property name="default_height">300</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">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <object class="GtkButton" id="groups_help_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-help</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="groups_close_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </object>
+ </child>
+ </object>
+ <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>
+ <object class="GtkVBox" id="vbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Groups:</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</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>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="group_list_scroll">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</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>
+ <object class="GtkTreeView" id="groups_list">
+ <property name="visible">True</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>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">groups_help_button</action-widget>
+ <action-widget response="-7">groups_close_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/admin-tool/usersdialog.py b/admin-tool/usersdialog.py
index a22d4de..fb3e306 100644
--- a/admin-tool/usersdialog.py
+++ b/admin-tool/usersdialog.py
@@ -19,7 +19,6 @@
import os.path
import pwd
import gtk
-import gtk.glade
import systemdb
import errors
import debuglog
@@ -57,28 +56,29 @@ class UsersDialog:
apply_to_all = self.userdb.get_default_profile (False) == profile
- glade_file = os.path.join (GLADEDIR, "sabayon.glade")
- self.xml = gtk.glade.XML (glade_file, "users_dialog", PACKAGE)
-
- self.dialog = self.xml.get_widget ("users_dialog")
+ self.builder = gtk.Builder()
+ self.builder.set_translation_domain(PACKAGE)
+ self.builder.add_from_file(os.path.join (BUILDERDIR, "sabayon.ui"))
+
+ self.dialog = self.builder.get_object ("users_dialog")
self.dialog.set_transient_for (parent)
self.dialog.set_default_response (gtk.RESPONSE_CLOSE)
self.dialog.set_icon_name ("sabayon")
self.dialog.set_title (_("Users for profile %s")%profile)
- self.close_button = self.xml.get_widget ("users_close_button")
+ self.close_button = self.builder.get_object ("users_close_button")
- self.help_button = self.xml.get_widget ("users_help_button")
+ self.help_button = self.builder.get_object ("users_help_button")
self.help_button.hide ()
- self.all_check = self.xml.get_widget ("users_all_check")
+ self.all_check = self.builder.get_object ("users_all_check")
self.all_check.set_active (apply_to_all)
self.all_check.connect ("toggled", self.__all_check_toggled)
self.users_model = UsersModel (self.userdb, self.profile)
- self.users_list_scroll = self.xml.get_widget ("users_list_scroll")
- self.users_list = self.xml.get_widget ("users_list")
+ self.users_list_scroll = self.builder.get_object ("users_list_scroll")
+ self.users_list = self.builder.get_object ("users_list")
self.users_list.set_model (self.users_model)
self.users_list.set_sensitive (not apply_to_all)
diff --git a/lib/config.py.in b/lib/config.py.in
index c4cebd9..c9a3ee2 100755
--- a/lib/config.py.in
+++ b/lib/config.py.in
@@ -20,13 +20,13 @@ import os.path
PACKAGE = "@PACKAGE_NAME@"
VERSION = "@PACKAGE_VERSION@"
-LOCALEDIR = "@LOCALEDIR@"
+LOCALEDIR = "@LOCALEDIR@"
DATADIR = "@DATADIR@"
SYSCONFDIR = "@SYSCONFDIR@"
LIBEXECDIR = "@LIBEXECDIR@"
SBINDIR = "@SBINDIR@"
-GLADEDIR = os.path.join (DATADIR, "sabayon", "glade")
+BUILDERDIR = os.path.join (DATADIR, "sabayon", "ui")
PROFILESDIR = os.path.join (SYSCONFDIR, "desktop-profiles")
MONITOR_TOOL_ARGV = [ os.path.join (LIBEXECDIR, "sabayon-monitor") ]
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 133136b..9a6e123 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -14,7 +14,7 @@ admin-tool/sabayon
admin-tool/sabayon-apply
admin-tool/sabayon-session
admin-tool/sabayon.desktop.in.in
-admin-tool/sabayon.glade
+[type: gettext/glade]admin-tool/sabayon.ui
admin-tool/saveconfirm.py
admin-tool/sessionwidget.py
admin-tool/sessionwindow.py
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]