Fix display of records in editor.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
This commit is contained in:
brian m. carlson 2012-07-17 00:23:57 +00:00
parent 3a7fd076e9
commit b61178dd94
No known key found for this signature in database
GPG key ID: BF535D811F52F68B

18
newfol
View file

@ -793,14 +793,20 @@ class RecordListView(ListView):
if self._render_type == "urwid":
return self._render_listview(title, recs, content)
elif self._render_type == "editor-ro":
return self._render_in_editor_ro(title, recs, content)
return self._render_in_editor_ro(title, recs, content, fields)
else:
return self._render_in_editor_rw(title, recs, content)
def _render_in_editor_ro(self, title, recs, content):
def _render_in_editor_ro(self, title, recs, content, selected):
dbd = DatabaseData()
items = []
for rec in recs:
items.append(rec)
recvals = []
for i in range(len(selected)):
if i == 0 and selected[i]:
recvals.append(rec.dbname)
elif selected[i] == True:
recvals.append(rec.fields[i-1])
items.append(filemanip.Record(recvals))
if dbd.edoptions["blank-lines"]:
items.append(filemanip.Record([]))
self._display_in_editor(items, True)
@ -821,6 +827,8 @@ class RecordListView(ListView):
vault.store(recs)
if ro:
os.chmod(tempname, 0o400)
else:
os.chmod(tempname, 0o600)
subprocess.call(["sensible-editor", tempname])
self.loop.screen.clear()
return vault.load()
@ -940,8 +948,6 @@ class SearchListView(RecordListView):
super().__init__()
def set_render_type(self, t):
super().set_render_type(t)
if t in ("next-tertiary", "tertiary", "editor-rw"):
self._render_type = "editor-ro"
def callback(self, type_, obj):
if type_ == "remove":
self._delete_selected_record()
@ -967,7 +973,7 @@ class SearchListView(RecordListView):
items.append(" : ".join(["{:<18}".format(val) for val in recvals]))
content = urwid.SimpleListWalker([
urwid.AttrMap(urwid.Text(w), "item", "focused-item") for w in items])
if self._render_type == "editor-ro":
if self._render_type.startswith("editor"):
return self._render_records(self.loop, "List of matching records",
self.records, self.selected)
else: