diff options
author | Erik Troan <ewt@redhat.com> | 1999-08-28 14:53:25 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 1999-08-28 14:53:25 +0000 |
commit | d0f70993ba1b4ed12fb5ca7ce75230b823850efd (patch) | |
tree | 354813c88d10594b2aa4b2bb1f461894c780cb6f /iw/account.py | |
parent | a69c25924b92a03330cac75b0bc0da9e9d409db4 (diff) | |
download | anaconda-d0f70993ba1b4ed12fb5ca7ce75230b823850efd.tar.gz anaconda-d0f70993ba1b4ed12fb5ca7ce75230b823850efd.tar.xz anaconda-d0f70993ba1b4ed12fb5ca7ce75230b823850efd.zip |
finished mocking up user interface
Diffstat (limited to 'iw/account.py')
-rw-r--r-- | iw/account.py | 147 |
1 files changed, 116 insertions, 31 deletions
diff --git a/iw/account.py b/iw/account.py index a1cb8c6ae..de04171cf 100644 --- a/iw/account.py +++ b/iw/account.py @@ -1,9 +1,12 @@ from gtk import * from iw import * from gui import _ +import re class AccountWindow (InstallWindow): + userAccountMatch = re.compile("([A-Za-z])([A-Za-z0-9])*") + def __init__ (self, ics): InstallWindow.__init__ (self, ics) @@ -18,7 +21,7 @@ class AccountWindow (InstallWindow): self.todo.rootpassword.set (self.pw.get_text ()) return None - def passwordsMatch (self, *args): + def rootPasswordsMatch (self, *args): pw = self.pw.get_text () confirm = self.confirm.get_text () @@ -27,7 +30,77 @@ class AccountWindow (InstallWindow): else: self.ics.setNextEnabled (FALSE) + def userOkay(self, *args): + accountName = self.accountName.get_text() + password1 = self.userPass1.get_text() + password2 = self.userPass2.get_text() + + print (accountName, password1, password2) + + if (password1 and password1 == password2 and + self.userAccountMatch.search(accountName) and + len(accountName) <= 8): + valid = 1 + else: + valid = 0 + + print "editingUser", self.editingUser + if (self.editingUser != None): + self.edit.set_sensitive(valid) + self.add.set_sensitive(0) + else: + self.edit.set_sensitive(0) + self.add.set_sensitive(valid) + + def userSelected(self, *args): + index = self.userList.selection + if (not index): return + index = index[0] + accountName = self.userList.get_text(index, 0) + (fullName, password) = self.users[accountName] + + self.editingUser = index + self.accountName.set_text(accountName) + self.userPass1.set_text(password) + self.userPass2.set_text(password) + self.fullName.set_text(fullName) + + def addUser(self, widget, *args): + accountName = self.accountName.get_text() + password = self.userPass1.get_text() + fullName = self.fullName.get_text() + + if (self.editingUser != None): + index = self.editingUser + self.userList.set_text(index, 0, accountName) + self.userList.set_text(index, 1, fullName) + else: + index = self.userList.append((accountName, fullName)) + + self.users[accountName] = (fullName, password) + self.newUser() + + def deleteUser(self, *args): + index = self.userList.selection + if (not index): return + index = index[0] + accountName = self.userList.get_text(index, 0) + + del self.users[accountName] + self.userList.remove(index) + self.newUser() + + def newUser(self, *args): + self.editingUser = None + self.accountName.set_text("") + self.userPass1.set_text("") + self.userPass2.set_text("") + self.fullName.set_text("") + def getScreen (self): + self.users = {} + self.editingUser = None + box = GtkVBox () forward = lambda widget, box=box: box.focus (DIR_TAB_FORWARD) @@ -36,12 +109,12 @@ class AccountWindow (InstallWindow): table.attach (GtkLabel (_("Confirm: ")), 0, 1, 1, 2) self.pw = GtkEntry (8) self.pw.connect ("activate", forward) - self.pw.connect ("changed", self.passwordsMatch) + self.pw.connect ("changed", self.rootPasswordsMatch) self.pw.set_visibility (FALSE) self.confirm = GtkEntry (8) self.confirm.connect ("activate", forward) self.confirm.set_visibility (FALSE) - self.confirm.connect ("changed", self.passwordsMatch) + self.confirm.connect ("changed", self.rootPasswordsMatch) table.attach (self.pw, 1, 2, 0, 1) table.attach (self.confirm, 1, 2, 1, 2) @@ -53,48 +126,60 @@ class AccountWindow (InstallWindow): table.set_row_spacings(5) table.set_col_spacings(5) - entrytable = GtkTable (3, 4) + entrytable = GtkTable (4, 4) entrytable.set_row_spacings(10) entrytable.set_col_spacings(10) - username = GtkEntry (8) - username.connect ("activate", forward) - - username.set_usize (50, -1) - fullname = GtkEntry () - fullname.connect ("activate", forward) - pass1 = GtkEntry (10) - pass1.connect ("activate", forward) - pass2 = GtkEntry (10) - pass2.connect ("activate", forward) - pass1.set_visibility (FALSE) - pass2.set_visibility (FALSE) - pass1.set_usize (50, -1) - pass2.set_usize (50, -1) + self.accountName = GtkEntry (8) + self.accountName.connect ("activate", forward) + self.accountName.connect ("changed", self.userOkay) + self.accountName.set_usize (50, -1) + + self.fullName = GtkEntry () + self.fullName.connect ("activate", self.addUser) + self.userPass1 = GtkEntry (10) + self.userPass1.connect ("activate", forward) + self.userPass1.connect ("changed", self.userOkay) + self.userPass2 = GtkEntry (10) + self.userPass2.connect ("activate", forward) + self.userPass2.connect ("changed", self.userOkay) + self.userPass1.set_visibility (FALSE) + self.userPass2.set_visibility (FALSE) + self.userPass1.set_usize (50, -1) + self.userPass2.set_usize (50, -1) - entrytable.attach (GtkLabel (_("User Name")), 0, 1, 0, 1) - entrytable.attach (username, 1, 2, 0, 1) + entrytable.attach (GtkLabel (_("Account Name")), 0, 1, 0, 1) + entrytable.attach (self.accountName, 1, 2, 0, 1) entrytable.attach (GtkLabel (_("Password")), 0, 1, 1, 2) - entrytable.attach (pass1, 1, 2, 1, 2) + entrytable.attach (self.userPass1, 1, 2, 1, 2) entrytable.attach (GtkLabel (_("Password (confirm)")), 2, 3, 1, 2) - entrytable.attach (pass2, 3, 4, 1, 2) + entrytable.attach (self.userPass2, 3, 4, 1, 2) entrytable.attach (GtkLabel (_("Full Name")), 0, 1, 2, 3) - entrytable.attach (fullname, 1, 4, 2, 3) + entrytable.attach (self.fullName, 1, 4, 2, 3) - table.attach (entrytable, 0, 3, 0, 1, + table.attach (entrytable, 0, 4, 0, 1, xoptions = EXPAND | FILL, yoptions = EXPAND | FILL) - add = GtkButton (_("Add")) - edit = GtkButton (_("Edit")) + self.add = GtkButton (_("Add")) + self.add.connect("clicked", self.addUser) + self.edit = GtkButton (_("Edit")) + self.edit.connect("clicked", self.addUser) delete = GtkButton (_("Delete")) + delete.connect("clicked", self.deleteUser) + new = GtkButton (_("New")) + new.connect("clicked", self.newUser) - table.attach (add, 0, 1, 1, 2, xoptions = FILL) - table.attach (edit, 1, 2, 1, 2, xoptions = FILL) + table.attach (self.add, 0, 1, 1, 2, xoptions = FILL) + table.attach (self.edit, 1, 2, 1, 2, xoptions = FILL) table.attach (delete, 2, 3, 1, 2, xoptions = FILL) + table.attach (new, 3, 4, 1, 2, xoptions = FILL) box.pack_start (table, FALSE) - userlist = GtkCList (2, (_("User ID"), _("Full Name"))) - box.pack_start (userlist, TRUE) - + self.userList = GtkCList (2, (_("Account Name"), _("Full Name"))) + self.userList.connect("select_row", self.userSelected) + box.pack_start (self.userList, TRUE) + + self.userOkay() + return box |