From f9cc2980df87c489ed3170de099b903e5ed7b76f Mon Sep 17 00:00:00 2001 From: "brian m. carlson" Date: Sat, 20 Sep 2014 22:52:29 +0000 Subject: [PATCH] Render all views using the session. This ensures that each view will get access to the appropriate session object. Signed-off-by: brian m. carlson --- lib/newfol/main.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/newfol/main.py b/lib/newfol/main.py index 43fb864..83a624e 100644 --- a/lib/newfol/main.py +++ b/lib/newfol/main.py @@ -570,8 +570,8 @@ class SearchRecordView(RecordView): return False return True recs = dbd.database().records(filter_) - view = DisplayTemplateRecordView(fields[0], recs) - view.render(self.loop) + self.session.render_view(DisplayTemplateRecordView(fields[0], + recs)) elif type_ == "change": self._set_titles_for_grid(obj[1]) else: @@ -607,9 +607,9 @@ class DisplayTemplateRecordView(RecordView): def callback(self, type_, obj): if self.is_callback_type(type_, "select"): selected = self._get_fields() - view = SortingTemplateRecordView(self.table, self.records, - selected) - view.render(self.loop) + self.session.render_view(SortingTemplateRecordView(self.table, + self.records, + selected)) elif type_ == "invert-selection": for cell in self.cells[1:]: editbox = cell.widget_list[1] @@ -690,7 +690,7 @@ class SortingTemplateRecordView(RecordView): self.records.sort(key=keyfunc) view = SearchListView(self.records, self.selected) view.set_render_type(type_) - view.render(self.loop) + self.session.render_view(view) elif type_ == "change": self._set_titles_for_grid(obj[1]) else: @@ -868,8 +868,7 @@ class RecordListView(ListView): cur = self._current_item() if cur is None: return - recview = DisplayRecordView(cur) - recview.render(self.loop) + self.session.render_view(DisplayRecordView(cur)) class TableContentsListView(RecordListView): @@ -895,7 +894,7 @@ class TableListView(ListView): text = obj.original_widget.get_text()[0] dbcview = TableContentsListView(text) dbcview.set_render_type(type_) - dbcview.render(self.loop) + self.session.render_view(dbcview) def _render_standard(self, loop): self.loop = loop @@ -994,7 +993,7 @@ class MenuView(ListView): if command == "browse-all": ccview = CompleteContentsListView() ccview.set_render_type(type_) - ccview.render(self.loop) + self.session.render_view(ccview) return self.loop.unhandled_input(command) @@ -1047,7 +1046,7 @@ def start_curses(db): cmds = { 'quit': quit, 'previous': lambda: sess.render_previous_view(), - 'menu': lambda: MenuView().render(loop), + 'menu': lambda: sess.render_view(MenuView()), 'add': lambda: sess.render_view(DisplayRecordView()), 'search': lambda: sess.render_view(SearchRecordView()), 'next': lambda: dbd.views[-1].callback(val, None),