[gevice] add lists of users to gconf
- From: Alejandro Valdes Jimenez <avaldes src gnome org>
- To: svn-commits-list gnome org
- Subject: [gevice] add lists of users to gconf
- Date: Tue, 19 May 2009 22:41:09 -0400 (EDT)
commit 22da570efa7cfe698e7c326389f494dada514d03
Author: Alejandro Valdes Jimenez <avaldes utalca cl>
Date: Tue May 19 22:40:54 2009 -0400
add lists of users to gconf
---
ChangeLog | 6 +++
data/glade/gevice.glade | 78 +++++++++++++++++++++++++++++++++++++++++++++++
src/gevice.py | 15 ++++-----
src/geviceprefer.py | 72 ++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 162 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 23c4f46..bb3e52f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-19 Alejandro Valdes Jimenez <avaldes gnome org>
+
+ * data/glade/gevice.glade: add new tab in window preferences. (lists of users)
+ * src/gevice.py:
+ * src/geviceprefer.py: load preferences from gconf.
+
2009-05-14 Alejandro Valdes Jimenez <avaldes utalca cl>
TAG GEVICE_0_5_1
diff --git a/data/glade/gevice.glade b/data/glade/gevice.glade
index e330d77..7ced0cc 100644
--- a/data/glade/gevice.glade
+++ b/data/glade/gevice.glade
@@ -375,10 +375,88 @@
</packing>
</child>
<child>
+ <widget class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkViewport" id="viewport1">
+ <property name="visible">True</property>
+ <property name="resize_mode">queue</property>
+ <child>
+ <widget class="GtkTreeView" id="treeview_users">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="rules_hint">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <widget class="GtkButton" id="button_add_user">
+ <property name="label" translatable="yes">gtk-add</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <property name="xalign">0.50999999046325684</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="button_rem_user">
+ <property name="label" translatable="yes">gtk-remove</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Lists of users</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
<placeholder/>
</child>
<child>
<placeholder/>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
</child>
<child>
<widget class="GtkTable" id="table3">
diff --git a/src/gevice.py b/src/gevice.py
index e7874ce..3a5a565 100755
--- a/src/gevice.py
+++ b/src/gevice.py
@@ -225,10 +225,7 @@ class Gevice:
self.vboxcombo = gtk.VBox(False,0)
- # FIXME: management users with gconf?
self.combobox_user = gtk.combo_box_entry_new_text()
- self.combobox_user.append_text('root')
- self.combobox_user.set_active (0)
self.vboxcombo.pack_end (self.combobox_user,True,False)
self.toolitem_user.add(self.vboxcombo)
@@ -271,8 +268,6 @@ class Gevice:
self.vbox.pack_start (hbox_status, False)
self.context_id = self.statusbar.get_context_id("status")
-
-
self.actiongroup_model.set_sensitive (False)
self.window_main.set_title(config.PACKAGE)
@@ -281,6 +276,12 @@ class Gevice:
self.gpref.load_preferences(self)
self.gpref.load_interface (self)
+ # set users in combo
+ for user in self.gpref.listusers:
+ self.combobox_user.append_text(user)
+
+ self.combobox_user.set_active (0)
+
# show all
self.window_main.show_all()
return
@@ -382,8 +383,6 @@ class Gevice:
dialogmaintainer.show_interface ()
-
-
def on_action_mark (gevice,action):
sql = {"select":"select * from marca order by 1",
"insert":"insert into marca values ",
@@ -584,7 +583,7 @@ class Gevice:
msg+= _("User: ") + self.gpref.user_dbase + "]"
self.statusbar.push (self.context_id,msg)
-
+
if __name__ == "__main__":
gnome.init(config.PACKAGE,config.VERSION)
diff --git a/src/geviceprefer.py b/src/geviceprefer.py
index 78aa0ea..1210500 100644
--- a/src/geviceprefer.py
+++ b/src/geviceprefer.py
@@ -3,6 +3,7 @@ pygtk.require('2.0')
import gtk.glade
import os
import gconf
+import gobject
import gettext
gettext.textdomain("gevice")
@@ -27,6 +28,9 @@ class GevicePrefer:
self.host = _("Host")
self.dbase = _("Database")
self.user_dbase = _("User database")
+
+ self.modelusers = gtk.ListStore(gobject.TYPE_STRING)
+
def load_interface (self,gevice):
glade_file = gtk.glade.XML (os.path.join (config.GLADEDIR, "gevice.glade"),"window_prefer",None)
@@ -49,6 +53,9 @@ class GevicePrefer:
self.entry_host = glade_file.get_widget ("entry_host")
self.entry_dbase = glade_file.get_widget ("entry_dbase")
self.entry_user_dbase = glade_file.get_widget ("entry_user_dbase")
+ self.button_add_user = glade_file.get_widget ("button_add_user")
+ self.button_rem_user = glade_file.get_widget ("button_rem_user")
+ self.treeview_users = glade_file.get_widget ("treeview_users")
self.button_close_prefer.connect ("clicked",self.on_button_close_prefer_clicked)
self.checkbutton_ip.connect ("toggled",self.show_column,config.COLUMN_IP_DEV,gevice)
@@ -68,6 +75,9 @@ class GevicePrefer:
self.entry_dbase.connect ("changed",self.on_entry_dbase_changed,gevice)
self.entry_user_dbase.connect ("changed",self.on_entry_user_dbase_changed,gevice)
+ self.button_add_user.connect ("clicked",self.on_button_add_user_clicked)
+ self.button_rem_user.connect ("clicked",self.on_button_rem_user_clicked)
+
# for not activate callback when loading preferences
self.flag_load_preferences = True
@@ -87,6 +97,54 @@ class GevicePrefer:
self.checkbutton_link_diag.set_active(self.diaglink)
self.flag_load_preferences = False
+
+ col = gtk.TreeViewColumn (_("Users"))
+ self.treeview_users.append_column (col)
+ cell = gtk.CellRendererText()
+ cell.connect('edited', self.on_name_user_edited)
+ col.pack_start (cell,True)
+ cell.set_property('editable',True)
+ col.add_attribute (cell,"text",0)
+
+ self.treeview_users.set_model (None)
+ self.treeview_users.set_model (self.modelusers)
+ self.modelusers.clear()
+
+ for usr in self.listusers:
+ iter = self.modelusers.append ()
+ self.modelusers.set (
+ iter,
+ 0,usr)
+
+
+ def on_name_user_edited(self,cell,path,newname):
+ newname = newname.strip()
+ iter = self.modelusers.get_iter_from_string(path)
+ oldname = self.modelusers.get(iter,0)[0]
+
+ # check, newname exists
+ if oldname == newname:
+ return
+
+ self.is_in_list = False
+ self.modelusers.foreach(self.is_newname_in_list, newname)
+
+ if not self.is_in_list:
+ print "guardar"
+ else:
+ dialog = gtk.MessageDialog(None,gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,gtk.BUTTONS_OK,_("User exist: " + newname) )
+ dialog.run()
+ dialog.destroy()
+
+ def is_newname_in_list(self,model,path,iter,newname):
+ oldname = model.get(iter,0)[0]
+
+ self.is_in_list = False;
+ if oldname == newname:
+ self.is_in_list = True;
+ return True
+ return False;
+
def show_interface (self):
self.window_prefer.show_all()
@@ -94,6 +152,12 @@ class GevicePrefer:
def close_window (self,window):
window.destroy()
+ def on_button_add_user_clicked (self,button):
+ pass
+
+ def on_button_rem_user_clicked (self,button):
+ pass
+
def on_button_background_clicked (self,button,entry):
self.create_color_selection_dialog(_("Select background color"),entry)
@@ -157,6 +221,7 @@ class GevicePrefer:
backcolor = client.get_string('/apps/gevice/backcolor')
forecolor = client.get_string('/apps/gevice/forecolor')
csvseparator = client.get_string('/apps/gevice/csvseparator')
+ listusers = client.get_list('/apps/gevice/listusers',gconf.VALUE_STRING)
self.viewip = client.get_bool('/apps/gevice/viewip')
self.viewmodel = client.get_bool('/apps/gevice/viewmodel')
@@ -165,7 +230,12 @@ class GevicePrefer:
self.diagip = client.get_bool('/apps/gevice/diagip')
self.diagmodel = client.get_bool('/apps/gevice/diagmodel')
self.diaglink = client.get_bool('/apps/gevice/diaglink')
-
+
+ if (listusers):
+ self.listusers = listusers
+ else:
+ self.listusers = ['user']
+
if (host):
self.host = host
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]