# HG changeset patch # User souliane # Date 1379875979 -7200 # Node ID 759fd7386e1eb412e47b2eeee881a6921a9ccee2 # Parent f3898fbb00c3b2c55f7a4b4418f84aa78c7aaa3f browser_side: set the focus to the first field when a tab is selected from the register panel diff -r f3898fbb00c3 -r 759fd7386e1e browser_side/register.py --- a/browser_side/register.py Sat Sep 21 20:24:36 2013 +0200 +++ b/browser_side/register.py Sun Sep 22 20:52:59 2013 +0200 @@ -134,6 +134,7 @@ self.right_side.add(login_tab, 'Login') self.right_side.add(register_tab, 'Register') + self.right_side.addTabListener(self) self.right_side.selectTab(0) login_tab.setWidth(None) register_tab.setWidth(None) @@ -142,6 +143,15 @@ self.addFormHandler(self) self.setAction('register_api/login') + def onBeforeTabSelected(self, sender, tabIndex): + return True + + def onTabSelected(self, sender, tabIndex): + if tabIndex == 0: + self.login_box.setFocus(True) + elif tabIndex == 1: + self.register_login_box.setFocus(True) + def onKeyPress(self, sender, keycode, modifiers): if keycode == KEY_ENTER: if sender == self.login_box: @@ -210,13 +220,14 @@ else: Window.alert('Submit error: %s' % result) + class RegisterBox(PopupPanel): - def __init__(self, callback, *args,**kwargs): - PopupPanel.__init__(self,*args,**kwargs) - _form = RegisterPanel(callback) - self.setWidget(_form) - + def __init__(self, callback, *args, **kwargs): + PopupPanel.__init__(self, *args, **kwargs) + self._form = RegisterPanel(callback) + self.setWidget(self._form) + def onWindowResized(self, width, height): super(RegisterBox, self).onWindowResized(width, height) self.centerBox() @@ -224,4 +235,4 @@ def show(self): super(RegisterBox, self).show() self.centerBox() - + self._form.login_box.setFocus(True)