From: Dwayne B. <dwa...@us...> - 2005-05-03 08:06:19
|
Update of /cvsroot/translate/src/Pootle In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19937 Modified Files: users.py Log Message: Users can now set the desired items in view and translate mode and the size of the textarea widgets. Changes to make use of these values follow. Index: users.py =================================================================== RCS file: /cvsroot/translate/src/Pootle/users.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- users.py 25 Apr 2005 10:12:53 -0000 1.2 +++ users.py 3 May 2005 08:06:10 -0000 1.3 @@ -117,7 +117,23 @@ rownum = personal.maxrownum()+1 submitbutton = widgets.Input({"type":"submit", "name":"changepersonal", "value":self.localize("Save changes")}) personalform = widgets.Form([personal, submitbutton], {"name": "personal", "action":""}) - return pagelayout.Contents([personaltitle, personalform]) + interfacetitle = pagelayout.Title(self.localize("Translation Interface Configuration")) + interface = table.TableLayout() + interface.setcell(0, 0, table.TableCell(pagelayout.Title(self.localize("Option")))) + interface.setcell(0, 1, table.TableCell(pagelayout.Title(self.localize("Current value")))) + options = {"inputheight": self.localize("Input Height"), "inputwidth": self.localize("Input Width"), + "viewrows": self.localize("Number of rows in view mode"), + "translaterows": self.localize("Number of rows in translate mode")} + for option, optionname in options.items(): + optionvalue = getattr(self.session.prefs, option, "") + valuetextbox = widgets.Input({"name": "option-%s" % option, "value": optionvalue}) + rownum = interface.maxrownum()+1 + interface.setcell(rownum, 0, table.TableCell(optionname)) + interface.setcell(rownum, 1, table.TableCell(valuetextbox)) + rownum = interface.maxrownum()+1 + submitbutton = widgets.Input({"type":"submit", "name":"changeinterface", "value":self.localize("Save changes")}) + interfaceform = widgets.Form([interface, submitbutton], {"name": "interface", "action":""}) + return pagelayout.Contents([personaltitle, personalform, interfacetitle, interfaceform]) class OptionalLoginAppServer(server.LoginAppServer): """a server that enables login but doesn't require it except for specified pages""" @@ -358,6 +374,20 @@ setattr(self.prefs, "email", email) self.saveprefs() + def setinterfaceoptions(self, argdict): + """sets the users interface details""" + def setinterfacevalue(name, errormessage): + value = argdict.get("option-%s" % name, "") + if value != "": + if not value.isdigit(): + raise ValueError(errormessage) + setattr(self.prefs, name, value) + setinterfacevalue("inputheight", self.localize("Input height must be numeric")) + setinterfacevalue("inputwidth", self.localize("Input width must be numeric")) + setinterfacevalue("viewrows", self.localize("The number of rows displayed in view mode must be numeric")) + setinterfacevalue("translaterows", self.localize("The number of rows displayed in translate mode must be numeric")) + self.saveprefs() + def getprojects(self): """gets the user's projects""" userprojects = getattr(self.prefs, "projects", "") |