Fix display of records in editor.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
This commit is contained in:
parent
3a7fd076e9
commit
b61178dd94
1 changed files with 12 additions and 6 deletions
18
newfol
18
newfol
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue