# HG changeset patch # User Björn Ricks # Date 1365752314 -7200 # Node ID 3d6315be22518d718d33e1051ddfbc7b241593f3 # Parent dd575513ee1bcf73bdbd771b327422bc92ce46e0 Use new set_focus method in all States diff -r dd575513ee1b -r 3d6315be2251 getan/states.py --- a/getan/states.py Fri Apr 12 09:37:40 2013 +0200 +++ b/getan/states.py Fri Apr 12 09:38:34 2013 +0200 @@ -88,10 +88,11 @@ new_state = DefaultEntryListState(self, self.controller, self.controller.entries_view) self.set_next_state(new_state) - self.controller.view.set_focus(1) - self.controller.entries_view.set_focus(0) return True + def set_focus(self): + self.controller.view.set_focus("projects") + class PausedProjectsState(ProjectState): @@ -286,14 +287,12 @@ if keys.get_add_time() in key: self.view.set_footer_text(self.msg('add_time'), 'question', 1) - self.view.frame.set_focus('footer') self.set_next_state(AddTimeState(self.controller, self.view, self)) return True if keys.get_subtract_time() in key: self.view.set_footer_text(self.msg('min_time'), 'question', 1) - self.view.frame.set_focus('footer') self.set_next_state(SubtractTimeState(self.controller, self.view, self)) return True @@ -319,8 +318,8 @@ proj = self.project if proj: proj.start += datetime.now() - self.break_start - self.controller.view.set_footer_text(self.msg('description'),'question',1) - self.controller.view.get_frame().set_focus('footer') + self.controller.view.set_footer_text(self.msg('description'), + 'question', edit=True) self.set_next_state(DescriptionProjectsState(self.controller, self.view, self, self.controller.view.get_frame().get_footer())) return True @@ -370,6 +369,10 @@ "adding/subtracting time: '%r'" % key) return True + def set_focus(self): + self.controller.view.set_focus("projects") + self.view.frame.set_focus("footer") + class AddTimeState(BaseTimeState): @@ -418,7 +421,6 @@ return True self.controller.stop_project(text) self.controller.view.set_footer_text(self.msg('choose_proj'), 'question') - self.controller.view.set_focus("body") self.set_next_state(PausedProjectsState(self.controller, self.view)) return True @@ -431,6 +433,9 @@ signal.alarm(1) return super(DescriptionProjectsState, self).exit() + def set_focus(self): + self.controller.view.set_focus("footer") + class EntryListState(State): @@ -463,6 +468,10 @@ f = e_len - 1 self.view.set_focus(f) + def set_focus(self): + self.controller.view.set_focus("entries") + self.controller.entries_view.set_focus(0) + class DefaultEntryListState(EntryListState): @@ -629,7 +638,6 @@ def __init__(self, controller, view): super(AlterProjectState, self).__init__(controller, view, None, controller.view.get_frame().get_footer()) - self.controller.view.set_focus('footer') def exit(self): self.controller.view.set_footer_text(self.msg('choose_proj'), @@ -641,6 +649,9 @@ """ Direct key to frame of GetanView """ self.controller.view.frame.keypress(size, key) + def set_focus(self): + self.controller.view.set_focus("footer") + class AddProjectKeyState(AlterProjectState): @@ -697,7 +708,6 @@ None, view.footer) self.footer.set_edit_text(entry.desc) self.footer.set_edit_pos(len(self.footer.edit_text)) - self.view.frame.set_focus('footer') self.entry = entry self.state = state logger.debug("EditEntryState: Entry %s" % entry) @@ -718,6 +728,10 @@ self.view)) return True + def set_focus(self): + self.controller.view.set_focus("entries") + self.view.frame.set_focus("footer") + class ProjectEditKeyState(AlterProjectState):